From 4c0513fdde3cd234297e4f44da0f1b96619ba425 Mon Sep 17 00:00:00 2001 From: blavenie <benoit.lavenier@e-is.pro> Date: Thu, 9 Jun 2016 17:26:19 +0200 Subject: [PATCH] Code refactoring : - rename ucoinj into duniter4j - merge module elasticsearch and elasticsearch-plugin --- .gitignore | 2 +- .gitmodules | 8 +- README.md | 34 +- .../.gitignore | 0 .../LICENSE | 0 .../pom.xml | 16 +- .../core/client/config/Configuration.java | 6 +- .../client/config/ConfigurationOption.java | 106 +- .../client/config/ConfigurationProvider.java | 6 +- .../duniter}/core/client/dao/CurrencyDao.java | 6 +- .../duniter}/core/client/dao/EntityDao.java | 6 +- .../org/duniter}/core/client/dao/PeerDao.java | 4 +- .../client/dao/mem/MemoryCurrencyDaoImpl.java | 26 +- .../client/dao/mem/MemoryPeerDaoImpl.java | 7 +- .../duniter}/core/client/model/Account.java | 4 +- .../core/client/model/BasicIdentity.java | 2 +- .../duniter}/core/client/model/Currency.java | 4 +- .../duniter}/core/client/model/Member.java | 4 +- .../core/client/model/ModelUtils.java | 6 +- .../duniter}/core/client/model/TxOutput.java | 14 +- .../client/model/bma/BlockchainBlock.java | 2 +- .../model/bma/BlockchainMemberships.java | 4 +- .../model/bma/BlockchainParameters.java | 2 +- .../client/model/bma/EndpointProtocol.java | 2 +- .../duniter}/core/client/model/bma/Error.java | 2 +- .../core/client/model/bma/ErrorCode.java | 5 +- .../core/client/model/bma/NetworkPeering.java | 2 +- .../core/client/model/bma/NetworkPeers.java | 2 +- .../core/client/model/bma/Protocol.java | 2 +- .../core/client/model/bma/TxHistory.java | 2 +- .../core/client/model/bma/TxSource.java | 40 +- .../client/model/bma/WotCertification.java | 6 +- .../core/client/model/bma/WotLookup.java | 2 +- .../model/bma/gson/EndpointAdapter.java | 6 +- .../core/client/model/bma/gson/GsonUtils.java | 10 +- .../model/bma/gson/IdentityTypeAdapter.java | 4 +- .../model/bma/gson/JoinerTypeAdapter.java | 4 +- .../model/bma/gson/JsonArrayParser.java | 4 +- .../model/bma/gson/JsonAttributeParser.java | 6 +- .../model/bma/gson/MultimapTypeAdapter.java | 2 +- .../model/bma/gson/ParameterizedTypeImpl.java | 2 +- .../model/bma/gson/RevokedTypeAdapter.java | 4 +- .../client/model/elasticsearch/Currency.java | 6 +- .../client/model/elasticsearch/Record.java | 2 +- .../client/model/local/Certification.java | 4 +- .../core/client/model/local/Contact.java | 4 +- .../core/client/model/local/Currency.java | 6 +- .../core/client/model/local/Identity.java | 4 +- .../core/client/model/local/LocalEntity.java | 2 +- .../core/client/model/local/Movement.java | 2 +- .../core/client/model/local/Peer.java | 2 +- .../core/client/model/local/Wallet.java | 10 +- .../core/client/service/DataContext.java | 4 +- .../core/client/service/HttpService.java | 8 +- .../core/client/service/HttpServiceImpl.java | 30 +- .../core/client/service/ServiceLocator.java | 22 +- .../service/bma/BaseRemoteServiceImpl.java | 17 +- .../service/bma/BlockchainRemoteService.java | 31 +- .../bma/BlockchainRemoteServiceImpl.java | 51 +- .../service/bma/NetworkRemoteService.java | 10 +- .../service/bma/NetworkRemoteServiceImpl.java | 14 +- .../service/bma/TransactionRemoteService.java | 14 +- .../bma/TransactionRemoteServiceImpl.java | 63 +- .../client/service/bma/WotRemoteService.java | 16 +- .../service/bma/WotRemoteServiceImpl.java | 28 +- .../CurrencyRegistryRemoteService.java | 10 +- .../CurrencyRegistryRemoteServiceImpl.java | 25 +- .../exception/HttpBadRequestException.java | 6 +- .../InsufficientCreditException.java | 4 +- .../exception/JsonSyntaxException.java | 4 +- .../exception/PeerConnectionException.java | 6 +- .../exception/PubkeyAlreadyUsedException.java | 6 +- .../exception/UidAlreadyUsedException.java | 6 +- .../UidAndPubkeyNotFoundException.java | 6 +- .../UidMatchAnotherPubkeyException.java | 4 +- .../client/service/local/CurrencyService.java | 6 +- .../service/local/CurrencyServiceImpl.java | 20 +- .../client/service/local/PeerService.java | 6 +- .../client/service/local/PeerServiceImpl.java | 24 +- ...rg.nuiton.config.ApplicationConfigProvider | 1 + .../src/main/resources/log4j.properties | 4 +- .../duniter}/core/client/TestFixtures.java | 4 +- .../duniter}/core/client/TestResource.java | 20 +- .../model/bma/gson/JsonArrayParserTest.java | 2 +- .../bma/BlockchainRemoteServiceTest.java | 26 +- .../service/bma/NetworkRemoteServiceTest.java | 14 +- .../bma/TransactionRemoteServiceTest.java | 16 +- .../service/bma/WotRemoteServiceTest.java | 26 +- .../CurrencyRegistryRemoteServiceTest.java | 18 +- .../services/org.duniter.core.beans.Bean | 12 + .../duniter4j-core-client-test.properties | 15 + .../src/test/resources/log4j.properties | 8 +- .../LICENSE | 0 .../lib/sodium.dll | Bin .../pom.xml | 13 +- .../java/org/duniter}/core/beans/Bean.java | 2 +- .../org/duniter}/core/beans/BeanFactory.java | 4 +- .../duniter}/core/beans/InitializingBean.java | 2 +- .../java/org/duniter}/core/beans/Service.java | 2 +- .../core/exception/BusinessException.java | 2 +- .../core/exception/TechnicalException.java | 2 +- .../duniter}/core/model/ProgressionModel.java | 2 +- .../core/model/ProgressionModelImpl.java | 14 +- .../duniter}/core/service/CryptoService.java | 6 +- .../service/Ed25519CryptoServiceImpl.java | 46 +- .../org/duniter}/core/test/TestFixtures.java | 6 +- .../org/duniter}/core/test/TestResource.java | 8 +- .../duniter}/core/util/CollectionUtils.java | 2 +- .../duniter}/core/util/CommandLinesUtils.java | 2 +- .../org/duniter}/core/util/FileUtils.java | 2 +- .../org/duniter}/core/util/ObjectUtils.java | 2 +- .../org/duniter}/core/util/StringUtils.java | 2 +- .../org/duniter}/core/util/cache/Cache.java | 2 +- .../duniter}/core/util/cache/SimpleCache.java | 2 +- .../util/crypto/AddressFormatException.java | 2 +- .../org/duniter}/core/util/crypto/Base58.java | 2 +- .../core/util/crypto/CryptoUtils.java | 4 +- .../core/util/crypto/DigestUtils.java | 2 +- .../duniter}/core/util/crypto/KeyPair.java | 2 +- .../duniter}/core/util/crypto/SecretBox.java | 22 +- .../websocket/WebsocketClientEndpoint.java | 4 +- .../services/org.duniter.core.beans.Bean | 1 + .../i18n/duniter-core-shared_en_GB.properties | 0 .../i18n/duniter-core-shared_fr_FR.properties | 0 .../service/Ed25519CryptoServiceTest.java | 10 +- .../core/util/crypto/SecretBoxTest.java | 6 +- .../src/test/resources/log4j.properties | 8 +- .../src/license/THIRD-PARTY.properties | 0 .../src/main/assembly/full/README.txt | 15 + .../src/main/assembly/help.xml | 0 .../src/main/assembly/i18n.xml | 4 +- .../src/main/assembly/min/README.txt | 4 +- .../assembly/min/ucoinj-elasticsearch.bat | 4 +- .../main/assembly/min/ucoinj-elasticsearch.sh | 4 +- .../src/main/assembly/min/ucoinj.config | 18 +- .../src/main/assembly/min/version.appup | 0 .../src/main/assembly/plugin.xml | 0 .../src/main/assembly/standalone.xml | 10 +- .../main/filtered-resources/duniter4j.config | 4 + .../main/filtered-resources/log4j.properties | 12 +- .../plugin-descriptor.properties | 8 +- .../elasticsearch/action/RestModule.java | 14 +- .../currency/RestCurrencyIndexAction.java | 5 +- .../market/RestMarketRecordIndexAction.java | 8 +- .../RestRegistryRecordIndexAction.java | 8 +- .../security/RestSecurityAuthAction.java | 15 +- .../RestSecurityGetChallengeAction.java | 6 +- .../org/duniter/elasticsearch/cli}/Main.java | 28 +- .../cli/action/HelpCliAction.java | 6 +- .../cli/action/IndexerCliAction.java | 34 +- .../cli/action/NodeCliAction.java | 18 +- .../elasticsearch/config/Configuration.java | 15 +- .../config/ConfigurationAction.java | 22 +- .../config/ConfigurationOption.java | 110 +- .../config/ConfigurationProvider.java | 6 +- .../elasticsearch/model/Currency.java | 6 +- .../elasticsearch/model/SearchResult.java | 5 +- .../duniter}/elasticsearch/plugin/Plugin.java | 12 +- .../security/SecurityModule.java | 8 +- .../challenge/ChallengeMessageStore.java | 12 +- .../security/token/SecurityTokenStore.java | 12 +- .../service/BaseIndexerService.java | 10 +- .../service/ElasticSearchService.java | 14 +- .../service/ExecutorService.java | 10 +- .../service/ExecutorServiceImpl.java | 26 +- .../elasticsearch/service/ServiceLocator.java | 20 +- .../service/currency/BlockIndexerService.java | 62 +- .../exception/AccessDeniedException.java | 4 +- .../exception/DuplicateIndexIdException.java | 4 +- .../exception/InvalidFormatException.java | 4 +- .../exception/InvalidSignatureException.java | 4 +- .../market/MarketCategoryIndexerService.java | 13 +- .../market/MarketRecordIndexerService.java | 24 +- .../RegistryCategoryIndexerService.java | 19 +- .../RegistryCitiesIndexerService.java | 14 +- .../RegistryCurrencyIndexerService.java | 34 +- .../RegistryRecordIndexerService.java | 24 +- .../elasticsearch/service/task/Job.java | 16 +- .../elasticsearch/service/task/JobFuture.java | 2 +- .../elasticsearch/service/task/JobVO.java | 2 +- .../duniter}/elasticsearch/util/Desktop.java | 4 +- .../elasticsearch/util/DesktopPower.java | 2 +- .../util/os/win/WindowsPower.java | 16 +- .../util/os/win/handle/CWPSSTRUCT.java | 2 +- .../util/os/win/handle/HANDLER_ROUTINE.java | 2 +- .../util/os/win/handle/WNDPROC.java | 2 +- .../util/os/win/libs/Kernel32Ex.java | 4 +- .../os/win/wrap/GetLastErrorException.java | 2 +- .../util/os/win/wrap/WNDCLASSEXWrap.java | 4 +- .../src/main/misc/cities-fr.geoJson.txt | 0 .../registry-categories-naf2008_liste_n5.ods | Bin .../services/org.duniter.core.beans.Bean | 22 + ...rg.nuiton.config.ApplicationConfigProvider | 1 + .../ucoinj-elasticsearch_en_GB.properties | 51 + .../ucoinj-elasticsearch_fr_FR.properties | 51 + .../market-categories-bulk-insert.json | 0 .../registry-categories-bulk-insert.json | 0 .../src/test/es-home/config/elasticsearch.yml | 0 .../src/test/es-home/config/logging.yml | 0 .../test/es-home/config/shield/logging.yml | 0 .../es-home/config/shield/role_mapping.yml | 0 .../src/test/es-home/config/shield/roles.yml | 0 .../src/test/es-home/config/shield/users | 0 .../test/es-home/config/shield/users_roles | 0 .../es-home/logs/elasticsearch-access.log | 0 .../src/test/es-home/logs/elasticsearch.log | 0 .../logs/elasticsearch_deprecation.log | 0 .../elasticsearch_index_indexing_slowlog.log | 0 .../elasticsearch_index_search_slowlog.log | 0 .../plugins/ucoinj-elasticsearch}/LICENSE | 0 .../plugin-descriptor.properties | 9 + .../duniter}/elasticsearch/TestFixtures.java | 4 +- .../duniter}/elasticsearch/TestResource.java | 14 +- .../RegistryRecordIndexerServiceTest.java | 6 +- .../currency/BlockIndexerServiceTest.java | 14 +- .../services/org.duniter.core.beans.Bean | 13 + ...4j-elasticsearch-localhost-node.properties | 12 + .../duniter4j-elasticsearch-test.properties | 16 + .../src/test/resources/log4j.properties | 11 +- .../test/resources/registry-test-records.json | 0 pom.xml | 50 +- ucoinj-cesium/README.md | 10 - ucoinj-cesium/pom.xml | 14 - ucoinj-cesium/redirector.out | 18 - ucoinj-cesium/src/main/cesium | 1 - ...inj-core-client-i18n-definition.properties | 7 - .../ucoinj-core-client-i18n_en_GB.properties | 69 - .../ucoinj-core-client-i18n_fr_FR.properties | 70 - ...rg.nuiton.config.ApplicationConfigProvider | 1 - .../i18n/ucoinj-core-client_en_GB.properties | 30 - .../i18n/ucoinj-core-client_fr_FR.properties | 31 - .../services/io.ucoin.ucoinj.core.beans.Bean | 12 - .../ucoinj-core-client-test.properties | 15 - .../services/io.ucoin.ucoinj.core.beans.Bean | 1 - .../i18n/ucoinj-core-shared_en_GB.properties | 0 .../i18n/ucoinj-core-shared_fr_FR.properties | 0 ucoinj-elasticsearch-plugin/LICENSE.txt | 674 - ucoinj-elasticsearch-plugin/pom.xml | 182 - .../src/license/THIRD-PARTY.properties | 26 - .../src/main/assembly/full/README.txt | 15 - .../src/main/assembly/min/README.txt | 12 - .../assembly/min/ucoinj-elasticsearch.bat | 47 - .../main/assembly/min/ucoinj-elasticsearch.sh | 39 - .../src/main/assembly/min/ucoinj.config | 54 - .../src/main/assembly/min/ucoinjd | 52 - .../src/main/assembly/standalone.xml | 112 - .../src/main/resources/es-plugin.properties | 1 - .../plugins/ucoinj-elasticsearch/LICENSE | 674 - .../plugin-descriptor.properties | 9 - .../ucoinj/elasticsearch/plugin/StartES.java | 66 - .../src/test/resources/log4j.properties | 25 - ucoinj-elasticsearch/LICENSE | 674 - ucoinj-elasticsearch/LICENSE.txt | 674 - ucoinj-elasticsearch/pom.xml | 285 - .../src/main/assembly/full/README.txt | 15 - .../src/main/assembly/min/version.appup | 1 - .../src/main/filtered-resources/ucoinj.config | 4 - .../services/io.ucoin.ucoinj.core.beans.Bean | 22 - ...rg.nuiton.config.ApplicationConfigProvider | 1 - .../src/main/resources/cities | 1 - .../ucoinj-elasticsearch_en_GB.properties | 51 - .../ucoinj-elasticsearch_fr_FR.properties | 51 - .../services/io.ucoin.ucoinj.core.beans.Bean | 13 - ...nj-elasticsearch-localhost-node.properties | 12 - .../ucoinj-elasticsearch-test.properties | 16 - ucoinj-ui-wicket/LICENSE | 674 - ucoinj-ui-wicket/lib/sodium.dll | Bin 544436 -> 0 bytes ucoinj-ui-wicket/pom.xml | 500 - .../main/filtered-resources/log4j.properties | 30 - .../ucoinj/web/application/Application.java | 139 - .../web/application/Application.properties | 22 - .../Application_fr.utf8.properties | 19 - .../ucoinj/web/application/WebSession.java | 75 - .../behavior/FocusOnLoadBehavior.java | 53 - .../progressionModel/ProgressionPanel.html | 28 - .../progressionModel/ProgressionPanel.java | 172 - .../ucoinj/web/config/WebConfiguration.java | 197 - .../web/config/WebConfigurationOption.java | 159 - .../web/config/WebConfigurationProvider.java | 63 - .../web/model/WicketProgressionModel.java | 45 - .../io/ucoin/ucoinj/web/pages/BasePage.html | 70 - .../io/ucoin/ucoinj/web/pages/BasePage.java | 88 - .../web/pages/admin/JobManagerPage.html | 53 - .../web/pages/admin/JobManagerPage.java | 102 - .../ucoinj/web/pages/admin/ToolsPage.html | 40 - .../ucoinj/web/pages/admin/ToolsPage.java | 197 - .../ucoin/ucoinj/web/pages/home/HomePage.html | 69 - .../ucoin/ucoinj/web/pages/home/HomePage.java | 244 - .../ucoinj/web/pages/login/LoginPage.html | 89 - .../ucoinj/web/pages/login/LoginPage.java | 68 - .../web/pages/registry/CurrencyPage.html | 46 - .../web/pages/registry/CurrencyPage.java | 56 - .../pages/registry/CurrencyRegistryPage.html | 43 - .../pages/registry/CurrencyRegistryPage.java | 33 - .../ucoinj/web/pages/wallet/WalletPage.html | 33 - .../ucoinj/web/pages/wallet/WalletPage.java | 34 - .../web/rest/CurrencyRestController.java | 89 - .../RestResponseEntityExceptionHandler.java | 93 - .../web/security/SecurityContextHelper.java | 80 - .../web/security/UcoinjGrantedAuthority.java | 32 - .../web/security/UcoinjUserDetails.java | 43 - .../web/security/UcoinjUserDetailsImpl.java | 117 - .../keypair/ChallengeMessageStore.java | 41 - .../keypair/ChallengeMessageStoreImpl.java | 101 - .../keypair/PubkeyAuthenticationProvider.java | 118 - .../keypair/PubkeyAuthenticationToken.java | 65 - .../keypair/PubkeyUserDetailsServiceImpl.java | 56 - .../ucoinj/web/service/ServiceLocator.java | 87 - .../web/util/GsonHttpMessageConverter.java | 45 - .../services/io.ucoin.ucoinj.core.beans.Bean | 14 - ...rg.nuiton.config.ApplicationConfigProvider | 1 - .../resources/applicationContext-conf.xml | 48 - .../applicationContext-rest-servlet.xml | 48 - .../applicationContext-security-pubkey.xml | 54 - .../resources/applicationContext-security.xml | 85 - .../resources/applicationContext-wicket.xml | 42 - .../src/main/resources/uiBeanRefFactory.xml | 43 - .../src/main/webapp/META-INF/MANIFEST.MF | 3 - .../src/main/webapp/META-INF/context.xml | 5 - .../src/main/webapp/WEB-INF/classes/TOTO.txt | 0 .../src/main/webapp/WEB-INF/urlrewrite.xml | 71 - .../src/main/webapp/WEB-INF/web.xml | 118 - .../css/jquery-mobile/images/ajax-loader.gif | Bin 6242 -> 0 bytes .../images/icons-png/action-black.png | Bin 219 -> 0 bytes .../images/icons-png/action-white.png | Bin 227 -> 0 bytes .../images/icons-png/alert-black.png | Bin 244 -> 0 bytes .../images/icons-png/alert-white.png | Bin 243 -> 0 bytes .../images/icons-png/arrow-d-black.png | Bin 146 -> 0 bytes .../images/icons-png/arrow-d-l-black.png | Bin 167 -> 0 bytes .../images/icons-png/arrow-d-l-white.png | Bin 173 -> 0 bytes .../images/icons-png/arrow-d-r-black.png | Bin 159 -> 0 bytes .../images/icons-png/arrow-d-r-white.png | Bin 171 -> 0 bytes .../images/icons-png/arrow-d-white.png | Bin 149 -> 0 bytes .../images/icons-png/arrow-l-black.png | Bin 149 -> 0 bytes .../images/icons-png/arrow-l-white.png | Bin 156 -> 0 bytes .../images/icons-png/arrow-r-black.png | Bin 147 -> 0 bytes .../images/icons-png/arrow-r-white.png | Bin 152 -> 0 bytes .../images/icons-png/arrow-u-black.png | Bin 147 -> 0 bytes .../images/icons-png/arrow-u-l-black.png | Bin 163 -> 0 bytes .../images/icons-png/arrow-u-l-white.png | Bin 169 -> 0 bytes .../images/icons-png/arrow-u-r-black.png | Bin 163 -> 0 bytes .../images/icons-png/arrow-u-r-white.png | Bin 165 -> 0 bytes .../images/icons-png/arrow-u-white.png | Bin 151 -> 0 bytes .../images/icons-png/audio-black.png | Bin 307 -> 0 bytes .../images/icons-png/audio-white.png | Bin 314 -> 0 bytes .../images/icons-png/back-black.png | Bin 233 -> 0 bytes .../images/icons-png/back-white.png | Bin 240 -> 0 bytes .../images/icons-png/bars-black.png | Bin 132 -> 0 bytes .../images/icons-png/bars-white.png | Bin 135 -> 0 bytes .../images/icons-png/bullets-black.png | Bin 147 -> 0 bytes .../images/icons-png/bullets-white.png | Bin 152 -> 0 bytes .../images/icons-png/calendar-black.png | Bin 146 -> 0 bytes .../images/icons-png/calendar-white.png | Bin 143 -> 0 bytes .../images/icons-png/camera-black.png | Bin 250 -> 0 bytes .../images/icons-png/camera-white.png | Bin 251 -> 0 bytes .../images/icons-png/carat-d-black.png | Bin 207 -> 0 bytes .../images/icons-png/carat-d-white.png | Bin 213 -> 0 bytes .../images/icons-png/carat-l-black.png | Bin 174 -> 0 bytes .../images/icons-png/carat-l-white.png | Bin 177 -> 0 bytes .../images/icons-png/carat-r-black.png | Bin 184 -> 0 bytes .../images/icons-png/carat-r-white.png | Bin 194 -> 0 bytes .../images/icons-png/carat-u-black.png | Bin 196 -> 0 bytes .../images/icons-png/carat-u-white.png | Bin 204 -> 0 bytes .../images/icons-png/check-black.png | Bin 169 -> 0 bytes .../images/icons-png/check-white.png | Bin 172 -> 0 bytes .../images/icons-png/clock-black.png | Bin 310 -> 0 bytes .../images/icons-png/clock-white.png | Bin 316 -> 0 bytes .../images/icons-png/cloud-black.png | Bin 212 -> 0 bytes .../images/icons-png/cloud-white.png | Bin 210 -> 0 bytes .../images/icons-png/comment-black.png | Bin 165 -> 0 bytes .../images/icons-png/comment-white.png | Bin 160 -> 0 bytes .../images/icons-png/delete-black.png | Bin 171 -> 0 bytes .../images/icons-png/delete-white.png | Bin 185 -> 0 bytes .../images/icons-png/edit-black.png | Bin 163 -> 0 bytes .../images/icons-png/edit-white.png | Bin 170 -> 0 bytes .../images/icons-png/eye-black.png | Bin 249 -> 0 bytes .../images/icons-png/eye-white.png | Bin 253 -> 0 bytes .../images/icons-png/forbidden-black.png | Bin 299 -> 0 bytes .../images/icons-png/forbidden-white.png | Bin 308 -> 0 bytes .../images/icons-png/forward-black.png | Bin 233 -> 0 bytes .../images/icons-png/forward-white.png | Bin 243 -> 0 bytes .../images/icons-png/gear-black.png | Bin 318 -> 0 bytes .../images/icons-png/gear-white.png | Bin 302 -> 0 bytes .../images/icons-png/grid-black.png | Bin 160 -> 0 bytes .../images/icons-png/grid-white.png | Bin 167 -> 0 bytes .../images/icons-png/heart-black.png | Bin 242 -> 0 bytes .../images/icons-png/heart-white.png | Bin 246 -> 0 bytes .../images/icons-png/home-black.png | Bin 150 -> 0 bytes .../images/icons-png/home-white.png | Bin 154 -> 0 bytes .../images/icons-png/info-black.png | Bin 250 -> 0 bytes .../images/icons-png/info-white.png | Bin 251 -> 0 bytes .../images/icons-png/location-black.png | Bin 245 -> 0 bytes .../images/icons-png/location-white.png | Bin 247 -> 0 bytes .../images/icons-png/lock-black.png | Bin 204 -> 0 bytes .../images/icons-png/lock-white.png | Bin 207 -> 0 bytes .../images/icons-png/mail-black.png | Bin 226 -> 0 bytes .../images/icons-png/mail-white.png | Bin 227 -> 0 bytes .../images/icons-png/minus-black.png | Bin 116 -> 0 bytes .../images/icons-png/minus-white.png | Bin 116 -> 0 bytes .../images/icons-png/navigation-black.png | Bin 242 -> 0 bytes .../images/icons-png/navigation-white.png | Bin 241 -> 0 bytes .../images/icons-png/phone-black.png | Bin 270 -> 0 bytes .../images/icons-png/phone-white.png | Bin 274 -> 0 bytes .../images/icons-png/plus-black.png | Bin 123 -> 0 bytes .../images/icons-png/plus-white.png | Bin 124 -> 0 bytes .../images/icons-png/power-black.png | Bin 292 -> 0 bytes .../images/icons-png/power-white.png | Bin 302 -> 0 bytes .../images/icons-png/recycle-black.png | Bin 243 -> 0 bytes .../images/icons-png/recycle-white.png | Bin 253 -> 0 bytes .../images/icons-png/refresh-black.png | Bin 295 -> 0 bytes .../images/icons-png/refresh-white.png | Bin 301 -> 0 bytes .../images/icons-png/search-black.png | Bin 324 -> 0 bytes .../images/icons-png/search-white.png | Bin 321 -> 0 bytes .../images/icons-png/shop-black.png | Bin 174 -> 0 bytes .../images/icons-png/shop-white.png | Bin 173 -> 0 bytes .../images/icons-png/star-black.png | Bin 231 -> 0 bytes .../images/icons-png/star-white.png | Bin 239 -> 0 bytes .../images/icons-png/tag-black.png | Bin 159 -> 0 bytes .../images/icons-png/tag-white.png | Bin 159 -> 0 bytes .../images/icons-png/user-black.png | Bin 245 -> 0 bytes .../images/icons-png/user-white.png | Bin 245 -> 0 bytes .../images/icons-png/video-black.png | Bin 171 -> 0 bytes .../images/icons-png/video-white.png | Bin 170 -> 0 bytes .../images/icons-svg/action-black.svg | 7 - .../images/icons-svg/action-white.svg | 7 - .../images/icons-svg/alert-black.svg | 8 - .../images/icons-svg/alert-white.svg | 8 - .../images/icons-svg/arrow-d-black.svg | 37 - .../images/icons-svg/arrow-d-l-black.svg | 37 - .../images/icons-svg/arrow-d-l-white.svg | 37 - .../images/icons-svg/arrow-d-r-black.svg | 37 - .../images/icons-svg/arrow-d-r-white.svg | 37 - .../images/icons-svg/arrow-d-white.svg | 37 - .../images/icons-svg/arrow-l-black.svg | 37 - .../images/icons-svg/arrow-l-white.svg | 37 - .../images/icons-svg/arrow-r-black.svg | 37 - .../images/icons-svg/arrow-r-white.svg | 37 - .../images/icons-svg/arrow-u-black.svg | 37 - .../images/icons-svg/arrow-u-l-black.svg | 37 - .../images/icons-svg/arrow-u-l-white.svg | 37 - .../images/icons-svg/arrow-u-r-black.svg | 37 - .../images/icons-svg/arrow-u-r-white.svg | 37 - .../images/icons-svg/arrow-u-white.svg | 37 - .../images/icons-svg/audio-black.svg | 40 - .../images/icons-svg/audio-white.svg | 40 - .../images/icons-svg/back-black.svg | 7 - .../images/icons-svg/back-white.svg | 7 - .../images/icons-svg/bars-black.svg | 9 - .../images/icons-svg/bars-white.svg | 9 - .../images/icons-svg/bullets-black.svg | 10 - .../images/icons-svg/bullets-white.svg | 11 - .../images/icons-svg/calendar-black.svg | 39 - .../images/icons-svg/calendar-white.svg | 39 - .../images/icons-svg/camera-black.svg | 9 - .../images/icons-svg/camera-white.svg | 10 - .../images/icons-svg/carat-d-black.svg | 7 - .../images/icons-svg/carat-d-white.svg | 7 - .../images/icons-svg/carat-l-black.svg | 7 - .../images/icons-svg/carat-l-white.svg | 7 - .../images/icons-svg/carat-r-black.svg | 7 - .../images/icons-svg/carat-r-white.svg | 7 - .../images/icons-svg/carat-u-black.svg | 7 - .../images/icons-svg/carat-u-white.svg | 7 - .../images/icons-svg/check-black.svg | 7 - .../images/icons-svg/check-white.svg | 7 - .../images/icons-svg/clock-black.svg | 38 - .../images/icons-svg/clock-white.svg | 38 - .../images/icons-svg/cloud-black.svg | 9 - .../images/icons-svg/cloud-white.svg | 9 - .../images/icons-svg/comment-black.svg | 37 - .../images/icons-svg/comment-white.svg | 37 - .../images/icons-svg/delete-black.svg | 37 - .../images/icons-svg/delete-white.svg | 37 - .../images/icons-svg/edit-black.svg | 37 - .../images/icons-svg/edit-white.svg | 37 - .../images/icons-svg/eye-black.svg | 8 - .../images/icons-svg/eye-white.svg | 8 - .../images/icons-svg/forbidden-black.svg | 40 - .../images/icons-svg/forbidden-white.svg | 40 - .../images/icons-svg/forward-black.svg | 7 - .../images/icons-svg/forward-white.svg | 7 - .../images/icons-svg/gear-black.svg | 52 - .../images/icons-svg/gear-white.svg | 52 - .../images/icons-svg/grid-black.svg | 44 - .../images/icons-svg/grid-white.svg | 44 - .../images/icons-svg/heart-black.svg | 7 - .../images/icons-svg/heart-white.svg | 8 - .../images/icons-svg/home-black.svg | 37 - .../images/icons-svg/home-white.svg | 37 - .../images/icons-svg/info-black.svg | 38 - .../images/icons-svg/info-white.svg | 38 - .../images/icons-svg/location-black.svg | 8 - .../images/icons-svg/location-white.svg | 8 - .../images/icons-svg/lock-black.svg | 8 - .../images/icons-svg/lock-white.svg | 9 - .../images/icons-svg/mail-black.svg | 7 - .../images/icons-svg/mail-white.svg | 7 - .../images/icons-svg/minus-black.svg | 7 - .../images/icons-svg/minus-white.svg | 7 - .../images/icons-svg/navigation-black.svg | 7 - .../images/icons-svg/navigation-white.svg | 7 - .../images/icons-svg/phone-black.svg | 12 - .../images/icons-svg/phone-white.svg | 12 - .../images/icons-svg/plus-black.svg | 37 - .../images/icons-svg/plus-white.svg | 37 - .../images/icons-svg/power-black.svg | 12 - .../images/icons-svg/power-white.svg | 12 - .../images/icons-svg/recycle-black.svg | 8 - .../images/icons-svg/recycle-white.svg | 9 - .../images/icons-svg/refresh-black.svg | 40 - .../images/icons-svg/refresh-white.svg | 40 - .../images/icons-svg/search-black.svg | 9 - .../images/icons-svg/search-white.svg | 9 - .../images/icons-svg/shop-black.svg | 9 - .../images/icons-svg/shop-white.svg | 9 - .../images/icons-svg/star-black.svg | 7 - .../images/icons-svg/star-white.svg | 7 - .../images/icons-svg/tag-black.svg | 37 - .../images/icons-svg/tag-white.svg | 37 - .../images/icons-svg/user-black.svg | 41 - .../images/icons-svg/user-white.svg | 41 - .../images/icons-svg/video-black.svg | 7 - .../images/icons-svg/video-white.svg | 8 - .../css/jquery-mobile/jquery.mobile-1.4.5.css | 4737 --- .../jquery-mobile/jquery.mobile-1.4.5.min.css | 24 - .../jquery.mobile.external-png-1.4.5.css | 4380 --- .../jquery.mobile.external-png-1.4.5.min.css | 24 - .../jquery.mobile.icons-1.4.5.css | 746 - .../jquery.mobile.icons-1.4.5.min.css | 24 - .../jquery.mobile.inline-png-1.4.5.css | 4380 --- .../jquery.mobile.inline-png-1.4.5.min.css | 24 - .../jquery.mobile.inline-svg-1.4.5.css | 4380 --- .../jquery.mobile.inline-svg-1.4.5.min.css | 24 - .../jquery.mobile.structure-1.4.5.css | 3456 -- .../jquery.mobile.structure-1.4.5.min.css | 24 - .../jquery.mobile.theme-1.4.5.css | 601 - .../jquery.mobile.theme-1.4.5.min.css | 24 - .../ucoinj/images/search-background-large.jpg | Bin 453083 -> 0 bytes .../css/ucoinj/jquery.mobile.override.css | 95 - .../src/main/webapp/css/ucoinj/ucoinj.css | 92 - ucoinj-ui-wicket/src/main/webapp/favicon.ico | Bin 1406 -> 0 bytes ucoinj-ui-wicket/src/main/webapp/index.html | 34 - ucoinj-ui-wicket/src/main/webapp/js/app.js | 56 - ucoinj-ui-wicket/src/main/webapp/js/base58.js | 94 - ucoinj-ui-wicket/src/main/webapp/js/base64.js | 45 - .../src/main/webapp/js/jquery-1.11.2.js | 10367 ------ .../src/main/webapp/js/jquery-1.11.2.min.js | 25 - .../src/main/webapp/js/jquery-1.11.2.min.map | 1 - .../src/main/webapp/js/jquery-2.1.4.js | 9231 ------ .../src/main/webapp/js/jquery-2.1.4.min.js | 25 - .../src/main/webapp/js/jquery.mobile-1.4.5.js | 15475 --------- .../main/webapp/js/jquery.mobile-1.4.5.min.js | 31 - .../webapp/js/jquery.mobile-1.4.5.min.map | 1 - .../src/main/webapp/js/nacl_factory.js | 26504 ---------------- .../src/main/webapp/js/scrypt-em.js | 10306 ------ ucoinj-ui-wicket/src/main/webapp/js/ucoinj.js | 343 - .../src/main/webapp/js/zepto.min.js | 23 - .../src/test/resources/log4j.properties | 29 - .../ucoinj-ui-wicket-test.properties | 16 - 559 files changed, 1219 insertions(+), 107931 deletions(-) rename {ucoinj-core-client => duniter4j-core-client}/.gitignore (100%) rename {ucoinj-core-client => duniter4j-core-client}/LICENSE (100%) rename {ucoinj-core-client => duniter4j-core-client}/pom.xml (91%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/config/Configuration.java (98%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/config/ConfigurationOption.java (66%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/config/ConfigurationProvider.java (94%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/dao/CurrencyDao.java (93%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/dao/EntityDao.java (87%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/dao/PeerDao.java (90%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/dao/mem/MemoryCurrencyDaoImpl.java (74%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/dao/mem/MemoryPeerDaoImpl.java (91%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/Account.java (94%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/BasicIdentity.java (97%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/Currency.java (97%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/Member.java (92%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/ModelUtils.java (96%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/TxOutput.java (88%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/BlockchainBlock.java (99%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/BlockchainMemberships.java (95%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/BlockchainParameters.java (99%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/EndpointProtocol.java (94%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/Error.java (93%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/ErrorCode.java (51%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/NetworkPeering.java (98%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/NetworkPeers.java (97%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/Protocol.java (83%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/TxHistory.java (98%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/TxSource.java (78%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/WotCertification.java (94%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/WotLookup.java (99%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/gson/EndpointAdapter.java (94%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/gson/GsonUtils.java (87%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/gson/IdentityTypeAdapter.java (95%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/gson/JoinerTypeAdapter.java (95%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/gson/JsonArrayParser.java (96%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/gson/JsonAttributeParser.java (95%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/gson/MultimapTypeAdapter.java (98%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/gson/ParameterizedTypeImpl.java (96%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/bma/gson/RevokedTypeAdapter.java (94%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/elasticsearch/Currency.java (93%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/elasticsearch/Record.java (93%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/local/Certification.java (97%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/local/Contact.java (96%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/local/Currency.java (95%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/local/Identity.java (94%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/local/LocalEntity.java (94%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/local/Movement.java (98%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/local/Peer.java (98%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/model/local/Wallet.java (95%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/DataContext.java (94%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/HttpService.java (86%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/HttpServiceImpl.java (90%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/ServiceLocator.java (84%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/bma/BaseRemoteServiceImpl.java (83%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/bma/BlockchainRemoteService.java (85%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/bma/BlockchainRemoteServiceImpl.java (94%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/bma/NetworkRemoteService.java (80%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/bma/NetworkRemoteServiceImpl.java (92%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/bma/TransactionRemoteService.java (77%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/bma/TransactionRemoteServiceImpl.java (86%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/bma/WotRemoteService.java (86%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/bma/WotRemoteServiceImpl.java (97%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java (83%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java (89%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/exception/HttpBadRequestException.java (89%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/exception/InsufficientCreditException.java (91%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/exception/JsonSyntaxException.java (91%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/exception/PeerConnectionException.java (86%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/exception/PubkeyAlreadyUsedException.java (91%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/exception/UidAlreadyUsedException.java (87%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/exception/UidAndPubkeyNotFoundException.java (91%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/exception/UidMatchAnotherPubkeyException.java (92%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/local/CurrencyService.java (93%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/local/CurrencyServiceImpl.java (93%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/local/PeerService.java (90%) rename {ucoinj-core-client/src/main/java/io/ucoin/ucoinj => duniter4j-core-client/src/main/java/org/duniter}/core/client/service/local/PeerServiceImpl.java (89%) create mode 100644 duniter4j-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider rename {ucoinj-core-client => duniter4j-core-client}/src/main/resources/log4j.properties (84%) rename {ucoinj-core-client/src/test/java/io/ucoin/ucoinj => duniter4j-core-client/src/test/java/org/duniter}/core/client/TestFixtures.java (88%) rename {ucoinj-core-client/src/test/java/io/ucoin/ucoinj => duniter4j-core-client/src/test/java/org/duniter}/core/client/TestResource.java (88%) rename {ucoinj-core-client/src/test/java/io/ucoin/ucoinj => duniter4j-core-client/src/test/java/org/duniter}/core/client/model/bma/gson/JsonArrayParserTest.java (96%) rename {ucoinj-core-client/src/test/java/io/ucoin/ucoinj => duniter4j-core-client/src/test/java/org/duniter}/core/client/service/bma/BlockchainRemoteServiceTest.java (87%) rename {ucoinj-core-client/src/test/java/io/ucoin/ucoinj => duniter4j-core-client/src/test/java/org/duniter}/core/client/service/bma/NetworkRemoteServiceTest.java (85%) rename {ucoinj-core-client/src/test/java/io/ucoin/ucoinj => duniter4j-core-client/src/test/java/org/duniter}/core/client/service/bma/TransactionRemoteServiceTest.java (86%) rename {ucoinj-core-client/src/test/java/io/ucoin/ucoinj => duniter4j-core-client/src/test/java/org/duniter}/core/client/service/bma/WotRemoteServiceTest.java (87%) rename {ucoinj-core-client/src/test/java/io/ucoin/ucoinj => duniter4j-core-client/src/test/java/org/duniter}/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java (88%) create mode 100644 duniter4j-core-client/src/test/resources/META-INF/services/org.duniter.core.beans.Bean create mode 100644 duniter4j-core-client/src/test/resources/duniter4j-core-client-test.properties rename {ucoinj-core-client => duniter4j-core-client}/src/test/resources/log4j.properties (75%) rename {ucoinj-core-shared => duniter4j-core-shared}/LICENSE (100%) rename {ucoinj-core-shared => duniter4j-core-shared}/lib/sodium.dll (100%) rename {ucoinj-core-shared => duniter4j-core-shared}/pom.xml (92%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/beans/Bean.java (95%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/beans/BeanFactory.java (97%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/beans/InitializingBean.java (96%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/beans/Service.java (96%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/exception/BusinessException.java (97%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/exception/TechnicalException.java (97%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/model/ProgressionModel.java (98%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/model/ProgressionModelImpl.java (85%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/service/CryptoService.java (93%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/service/Ed25519CryptoServiceImpl.java (78%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/test/TestFixtures.java (96%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/test/TestResource.java (96%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/CollectionUtils.java (98%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/CommandLinesUtils.java (97%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/FileUtils.java (97%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/ObjectUtils.java (98%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/StringUtils.java (98%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/cache/Cache.java (97%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/cache/SimpleCache.java (99%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/crypto/AddressFormatException.java (95%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/crypto/Base58.java (99%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/crypto/CryptoUtils.java (95%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/crypto/DigestUtils.java (98%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/crypto/KeyPair.java (96%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/crypto/SecretBox.java (87%) rename {ucoinj-core-shared/src/main/java/io/ucoin/ucoinj => duniter4j-core-shared/src/main/java/org/duniter}/core/util/websocket/WebsocketClientEndpoint.java (97%) create mode 100644 duniter4j-core-shared/src/main/resources/META-INF/services/org.duniter.core.beans.Bean rename ucoinj-cesium/redirector.err => duniter4j-core-shared/src/main/resources/i18n/duniter-core-shared_en_GB.properties (100%) rename ucoinj-cesium/src/main/assembly/standalone.xml => duniter4j-core-shared/src/main/resources/i18n/duniter-core-shared_fr_FR.properties (100%) rename {ucoinj-core-shared/src/test/java/io/ucoin/ucoinj => duniter4j-core-shared/src/test/java/org/duniter}/core/service/Ed25519CryptoServiceTest.java (91%) rename {ucoinj-core-shared/src/test/java/io/ucoin/ucoinj => duniter4j-core-shared/src/test/java/org/duniter}/core/util/crypto/SecretBoxTest.java (95%) rename {ucoinj-core-shared => duniter4j-core-shared}/src/test/resources/log4j.properties (75%) rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/license/THIRD-PARTY.properties (100%) create mode 100644 duniter4j-elasticsearch/src/main/assembly/full/README.txt rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/main/assembly/help.xml (100%) rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/main/assembly/i18n.xml (92%) rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/main/assembly/min/README.txt (61%) rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/main/assembly/min/ucoinj-elasticsearch.bat (78%) rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/main/assembly/min/ucoinj-elasticsearch.sh (79%) rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/main/assembly/min/ucoinj.config (72%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/main/assembly/min/version.appup (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/main/assembly/plugin.xml (100%) rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/main/assembly/standalone.xml (90%) create mode 100644 duniter4j-elasticsearch/src/main/filtered-resources/duniter4j.config rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/main/filtered-resources/log4j.properties (75%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/main/filtered-resources/plugin-descriptor.properties (53%) rename {ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/action/RestModule.java (73%) rename {ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/action/currency/RestCurrencyIndexAction.java (91%) rename {ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/action/market/RestMarketRecordIndexAction.java (91%) rename {ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/action/registry/RestRegistryRecordIndexAction.java (91%) rename {ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/action/security/RestSecurityAuthAction.java (86%) rename {ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/action/security/RestSecurityGetChallengeAction.java (91%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch => duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli}/Main.java (88%) rename ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/HelpAction.java => duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/HelpCliAction.java (92%) rename ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/IndexerAction.java => duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/IndexerCliAction.java (86%) rename ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/NodeAction.java => duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/NodeCliAction.java (82%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/config/Configuration.java (94%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/config/ConfigurationAction.java (60%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/config/ConfigurationOption.java (64%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/config/ConfigurationProvider.java (93%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/model/Currency.java (93%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/model/SearchResult.java (89%) rename {ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/plugin/Plugin.java (81%) rename {ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/security/SecurityModule.java (82%) rename {ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/security/challenge/ChallengeMessageStore.java (88%) rename {ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/security/token/SecurityTokenStore.java (88%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/BaseIndexerService.java (96%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/ElasticSearchService.java (95%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/ExecutorService.java (81%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/ExecutorServiceImpl.java (91%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/ServiceLocator.java (76%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/currency/BlockIndexerService.java (93%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/exception/AccessDeniedException.java (91%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/exception/DuplicateIndexIdException.java (91%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/exception/InvalidFormatException.java (79%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/exception/InvalidSignatureException.java (91%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/market/MarketCategoryIndexerService.java (91%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/market/MarketRecordIndexerService.java (92%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/registry/RegistryCategoryIndexerService.java (89%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/registry/RegistryCitiesIndexerService.java (96%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/registry/RegistryCurrencyIndexerService.java (95%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/registry/RegistryRecordIndexerService.java (92%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/task/Job.java (91%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/task/JobFuture.java (97%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/service/task/JobVO.java (95%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/util/Desktop.java (94%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/util/DesktopPower.java (96%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/util/os/win/WindowsPower.java (92%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/util/os/win/handle/CWPSSTRUCT.java (95%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java (94%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/util/os/win/handle/WNDPROC.java (95%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/util/os/win/libs/Kernel32Ex.java (92%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/util/os/win/wrap/GetLastErrorException.java (95%) rename {ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/main/java/org/duniter}/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java (94%) rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/main/misc/cities-fr.geoJson.txt (100%) rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/main/misc/registry-categories-naf2008_liste_n5.ods (100%) create mode 100644 duniter4j-elasticsearch/src/main/resources/META-INF/services/org.duniter.core.beans.Bean create mode 100644 duniter4j-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider create mode 100644 duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties create mode 100644 duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/main/resources/market-categories-bulk-insert.json (100%) rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/main/resources/registry-categories-bulk-insert.json (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/test/es-home/config/elasticsearch.yml (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/test/es-home/config/logging.yml (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/test/es-home/config/shield/logging.yml (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/test/es-home/config/shield/role_mapping.yml (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/test/es-home/config/shield/roles.yml (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/test/es-home/config/shield/users (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/test/es-home/config/shield/users_roles (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/test/es-home/logs/elasticsearch-access.log (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/test/es-home/logs/elasticsearch.log (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/test/es-home/logs/elasticsearch_deprecation.log (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/test/es-home/logs/elasticsearch_index_indexing_slowlog.log (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch}/src/test/es-home/logs/elasticsearch_index_search_slowlog.log (100%) rename {ucoinj-elasticsearch-plugin => duniter4j-elasticsearch/src/test/es-home/plugins/ucoinj-elasticsearch}/LICENSE (100%) create mode 100644 duniter4j-elasticsearch/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties rename {ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/test/java/org/duniter}/elasticsearch/TestFixtures.java (87%) rename {ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/test/java/org/duniter}/elasticsearch/TestResource.java (91%) rename {ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/test/java/org/duniter}/elasticsearch/service/RegistryRecordIndexerServiceTest.java (89%) rename {ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj => duniter4j-elasticsearch/src/test/java/org/duniter}/elasticsearch/service/currency/BlockIndexerServiceTest.java (92%) create mode 100644 duniter4j-elasticsearch/src/test/resources/META-INF/services/org.duniter.core.beans.Bean create mode 100644 duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-localhost-node.properties create mode 100644 duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-test.properties rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/test/resources/log4j.properties (61%) rename {ucoinj-elasticsearch => duniter4j-elasticsearch}/src/test/resources/registry-test-records.json (100%) delete mode 100644 ucoinj-cesium/README.md delete mode 100644 ucoinj-cesium/pom.xml delete mode 100644 ucoinj-cesium/redirector.out delete mode 160000 ucoinj-cesium/src/main/cesium delete mode 100644 ucoinj-core-client/i18n/ucoinj-core-client-i18n-definition.properties delete mode 100644 ucoinj-core-client/i18n/ucoinj-core-client-i18n_en_GB.properties delete mode 100644 ucoinj-core-client/i18n/ucoinj-core-client-i18n_fr_FR.properties delete mode 100644 ucoinj-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider delete mode 100644 ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_en_GB.properties delete mode 100644 ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_fr_FR.properties delete mode 100644 ucoinj-core-client/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean delete mode 100644 ucoinj-core-client/src/test/resources/ucoinj-core-client-test.properties delete mode 100644 ucoinj-core-shared/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean delete mode 100644 ucoinj-core-shared/src/main/resources/i18n/ucoinj-core-shared_en_GB.properties delete mode 100644 ucoinj-core-shared/src/main/resources/i18n/ucoinj-core-shared_fr_FR.properties delete mode 100644 ucoinj-elasticsearch-plugin/LICENSE.txt delete mode 100644 ucoinj-elasticsearch-plugin/pom.xml delete mode 100644 ucoinj-elasticsearch-plugin/src/license/THIRD-PARTY.properties delete mode 100644 ucoinj-elasticsearch-plugin/src/main/assembly/full/README.txt delete mode 100644 ucoinj-elasticsearch-plugin/src/main/assembly/min/README.txt delete mode 100644 ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat delete mode 100644 ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh delete mode 100644 ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config delete mode 100644 ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinjd delete mode 100644 ucoinj-elasticsearch-plugin/src/main/assembly/standalone.xml delete mode 100644 ucoinj-elasticsearch-plugin/src/main/resources/es-plugin.properties delete mode 100644 ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/LICENSE delete mode 100644 ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties delete mode 100644 ucoinj-elasticsearch-plugin/src/test/java/io/ucoin/ucoinj/elasticsearch/plugin/StartES.java delete mode 100644 ucoinj-elasticsearch-plugin/src/test/resources/log4j.properties delete mode 100644 ucoinj-elasticsearch/LICENSE delete mode 100644 ucoinj-elasticsearch/LICENSE.txt delete mode 100644 ucoinj-elasticsearch/pom.xml delete mode 100644 ucoinj-elasticsearch/src/main/assembly/full/README.txt delete mode 100644 ucoinj-elasticsearch/src/main/assembly/min/version.appup delete mode 100644 ucoinj-elasticsearch/src/main/filtered-resources/ucoinj.config delete mode 100644 ucoinj-elasticsearch/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean delete mode 100644 ucoinj-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider delete mode 160000 ucoinj-elasticsearch/src/main/resources/cities delete mode 100644 ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties delete mode 100644 ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties delete mode 100644 ucoinj-elasticsearch/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean delete mode 100644 ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-localhost-node.properties delete mode 100644 ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-test.properties delete mode 100644 ucoinj-ui-wicket/LICENSE delete mode 100644 ucoinj-ui-wicket/lib/sodium.dll delete mode 100644 ucoinj-ui-wicket/pom.xml delete mode 100644 ucoinj-ui-wicket/src/main/filtered-resources/log4j.properties delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.properties delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application_fr.utf8.properties delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/WebSession.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/behavior/FocusOnLoadBehavior.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.html delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfiguration.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationOption.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationProvider.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/model/WicketProgressionModel.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.html delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.html delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.html delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.html delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.html delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.html delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.html delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.html delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/CurrencyRestController.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/RestResponseEntityExceptionHandler.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/SecurityContextHelper.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjGrantedAuthority.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetails.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetailsImpl.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStore.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStoreImpl.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationProvider.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationToken.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyUserDetailsServiceImpl.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/service/ServiceLocator.java delete mode 100644 ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/util/GsonHttpMessageConverter.java delete mode 100644 ucoinj-ui-wicket/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean delete mode 100644 ucoinj-ui-wicket/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider delete mode 100644 ucoinj-ui-wicket/src/main/resources/applicationContext-conf.xml delete mode 100644 ucoinj-ui-wicket/src/main/resources/applicationContext-rest-servlet.xml delete mode 100644 ucoinj-ui-wicket/src/main/resources/applicationContext-security-pubkey.xml delete mode 100644 ucoinj-ui-wicket/src/main/resources/applicationContext-security.xml delete mode 100644 ucoinj-ui-wicket/src/main/resources/applicationContext-wicket.xml delete mode 100644 ucoinj-ui-wicket/src/main/resources/uiBeanRefFactory.xml delete mode 100644 ucoinj-ui-wicket/src/main/webapp/META-INF/MANIFEST.MF delete mode 100644 ucoinj-ui-wicket/src/main/webapp/META-INF/context.xml delete mode 100644 ucoinj-ui-wicket/src/main/webapp/WEB-INF/classes/TOTO.txt delete mode 100644 ucoinj-ui-wicket/src/main/webapp/WEB-INF/urlrewrite.xml delete mode 100644 ucoinj-ui-wicket/src/main/webapp/WEB-INF/web.xml delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/ajax-loader.gif delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/action-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/action-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/alert-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/alert-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-l-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-l-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-r-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-r-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-l-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-l-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-r-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-r-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-l-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-l-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-r-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-r-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/audio-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/audio-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/back-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/back-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bars-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bars-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bullets-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bullets-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/calendar-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/calendar-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/camera-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/camera-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-d-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-d-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-l-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-l-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-r-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-r-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-u-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-u-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/check-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/check-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/clock-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/clock-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/cloud-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/cloud-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/comment-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/comment-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/delete-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/delete-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/edit-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/edit-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/eye-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/eye-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forbidden-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forbidden-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forward-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forward-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/gear-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/gear-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/grid-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/grid-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/heart-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/heart-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/home-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/home-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/info-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/info-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/location-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/location-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/lock-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/lock-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/mail-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/mail-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/minus-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/minus-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/navigation-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/navigation-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/phone-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/phone-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/plus-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/plus-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/power-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/power-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/recycle-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/recycle-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/refresh-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/refresh-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/search-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/search-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/shop-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/shop-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/star-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/star-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/tag-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/tag-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/user-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/user-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/video-black.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/video-white.png delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-black.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-white.svg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.min.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.min.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.min.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.min.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.min.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.min.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.min.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/ucoinj/images/search-background-large.jpg delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/ucoinj/jquery.mobile.override.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/css/ucoinj/ucoinj.css delete mode 100644 ucoinj-ui-wicket/src/main/webapp/favicon.ico delete mode 100644 ucoinj-ui-wicket/src/main/webapp/index.html delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/app.js delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/base58.js delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/base64.js delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.js delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.js delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.map delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.js delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.min.js delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.js delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.js delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.map delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/nacl_factory.js delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/scrypt-em.js delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/ucoinj.js delete mode 100644 ucoinj-ui-wicket/src/main/webapp/js/zepto.min.js delete mode 100644 ucoinj-ui-wicket/src/test/resources/log4j.properties delete mode 100644 ucoinj-ui-wicket/src/test/resources/ucoinj-ui-wicket-test.properties diff --git a/.gitignore b/.gitignore index 637b032b..1a4b7d0f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,6 @@ .classpath .settings .idea -ucoinj-cesium/src/cesium/**/*.* +duniter4j-cesium/src/cesium/**/*.* target */target \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index 7b65ea9b..a75acc91 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ -[submodule "ucoinj-cesium/src/main/cesium"] - path = ucoinj-cesium/src/main/cesium +[submodule "duniter4j-cesium/src/main/cesium"] + path = duniter4j-cesium/src/main/cesium url = git://github.com/ucoin-io/cesium.git -[submodule "ucoinj-elasticsearch/src/main/resources/cities"] - path = ucoinj-elasticsearch/src/main/resources/cities +[submodule "duniter4j-elasticsearch/src/main/resources/cities"] + path = duniter4j-elasticsearch/src/main/resources/cities url = git://github.com/David-Haim/CountriesToCitiesJSON.git diff --git a/README.md b/README.md index c9953bc6..c713e967 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -ucoinj +duniter4j ====== uCoin Java Client API. @@ -7,7 +7,7 @@ uCoin Java Client API. ## Architecture -uCoinj has four main components : +duniter4j has four main components : - shared: common classes @@ -39,25 +39,25 @@ sudo apt-get install openjdk-8-jre No installation need for Windows (include in binaries) - - Download lastest release of file ucoinj-elasticsearch-X.Y-standalone.zip + - Download lastest release of file duniter4j-elasticsearch-X.Y-standalone.zip - Unzip, then start a elasticsearch node, just do : ```bash -unzip ucoinj-elasticsearch-X.Y-standalone.zip -cd ucoinj-elasticsearch-X.Y -./ucoinj-elasticsearch.sh start index -h <node_host> -p <node_port> +unzip duniter4j-elasticsearch-X.Y-standalone.zip +cd duniter4j-elasticsearch-X.Y +./duniter4j-elasticsearch.sh start index -h <node_host> -p <node_port> ``` Example on meta_brouzouf test currency : ```bash -$ ./ucoinj-elasticsearch.sh start index -h metab.ucoin.io -p 9201 -2016-01-07 23:34:34,771 INFO Starting uCoinj :: ElasticSearch Indexer with arguments [start, index, -h, metab.ucoin.io, -p, 9201] -2016-01-07 23:34:34,856 INFO Application basedir: /home/user/.ucoinj-elasticsearch -2016-01-07 23:34:34,861 INFO Starts i18n with locale [fr] at [/home/user/.ucoinj-elasticsearch/data/i18n] -2016-01-07 23:34:35,683 INFO Starts ElasticSearch node with cluster name [ucoinj-elasticsearch] at [/home/user/.ucoinj-elasticsearch/data]. -*** uCoinj :: Elasticsearch successfully started *** >> To quit, press [Q] or enter +$ ./duniter4j-elasticsearch.sh start index -h metab.ucoin.io -p 9201 +2016-01-07 23:34:34,771 INFO Starting duniter4j :: ElasticSearch Indexer with arguments [start, index, -h, metab.ucoin.io, -p, 9201] +2016-01-07 23:34:34,856 INFO Application basedir: /home/user/.duniter4j-elasticsearch +2016-01-07 23:34:34,861 INFO Starts i18n with locale [fr] at [/home/user/.duniter4j-elasticsearch/data/i18n] +2016-01-07 23:34:35,683 INFO Starts ElasticSearch node with cluster name [duniter4j-elasticsearch] at [/home/user/.duniter4j-elasticsearch/data]. +*** duniter4j :: Elasticsearch successfully started *** >> To quit, press [Q] or enter 2016-01-07 23:34:45,015 INFO Indexing last blocks of [meta_brouzouf] from peer [metab.ucoin.io:9201] 2016-01-07 23:35:01,597 INFO Indexing block #999 / 47144 (2%)... 2016-01-07 23:35:15,554 INFO Indexing block #1998 / 47144 (4%)... @@ -70,9 +70,9 @@ $ ./ucoinj-elasticsearch.sh start index -h metab.ucoin.io -p 9201 Show help : ```bash -$ ./ucoinj-elasticsearch.sh --help +$ ./duniter4j-elasticsearch.sh --help -Usage: ucoinj-elaticsearch.<sh|bat> <commands> [options] +Usage: duniter4j-elaticsearch.<sh|bat> <commands> [options] Commands: @@ -159,7 +159,7 @@ More documentation here : - Linux: after [installation](http://doc.libsodium.org/installation/index.html), make sure the file 'libsodium.so' exists on: /usr/local/lib or /opt/local/lib. If not, create a symbolic link. - - Windows: copy the file 'sodium.dll' into directory 'ucoinj-core/lib/' + - Windows: copy the file 'sodium.dll' into directory 'duniter4j-core/lib/' - Install [Maven 3](http://maven.apache.org/). ``` @@ -169,8 +169,8 @@ More documentation here : - Get the source code, then compile using Maven: ``` - git clone https://github.com/ucoin-io/ucoinj.git - cd ucoinj + git clone https://github.com/ucoin-io/duniter4j.git + cd duniter4j git submodule init git submodule sync git submodule update diff --git a/ucoinj-core-client/.gitignore b/duniter4j-core-client/.gitignore similarity index 100% rename from ucoinj-core-client/.gitignore rename to duniter4j-core-client/.gitignore diff --git a/ucoinj-core-client/LICENSE b/duniter4j-core-client/LICENSE similarity index 100% rename from ucoinj-core-client/LICENSE rename to duniter4j-core-client/LICENSE diff --git a/ucoinj-core-client/pom.xml b/duniter4j-core-client/pom.xml similarity index 91% rename from ucoinj-core-client/pom.xml rename to duniter4j-core-client/pom.xml index 08207ba9..254d3e83 100644 --- a/ucoinj-core-client/pom.xml +++ b/duniter4j-core-client/pom.xml @@ -2,18 +2,18 @@ <modelVersion>4.0.0</modelVersion> <parent> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj</artifactId> + <groupId>org.duniter</groupId> + <artifactId>duniter4j</artifactId> <version>0.1-SNAPSHOT</version> </parent> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core-client</artifactId> + <groupId>org.duniter</groupId> + <artifactId>duniter4j-core-client</artifactId> <packaging>jar</packaging> - <name>UCoin Java :: Core Client API</name> + <name>Duniter4j :: Core Client API</name> <properties> - <i18n.bundleOutputName>ucoinj-core-client-i18n</i18n.bundleOutputName> + <i18n.bundleOutputName>duniter4j-core-client-i18n</i18n.bundleOutputName> <i18n.generateCsvFile>true</i18n.generateCsvFile> <i18n.bundleCsvFile> ${maven.gen.dir}/resources/META-INF/${i18n.bundleOutputName}.csv @@ -23,8 +23,8 @@ </properties> <dependencies> <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core-shared</artifactId> + <groupId>org.duniter</groupId> + <artifactId>duniter4j-core-shared</artifactId> <version>${project.version}</version> </dependency> <!-- LOGGING DEPENDENCIES - SLF4J --> diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/Configuration.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/config/Configuration.java similarity index 98% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/Configuration.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/config/Configuration.java index abec2fde..a13b9fed 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/Configuration.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/config/Configuration.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.config; +package org.duniter.core.client.config; /* * #%L @@ -24,7 +24,7 @@ package io.ucoin.ucoinj.core.client.config; import com.google.common.base.Charsets; -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.exception.TechnicalException; import org.nuiton.config.ApplicationConfig; import org.nuiton.config.ApplicationConfigHelper; import org.nuiton.config.ApplicationConfigProvider; @@ -118,7 +118,7 @@ public class Configuration { applicationConfig.parse(args); } catch (ArgumentsParserException e) { - throw new TechnicalException(t("ucoinj.config.parse.error"), e); + throw new TechnicalException(t("duniter4j.config.parse.error"), e); } // TODO Review this, this is very dirty to do this... diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/ConfigurationOption.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/config/ConfigurationOption.java similarity index 66% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/ConfigurationOption.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/config/ConfigurationOption.java index ce0f0dd5..41d817b1 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/ConfigurationOption.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/config/ConfigurationOption.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.config; +package org.duniter.core.client.config; /* * #%L @@ -46,68 +46,68 @@ public enum ConfigurationOption implements ConfigOptionDef { // ------------------------------------------------------------------------// BASEDIR( - "ucoinj.basedir", - n("ucoinj.config.option.basedir.description"), - "${user.home}/.ucoinj", + "duniter4j.basedir", + n("duniter4j.config.option.basedir.description"), + "${user.home}/.config/duniter4j", File.class), DATA_DIRECTORY( - "ucoinj.data.directory", - n("ucoinj.config.option.data.directory.description"), - "${ucoinj.basedir}/data", + "duniter4j.data.directory", + n("duniter4j.config.option.data.directory.description"), + "${duniter4j.basedir}/data", File.class), I18N_DIRECTORY( - "ucoinj.i18n.directory", - n("ucoinj.config.option.i18n.directory.description"), - "${ucoinj.basedir}/i18n", + "duniter4j.i18n.directory", + n("duniter4j.config.option.i18n.directory.description"), + "${duniter4j.basedir}/i18n", File.class), TMP_DIRECTORY( - "ucoinj.tmp.directory", - n("ucoinj.config.option.tmp.directory.description"), - "${ucoinj.data.directory}/temp", + "duniter4j.tmp.directory", + n("duniter4j.config.option.tmp.directory.description"), + "${duniter4j.data.directory}/temp", File.class), CACHE_DIRECTORY( - "ucoinj.cache.directory", - n("ucoinj.config.option.cache.directory.description"), - "${ucoinj.data.directory}/cache", + "duniter4j.cache.directory", + n("duniter4j.config.option.cache.directory.description"), + "${duniter4j.data.directory}/cache", File.class), VERSION( - "ucoinj.version", - n("ucoinj.config.option.version.description"), + "duniter4j.version", + n("duniter4j.config.option.version.description"), "1.0", Version.class), SITE_URL( - "ucoinj.site.url", - n("ucoinj.config.option.site.url.description"), - "http://ucoin.io/ucoinj", + "duniter4j.site.url", + n("duniter4j.config.option.site.url.description"), + "http://ucoin.io/duniter4j", URL.class), ORGANIZATION_NAME( - "ucoinj.organizationName", - n("ucoinj.config.option.organizationName.description"), + "duniter4j.organizationName", + n("duniter4j.config.option.organizationName.description"), "e-is.pro", String.class), INCEPTION_YEAR( - "ucoinj.inceptionYear", - n("ucoinj.config.option.inceptionYear.description"), + "duniter4j.inceptionYear", + n("duniter4j.config.option.inceptionYear.description"), "2011", Integer.class), USER_SALT( - "ucoinj.salt", - n("ucoinj.config.option.salt.description"), + "duniter4j.salt", + n("duniter4j.config.option.salt.description"), "", String.class), USER_PASSWD( - "ucoinj.passwd", - n("ucoinj.config.option.passwd.description"), + "duniter4j.passwd", + n("duniter4j.config.option.passwd.description"), "", String.class), @@ -120,50 +120,50 @@ public enum ConfigurationOption implements ConfigOptionDef { // ------------------------------------------------------------------------// I18N_LOCALE( - "ucoinj.i18n.locale", - n("ucoinj.config.option.i18n.locale.description"), + "duniter4j.i18n.locale", + n("duniter4j.config.option.i18n.locale.description"), Locale.FRANCE.getCountry(), Locale.class, false), NODE_CURRENCY( - "ucoinj.node.currency", - n("ucoinj.config.option.node.currency.description"), + "duniter4j.node.currency", + n("duniter4j.config.option.node.currency.description"), "meta_brouzouf", String.class, false), NODE_PROTOCOL( - "ucoinj.node.protocol", - n("ucoinj.config.option.node.protocol.description"), + "duniter4j.node.protocol", + n("duniter4j.config.option.node.protocol.description"), "http", String.class, false), NODE_HOST( - "ucoinj.node.host", - n("ucoinj.config.option.node.host.description"), + "duniter4j.node.host", + n("duniter4j.config.option.node.host.description"), "metab.ucoin.io", String.class, false), NODE_PORT( - "ucoinj.node.port", - n("ucoinj.config.option.node.port.description"), + "duniter4j.node.port", + n("duniter4j.config.option.node.port.description"), "9201", Integer.class, false), NODE_URL( - "ucoinj.node.url", - n("ucoinj.config.option.node.port.description"), - "${ucoinj.node.protocol}://${ucoinj.node.host}:${ucoinj.node.port}", + "duniter4j.node.url", + n("duniter4j.config.option.node.port.description"), + "${duniter4j.node.protocol}://${duniter4j.node.host}:${duniter4j.node.port}", URL.class, false), NETWORK_TIMEOUT( - "ucoinj.network.timeout", - n("ucoinj.config.option.network.timeout.description"), + "duniter4j.network.timeout", + n("duniter4j.config.option.network.timeout.description"), "100000", // = 10 s Integer.class, false), @@ -176,30 +176,30 @@ public enum ConfigurationOption implements ConfigOptionDef { false), NODE_ELASTICSEARCH_PROTOCOL( - "ucoinj.node.elasticsearch.protocol", - n("ucoinj.config.option.node.elasticsearch.protocol.description"), + "duniter4j.node.elasticsearch.protocol", + n("duniter4j.config.option.node.elasticsearch.protocol.description"), "http", String.class, false), NODE_ELASTICSEARCH_HOST( - "ucoinj.node.elasticsearch.host", - n("ucoinj.config.option.node.elasticsearch.host.description"), + "duniter4j.node.elasticsearch.host", + n("duniter4j.config.option.node.elasticsearch.host.description"), "localhost", String.class, false), NODE_ELASTICSEARCH_PORT( - "ucoinj.node.elasticsearch.port", - n("ucoinj.config.option.node.elasticsearch.port.description"), + "duniter4j.node.elasticsearch.port", + n("duniter4j.config.option.node.elasticsearch.port.description"), "9200", Integer.class, false), NODE_ELASTICSEARCH_URL( - "ucoinj.node.elasticsearch.url", - n("ucoinj.config.option.node.elasticsearch.url.description"), - "${ucoinj.node.elasticsearch.protocol}://${ucoinj.node.elasticsearch.host}:${ucoinj.node.elasticsearch.port}", + "duniter4j.node.elasticsearch.url", + n("duniter4j.config.option.node.elasticsearch.url.description"), + "${duniter4j.node.elasticsearch.protocol}://${duniter4j.node.elasticsearch.host}:${duniter4j.node.elasticsearch.port}", URL.class, false) ; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/ConfigurationProvider.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/config/ConfigurationProvider.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/ConfigurationProvider.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/config/ConfigurationProvider.java index 05482713..5ae91229 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/ConfigurationProvider.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/config/ConfigurationProvider.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.config; +package org.duniter.core.client.config; /* * #%L @@ -41,12 +41,12 @@ public class ConfigurationProvider implements ApplicationConfigProvider { @Override public String getName() { - return "ucoinj"; + return "duniter4j"; } @Override public String getDescription(Locale locale) { - return l(locale, "ucoinj.config"); + return l(locale, "duniter4j.config"); } @Override diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/CurrencyDao.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/CurrencyDao.java similarity index 93% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/CurrencyDao.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/dao/CurrencyDao.java index d96bb626..172255fe 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/CurrencyDao.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/CurrencyDao.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.dao; +package org.duniter.core.client.dao; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.core.client.dao; * #L% */ -import io.ucoin.ucoinj.core.beans.Bean; -import io.ucoin.ucoinj.core.client.model.local.Currency; +import org.duniter.core.beans.Bean; +import org.duniter.core.client.model.local.Currency; import java.util.List; import java.util.Map; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/EntityDao.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/EntityDao.java similarity index 87% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/EntityDao.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/dao/EntityDao.java index ff8b7062..e66e8a77 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/EntityDao.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/EntityDao.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.dao; +package org.duniter.core.client.dao; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.core.client.dao; * #L% */ -import io.ucoin.ucoinj.core.beans.Bean; -import io.ucoin.ucoinj.core.client.model.local.LocalEntity; +import org.duniter.core.beans.Bean; +import org.duniter.core.client.model.local.LocalEntity; /** * Created by blavenie on 29/12/15. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/PeerDao.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/PeerDao.java similarity index 90% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/PeerDao.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/dao/PeerDao.java index 0e56ab00..143981ca 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/PeerDao.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/PeerDao.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.dao; +package org.duniter.core.client.dao; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.client.dao; * #L% */ -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Peer; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/mem/MemoryCurrencyDaoImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryCurrencyDaoImpl.java similarity index 74% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/mem/MemoryCurrencyDaoImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryCurrencyDaoImpl.java index 08f8ef0b..5d9dffbf 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/mem/MemoryCurrencyDaoImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryCurrencyDaoImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.dao.mem; +package org.duniter.core.client.dao.mem; /* * #%L @@ -22,9 +22,7 @@ package io.ucoin.ucoinj.core.client.dao.mem; * #L% */ -import io.ucoin.ucoinj.core.client.dao.CurrencyDao; -import io.ucoin.ucoinj.core.client.model.local.Currency; -import io.ucoin.ucoinj.core.util.CollectionUtils; +import org.duniter.core.client.dao.CurrencyDao; import java.util.*; @@ -34,12 +32,12 @@ import java.util.*; public class MemoryCurrencyDaoImpl implements CurrencyDao { - private Map<Long, Currency> currencies = new HashMap<>(); + private Map<Long, org.duniter.core.client.model.local.Currency> currencies = new HashMap<>(); private Map<Long, Map<Integer, Long>> currencyUDsByBlock = new HashMap<>(); @Override - public Currency create(final Currency entity) { + public org.duniter.core.client.model.local.Currency create(final org.duniter.core.client.model.local.Currency entity) { long id = getMaxId() + 1; entity.setId(id); @@ -50,31 +48,31 @@ public class MemoryCurrencyDaoImpl implements CurrencyDao { } @Override - public Currency update(final Currency currency) { + public org.duniter.core.client.model.local.Currency update(final org.duniter.core.client.model.local.Currency currency) { currencies.put(currency.getId(), currency); return currency; } @Override - public void remove(final Currency currency) { + public void remove(final org.duniter.core.client.model.local.Currency currency) { currencies.remove(currency.getId()); } @Override - public List<Currency> getCurrencies(long accountId) { - List<Currency> result = new ArrayList<>(); + public List<org.duniter.core.client.model.local.Currency> getCurrencies(long accountId) { + List<org.duniter.core.client.model.local.Currency> result = new ArrayList<>(); result.addAll(currencies.values()); return result; } @Override - public Currency getById(long currencyId) { + public org.duniter.core.client.model.local.Currency getById(long currencyId) { return currencies.get(currencyId); } @Override public String getCurrencyNameById(long currencyId) { - Currency currency = getById(currencyId); + org.duniter.core.client.model.local.Currency currency = getById(currencyId); if (currency == null) { return null; } @@ -83,7 +81,7 @@ public class MemoryCurrencyDaoImpl implements CurrencyDao { @Override public Long getCurrencyIdByName(String currencyName) { - for(Currency currency: currencies.values()) { + for(org.duniter.core.client.model.local.Currency currency: currencies.values()) { if (currencyName.equalsIgnoreCase(currency.getCurrencyName())) { return currency.getId(); } @@ -103,7 +101,7 @@ public class MemoryCurrencyDaoImpl implements CurrencyDao { @Override public long getLastUD(long currencyId) { - Currency currency = getById(currencyId); + org.duniter.core.client.model.local.Currency currency = getById(currencyId); if (currency == null) { return -1; } diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/mem/MemoryPeerDaoImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryPeerDaoImpl.java similarity index 91% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/mem/MemoryPeerDaoImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryPeerDaoImpl.java index 3b10de40..d48075bc 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/mem/MemoryPeerDaoImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryPeerDaoImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.dao.mem; +package org.duniter.core.client.dao.mem; /* * #%L @@ -22,9 +22,8 @@ package io.ucoin.ucoinj.core.client.dao.mem; * #L% */ -import io.ucoin.ucoinj.core.client.dao.PeerDao; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeers; -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.client.dao.PeerDao; +import org.duniter.core.client.model.local.Peer; import java.util.ArrayList; import java.util.HashMap; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Account.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/Account.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Account.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/Account.java index 7b104c13..b4291040 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Account.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/Account.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model; +package org.duniter.core.client.model; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.model; */ -import io.ucoin.ucoinj.core.client.model.local.LocalEntity; +import org.duniter.core.client.model.local.LocalEntity; /** * Created by eis on 07/02/15. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/BasicIdentity.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/BasicIdentity.java similarity index 97% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/BasicIdentity.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/BasicIdentity.java index aeeaa5b0..f05deb4f 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/BasicIdentity.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/BasicIdentity.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model; +package org.duniter.core.client.model; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Currency.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/Currency.java similarity index 97% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Currency.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/Currency.java index 19d5f1f5..102dc2ad 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Currency.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/Currency.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model; +package org.duniter.core.client.model; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.model; */ -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Peer; import java.io.Serializable; import java.util.ArrayList; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Member.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/Member.java similarity index 92% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Member.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/Member.java index 00dbb237..315af1bc 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Member.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/Member.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model; +package org.duniter.core.client.model; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.model; */ -import io.ucoin.ucoinj.core.client.model.local.Identity; +import org.duniter.core.client.model.local.Identity; public class Member extends Identity { diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/ModelUtils.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/ModelUtils.java similarity index 96% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/ModelUtils.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/ModelUtils.java index 28d31e34..55ee7953 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/ModelUtils.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/ModelUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model; +package org.duniter.core.client.model; /* * #%L @@ -27,8 +27,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import io.ucoin.ucoinj.core.client.model.local.Certification; -import io.ucoin.ucoinj.core.client.model.local.Movement; +import org.duniter.core.client.model.local.Certification; +import org.duniter.core.client.model.local.Movement; /** * Helper class on model entities diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/TxOutput.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/TxOutput.java similarity index 88% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/TxOutput.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/TxOutput.java index 13f9d1ff..c0a3a555 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/TxOutput.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/TxOutput.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model; +package org.duniter.core.client.model; /* * #%L @@ -33,6 +33,8 @@ public class TxOutput implements Serializable { private long amount; + private int base; + public String getPubKey() { return pubKey; } @@ -47,5 +49,13 @@ public class TxOutput implements Serializable { public void setAmount(long amount) { this.amount = amount; - } + } + + public int getBase() { + return base; + } + + public void setBase(int base) { + this.base = base; + } } diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainBlock.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainBlock.java similarity index 99% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainBlock.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainBlock.java index 3702ae18..4430577e 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainBlock.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainBlock.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainMemberships.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainMemberships.java similarity index 95% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainMemberships.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainMemberships.java index 9ad11435..1f2c36b5 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainMemberships.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainMemberships.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.client.model.bma; * #L% */ -import io.ucoin.ucoinj.core.client.model.BasicIdentity; +import org.duniter.core.client.model.BasicIdentity; import java.io.Serializable; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainParameters.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainParameters.java similarity index 99% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainParameters.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainParameters.java index 7f30af36..e36c6a5e 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainParameters.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainParameters.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/EndpointProtocol.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/EndpointProtocol.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/EndpointProtocol.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/EndpointProtocol.java index 838d4f32..1f4b2571 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/EndpointProtocol.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/EndpointProtocol.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/Error.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Error.java similarity index 93% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/Error.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Error.java index 37aaef75..a30fb1cd 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/Error.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Error.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; import java.io.Serializable; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/ErrorCode.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/ErrorCode.java similarity index 51% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/ErrorCode.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/ErrorCode.java index a934c5b5..33250f1c 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/ErrorCode.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/ErrorCode.java @@ -1,10 +1,11 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /** * Created by blavenie on 31/03/16. */ public interface ErrorCode { - int UID_ALREADY_USED = 2002; + int NO_MATCHING_IDENTITY = 2001; + int UID_ALREADY_USED = 2003; int MEMBERSHRIP_ALREADY_SEND = 2007; } diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/NetworkPeering.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/NetworkPeering.java similarity index 98% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/NetworkPeering.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/NetworkPeering.java index 992b9a66..3fc7e3e9 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/NetworkPeering.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/NetworkPeering.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/NetworkPeers.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/NetworkPeers.java similarity index 97% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/NetworkPeers.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/NetworkPeers.java index 5e245faa..76f11af0 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/NetworkPeers.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/NetworkPeers.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/Protocol.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Protocol.java similarity index 83% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/Protocol.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Protocol.java index 8fe452de..2ea95aa2 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/Protocol.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Protocol.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /** * Created by blavenie on 31/03/16. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/TxHistory.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/TxHistory.java similarity index 98% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/TxHistory.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/TxHistory.java index 6662a0ad..abbcab55 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/TxHistory.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/TxHistory.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/TxSource.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/TxSource.java similarity index 78% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/TxSource.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/TxSource.java index 6ebac959..e1eaf7ef 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/TxSource.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/TxSource.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L @@ -63,9 +63,10 @@ public class TxSource { private static final long serialVersionUID = 8084087351543574142L; private String type; - private int number; - private String fingerprint; + private String identifier; + private String noffset; private long amount; + private int base; @Override @@ -73,9 +74,10 @@ public class TxSource { Source clone = (Source)super.clone(); clone.type = type; - clone.number = number; - clone.fingerprint = fingerprint; + clone.identifier = identifier; + clone.noffset = noffset; clone.amount = amount; + clone.base = base; return clone; } @@ -94,24 +96,20 @@ public class TxSource { this.type = type; } - /** - * The block number where the source has been written - * @return - */ - public int getNumber() { - return number; + public String getIdentifier() { + return identifier; } - public void setNumber(int number) { - this.number = number; + public void setIdentifier(String identifier) { + this.identifier = identifier; } - public String getFingerprint() { - return fingerprint; + public String getNoffset() { + return noffset; } - public void setFingerprint(String fingerprint) { - this.fingerprint = fingerprint; + public void setNoffset(String noffset) { + this.noffset = noffset; } public long getAmount() { @@ -121,6 +119,14 @@ public class TxSource { public void setAmount(long amount) { this.amount = amount; } + + public int getBase() { + return base; + } + + public void setBase(int base) { + this.base = base; + } } diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/WotCertification.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/WotCertification.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/WotCertification.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/WotCertification.java index f319dc91..ea0c259c 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/WotCertification.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/WotCertification.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L @@ -23,11 +23,9 @@ package io.ucoin.ucoinj.core.client.model.bma; */ -import io.ucoin.ucoinj.core.client.model.bma.WotCertification; -import io.ucoin.ucoinj.core.client.model.local.Identity; +import org.duniter.core.client.model.local.Identity; import java.io.Serializable; -import java.util.List; /** * A list of certifications done to user, or by user diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/WotLookup.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/WotLookup.java similarity index 99% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/WotLookup.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/WotLookup.java index 5b98e37b..8772e350 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/WotLookup.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/WotLookup.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/EndpointAdapter.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/EndpointAdapter.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/EndpointAdapter.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/EndpointAdapter.java index 9071e6a6..2c8d35b9 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/EndpointAdapter.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/EndpointAdapter.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -25,8 +25,8 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; import com.google.gson.TypeAdapter; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import io.ucoin.ucoinj.core.client.model.bma.EndpointProtocol; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeering; +import org.duniter.core.client.model.bma.EndpointProtocol; +import org.duniter.core.client.model.bma.NetworkPeering; import org.apache.http.conn.util.InetAddressUtils; import java.io.IOException; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/GsonUtils.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/GsonUtils.java similarity index 87% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/GsonUtils.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/GsonUtils.java index 43a19179..497ff660 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/GsonUtils.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/GsonUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -25,14 +25,10 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; import com.google.common.collect.Multimap; import com.google.gson.GsonBuilder; -import com.google.gson.internal.bind.MapTypeAdapterFactory; -import io.ucoin.ucoinj.core.client.model.Member; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeering; -import io.ucoin.ucoinj.core.client.model.local.Identity; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.NetworkPeering; import java.util.List; -import java.util.Map; public class GsonUtils { diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/IdentityTypeAdapter.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/IdentityTypeAdapter.java similarity index 95% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/IdentityTypeAdapter.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/IdentityTypeAdapter.java index b69cee8b..387ce6df 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/IdentityTypeAdapter.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/IdentityTypeAdapter.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -24,7 +24,7 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; import com.google.gson.*; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainBlock; import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Type; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JoinerTypeAdapter.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JoinerTypeAdapter.java similarity index 95% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JoinerTypeAdapter.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JoinerTypeAdapter.java index 66c90b2b..33af16e3 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JoinerTypeAdapter.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JoinerTypeAdapter.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -24,7 +24,7 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; import com.google.gson.*; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainBlock; import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Type; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonArrayParser.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JsonArrayParser.java similarity index 96% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonArrayParser.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JsonArrayParser.java index a29957cd..9c52222b 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonArrayParser.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JsonArrayParser.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; */ import com.google.gson.JsonParseException; -import io.ucoin.ucoinj.core.util.CollectionUtils; +import org.duniter.core.util.CollectionUtils; import java.util.ArrayList; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonAttributeParser.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JsonAttributeParser.java similarity index 95% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonAttributeParser.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JsonAttributeParser.java index eaa08c7e..0cab493e 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonAttributeParser.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JsonAttributeParser.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; * #L% */ -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.ObjectUtils; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.ObjectUtils; import java.text.DecimalFormat; import java.text.ParseException; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/MultimapTypeAdapter.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/MultimapTypeAdapter.java similarity index 98% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/MultimapTypeAdapter.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/MultimapTypeAdapter.java index 9c705572..0a21950c 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/MultimapTypeAdapter.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/MultimapTypeAdapter.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/ParameterizedTypeImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/ParameterizedTypeImpl.java similarity index 96% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/ParameterizedTypeImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/ParameterizedTypeImpl.java index 6efce100..80a948f2 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/ParameterizedTypeImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/ParameterizedTypeImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/RevokedTypeAdapter.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/RevokedTypeAdapter.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/RevokedTypeAdapter.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/RevokedTypeAdapter.java index 1625b811..4f49b139 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/RevokedTypeAdapter.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/RevokedTypeAdapter.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -24,7 +24,7 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; import com.google.gson.*; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainBlock; import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Type; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/elasticsearch/Currency.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/elasticsearch/Currency.java similarity index 93% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/elasticsearch/Currency.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/elasticsearch/Currency.java index 736d356f..ca67f697 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/elasticsearch/Currency.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/elasticsearch/Currency.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.elasticsearch; +package org.duniter.core.client.model.elasticsearch; /* * #%L @@ -23,8 +23,8 @@ package io.ucoin.ucoinj.core.client.model.elasticsearch; */ -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.local.Peer; import java.io.Serializable; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/elasticsearch/Record.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/elasticsearch/Record.java similarity index 93% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/elasticsearch/Record.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/elasticsearch/Record.java index dda9af32..96922cd2 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/elasticsearch/Record.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/elasticsearch/Record.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.elasticsearch; +package org.duniter.core.client.model.elasticsearch; /** * Created by blavenie on 01/03/16. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Certification.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Certification.java similarity index 97% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Certification.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Certification.java index aa8c922d..c1ffc270 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Certification.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Certification.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.model.local; */ -import io.ucoin.ucoinj.core.util.ObjectUtils; +import org.duniter.core.util.ObjectUtils; /** * A certification, return by <code>/wot/certified-by/[uid]</code> or <code>/wot/certifiers-of/[uid]</code> diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Contact.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Contact.java similarity index 96% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Contact.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Contact.java index 34c5fc87..b134f54f 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Contact.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Contact.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.client.model.local; * #L% */ -import io.ucoin.ucoinj.core.util.ObjectUtils; +import org.duniter.core.util.ObjectUtils; import java.io.Serializable; import java.util.ArrayList; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Currency.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Currency.java similarity index 95% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Currency.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Currency.java index a1aa0af4..cb0fca9d 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Currency.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Currency.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L @@ -24,8 +24,8 @@ package io.ucoin.ucoinj.core.client.model.local; import java.io.Serializable; -import io.ucoin.ucoinj.core.client.model.Account; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.Account; +import org.duniter.core.client.model.bma.BlockchainParameters; /** * Created by eis on 05/02/15. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Identity.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Identity.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Identity.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Identity.java index 9aca1eac..8f082680 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Identity.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Identity.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.model.local; */ -import io.ucoin.ucoinj.core.client.model.BasicIdentity; +import org.duniter.core.client.model.BasicIdentity; public class Identity extends BasicIdentity { diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/LocalEntity.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/LocalEntity.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/LocalEntity.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/LocalEntity.java index 79092c42..770672e2 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/LocalEntity.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/LocalEntity.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Movement.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Movement.java similarity index 98% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Movement.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Movement.java index 7b7a5b53..55822574 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Movement.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Movement.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Peer.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Peer.java similarity index 98% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Peer.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Peer.java index 1848939b..d5ef507a 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Peer.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Peer.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Wallet.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Wallet.java similarity index 95% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Wallet.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Wallet.java index c84738c7..5f31acad 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Wallet.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Wallet.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L @@ -25,10 +25,10 @@ package io.ucoin.ucoinj.core.client.model.local; import java.io.Serializable; import java.util.Collection; -import io.ucoin.ucoinj.core.client.model.bma.WotCertification; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; -import io.ucoin.ucoinj.core.util.crypto.KeyPair; +import org.duniter.core.client.model.bma.WotCertification; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.crypto.CryptoUtils; +import org.duniter.core.util.crypto.KeyPair; /** * A wallet is a user account diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/DataContext.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/DataContext.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/DataContext.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/DataContext.java index 9341bea0..b4bc2275 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/DataContext.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/DataContext.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service; +package org.duniter.core.client.service; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.client.service; * #L% */ -import io.ucoin.ucoinj.core.beans.Bean; +import org.duniter.core.beans.Bean; import java.io.Closeable; import java.io.IOException; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/HttpService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/HttpService.java similarity index 86% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/HttpService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/HttpService.java index ea2056f0..63350893 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/HttpService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/HttpService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service; +package org.duniter.core.client.service; /* * #%L @@ -22,9 +22,9 @@ package io.ucoin.ucoinj.core.client.service; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.exception.PeerConnectionException; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.exception.PeerConnectionException; import org.apache.http.client.methods.HttpUriRequest; /** diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/HttpServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/HttpServiceImpl.java similarity index 90% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/HttpServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/HttpServiceImpl.java index e0ac4968..4e7cdc89 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/HttpServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/HttpServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service; +package org.duniter.core.client.service; /* * #%L @@ -23,15 +23,15 @@ package io.ucoin.ucoinj.core.client.service; */ import com.google.gson.Gson; -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.Error; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.exception.HttpBadRequestException; -import io.ucoin.ucoinj.core.client.service.exception.JsonSyntaxException; -import io.ucoin.ucoinj.core.client.service.exception.PeerConnectionException; -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.Error; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.exception.HttpBadRequestException; +import org.duniter.core.client.service.exception.JsonSyntaxException; +import org.duniter.core.client.service.exception.PeerConnectionException; +import org.duniter.core.exception.TechnicalException; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; @@ -190,24 +190,24 @@ public class HttpServiceImpl implements HttpService, Closeable, InitializingBean } case HttpStatus.SC_UNAUTHORIZED: case HttpStatus.SC_FORBIDDEN: - throw new TechnicalException("ucoinj.client.authentication"); + throw new TechnicalException("duniter4j.client.authentication"); case HttpStatus.SC_BAD_REQUEST: try { Error error = (Error)parseResponse(response, Error.class); throw new HttpBadRequestException(error); } catch(IOException e) { - throw new HttpBadRequestException("ucoinj.client.status" + response.getStatusLine().toString()); + throw new HttpBadRequestException("duniter4j.client.status" + response.getStatusLine().toString()); } default: - throw new TechnicalException("ucoinj.client.status" + response.getStatusLine().toString()); + throw new TechnicalException("duniter4j.client.status" + response.getStatusLine().toString()); } } catch (ConnectException e) { - throw new TechnicalException("ucoinj.client.core.connect", e); + throw new TechnicalException("duniter4j.client.core.connect", e); } catch (SocketTimeoutException e) { - throw new TechnicalException("ucoinj.client.core.timeout", e); + throw new TechnicalException("duniter4j.client.core.timeout", e); } catch (IOException e) { throw new TechnicalException(e.getMessage(), e); diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/ServiceLocator.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/ServiceLocator.java similarity index 84% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/ServiceLocator.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/ServiceLocator.java index 5762b375..c3b70e9e 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/ServiceLocator.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/ServiceLocator.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service; +package org.duniter.core.client.service; /* * #%L @@ -23,16 +23,16 @@ package io.ucoin.ucoinj.core.client.service; */ -import io.ucoin.ucoinj.core.beans.Bean; -import io.ucoin.ucoinj.core.beans.BeanFactory; -import io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteService; -import io.ucoin.ucoinj.core.client.service.bma.NetworkRemoteService; -import io.ucoin.ucoinj.core.client.service.bma.TransactionRemoteService; -import io.ucoin.ucoinj.core.client.service.bma.WotRemoteService; -import io.ucoin.ucoinj.core.client.service.elasticsearch.CurrencyRegistryRemoteService; -import io.ucoin.ucoinj.core.client.service.local.CurrencyService; -import io.ucoin.ucoinj.core.client.service.local.PeerService; -import io.ucoin.ucoinj.core.service.CryptoService; +import org.duniter.core.beans.Bean; +import org.duniter.core.beans.BeanFactory; +import org.duniter.core.client.service.bma.BlockchainRemoteService; +import org.duniter.core.client.service.bma.NetworkRemoteService; +import org.duniter.core.client.service.bma.TransactionRemoteService; +import org.duniter.core.client.service.bma.WotRemoteService; +import org.duniter.core.client.service.elasticsearch.CurrencyRegistryRemoteService; +import org.duniter.core.client.service.local.CurrencyService; +import org.duniter.core.client.service.local.PeerService; +import org.duniter.core.service.CryptoService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BaseRemoteServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BaseRemoteServiceImpl.java similarity index 83% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BaseRemoteServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BaseRemoteServiceImpl.java index 5b9e9fc2..753a6398 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BaseRemoteServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BaseRemoteServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -22,13 +22,12 @@ package io.ucoin.ucoinj.core.client.service.bma; * #L% */ -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.bma.Protocol; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.HttpService; -import io.ucoin.ucoinj.core.client.service.local.PeerService; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.HttpService; +import org.duniter.core.client.service.local.PeerService; +import org.duniter.core.client.service.ServiceLocator; import org.apache.http.client.methods.HttpUriRequest; import java.io.IOException; @@ -36,7 +35,7 @@ import java.io.IOException; /** * Created by eis on 05/02/15. */ -public abstract class BaseRemoteServiceImpl implements Service, InitializingBean{ +public abstract class BaseRemoteServiceImpl implements Service, InitializingBean { protected HttpService httpService; protected PeerService peerService; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BlockchainRemoteService.java similarity index 85% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BlockchainRemoteService.java index 77da05d8..a272f1d6 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BlockchainRemoteService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -22,22 +22,19 @@ package io.ucoin.ucoinj.core.client.service.bma; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.local.Identity; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainMemberships; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.local.Currency; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.exception.PubkeyAlreadyUsedException; -import io.ucoin.ucoinj.core.client.service.exception.UidAlreadyUsedException; -import io.ucoin.ucoinj.core.client.service.exception.UidMatchAnotherPubkeyException; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.websocket.WebsocketClientEndpoint; - -import java.net.URI; -import java.net.URISyntaxException; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.local.Identity; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainMemberships; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.local.Currency; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.exception.PubkeyAlreadyUsedException; +import org.duniter.core.client.service.exception.UidAlreadyUsedException; +import org.duniter.core.client.service.exception.UidMatchAnotherPubkeyException; +import org.duniter.core.util.websocket.WebsocketClientEndpoint; + import java.util.Map; public interface BlockchainRemoteService extends Service { diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BlockchainRemoteServiceImpl.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BlockchainRemoteServiceImpl.java index 899c676f..149bfcdc 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BlockchainRemoteServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -22,29 +22,28 @@ package io.ucoin.ucoinj.core.client.service.bma; * #L% */ -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainMemberships; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.bma.Protocol; -import io.ucoin.ucoinj.core.client.model.bma.gson.JsonArrayParser; -import io.ucoin.ucoinj.core.client.model.local.Currency; -import io.ucoin.ucoinj.core.client.model.local.Identity; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.exception.HttpBadRequestException; -import io.ucoin.ucoinj.core.client.service.exception.PubkeyAlreadyUsedException; -import io.ucoin.ucoinj.core.client.service.exception.UidAlreadyUsedException; -import io.ucoin.ucoinj.core.client.service.exception.UidMatchAnotherPubkeyException; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.core.util.cache.Cache; -import io.ucoin.ucoinj.core.util.cache.SimpleCache; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; -import io.ucoin.ucoinj.core.util.websocket.WebsocketClientEndpoint; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainMemberships; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.bma.Protocol; +import org.duniter.core.client.model.bma.gson.JsonArrayParser; +import org.duniter.core.client.model.local.Identity; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.exception.HttpBadRequestException; +import org.duniter.core.client.service.exception.PubkeyAlreadyUsedException; +import org.duniter.core.client.service.exception.UidAlreadyUsedException; +import org.duniter.core.client.service.exception.UidMatchAnotherPubkeyException; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.core.util.cache.Cache; +import org.duniter.core.util.cache.SimpleCache; +import org.duniter.core.util.crypto.CryptoUtils; +import org.duniter.core.util.websocket.WebsocketClientEndpoint; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; @@ -214,12 +213,12 @@ public class BlockchainRemoteServiceImpl extends BaseRemoteServiceImpl implement } @Override - public Currency getCurrencyFromPeer(Peer peer) { + public org.duniter.core.client.model.local.Currency getCurrencyFromPeer(Peer peer) { BlockchainParameters parameter = getParameters(peer); BlockchainBlock firstBlock = getBlock(peer, 0); BlockchainBlock lastBlock = getCurrentBlock(peer); - Currency result = new Currency(); + org.duniter.core.client.model.local.Currency result = new org.duniter.core.client.model.local.Currency(); result.setCurrencyName(parameter.getCurrency()); result.setFirstBlockSignature(firstBlock.getSignature()); result.setMembersCount(lastBlock.getMembersCount()); diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/NetworkRemoteService.java similarity index 80% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/NetworkRemoteService.java index e7a86d06..9e5da699 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/NetworkRemoteService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -22,10 +22,10 @@ package io.ucoin.ucoinj.core.client.service.bma; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.bma.EndpointProtocol; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeering; -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.bma.EndpointProtocol; +import org.duniter.core.client.model.bma.NetworkPeering; +import org.duniter.core.client.model.local.Peer; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/NetworkRemoteServiceImpl.java similarity index 92% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/NetworkRemoteServiceImpl.java index 687970b2..b00078db 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/NetworkRemoteServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -25,12 +25,12 @@ package io.ucoin.ucoinj.core.client.service.bma; import java.util.ArrayList; import java.util.List; -import io.ucoin.ucoinj.core.client.model.bma.EndpointProtocol; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeering; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeers; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; +import org.duniter.core.client.model.bma.EndpointProtocol; +import org.duniter.core.client.model.bma.NetworkPeering; +import org.duniter.core.client.model.bma.NetworkPeers; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; /** * Created by eis on 05/02/15. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/TransactionRemoteService.java similarity index 77% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/TransactionRemoteService.java index 4e0414ff..76242225 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/TransactionRemoteService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -23,12 +23,12 @@ package io.ucoin.ucoinj.core.client.service.bma; */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.bma.TxHistory; -import io.ucoin.ucoinj.core.client.model.bma.TxSource; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.exception.InsufficientCreditException; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.bma.TxHistory; +import org.duniter.core.client.model.bma.TxSource; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.exception.InsufficientCreditException; public interface TransactionRemoteService extends Service { diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/TransactionRemoteServiceImpl.java similarity index 86% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/TransactionRemoteServiceImpl.java index 91179e1b..0548f391 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/TransactionRemoteServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -23,20 +23,20 @@ package io.ucoin.ucoinj.core.client.service.bma; */ -import io.ucoin.ucoinj.core.client.model.TxOutput; -import io.ucoin.ucoinj.core.client.model.bma.Protocol; -import io.ucoin.ucoinj.core.client.model.bma.TxHistory; -import io.ucoin.ucoinj.core.client.model.bma.TxSource; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.exception.InsufficientCreditException; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.CollectionUtils; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.core.util.crypto.DigestUtils; +import org.duniter.core.client.model.TxOutput; +import org.duniter.core.client.model.bma.Protocol; +import org.duniter.core.client.model.bma.TxHistory; +import org.duniter.core.client.model.bma.TxSource; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.exception.InsufficientCreditException; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.CollectionUtils; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.core.util.crypto.DigestUtils; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; @@ -266,29 +266,28 @@ public class TransactionRemoteServiceImpl extends BaseRemoteServiceImpl implemen // Inputs coins sb.append("Inputs:\n"); for (TxSource.Source input : inputs) { - // INDEX:SOURCE:NUMBER:FINGERPRINT:AMOUNT - sb.append(0).append(':').append(input.getType()).append(':') - .append(input.getNumber()).append(':') - .append(input.getFingerprint()).append(':') - .append(input.getAmount()).append('\n'); + // if D : D:PUBLIC_KEY:BLOCK_ID + // if T : T:T_HASH:T_INDEX + sb.append(input.getType()).append(':') + .append(input.getIdentifier()).append(':') + .append(input.getNoffset()).append('\n'); } // Unlocks - sb.append("Inputs:\n"); - for (TxSource.Source input : inputs) { - // INDEX:SOURCE:NUMBER:FINGERPRINT:AMOUNT - sb.append(0).append(':').append(input.getType()).append(':') - .append(input.getNumber()).append(':') - .append(input.getFingerprint()).append(':') - .append(input.getAmount()).append('\n'); + sb.append("Unlocks:\n"); + for (int i = 0; i< inputs.size() ; i++) { + // INPUT_INDEX:UNLOCK_CONDITION + sb.append(i).append(":SIG(0)").append('\n'); } // Output sb.append("Outputs:\n"); for (TxOutput output : outputs) { - // ISSUERS:AMOUNT - sb.append(output.getPubKey()).append(':') - .append(output.getAmount()).append('\n'); + // AMOUNT:BASE:CONDITIONS + sb.append(output.getAmount()).append(':') + .append(output.getBase()).append(':') + .append("SIG(").append(output.getPubKey()).append(')') + .append('\n'); } // Comment @@ -321,8 +320,8 @@ public class TransactionRemoteServiceImpl extends BaseRemoteServiceImpl implemen for (TxSource.Source input : inputs) { // INDEX:SOURCE:NUMBER:FINGERPRINT:AMOUNT sb.append(0).append(':').append(input.getType()).append(':') - .append(input.getNumber()).append(':') - .append(input.getFingerprint()).append(':') + .append(input.getIdentifier()).append(':') + .append(input.getNoffset()).append(':') .append(input.getAmount()).append('\n'); } diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/WotRemoteService.java similarity index 86% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/WotRemoteService.java index 37f0b443..09fbe9c2 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/WotRemoteService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -22,13 +22,13 @@ package io.ucoin.ucoinj.core.client.service.bma; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.bma.WotCertification; -import io.ucoin.ucoinj.core.client.model.bma.WotLookup; -import io.ucoin.ucoinj.core.client.model.local.Certification; -import io.ucoin.ucoinj.core.client.model.local.Identity; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.bma.WotCertification; +import org.duniter.core.client.model.bma.WotLookup; +import org.duniter.core.client.model.local.Certification; +import org.duniter.core.client.model.local.Identity; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; import java.util.Collection; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/WotRemoteServiceImpl.java similarity index 97% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/WotRemoteServiceImpl.java index 3ef399ca..2f762ca7 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/WotRemoteServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -22,19 +22,19 @@ package io.ucoin.ucoinj.core.client.service.bma; * #L% */ -import io.ucoin.ucoinj.core.client.model.ModelUtils; -import io.ucoin.ucoinj.core.client.model.bma.*; -import io.ucoin.ucoinj.core.client.model.local.Certification; -import io.ucoin.ucoinj.core.client.model.local.Identity; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.local.CurrencyService; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.CollectionUtils; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; +import org.duniter.core.client.model.ModelUtils; +import org.duniter.core.client.model.bma.*; +import org.duniter.core.client.model.local.Certification; +import org.duniter.core.client.model.local.Identity; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.local.CurrencyService; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.CollectionUtils; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.crypto.CryptoUtils; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java similarity index 83% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java index 56f8fad2..67c04224 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.elasticsearch; +package org.duniter.core.client.service.elasticsearch; /* * #%L @@ -22,10 +22,10 @@ package io.ucoin.ucoinj.core.client.service.elasticsearch; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.elasticsearch.Currency; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.elasticsearch.Currency; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java similarity index 89% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java index 4c452271..b11d7f7b 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.elasticsearch; +package org.duniter.core.client.service.elasticsearch; /* * #%L @@ -24,18 +24,17 @@ package io.ucoin.ucoinj.core.client.service.elasticsearch; import com.google.common.base.Joiner; import com.google.gson.Gson; -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.elasticsearch.Currency; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.bma.BaseRemoteServiceImpl; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.StringUtils; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.elasticsearch.Currency; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.bma.BaseRemoteServiceImpl; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.StringUtils; import org.apache.http.HttpStatus; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.utils.URIBuilder; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/HttpBadRequestException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/HttpBadRequestException.java similarity index 89% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/HttpBadRequestException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/HttpBadRequestException.java index 32cf18ad..742c9cf6 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/HttpBadRequestException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/HttpBadRequestException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.client.model.bma.Error; -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.client.model.bma.Error; +import org.duniter.core.exception.TechnicalException; /** * Created by eis on 11/02/15. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/InsufficientCreditException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/InsufficientCreditException.java similarity index 91% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/InsufficientCreditException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/InsufficientCreditException.java index 2c8faf63..20f0b1f0 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/InsufficientCreditException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/InsufficientCreditException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.service.exception; */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; public class InsufficientCreditException extends BusinessException { diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/JsonSyntaxException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/JsonSyntaxException.java similarity index 91% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/JsonSyntaxException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/JsonSyntaxException.java index 8602edbd..1e3bc089 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/JsonSyntaxException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/JsonSyntaxException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.exception.TechnicalException; /** * Created by blavenie on 05/01/16. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/PeerConnectionException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/PeerConnectionException.java similarity index 86% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/PeerConnectionException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/PeerConnectionException.java index 11cfa18f..70f6fbce 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/PeerConnectionException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/PeerConnectionException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,12 +22,12 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by eis on 05/02/15. */ -public class PeerConnectionException extends BusinessException{ +public class PeerConnectionException extends BusinessException { public PeerConnectionException() { super(); diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/PubkeyAlreadyUsedException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/PubkeyAlreadyUsedException.java similarity index 91% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/PubkeyAlreadyUsedException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/PubkeyAlreadyUsedException.java index 7da2e2af..63eb4cd6 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/PubkeyAlreadyUsedException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/PubkeyAlreadyUsedException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,12 +22,12 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by eis on 11/02/15. */ -public class PubkeyAlreadyUsedException extends BusinessException{ +public class PubkeyAlreadyUsedException extends BusinessException { private static final long serialVersionUID = -5260280401104018980L; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidAlreadyUsedException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidAlreadyUsedException.java similarity index 87% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidAlreadyUsedException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidAlreadyUsedException.java index 382badff..6067c9ab 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidAlreadyUsedException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidAlreadyUsedException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,12 +22,12 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by eis on 11/02/15. */ -public class UidAlreadyUsedException extends BusinessException{ +public class UidAlreadyUsedException extends BusinessException { private static final long serialVersionUID = -5260280401104018980L; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidAndPubkeyNotFoundException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidAndPubkeyNotFoundException.java similarity index 91% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidAndPubkeyNotFoundException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidAndPubkeyNotFoundException.java index 269aea40..e3f50d36 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidAndPubkeyNotFoundException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidAndPubkeyNotFoundException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,12 +22,12 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by eis on 11/02/15. */ -public class UidAndPubkeyNotFoundException extends BusinessException{ +public class UidAndPubkeyNotFoundException extends BusinessException { private static final long serialVersionUID = -5260280401104018980L; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidMatchAnotherPubkeyException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidMatchAnotherPubkeyException.java similarity index 92% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidMatchAnotherPubkeyException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidMatchAnotherPubkeyException.java index 42cc90a0..48e9c4c7 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidMatchAnotherPubkeyException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidMatchAnotherPubkeyException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by eis on 11/02/15. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/CurrencyService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/CurrencyService.java similarity index 93% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/CurrencyService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/CurrencyService.java index e527fa3e..3dbdd246 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/CurrencyService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/CurrencyService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.local; +package org.duniter.core.client.service.local; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.core.client.service.local; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.local.Currency; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.local.Currency; import java.util.List; import java.util.Map; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/CurrencyServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/CurrencyServiceImpl.java similarity index 93% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/CurrencyServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/CurrencyServiceImpl.java index acfc17f2..a1481686 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/CurrencyServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/CurrencyServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.local; +package org.duniter.core.client.service.local; /* * #%L @@ -22,15 +22,15 @@ package io.ucoin.ucoinj.core.client.service.local; * #L% */ -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.client.dao.CurrencyDao; -import io.ucoin.ucoinj.core.client.model.local.Currency; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteService; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.core.util.cache.Cache; -import io.ucoin.ucoinj.core.util.cache.SimpleCache; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.client.dao.CurrencyDao; +import org.duniter.core.client.model.local.Currency; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.bma.BlockchainRemoteService; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.core.util.cache.Cache; +import org.duniter.core.util.cache.SimpleCache; import java.io.IOException; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/PeerService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/PeerService.java similarity index 90% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/PeerService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/PeerService.java index 1ce9198b..103e8a2b 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/PeerService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/PeerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.local; +package org.duniter.core.client.service.local; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.core.client.service.local; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.local.Peer; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/PeerServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/PeerServiceImpl.java similarity index 89% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/PeerServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/PeerServiceImpl.java index 6aa50a84..c40d34a8 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/PeerServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/PeerServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.local; +package org.duniter.core.client.service.local; /* * #%L @@ -22,17 +22,17 @@ package io.ucoin.ucoinj.core.client.service.local; * #L% */ -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.client.dao.PeerDao; -import io.ucoin.ucoinj.core.client.model.local.Currency; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.CollectionUtils; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.core.util.cache.Cache; -import io.ucoin.ucoinj.core.util.cache.SimpleCache; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.client.dao.PeerDao; +import org.duniter.core.client.model.local.Currency; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.CollectionUtils; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.core.util.cache.Cache; +import org.duniter.core.util.cache.SimpleCache; import java.io.IOException; import java.util.ArrayList; diff --git a/duniter4j-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider b/duniter4j-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider new file mode 100644 index 00000000..2e0d6ef9 --- /dev/null +++ b/duniter4j-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider @@ -0,0 +1 @@ +org.duniter.core.client.config.ConfigurationProvider diff --git a/ucoinj-core-client/src/main/resources/log4j.properties b/duniter4j-core-client/src/main/resources/log4j.properties similarity index 84% rename from ucoinj-core-client/src/main/resources/log4j.properties rename to duniter4j-core-client/src/main/resources/log4j.properties index b2fd2fc1..d5aafd24 100644 --- a/ucoinj-core-client/src/main/resources/log4j.properties +++ b/duniter4j-core-client/src/main/resources/log4j.properties @@ -8,8 +8,8 @@ log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p (%c:%L) - %m%n # ucoin levels -log4j.logger.io.ucoin=DEBUG -log4j.logger.io.ucoin.client.core.service.AbstractNetworkService=WARN +log4j.logger.org.duniter=DEBUG +log4j.logger.org.duniter.core.client.service.bma.AbstractNetworkService=WARN log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.file=ucoin-client.log diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/TestFixtures.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/TestFixtures.java similarity index 88% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/TestFixtures.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/TestFixtures.java index 6fc82f03..a08ab9ca 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/TestFixtures.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/TestFixtures.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client; +package org.duniter.core.client; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client; */ -public class TestFixtures extends io.ucoin.ucoinj.core.test.TestFixtures{ +public class TestFixtures extends org.duniter.core.test.TestFixtures { public long getDefaultCurrencyId() { diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/TestResource.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/TestResource.java similarity index 88% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/TestResource.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/TestResource.java index 2eadccc4..28d37dbd 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/TestResource.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/TestResource.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client; +package org.duniter.core.client; /* * #%L @@ -24,10 +24,10 @@ package io.ucoin.ucoinj.core.client; import com.google.common.collect.Lists; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.config.ConfigurationOption; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.config.ConfigurationOption; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.ServiceLocator; import org.apache.commons.io.FileUtils; import org.junit.runner.Description; import org.nuiton.i18n.I18n; @@ -41,7 +41,7 @@ import java.io.IOException; import java.util.List; import java.util.Locale; -public class TestResource extends io.ucoin.ucoinj.core.test.TestResource { +public class TestResource extends org.duniter.core.test.TestResource { private static final Logger log = LoggerFactory.getLogger(TestResource.class); @@ -53,13 +53,13 @@ public class TestResource extends io.ucoin.ucoinj.core.test.TestResource { return new TestResource(configName); } - private io.ucoin.ucoinj.core.client.TestFixtures fixtures = new io.ucoin.ucoinj.core.client.TestFixtures(); + private TestFixtures fixtures = new TestFixtures(); protected TestResource(String configName) { super(configName); } - public io.ucoin.ucoinj.core.client.TestFixtures getFixtures() { + public TestFixtures getFixtures() { return fixtures; } @@ -92,11 +92,11 @@ public class TestResource extends io.ucoin.ucoinj.core.test.TestResource { * @return the prefix to use to retrieve configuration files */ protected String getConfigFilesPrefix() { - return "ucoinj-core-client-test"; + return "duniter4j-core-client-test"; } protected String getI18nBundleName() { - return "ucoinj-core-client-i18n"; + return "duniter4j-core-client-i18n"; } /* -- -- */ diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonArrayParserTest.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/model/bma/gson/JsonArrayParserTest.java similarity index 96% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonArrayParserTest.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/model/bma/gson/JsonArrayParserTest.java index 92d8a911..2b1e6d59 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonArrayParserTest.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/model/bma/gson/JsonArrayParserTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteServiceTest.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/BlockchainRemoteServiceTest.java similarity index 87% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteServiceTest.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/BlockchainRemoteServiceTest.java index 966730bc..6cc37273 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteServiceTest.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/BlockchainRemoteServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -25,18 +25,18 @@ package io.ucoin.ucoinj.core.client.service.bma; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; -import io.ucoin.ucoinj.core.client.TestResource; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.bma.ErrorCode; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.exception.HttpBadRequestException; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; -import io.ucoin.ucoinj.core.util.websocket.WebsocketClientEndpoint; +import org.duniter.core.client.TestResource; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.bma.ErrorCode; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.exception.HttpBadRequestException; +import org.duniter.core.util.crypto.CryptoUtils; +import org.duniter.core.util.websocket.WebsocketClientEndpoint; import org.junit.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteServiceTest.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/NetworkRemoteServiceTest.java similarity index 85% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteServiceTest.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/NetworkRemoteServiceTest.java index bc8909a6..5544aee2 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteServiceTest.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/NetworkRemoteServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -23,12 +23,12 @@ package io.ucoin.ucoinj.core.client.service.bma; */ -import io.ucoin.ucoinj.core.client.TestResource; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.EndpointProtocol; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeering; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; +import org.duniter.core.client.TestResource; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.EndpointProtocol; +import org.duniter.core.client.model.bma.NetworkPeering; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.ServiceLocator; import org.junit.Assert; import org.junit.Before; import org.junit.ClassRule; diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteServiceTest.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/TransactionRemoteServiceTest.java similarity index 86% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteServiceTest.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/TransactionRemoteServiceTest.java index 5b3dfdd8..fedb8309 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteServiceTest.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/TransactionRemoteServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -23,13 +23,13 @@ package io.ucoin.ucoinj.core.client.service.bma; */ -import io.ucoin.ucoinj.core.client.TestResource; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.TxSource; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; +import org.duniter.core.client.TestResource; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.TxSource; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.util.crypto.CryptoUtils; import org.junit.Assert; import org.junit.Before; import org.junit.ClassRule; diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteServiceTest.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/WotRemoteServiceTest.java similarity index 87% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteServiceTest.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/WotRemoteServiceTest.java index 487e47b7..db373205 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteServiceTest.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/WotRemoteServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -23,17 +23,19 @@ package io.ucoin.ucoinj.core.client.service.bma; */ -import io.ucoin.ucoinj.core.client.TestResource; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.*; -import io.ucoin.ucoinj.core.client.model.local.Identity; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.exception.HttpBadRequestException; -import io.ucoin.ucoinj.core.util.CollectionUtils; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; -import io.ucoin.ucoinj.core.util.crypto.SecretBox; +import org.duniter.core.client.TestResource; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.ErrorCode; +import org.duniter.core.client.model.local.Identity; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.exception.HttpBadRequestException; +import org.duniter.core.util.CollectionUtils; +import org.duniter.core.util.crypto.CryptoUtils; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.WotCertification; +import org.duniter.core.client.model.bma.WotLookup; import org.junit.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java similarity index 88% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java index 530a51e7..03933ed7 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.elasticsearch; +package org.duniter.core.client.service.elasticsearch; /* * #%L @@ -22,14 +22,14 @@ package io.ucoin.ucoinj.core.client.service.elasticsearch; * #L% */ -import io.ucoin.ucoinj.core.client.TestResource; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.Currency; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; +import org.duniter.core.client.TestResource; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.Currency; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.crypto.CryptoUtils; import org.junit.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/duniter4j-core-client/src/test/resources/META-INF/services/org.duniter.core.beans.Bean b/duniter4j-core-client/src/test/resources/META-INF/services/org.duniter.core.beans.Bean new file mode 100644 index 00000000..e4fdb2bb --- /dev/null +++ b/duniter4j-core-client/src/test/resources/META-INF/services/org.duniter.core.beans.Bean @@ -0,0 +1,12 @@ +org.duniter.core.client.service.bma.BlockchainRemoteServiceImpl +org.duniter.core.client.service.bma.NetworkRemoteServiceImpl +org.duniter.core.client.service.bma.WotRemoteServiceImpl +org.duniter.core.client.service.bma.TransactionRemoteServiceImpl +org.duniter.core.client.service.elasticsearch.CurrencyRegistryRemoteServiceImpl +org.duniter.core.service.Ed25519CryptoServiceImpl +org.duniter.core.client.service.HttpServiceImpl +org.duniter.core.client.service.DataContext +org.duniter.core.client.service.local.PeerServiceImpl +org.duniter.core.client.service.local.CurrencyServiceImpl +org.duniter.core.client.dao.mem.MemoryCurrencyDaoImpl +org.duniter.core.client.dao.mem.MemoryPeerDaoImpl \ No newline at end of file diff --git a/duniter4j-core-client/src/test/resources/duniter4j-core-client-test.properties b/duniter4j-core-client/src/test/resources/duniter4j-core-client-test.properties new file mode 100644 index 00000000..cde2f72e --- /dev/null +++ b/duniter4j-core-client/src/test/resources/duniter4j-core-client-test.properties @@ -0,0 +1,15 @@ +#duniter4j.node.host=metab.ucoin.io +#duniter4j.node.host=metab.ucoin.fr + +#duniter4j.node.host=192.168.0.28 +#duniter4j.node.port=9201 + +duniter4j.node.host=twiced.fr +duniter4j.node.port=9330 + + +duniter4j.node.elasticsearch.host=localhost +duniter4j.node.elasticsearch.port=9200 + +#duniter4j.node.elasticsearch.rest.host=www.data.ucoin.fr +#duniter4j.node.elasticsearch.rest.port=80 diff --git a/ucoinj-core-client/src/test/resources/log4j.properties b/duniter4j-core-client/src/test/resources/log4j.properties similarity index 75% rename from ucoinj-core-client/src/test/resources/log4j.properties rename to duniter4j-core-client/src/test/resources/log4j.properties index aaa242d7..ba8baa96 100644 --- a/ucoinj-core-client/src/test/resources/log4j.properties +++ b/duniter4j-core-client/src/test/resources/log4j.properties @@ -8,10 +8,10 @@ log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p (%c:%L) - %m%n # ucoin levels -log4j.logger.io.ucoin.ucoinj=INFO -#log4j.logger.io.ucoin.ucoinj.core.client.service=DEBUG -log4j.logger.io.ucoin.ucoinj.core.client.service.bma=DEBUG -log4j.logger.io.ucoin.ucoinj.core.beans=WARN +log4j.logger.org.duniter=INFO +#log4j.logger.org.duniter.core.client.service=DEBUG +log4j.logger.org.duniter.core.client.service.bma=DEBUG +log4j.logger.org.duniter.core.beans=WARN log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.file=ucoin-client.log diff --git a/ucoinj-core-shared/LICENSE b/duniter4j-core-shared/LICENSE similarity index 100% rename from ucoinj-core-shared/LICENSE rename to duniter4j-core-shared/LICENSE diff --git a/ucoinj-core-shared/lib/sodium.dll b/duniter4j-core-shared/lib/sodium.dll similarity index 100% rename from ucoinj-core-shared/lib/sodium.dll rename to duniter4j-core-shared/lib/sodium.dll diff --git a/ucoinj-core-shared/pom.xml b/duniter4j-core-shared/pom.xml similarity index 92% rename from ucoinj-core-shared/pom.xml rename to duniter4j-core-shared/pom.xml index 86d94fd2..a65dc535 100644 --- a/ucoinj-core-shared/pom.xml +++ b/duniter4j-core-shared/pom.xml @@ -2,18 +2,18 @@ <modelVersion>4.0.0</modelVersion> <parent> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj</artifactId> + <groupId>org.duniter</groupId> + <artifactId>duniter4j</artifactId> <version>0.1-SNAPSHOT</version> </parent> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core-shared</artifactId> + <groupId>org.duniter</groupId> + <artifactId>duniter4j-core-shared</artifactId> <packaging>jar</packaging> - <name>UCoin Java :: Core Shared</name> + <name>Duniter4j :: Core Shared</name> <properties> - <i18n.bundleOutputName>ucoinj-core-i18n</i18n.bundleOutputName> + <i18n.bundleOutputName>duniter4j-core-i18n</i18n.bundleOutputName> <i18n.generateCsvFile>true</i18n.generateCsvFile> <i18n.bundleCsvFile> ${maven.gen.dir}/resources/META-INF/${i18n.bundleOutputName}.csv @@ -21,7 +21,6 @@ <config.i18nBundleName>${i18n.bundleOutputName}</config.i18nBundleName> <maven.jar.main.class> - io.ucoin.client.core.UCoinClientCore </maven.jar.main.class> </properties> diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/Bean.java b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/Bean.java similarity index 95% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/Bean.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/beans/Bean.java index 344bc38d..104a9553 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/Bean.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/Bean.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.beans; +package org.duniter.core.beans; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/BeanFactory.java b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/BeanFactory.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/BeanFactory.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/beans/BeanFactory.java index 941397ae..71f975a7 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/BeanFactory.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/BeanFactory.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.beans; +package org.duniter.core.beans; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.beans; * #L% */ -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.exception.TechnicalException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/InitializingBean.java b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/InitializingBean.java similarity index 96% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/InitializingBean.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/beans/InitializingBean.java index d121d1e6..c3e3648f 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/InitializingBean.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/InitializingBean.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.beans; +package org.duniter.core.beans; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/Service.java b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/Service.java similarity index 96% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/Service.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/beans/Service.java index 152daf1f..44fdfb50 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/Service.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/Service.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.beans; +package org.duniter.core.beans; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/exception/BusinessException.java b/duniter4j-core-shared/src/main/java/org/duniter/core/exception/BusinessException.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/exception/BusinessException.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/exception/BusinessException.java index ede4ac46..44e87d20 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/exception/BusinessException.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/exception/BusinessException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.exception; +package org.duniter.core.exception; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/exception/TechnicalException.java b/duniter4j-core-shared/src/main/java/org/duniter/core/exception/TechnicalException.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/exception/TechnicalException.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/exception/TechnicalException.java index ab430c54..7ee6bf94 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/exception/TechnicalException.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/exception/TechnicalException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.exception; +package org.duniter.core.exception; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/model/ProgressionModel.java b/duniter4j-core-shared/src/main/java/org/duniter/core/model/ProgressionModel.java similarity index 98% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/model/ProgressionModel.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/model/ProgressionModel.java index 87484572..714c6b64 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/model/ProgressionModel.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/model/ProgressionModel.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.model; +package org.duniter.core.model; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/model/ProgressionModelImpl.java b/duniter4j-core-shared/src/main/java/org/duniter/core/model/ProgressionModelImpl.java similarity index 85% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/model/ProgressionModelImpl.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/model/ProgressionModelImpl.java index e11cb210..0a2f9459 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/model/ProgressionModelImpl.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/model/ProgressionModelImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.model; +package org.duniter.core.model; /* * #%L @@ -78,7 +78,7 @@ public class ProgressionModelImpl implements ProgressionModel, Serializable { public synchronized void setTask(String task) { String oldValue = this.task; this.task = task; - propertyChangeSupport.firePropertyChange(ProgressionModel.PROPERTY_TASK, oldValue, this.task); + propertyChangeSupport.firePropertyChange(PROPERTY_TASK, oldValue, this.task); setMessage(task); } @@ -91,14 +91,14 @@ public class ProgressionModelImpl implements ProgressionModel, Serializable { public synchronized void setMessage(String progressionMessage) { String oldValue = this.message; this.message = progressionMessage; - propertyChangeSupport.firePropertyChange(ProgressionModel.PROPERTY_MESSAGE, oldValue, this.message); + propertyChangeSupport.firePropertyChange(PROPERTY_MESSAGE, oldValue, this.message); } @Override public synchronized void setTotal(int total) { int oldValue = this.total; this.total = total; - propertyChangeSupport.firePropertyChange(ProgressionModel.PROPERTY_TOTAL, oldValue, this.total); + propertyChangeSupport.firePropertyChange(PROPERTY_TOTAL, oldValue, this.total); } @Override @@ -110,7 +110,7 @@ public class ProgressionModelImpl implements ProgressionModel, Serializable { public synchronized void setCurrent(int current) { int oldValue = this.current; this.current = current; - propertyChangeSupport.firePropertyChange(ProgressionModel.PROPERTY_CURRENT, oldValue, this.current); + propertyChangeSupport.firePropertyChange(PROPERTY_CURRENT, oldValue, this.current); } @Override @@ -143,7 +143,7 @@ public class ProgressionModelImpl implements ProgressionModel, Serializable { if (!cancel) { boolean oldValue = this.cancel; this.cancel = true; - propertyChangeSupport.firePropertyChange(ProgressionModel.PROPERTY_CANCEL, oldValue, this.cancel); + propertyChangeSupport.firePropertyChange(PROPERTY_CANCEL, oldValue, this.cancel); } } @@ -159,7 +159,7 @@ public class ProgressionModelImpl implements ProgressionModel, Serializable { public synchronized void setStatus(Status progressionStatus) { Status oldValue = this.status; this.status = progressionStatus; - propertyChangeSupport.firePropertyChange(ProgressionModel.PROPERTY_STATUS, oldValue, this.status); + propertyChangeSupport.firePropertyChange(PROPERTY_STATUS, oldValue, this.status); } diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/service/CryptoService.java b/duniter4j-core-shared/src/main/java/org/duniter/core/service/CryptoService.java similarity index 93% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/service/CryptoService.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/service/CryptoService.java index e2030dd5..2da1b39d 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/service/CryptoService.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/service/CryptoService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.service; +package org.duniter.core.service; /* * #%L @@ -23,8 +23,8 @@ package io.ucoin.ucoinj.core.service; */ -import io.ucoin.ucoinj.core.beans.Bean; -import io.ucoin.ucoinj.core.util.crypto.KeyPair; +import org.duniter.core.beans.Bean; +import org.duniter.core.util.crypto.KeyPair; /** diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/service/Ed25519CryptoServiceImpl.java b/duniter4j-core-shared/src/main/java/org/duniter/core/service/Ed25519CryptoServiceImpl.java similarity index 78% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/service/Ed25519CryptoServiceImpl.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/service/Ed25519CryptoServiceImpl.java index d3fd5e68..57575d81 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/service/Ed25519CryptoServiceImpl.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/service/Ed25519CryptoServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.service; +package org.duniter.core.service; /* * #%L @@ -24,18 +24,16 @@ package io.ucoin.ucoinj.core.service; import com.lambdaworks.crypto.SCrypt; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; -import io.ucoin.ucoinj.core.util.crypto.KeyPair; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.crypto.CryptoUtils; +import org.duniter.core.util.crypto.KeyPair; import jnr.ffi.byref.LongLongByReference; import org.abstractj.kalium.NaCl; import org.abstractj.kalium.NaCl.Sodium; +import org.abstractj.kalium.crypto.Util; -import java.math.BigInteger; import java.security.GeneralSecurityException; -import static io.ucoin.ucoinj.core.util.crypto.CryptoUtils.*; - /** * Crypto services (sign...) @@ -72,8 +70,8 @@ public class Ed25519CryptoServiceImpl implements CryptoService { public byte[] getSeed(String salt, String password) { try { byte[] seed = SCrypt.scrypt( - decodeAscii(password), - decodeAscii(salt), + CryptoUtils.decodeAscii(password), + CryptoUtils.decodeAscii(salt), SCRYPT_PARAMS_N, SCRYPT_PARAMS_r, SCRYPT_PARAMS_p, SEED_BYTES); return seed; @@ -91,9 +89,9 @@ public class Ed25519CryptoServiceImpl implements CryptoService { @Override public KeyPair getKeyPairFromSeed(byte[] seed) { - byte[] secretKey = zeros(SECRETKEY_BYTES); - byte[] publicKey = zeros(PUBLICKEY_BYTES); - isValid(naCl.crypto_sign_ed25519_seed_keypair(publicKey, secretKey, seed), + byte[] secretKey = CryptoUtils.zeros(SECRETKEY_BYTES); + byte[] publicKey = CryptoUtils.zeros(PUBLICKEY_BYTES); + Util.isValid(naCl.crypto_sign_ed25519_seed_keypair(publicKey, secretKey, seed), "Failed to generate a key pair"); return new KeyPair(publicKey, secretKey); @@ -101,33 +99,33 @@ public class Ed25519CryptoServiceImpl implements CryptoService { @Override public String sign(String message, byte[] secretKey) { - byte[] messageBinary = decodeUTF8(message); - return encodeBase64( + byte[] messageBinary = CryptoUtils.decodeUTF8(message); + return CryptoUtils.encodeBase64( sign(messageBinary, secretKey) ); } @Override public String sign(String message, String secretKey) { - byte[] messageBinary = decodeUTF8(message); - byte[] secretKeyBinary = decodeBase58(secretKey); - return encodeBase64( + byte[] messageBinary = CryptoUtils.decodeUTF8(message); + byte[] secretKeyBinary = CryptoUtils.decodeBase58(secretKey); + return CryptoUtils.encodeBase64( sign(messageBinary, secretKeyBinary) ); } @Override public boolean verify(String message, String signature, String publicKey) { - byte[] messageBinary = decodeUTF8(message); - byte[] signatureBinary = decodeBase64(signature); - byte[] publicKeyBinary = decodeBase58(publicKey); + byte[] messageBinary = CryptoUtils.decodeUTF8(message); + byte[] signatureBinary = CryptoUtils.decodeBase64(signature); + byte[] publicKeyBinary = CryptoUtils.decodeBase58(publicKey); return verify(messageBinary, signatureBinary, publicKeyBinary); } @Override public String hash(String message) { byte[] hash = new byte[Sodium.SHA256BYTES]; - byte[] messageBinary = decodeUTF8(message); + byte[] messageBinary = CryptoUtils.decodeUTF8(message); naCl.crypto_hash_sha256(hash, messageBinary, messageBinary.length); return bytesToHex(hash).toUpperCase(); } @@ -135,12 +133,12 @@ public class Ed25519CryptoServiceImpl implements CryptoService { /* -- Internal methods -- */ protected byte[] sign(byte[] message, byte[] secretKey) { - byte[] signature = prependZeros(SIGNATURE_BYTES, message); + byte[] signature = Util.prependZeros(SIGNATURE_BYTES, message); LongLongByReference smLen = new LongLongByReference(0); naCl.crypto_sign_ed25519(signature, smLen, message, message.length, secretKey); - signature = slice(signature, 0, SIGNATURE_BYTES); + signature = Util.slice(signature, 0, SIGNATURE_BYTES); - checkLength(signature, SIGNATURE_BYTES); + Util.checkLength(signature, SIGNATURE_BYTES); return signature; } diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/test/TestFixtures.java b/duniter4j-core-shared/src/main/java/org/duniter/core/test/TestFixtures.java similarity index 96% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/test/TestFixtures.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/test/TestFixtures.java index 8ec6f536..6cbe1642 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/test/TestFixtures.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/test/TestFixtures.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.test; +package org.duniter.core.test; /* * #%L @@ -27,11 +27,11 @@ package io.ucoin.ucoinj.core.test; public class TestFixtures { public String getCurrency() { - return "super_currency"; + return "test_net"; } public String getUid() { - return "abc"; + return "gab"; } public String getUserSalt() { diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/test/TestResource.java b/duniter4j-core-shared/src/main/java/org/duniter/core/test/TestResource.java similarity index 96% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/test/TestResource.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/test/TestResource.java index e7b06bdc..4bd2475e 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/test/TestResource.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/test/TestResource.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.test; +package org.duniter.core.test; /* * #%L @@ -24,8 +24,8 @@ package io.ucoin.ucoinj.core.test; import com.google.common.base.Preconditions; -import io.ucoin.ucoinj.core.util.FileUtils; -import io.ucoin.ucoinj.core.util.StringUtils; +import org.duniter.core.util.FileUtils; +import org.duniter.core.util.StringUtils; import org.abstractj.kalium.NaCl; import org.junit.rules.TestRule; import org.junit.runner.Description; @@ -129,7 +129,7 @@ public class TestResource implements TestRule { * @return the prefix to use to retrieve configuration files */ protected String getConfigFilesPrefix() { - return "ucoinj-test"; + return "duniter4j-test"; } protected File getTestSpecificDirectory(Class<?> testClass, String name) throws IOException { diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/CollectionUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/CollectionUtils.java similarity index 98% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/CollectionUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/CollectionUtils.java index 63d5646f..f686b38b 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/CollectionUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/CollectionUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util; +package org.duniter.core.util; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/CommandLinesUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/CommandLinesUtils.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/CommandLinesUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/CommandLinesUtils.java index afb9a021..6b254663 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/CommandLinesUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/CommandLinesUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util; +package org.duniter.core.util; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/FileUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/FileUtils.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/FileUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/FileUtils.java index 452f6a3a..c3a21550 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/FileUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/FileUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util; +package org.duniter.core.util; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/ObjectUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/ObjectUtils.java similarity index 98% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/ObjectUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/ObjectUtils.java index 7a99f003..533ea93a 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/ObjectUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/ObjectUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util; +package org.duniter.core.util; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/StringUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/StringUtils.java similarity index 98% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/StringUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/StringUtils.java index b4762091..944a5633 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/StringUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/StringUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util; +package org.duniter.core.util; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/cache/Cache.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/cache/Cache.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/cache/Cache.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/cache/Cache.java index 6fdfb750..9c19ca88 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/cache/Cache.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/cache/Cache.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.cache; +package org.duniter.core.util.cache; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/cache/SimpleCache.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/cache/SimpleCache.java similarity index 99% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/cache/SimpleCache.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/cache/SimpleCache.java index dc5ec740..b7496dc9 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/cache/SimpleCache.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/cache/SimpleCache.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.cache; +package org.duniter.core.util.cache; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/AddressFormatException.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/AddressFormatException.java similarity index 95% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/AddressFormatException.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/AddressFormatException.java index 7c535bc1..52a52208 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/AddressFormatException.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/AddressFormatException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/Base58.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/Base58.java similarity index 99% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/Base58.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/Base58.java index 9a71909f..afe2175e 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/Base58.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/Base58.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/CryptoUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/CryptoUtils.java similarity index 95% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/CryptoUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/CryptoUtils.java index 63affb21..3451ff62 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/CryptoUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/CryptoUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L @@ -24,7 +24,7 @@ package io.ucoin.ucoinj.core.util.crypto; import com.lambdaworks.codec.Base64; -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.exception.TechnicalException; import org.abstractj.kalium.crypto.Util; import java.nio.charset.Charset; diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/DigestUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/DigestUtils.java similarity index 98% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/DigestUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/DigestUtils.java index 63d1afeb..da072505 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/DigestUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/DigestUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/KeyPair.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/KeyPair.java similarity index 96% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/KeyPair.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/KeyPair.java index d7b84f1c..e77a371b 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/KeyPair.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/KeyPair.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/SecretBox.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/SecretBox.java similarity index 87% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/SecretBox.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/SecretBox.java index 9bd94309..bf866d8d 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/SecretBox.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/SecretBox.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L @@ -24,15 +24,13 @@ package io.ucoin.ucoinj.core.util.crypto; import com.lambdaworks.crypto.SCrypt; -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.exception.TechnicalException; import jnr.ffi.byref.LongLongByReference; import org.abstractj.kalium.crypto.Util; import java.security.GeneralSecurityException; -import static io.ucoin.ucoinj.core.util.crypto.CryptoUtils.*; -import static io.ucoin.ucoinj.core.util.crypto.CryptoUtils.slice; -import static io.ucoin.ucoinj.core.util.crypto.CryptoUtils.zeros; +import static org.duniter.core.util.crypto.CryptoUtils.zeros; import static org.abstractj.kalium.NaCl.Sodium.*; import static org.abstractj.kalium.NaCl.sodium; import static org.abstractj.kalium.crypto.Util.checkLength; @@ -60,8 +58,8 @@ public class SecretBox { public SecretBox(byte[] seed) { checkLength(seed, SEED_LENGTH); this.seed = seed; - this.secretKey = zeros(SECRETKEY_BYTES * 2); - byte[] publicKey = zeros(PUBLICKEY_BYTES); + this.secretKey = CryptoUtils.zeros(SECRETKEY_BYTES * 2); + byte[] publicKey = CryptoUtils.zeros(PUBLICKEY_BYTES); isValid(sodium().crypto_sign_ed25519_seed_keypair(publicKey, secretKey, seed), "Failed to generate a key pair"); this.pubKey = Base58.encode(publicKey); @@ -84,8 +82,8 @@ public class SecretBox { } public String sign(String message) { - byte[] messageBinary = decodeUTF8(message); - return encodeBase64( + byte[] messageBinary = CryptoUtils.decodeUTF8(message); + return CryptoUtils.encodeBase64( sign(messageBinary) ); } @@ -94,7 +92,7 @@ public class SecretBox { byte[] signature = Util.prependZeros(SIGNATURE_BYTES, message); LongLongByReference bufferLen = new LongLongByReference(0); sodium().crypto_sign_ed25519(signature, bufferLen, message, message.length, secretKey); - signature = slice(signature, 0, SIGNATURE_BYTES); + signature = Util.slice(signature, 0, SIGNATURE_BYTES); checkLength(signature, SIGNATURE_BYTES); return signature; @@ -124,8 +122,8 @@ public class SecretBox { public static byte[] computeSeedFromSaltAndPassword(String salt, String password) { try { byte[] seed = SCrypt.scrypt( - decodeAscii(password), - decodeAscii(salt), + CryptoUtils.decodeAscii(password), + CryptoUtils.decodeAscii(salt), SCRYPT_PARAMS_N, SCRYPT_PARAMS_r, SCRYPT_PARAMS_p, SEED_LENGTH); return seed; diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/websocket/WebsocketClientEndpoint.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/websocket/WebsocketClientEndpoint.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/websocket/WebsocketClientEndpoint.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/websocket/WebsocketClientEndpoint.java index 84744898..c0f674c1 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/websocket/WebsocketClientEndpoint.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/websocket/WebsocketClientEndpoint.java @@ -1,7 +1,7 @@ -package io.ucoin.ucoinj.core.util.websocket; +package org.duniter.core.util.websocket; import com.google.common.collect.Lists; -import io.ucoin.ucoinj.core.util.CollectionUtils; +import org.duniter.core.util.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/duniter4j-core-shared/src/main/resources/META-INF/services/org.duniter.core.beans.Bean b/duniter4j-core-shared/src/main/resources/META-INF/services/org.duniter.core.beans.Bean new file mode 100644 index 00000000..9f44afdb --- /dev/null +++ b/duniter4j-core-shared/src/main/resources/META-INF/services/org.duniter.core.beans.Bean @@ -0,0 +1 @@ +org.duniter.core.service.Ed25519CryptoServiceImpl \ No newline at end of file diff --git a/ucoinj-cesium/redirector.err b/duniter4j-core-shared/src/main/resources/i18n/duniter-core-shared_en_GB.properties similarity index 100% rename from ucoinj-cesium/redirector.err rename to duniter4j-core-shared/src/main/resources/i18n/duniter-core-shared_en_GB.properties diff --git a/ucoinj-cesium/src/main/assembly/standalone.xml b/duniter4j-core-shared/src/main/resources/i18n/duniter-core-shared_fr_FR.properties similarity index 100% rename from ucoinj-cesium/src/main/assembly/standalone.xml rename to duniter4j-core-shared/src/main/resources/i18n/duniter-core-shared_fr_FR.properties diff --git a/ucoinj-core-shared/src/test/java/io/ucoin/ucoinj/core/service/Ed25519CryptoServiceTest.java b/duniter4j-core-shared/src/test/java/org/duniter/core/service/Ed25519CryptoServiceTest.java similarity index 91% rename from ucoinj-core-shared/src/test/java/io/ucoin/ucoinj/core/service/Ed25519CryptoServiceTest.java rename to duniter4j-core-shared/src/test/java/org/duniter/core/service/Ed25519CryptoServiceTest.java index 00d38f5f..9473e6fd 100644 --- a/ucoinj-core-shared/src/test/java/io/ucoin/ucoinj/core/service/Ed25519CryptoServiceTest.java +++ b/duniter4j-core-shared/src/test/java/org/duniter/core/service/Ed25519CryptoServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.service; +package org.duniter.core.service; /* * #%L @@ -23,14 +23,12 @@ package io.ucoin.ucoinj.core.service; */ -import io.ucoin.ucoinj.core.test.TestFixtures; -import io.ucoin.ucoinj.core.util.crypto.Base58; -import io.ucoin.ucoinj.core.util.crypto.SecretBox; +import org.duniter.core.test.TestFixtures; +import org.duniter.core.util.crypto.Base58; +import org.duniter.core.util.crypto.SecretBox; import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.UnsupportedEncodingException; diff --git a/ucoinj-core-shared/src/test/java/io/ucoin/ucoinj/core/util/crypto/SecretBoxTest.java b/duniter4j-core-shared/src/test/java/org/duniter/core/util/crypto/SecretBoxTest.java similarity index 95% rename from ucoinj-core-shared/src/test/java/io/ucoin/ucoinj/core/util/crypto/SecretBoxTest.java rename to duniter4j-core-shared/src/test/java/org/duniter/core/util/crypto/SecretBoxTest.java index c466725e..30ceb36d 100644 --- a/ucoinj-core-shared/src/test/java/io/ucoin/ucoinj/core/util/crypto/SecretBoxTest.java +++ b/duniter4j-core-shared/src/test/java/org/duniter/core/util/crypto/SecretBoxTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.util.crypto; */ -import io.ucoin.ucoinj.core.test.TestFixtures; +import org.duniter.core.test.TestFixtures; import org.abstractj.kalium.keys.SigningKey; import org.abstractj.kalium.keys.VerifyKey; import org.junit.Assert; @@ -108,7 +108,7 @@ public class SecretBoxTest { fixtures.getUid(), "1420881879"); byte[] message = CryptoUtils.decodeUTF8(utf8Message); - String expectedSignatureBase64 = "TMgQysT7JwY8XwemskwWb8LBDJybLUsnxqaaUvSteIYpOxRiB92gkFQQcGpBwq4hAwhEiqBAiFkiXIozppDDDg=="; + String expectedSignatureBase64 = "SYO77ymZmw4S3pGLxnF5zosGHdDHIEPJEKs6dM2KrFphftmnKgjmc+krq7uNsyryfNipW206BT9zRLuFFpiPBg=="; // Call sign byte[] signature = secretBox.sign(message); diff --git a/ucoinj-core-shared/src/test/resources/log4j.properties b/duniter4j-core-shared/src/test/resources/log4j.properties similarity index 75% rename from ucoinj-core-shared/src/test/resources/log4j.properties rename to duniter4j-core-shared/src/test/resources/log4j.properties index 83496cef..59099e76 100644 --- a/ucoinj-core-shared/src/test/resources/log4j.properties +++ b/duniter4j-core-shared/src/test/resources/log4j.properties @@ -8,12 +8,12 @@ log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p (%c:%L) - %m%n # ucoin levels -log4j.logger.io.ucoin.ucoinj=INFO -#log4j.logger.io.ucoin.ucoinj.core.client.service=DEBUG -#log4j.appender.io.ucoin.ucoinj.core.beans=DEBUG +log4j.logger.org.duniter=INFO +#log4j.logger.org.duniter.core.client.service=DEBUG +#log4j.appender.org.duniter.core.beans=DEBUG log4j.appender.file=org.apache.log4j.RollingFileAppender -log4j.appender.file.file=ucoin-core-shared.log +log4j.appender.file.file=duniterj4-core-shared.log log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=4 diff --git a/ucoinj-elasticsearch/src/license/THIRD-PARTY.properties b/duniter4j-elasticsearch/src/license/THIRD-PARTY.properties similarity index 100% rename from ucoinj-elasticsearch/src/license/THIRD-PARTY.properties rename to duniter4j-elasticsearch/src/license/THIRD-PARTY.properties diff --git a/duniter4j-elasticsearch/src/main/assembly/full/README.txt b/duniter4j-elasticsearch/src/main/assembly/full/README.txt new file mode 100644 index 00000000..2cb4d8c6 --- /dev/null +++ b/duniter4j-elasticsearch/src/main/assembly/full/README.txt @@ -0,0 +1,15 @@ +Starting duniter4j-ElasticSearch +-------------------------------- + +# under Linux + +./duniter4j-elasticsearch.sh + +# Sous windows + +duniter4j-elasticsearch.exe + +Help +---- + +duniter4j-elasticsearch.<sh|exe> --help diff --git a/ucoinj-elasticsearch/src/main/assembly/help.xml b/duniter4j-elasticsearch/src/main/assembly/help.xml similarity index 100% rename from ucoinj-elasticsearch/src/main/assembly/help.xml rename to duniter4j-elasticsearch/src/main/assembly/help.xml diff --git a/ucoinj-elasticsearch/src/main/assembly/i18n.xml b/duniter4j-elasticsearch/src/main/assembly/i18n.xml similarity index 92% rename from ucoinj-elasticsearch/src/main/assembly/i18n.xml rename to duniter4j-elasticsearch/src/main/assembly/i18n.xml index 008c0509..50fbbe7b 100644 --- a/ucoinj-elasticsearch/src/main/assembly/i18n.xml +++ b/duniter4j-elasticsearch/src/main/assembly/i18n.xml @@ -35,8 +35,8 @@ <directory>target/classes/META-INF</directory> <outputDirectory/> <includes> - <include>ucoinj-elasticsearch-i18n*.properties</include> - <include>ucoinj-elasticsearch-i18n*.csv</include> + <include>duniter4j-elasticsearch-i18n*.properties</include> + <include>duniter4j-elasticsearch-i18n*.csv</include> </includes> </fileSet> diff --git a/ucoinj-elasticsearch/src/main/assembly/min/README.txt b/duniter4j-elasticsearch/src/main/assembly/min/README.txt similarity index 61% rename from ucoinj-elasticsearch/src/main/assembly/min/README.txt rename to duniter4j-elasticsearch/src/main/assembly/min/README.txt index fedac4d3..b81a83da 100644 --- a/ucoinj-elasticsearch/src/main/assembly/min/README.txt +++ b/duniter4j-elasticsearch/src/main/assembly/min/README.txt @@ -6,7 +6,7 @@ ------------------------------------ Start a ElastoicSearch node : - > ucoinj-elasticsearch.<bat|sh> --start + > duniter4j-elasticsearch.<bat|sh> --start To show help (list all options) : - > ucoinj-elasticsearch.<bat|sh> --help + > duniter4j-elasticsearch.<bat|sh> --help diff --git a/ucoinj-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.bat b/duniter4j-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.bat similarity index 78% rename from ucoinj-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.bat rename to duniter4j-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.bat index d2486eeb..8ecbcc42 100644 --- a/ucoinj-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.bat +++ b/duniter4j-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.bat @@ -11,7 +11,7 @@ set APP_BASEDIR=%CD% set JAVA_COMMAND=%JAVA_HOME%\bin\java set APP_LOG_FILE=%APP_BASEDIR%\data\${project.artifactId}-${project.version}.log set JAVA_OPTS=-Xmx1G -set APP_CONF_FILE=%APP_BASEDIR%\ucoinj.config +set APP_CONF_FILE=%APP_BASEDIR%\duniter4j.config if not exist "%JAVA_HOME%" goto no_java @@ -32,7 +32,7 @@ echo . set OLDDIR=%CD% cd /d %~dp0% -call "%JAVA_COMMAND%" %JAVA_OPTS% "-Ducoinj.log.file=%APP_LOG_FILE%" ""-Ducoinj-elasticsearch.config=%APP_CONF_FILE%" -Djna.nosys=true -jar ${project.build.finalName}.${project.packaging} %1 %2 %3 %4 %5 %6 %7 %8 %9 +call "%JAVA_COMMAND%" %JAVA_OPTS% "-Dduniter4j.log.file=%APP_LOG_FILE%" ""-Dduniter4j-elasticsearch.config=%APP_CONF_FILE%" -Djna.nosys=true -jar ${project.build.finalName}.${project.packaging} %1 %2 %3 %4 %5 %6 %7 %8 %9 set exitcode=%ERRORLEVEL% echo Stop with exitcode: %exitcode% cd %OLDDIR% diff --git a/ucoinj-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.sh b/duniter4j-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.sh similarity index 79% rename from ucoinj-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.sh rename to duniter4j-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.sh index 95d3ce2d..e220bf1f 100644 --- a/ucoinj-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.sh +++ b/duniter4j-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.sh @@ -9,7 +9,7 @@ export JAVA_HOME=/usr/lib/jvm/default-java export APP_BASEDIR=$REP export JAVA_COMMAND=$JAVA_HOME/bin/java export APP_LOG_FILE=$APP_BASEDIR/logs/${project.artifactId}-${project.version}.log -export APP_CONF_FILE=$APP_BASEDIR/ucoinj.config +export APP_CONF_FILE=$APP_BASEDIR/duniter4j.config cd $APP_BASEDIR @@ -25,7 +25,7 @@ if [ -d $JAVA_HOME ]; then echo "launch java" echo "java command: $JAVA_COMMAND" - $JAVA_COMMAND $MEMORY $APP_JVM_OPTS -Ducoinj.log.file=$APP_LOG_FILE -Ducoinj-elasticsearch.config=$APP_CONF_FILE -Djna.nosys=true -jar ${project.build.finalName}.${project.packaging} $* + $JAVA_COMMAND $MEMORY $APP_JVM_OPTS -Dduniter4j.log.file=$APP_LOG_FILE -Dduniter4j-elasticsearch.config=$APP_CONF_FILE -Djna.nosys=true -jar ${project.build.finalName}.${project.packaging} $* exitcode=$? echo "Stop ${project.name} with exitcode: $exitcode" exit $exitcode diff --git a/ucoinj-elasticsearch/src/main/assembly/min/ucoinj.config b/duniter4j-elasticsearch/src/main/assembly/min/ucoinj.config similarity index 72% rename from ucoinj-elasticsearch/src/main/assembly/min/ucoinj.config rename to duniter4j-elasticsearch/src/main/assembly/min/ucoinj.config index 0dd9a0b5..5423a51b 100644 --- a/ucoinj-elasticsearch/src/main/assembly/min/ucoinj.config +++ b/duniter4j-elasticsearch/src/main/assembly/min/ucoinj.config @@ -6,40 +6,40 @@ # Node host # Could be override using option : '-h <host>' -#ucoinj.node.host=metab.ucoin.io +#duniter4j.node.host=metab.ucoin.io # Node port # Could be override using option : '-p <port>' -#ucoinj.node.port=9201 +#duniter4j.node.port=9201 # ---------------------------------------------------------- # ES Node # ---------------------------------------------------------- # ES Cluster name -# By default: 'ucoinj-elacticsearch' +# By default: 'duniter4j-elacticsearch' # See ES config 'cluster.name' -#ucoinj.elasticsearch.cluster.name=ucoinj-elacticsearch +#duniter4j.elasticsearch.cluster.name=duniter4j-elacticsearch # Should start a embedded ES node # By default: false -#ucoinj.elasticsearch.embedded.enable=true +#duniter4j.elasticsearch.embedded.enable=true # If not embedded: ES Node Host # Could be override using option : '-esh <host>' -#ucoinj.elasticsearch.host=192.168.0.5 +#duniter4j.elasticsearch.host=192.168.0.5 # If not embedded: ES Node Port # Could be override using option : '-esp <port>' -#ucoinj.elasticsearch.port=9300 +#duniter4j.elasticsearch.port=9300 # If embedded: Only for a local use (do not connect to other nodes on cluster) # By default: false # See ES config 'local' -#ucoinj.elasticsearch.local=true +#duniter4j.elasticsearch.local=true # If embedded: Open a port for HTTP access # By default: true # See ES config 'http.enable' -#ucoinj.elasticsearch.http.enable=false +#duniter4j.elasticsearch.http.enable=false diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/version.appup b/duniter4j-elasticsearch/src/main/assembly/min/version.appup similarity index 100% rename from ucoinj-elasticsearch-plugin/src/main/assembly/min/version.appup rename to duniter4j-elasticsearch/src/main/assembly/min/version.appup diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/plugin.xml b/duniter4j-elasticsearch/src/main/assembly/plugin.xml similarity index 100% rename from ucoinj-elasticsearch-plugin/src/main/assembly/plugin.xml rename to duniter4j-elasticsearch/src/main/assembly/plugin.xml diff --git a/ucoinj-elasticsearch/src/main/assembly/standalone.xml b/duniter4j-elasticsearch/src/main/assembly/standalone.xml similarity index 90% rename from ucoinj-elasticsearch/src/main/assembly/standalone.xml rename to duniter4j-elasticsearch/src/main/assembly/standalone.xml index 58b11dec..fba0a0b0 100644 --- a/ucoinj-elasticsearch/src/main/assembly/standalone.xml +++ b/duniter4j-elasticsearch/src/main/assembly/standalone.xml @@ -58,8 +58,8 @@ <filtered>true</filtered> <fileMode>0755</fileMode> <includes> - <include>ucoinj-elasticsearch.sh</include> - <include>ucoinj-elasticsearch.bat</include> + <include>duniter4j-elasticsearch.sh</include> + <include>duniter4j-elasticsearch.bat</include> <include>version.appup</include> <include>README*</include> </includes> @@ -70,7 +70,7 @@ <directory>src/main/assembly/min</directory> <outputDirectory/> <includes> - <include>ucoinj.config</include> + <include>duniter4j.config</include> </includes> </fileSet> @@ -79,8 +79,8 @@ <directory>target/classes/META-INF</directory> <outputDirectory>i18n</outputDirectory> <includes> - <include>ucoinj-elasticsearch-i18n*.properties</include> - <include>ucoinj-elasticsearch-i18n*.csv</include> + <include>duniter4j-elasticsearch-i18n*.properties</include> + <include>duniter4j-elasticsearch-i18n*.csv</include> </includes> </fileSet> <fileSet> diff --git a/duniter4j-elasticsearch/src/main/filtered-resources/duniter4j.config b/duniter4j-elasticsearch/src/main/filtered-resources/duniter4j.config new file mode 100644 index 00000000..03d3b6b2 --- /dev/null +++ b/duniter4j-elasticsearch/src/main/filtered-resources/duniter4j.config @@ -0,0 +1,4 @@ +duniter4j.version=${project.version} +duniter4j.site.url=${project.url} +duniter4j.inceptionYear=${project.inceptionYear} +duniter4j.organizationName=${license.organizationName} diff --git a/ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties b/duniter4j-elasticsearch/src/main/filtered-resources/log4j.properties similarity index 75% rename from ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties rename to duniter4j-elasticsearch/src/main/filtered-resources/log4j.properties index 4fe203ed..553bc6d0 100644 --- a/ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties +++ b/duniter4j-elasticsearch/src/main/filtered-resources/log4j.properties @@ -8,11 +8,11 @@ log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p %m%n -# uCoinj levels -log4j.logger.io.ucoin.ucoinj=INFO -#log4j.logger.io.ucoin.ucoinj.core.client=DEBUG -#log4j.logger.io.ucoin.ucoinj.core.client.service=DEBUG -log4j.logger.io.ucoin.ucoinj.elasticsearch=DEBUG +# Duniter4j levels +log4j.logger.org.duniter=INFO +#log4j.logger.org.duniter.core.client=DEBUG +#log4j.logger.org.duniter.core.client.service=DEBUG +log4j.logger.org.duniter.elasticsearch=DEBUG # Other frameworks levels log4j.logger.org.nuiton.util=WARN @@ -21,7 +21,7 @@ log4j.logger.org.elasticsearch=WARN #log4j.logger.org.elasticsearch=INFO log4j.appender.file=org.apache.log4j.RollingFileAppender -log4j.appender.file.file=${ucoinj.log.file} +log4j.appender.file.file=${duniter4j.log.file} log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=4 diff --git a/ucoinj-elasticsearch-plugin/src/main/filtered-resources/plugin-descriptor.properties b/duniter4j-elasticsearch/src/main/filtered-resources/plugin-descriptor.properties similarity index 53% rename from ucoinj-elasticsearch-plugin/src/main/filtered-resources/plugin-descriptor.properties rename to duniter4j-elasticsearch/src/main/filtered-resources/plugin-descriptor.properties index 6a54716d..c3cb24e2 100644 --- a/ucoinj-elasticsearch-plugin/src/main/filtered-resources/plugin-descriptor.properties +++ b/duniter4j-elasticsearch/src/main/filtered-resources/plugin-descriptor.properties @@ -1,11 +1,11 @@ -name=ucoinj-elasticsearch +name=duniter4j-elasticsearch #description=${project.description} -description=ucoinj-elasticsearch +description=duniter4j-elasticsearch version=1.0 #version=${project.version} -site=false +site=true jvm=true -classname=io.ucoin.ucoinj.elasticsearch.plugin.Plugin +classname=org.duniter.elasticsearch.plugin.Plugin java.version=1.7 elasticsearch.version=2.3.1 isolated=false \ No newline at end of file diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/RestModule.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/RestModule.java similarity index 73% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/RestModule.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/RestModule.java index 52a958d9..a3ea3b97 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/RestModule.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/RestModule.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.action; +package org.duniter.elasticsearch.action; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,11 +22,11 @@ package io.ucoin.ucoinj.elasticsearch.action; * #L% */ -import io.ucoin.ucoinj.elasticsearch.action.currency.RestCurrencyIndexAction; -import io.ucoin.ucoinj.elasticsearch.action.market.RestMarketRecordIndexAction; -import io.ucoin.ucoinj.elasticsearch.action.registry.RestRegistryRecordIndexAction; -import io.ucoin.ucoinj.elasticsearch.action.security.RestSecurityAuthAction; -import io.ucoin.ucoinj.elasticsearch.action.security.RestSecurityGetChallengeAction; +import org.duniter.elasticsearch.action.currency.RestCurrencyIndexAction; +import org.duniter.elasticsearch.action.market.RestMarketRecordIndexAction; +import org.duniter.elasticsearch.action.registry.RestRegistryRecordIndexAction; +import org.duniter.elasticsearch.action.security.RestSecurityAuthAction; +import org.duniter.elasticsearch.action.security.RestSecurityGetChallengeAction; import org.elasticsearch.common.inject.AbstractModule; import org.elasticsearch.common.inject.Module; diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/currency/RestCurrencyIndexAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/currency/RestCurrencyIndexAction.java similarity index 91% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/currency/RestCurrencyIndexAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/currency/RestCurrencyIndexAction.java index 0409273e..5721c65f 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/currency/RestCurrencyIndexAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/currency/RestCurrencyIndexAction.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.action.currency; +package org.duniter.elasticsearch.action.currency; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,7 +22,6 @@ package io.ucoin.ucoinj.elasticsearch.action.currency; * #L% */ -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; import org.elasticsearch.client.Client; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.settings.Settings; diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/market/RestMarketRecordIndexAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/market/RestMarketRecordIndexAction.java similarity index 91% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/market/RestMarketRecordIndexAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/market/RestMarketRecordIndexAction.java index 5fe953ac..ac3bc193 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/market/RestMarketRecordIndexAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/market/RestMarketRecordIndexAction.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.action.market; +package org.duniter.elasticsearch.action.market; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.elasticsearch.action.market; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; +import org.duniter.core.exception.BusinessException; +import org.duniter.elasticsearch.service.ServiceLocator; import org.elasticsearch.client.Client; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.logging.ESLogger; diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/registry/RestRegistryRecordIndexAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/registry/RestRegistryRecordIndexAction.java similarity index 91% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/registry/RestRegistryRecordIndexAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/registry/RestRegistryRecordIndexAction.java index 7ff22b27..c3c0c707 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/registry/RestRegistryRecordIndexAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/registry/RestRegistryRecordIndexAction.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.action.registry; +package org.duniter.elasticsearch.action.registry; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.elasticsearch.action.registry; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; +import org.duniter.core.exception.BusinessException; +import org.duniter.elasticsearch.service.ServiceLocator; import org.elasticsearch.client.Client; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.logging.ESLogger; diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/security/RestSecurityAuthAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/security/RestSecurityAuthAction.java similarity index 86% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/security/RestSecurityAuthAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/security/RestSecurityAuthAction.java index a9a3ec3e..d6ff67cf 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/security/RestSecurityAuthAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/security/RestSecurityAuthAction.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.action.security; +package org.duniter.elasticsearch.action.security; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,11 +22,11 @@ package io.ucoin.ucoinj.elasticsearch.action.security; * #L% */ -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.security.challenge.ChallengeMessageStore; -import io.ucoin.ucoinj.elasticsearch.security.token.SecurityTokenStore; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.security.challenge.ChallengeMessageStore; +import org.duniter.elasticsearch.security.token.SecurityTokenStore; +import org.duniter.elasticsearch.service.ServiceLocator; import org.elasticsearch.client.Client; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.logging.ESLogger; @@ -34,7 +34,6 @@ import org.elasticsearch.common.logging.ESLoggerFactory; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.rest.*; -import static org.elasticsearch.rest.RestRequest.Method.GET; import static org.elasticsearch.rest.RestRequest.Method.POST; import static org.elasticsearch.rest.RestStatus.FORBIDDEN; import static org.elasticsearch.rest.RestStatus.OK; diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/security/RestSecurityGetChallengeAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/security/RestSecurityGetChallengeAction.java similarity index 91% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/security/RestSecurityGetChallengeAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/security/RestSecurityGetChallengeAction.java index dfb0513a..416b75ff 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/security/RestSecurityGetChallengeAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/security/RestSecurityGetChallengeAction.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.action.security; +package org.duniter.elasticsearch.action.security; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.elasticsearch.action.security; * #L% */ -import io.ucoin.ucoinj.elasticsearch.security.challenge.ChallengeMessageStore; +import org.duniter.elasticsearch.security.challenge.ChallengeMessageStore; import org.elasticsearch.client.Client; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.settings.Settings; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/Main.java similarity index 88% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/Main.java index f4b187ed..02560623 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/Main.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch; +package org.duniter.elasticsearch.cli; /* * #%L @@ -24,14 +24,14 @@ package io.ucoin.ucoinj.elasticsearch; import com.google.common.collect.Lists; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.CommandLinesUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.config.ConfigurationAction; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.util.Desktop; -import io.ucoin.ucoinj.elasticsearch.util.DesktopPower; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.CommandLinesUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.config.ConfigurationAction; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.util.Desktop; +import org.duniter.elasticsearch.util.DesktopPower; import org.apache.commons.io.FileUtils; import org.elasticsearch.common.logging.ESLogger; import org.elasticsearch.common.logging.ESLoggerFactory; @@ -66,7 +66,7 @@ public class Main { public void run(String[] args) { if (log.isInfoEnabled()) { - log.info("Starting uCoinj :: ElasticSearch Indexer with arguments " + Arrays.toString(args)); + log.info("Starting duniter4j :: ElasticSearch Indexer with arguments " + Arrays.toString(args)); } // By default, start @@ -78,7 +78,7 @@ public class Main { arguments.removeAll(Arrays.asList(ConfigurationAction.HELP.aliases)); // Could override config file name (useful for dev) - String configFile = "ucoinj-elasticsearch.config"; + String configFile = "duniter4j-elasticsearch.config"; if (System.getProperty(configFile) != null) { configFile = System.getProperty(configFile); configFile = configFile.replaceAll("\\\\", "/"); @@ -137,7 +137,7 @@ public class Main { while (!quit) { String userInput = CommandLinesUtils.readInput( String.format(TITLE, - "uCoinj :: Elasticsearch successfully started", + "duniter4j :: Elasticsearch successfully started", ">> To quit, press [Q] or [enter]"), "Q", true); quit = StringUtils.isNotBlank(userInput) && "Q".equalsIgnoreCase(userInput); @@ -165,7 +165,7 @@ public class Main { } } - log.info("uCoinj :: ElasticSearch Indexer successfully stopped"); + log.info("duniter4j :: ElasticSearch Indexer successfully stopped"); } protected void initI18n(Configuration config) throws IOException { @@ -197,7 +197,7 @@ public class Main { } protected String getI18nBundleName() { - return "ucoinj-elasticsearch-i18n"; + return "duniter4j-elasticsearch-i18n"; } /** diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/HelpAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/HelpCliAction.java similarity index 92% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/HelpAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/HelpCliAction.java index 83a28802..5fd18e0b 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/HelpAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/HelpCliAction.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.action; +package org.duniter.elasticsearch.cli.action; /* * #%L @@ -24,12 +24,12 @@ package io.ucoin.ucoinj.elasticsearch.action; * #L% */ -public class HelpAction { +public class HelpCliAction { public void show() { StringBuilder sb = new StringBuilder(); - sb.append("Usage: ucoinj-elaticsearch.<sh|bat> <commands> [options]\n\n") + sb.append("Usage: duniter4j-elaticsearch.<sh|bat> <commands> [options]\n\n") .append("Commands:\n\n") .append(" start Start elastic search node\n") .append(" index Index blocks from BMA Node\n") diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/IndexerAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/IndexerCliAction.java similarity index 86% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/IndexerAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/IndexerCliAction.java index 062d2320..eebd836b 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/IndexerAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/IndexerCliAction.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.action; +package org.duniter.elasticsearch.cli.action; /* * #%L @@ -24,27 +24,27 @@ package io.ucoin.ucoinj.elasticsearch.action; * #L% */ -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteService; -import io.ucoin.ucoinj.core.util.websocket.WebsocketClientEndpoint; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.currency.BlockIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.market.MarketCategoryIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.market.MarketRecordIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCategoryIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCitiesIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryRecordIndexerService; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.bma.BlockchainRemoteService; +import org.duniter.core.util.websocket.WebsocketClientEndpoint; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.service.currency.BlockIndexerService; +import org.duniter.elasticsearch.service.market.MarketCategoryIndexerService; +import org.duniter.elasticsearch.service.market.MarketRecordIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCategoryIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCitiesIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCurrencyIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryRecordIndexerService; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class IndexerAction { +public class IndexerCliAction { /* Logger */ - private static final Logger log = LoggerFactory.getLogger(IndexerAction.class); + private static final Logger log = LoggerFactory.getLogger(IndexerCliAction.class); public void indexBlocksFromNode() { diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/NodeAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/NodeCliAction.java similarity index 82% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/NodeAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/NodeCliAction.java index 94ded39b..1559d01d 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/NodeAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/NodeCliAction.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.action; +package org.duniter.elasticsearch.cli.action; /* * #%L @@ -24,18 +24,18 @@ package io.ucoin.ucoinj.elasticsearch.action; * #L% */ -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.ElasticSearchService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.market.MarketCategoryIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.market.MarketRecordIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.ElasticSearchService; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.service.market.MarketCategoryIndexerService; +import org.duniter.elasticsearch.service.market.MarketRecordIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCurrencyIndexerService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class NodeAction { +public class NodeCliAction { /* Logger */ - private static final Logger log = LoggerFactory.getLogger(NodeAction.class); + private static final Logger log = LoggerFactory.getLogger(NodeCliAction.class); public void start() { diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/Configuration.java similarity index 94% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/Configuration.java index 26412f8f..18b0db44 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/Configuration.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.config; +package org.duniter.elasticsearch.config; /* * #%L @@ -24,7 +24,7 @@ package io.ucoin.ucoinj.elasticsearch.config; import com.google.common.base.Charsets; -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.exception.TechnicalException; import org.nuiton.config.ApplicationConfig; import org.nuiton.config.ApplicationConfigHelper; import org.nuiton.config.ApplicationConfigProvider; @@ -34,7 +34,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; -import java.net.URL; import java.util.Locale; import java.util.Set; @@ -64,8 +63,8 @@ public class Configuration { Configuration.instance = instance; // Cascade the application config to the client module - io.ucoin.ucoinj.core.client.config.Configuration clientConfig = new io.ucoin.ucoinj.core.client.config.Configuration(instance.getApplicationConfig()); - io.ucoin.ucoinj.core.client.config.Configuration.setInstance(clientConfig); + org.duniter.core.client.config.Configuration clientConfig = new org.duniter.core.client.config.Configuration(instance.getApplicationConfig()); + org.duniter.core.client.config.Configuration.setInstance(clientConfig); } protected final String[] optionKeyToNotSave; @@ -122,7 +121,7 @@ public class Configuration { applicationConfig.parse(args); } catch (ArgumentsParserException e) { - throw new TechnicalException(t("ucoinj.config.parse.error"), e); + throw new TechnicalException(t("duniter4j.config.parse.error"), e); } // TODO Review this, this is very dirty to do this... @@ -149,8 +148,8 @@ public class Configuration { appBasedir.getAbsolutePath()); // Init other configuration - io.ucoin.ucoinj.core.client.config.Configuration coreConfig = new io.ucoin.ucoinj.core.client.config.Configuration(applicationConfig); - io.ucoin.ucoinj.core.client.config.Configuration.setInstance(coreConfig); + org.duniter.core.client.config.Configuration coreConfig = new org.duniter.core.client.config.Configuration(applicationConfig); + org.duniter.core.client.config.Configuration.setInstance(coreConfig); } /** diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationAction.java similarity index 60% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationAction.java index c092948c..c3cc408b 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationAction.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.config; +package org.duniter.elasticsearch.config; /* * #%L @@ -24,26 +24,26 @@ package io.ucoin.ucoinj.elasticsearch.config; * #L% */ -import io.ucoin.ucoinj.elasticsearch.action.HelpAction; -import io.ucoin.ucoinj.elasticsearch.action.IndexerAction; -import io.ucoin.ucoinj.elasticsearch.action.NodeAction; +import org.duniter.elasticsearch.cli.action.HelpCliAction; +import org.duniter.elasticsearch.cli.action.IndexerCliAction; +import org.duniter.elasticsearch.cli.action.NodeCliAction; import org.nuiton.config.ConfigActionDef; public enum ConfigurationAction implements ConfigActionDef { - HELP(HelpAction.class.getName() + "#show", "--help"), + HELP(HelpCliAction.class.getName() + "#show", "--help"), - START(NodeAction.class.getName() + "#start", "start"), + START(NodeCliAction.class.getName() + "#start", "start"), - INDEX_BLOCKS(IndexerAction.class.getName() + "#indexBlocksFromNode", "index"), + INDEX_BLOCKS(IndexerCliAction.class.getName() + "#indexBlocksFromNode", "index"), - RESET_ALL_DATA(IndexerAction.class.getName() + "#resetAllData", "reset-data"), + RESET_ALL_DATA(IndexerCliAction.class.getName() + "#resetAllData", "reset-data"), - RESET_BLOCKS(IndexerAction.class.getName() + "#resetDataBlocks", "reset-blocks"), + RESET_BLOCKS(IndexerCliAction.class.getName() + "#resetDataBlocks", "reset-blocks"), - RESET_MARKET(IndexerAction.class.getName() + "#resetMarketRecords", "reset-market"), + RESET_MARKET(IndexerCliAction.class.getName() + "#resetMarketRecords", "reset-market"), - RESET_REGISTRY(IndexerAction.class.getName() + "#resetRegistry", "reset-registry"); + RESET_REGISTRY(IndexerCliAction.class.getName() + "#resetRegistry", "reset-registry"); public String action; public String[] aliases; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationOption.java similarity index 64% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationOption.java index ee5b588e..0e15103b 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationOption.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.config; +package org.duniter.elasticsearch.config; /* * #%L @@ -48,44 +48,44 @@ public enum ConfigurationOption implements ConfigOptionDef { BASEDIR( - "ucoinj.basedir", - n("ucoinj.config.option.basedir.description"), + "duniter4j.basedir", + n("duniter4j.config.option.basedir.description"), "${user.home}/.config/duniter-es", File.class), DATA_DIRECTORY( - "ucoinj.data.directory", - n("ucoinj.config.option.data.directory.description"), - "${ucoinj.basedir}/data", + "duniter4j.data.directory", + n("duniter4j.config.option.data.directory.description"), + "${duniter4j.basedir}/data", File.class), TEMP_DIRECTORY( - "ucoinj.temp.directory", - n("ucoinj.config.option.temp.directory.description"), - "${ucoinj.basedir}/temp", + "duniter4j.temp.directory", + n("duniter4j.config.option.temp.directory.description"), + "${duniter4j.basedir}/temp", File.class), PLUGINS_DIRECTORY( - "ucoinj.plugins.directory", - n("ucoinj.config.option.plugins.directory.description"), - "${ucoinj.basedir}/plugins", + "duniter4j.plugins.directory", + n("duniter4j.config.option.plugins.directory.description"), + "${duniter4j.basedir}/plugins", File.class), LAUNCH_MODE( - "ucoinj.launch.mode", - n("ucoinj.config.option.launch.mode.description"), + "duniter4j.launch.mode", + n("duniter4j.config.option.launch.mode.description"), "dev", String.class), I18N_DIRECTORY( - "ucoinj.i18n.directory", - n("ucoinj.config.option.i18n.directory.description"), - "${ucoinj.basedir}/i18n", + "duniter4j.i18n.directory", + n("duniter4j.config.option.i18n.directory.description"), + "${duniter4j.basedir}/i18n", File.class), VERSION( - "ucoinj.version", - n("ucoinj.config.option.version.description"), + "duniter4j.version", + n("duniter4j.config.option.version.description"), "1.0", Version.class), @@ -94,120 +94,120 @@ public enum ConfigurationOption implements ConfigOptionDef { // ------------------------------------------------------------------------// I18N_LOCALE( - "ucoinj.i18n.locale", - n("ucoinj.config.option.i18n.locale.description"), + "duniter4j.i18n.locale", + n("duniter4j.config.option.i18n.locale.description"), Locale.FRANCE.getCountry(), Locale.class, false), NODE_BMA_HOST( - "ucoinj.node.host", - n("ucoinj.config.option.node.host.description"), + "duniter4j.node.host", + n("duniter4j.config.option.node.host.description"), "metab.ucoin.io", String.class, false), NODE_BMA_PORT( - "ucoinj.node.port", - n("ucoinj.config.option.node.port.description"), + "duniter4j.node.port", + n("duniter4j.config.option.node.port.description"), "9201", Integer.class, false), NODE_BMA_URL( - "ucoinj.node.url", - n("ucoinj.config.option.node.port.description"), - "${ucoinj.node.protocol}://${ucoinj.node.host}:${ucoinj.node.port}", + "duniter4j.node.url", + n("duniter4j.config.option.node.port.description"), + "${duniter4j.node.protocol}://${duniter4j.node.host}:${duniter4j.node.port}", URL.class, false), HOST( - "ucoinj.elasticsearch.host", - n("ucoinj.config.option.elasticsearch.host.description"), + "duniter4j.elasticsearch.host", + n("duniter4j.config.option.elasticsearch.host.description"), "localhost", String.class, false), PORT( - "ucoinj.elasticsearch.port", - n("ucoinj.config.option.node.elasticsearch.port.description"), + "duniter4j.elasticsearch.port", + n("duniter4j.config.option.node.elasticsearch.port.description"), "9300", Integer.class, false), NETWORK_HOST( - "ucoinj.elasticsearch.network.host", - n("ucoinj.config.option.elasticsearch.network.host.description"), + "duniter4j.elasticsearch.network.host", + n("duniter4j.config.option.elasticsearch.network.host.description"), "_local_", String.class, false), DAEMON( - "ucoinj.elasticsearch.daemon", - n("ucoinj.config.option.node.elasticsearch.daemon.description"), + "duniter4j.elasticsearch.daemon", + n("duniter4j.config.option.node.elasticsearch.daemon.description"), "false", Boolean.class, false), EMBEDDED_ENABLE( - "ucoinj.elasticsearch.embedded.enable", - n("ucoinj.config.option.elasticsearch.embedded.enable.description"), + "duniter4j.elasticsearch.embedded.enable", + n("duniter4j.config.option.elasticsearch.embedded.enable.description"), "false", Boolean.class, false), LOCAL_ENABLE( - "ucoinj.elasticsearch.local", - n("ucoinj.config.option.elasticsearch.local.description"), + "duniter4j.elasticsearch.local", + n("duniter4j.config.option.elasticsearch.local.description"), "false", Boolean.class, false), HTTP_ENABLE( - "ucoinj.elasticsearch.http.enable", - n("ucoinj.config.option.node.elasticsearch.http.enable.description"), + "duniter4j.elasticsearch.http.enable", + n("duniter4j.config.option.node.elasticsearch.http.enable.description"), "true", Boolean.class, false), CLUSTER_NAME( - "ucoinj.elasticsearch.cluster.name", - n("ucoinj.config.option.elasticsearch.cluster.name.description"), - "ucoinj-elasticsearch", + "duniter4j.elasticsearch.cluster.name", + n("duniter4j.config.option.elasticsearch.cluster.name.description"), + "duniter4j-elasticsearch", String.class, false), INDEX_BULK_ENABLE( - "ucoinj.elasticsearch.bulk.enable", - n("ucoinj.config.option.elasticsearch.bulk.enable.description"), + "duniter4j.elasticsearch.bulk.enable", + n("duniter4j.config.option.elasticsearch.bulk.enable.description"), "true", Boolean.class, false), INDEX_BULK_SIZE( - "ucoinj.elasticsearch.bulk.size", - n("ucoinj.config.option.elasticsearch.bulk.size.description"), + "duniter4j.elasticsearch.bulk.size", + n("duniter4j.config.option.elasticsearch.bulk.size.description"), "1000", Integer.class, false), INDEX_STRING_ANALYZER( - "ucoinj.elasticsearch.string.analyzer", - n("ucoinj.config.option.elasticsearch.string.analyze.description"), + "duniter4j.elasticsearch.string.analyzer", + n("duniter4j.config.option.elasticsearch.string.analyze.description"), "french", String.class, false), TASK_EXECUTOR_QUEUE_CAPACITY( - "ucoinj.elasticsearch.tasks.queueCapacity", - n("ucoinj.config.option.tasks.queueCapacity.description"), + "duniter4j.elasticsearch.tasks.queueCapacity", + n("duniter4j.config.option.tasks.queueCapacity.description"), "50", Integer.class, false), TASK_EXECUTOR_TIME_TO_IDLE( - "ucoinj.elasticsearch.tasks.timeToIdle", - "ucoinj.elasticsearch.tasks.timeToIdle.description", + "duniter4j.elasticsearch.tasks.timeToIdle", + "duniter4j.elasticsearch.tasks.timeToIdle.description", "180", // 180s = 3min Integer.class, false) diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationProvider.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationProvider.java similarity index 93% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationProvider.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationProvider.java index 85e01d4f..c82d0f1f 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationProvider.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationProvider.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.config; +package org.duniter.elasticsearch.config; /* * #%L @@ -41,12 +41,12 @@ public class ConfigurationProvider implements ApplicationConfigProvider { @Override public String getName() { - return "ucoinj"; + return "duniter4j"; } @Override public String getDescription(Locale locale) { - return l(locale, "ucoinj-elasticsearch.config"); + return l(locale, "duniter4j-elasticsearch.config"); } @Override diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/model/Currency.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/model/Currency.java similarity index 93% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/model/Currency.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/model/Currency.java index e89d2b24..33ff95f9 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/model/Currency.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/model/Currency.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.model; +package org.duniter.elasticsearch.model; /* * #%L @@ -23,8 +23,8 @@ package io.ucoin.ucoinj.elasticsearch.model; */ -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.local.Peer; import java.io.Serializable; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/model/SearchResult.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/model/SearchResult.java similarity index 89% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/model/SearchResult.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/model/SearchResult.java index e7013ad2..541bc634 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/model/SearchResult.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/model/SearchResult.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.model; +package org.duniter.elasticsearch.model; /* * #%L @@ -23,9 +23,6 @@ package io.ucoin.ucoinj.elasticsearch.model; */ -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.local.Peer; - import java.io.Serializable; /** diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/plugin/Plugin.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/plugin/Plugin.java similarity index 81% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/plugin/Plugin.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/plugin/Plugin.java index 08c02368..f43f0038 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/plugin/Plugin.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/plugin/Plugin.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.plugin; +package org.duniter.elasticsearch.plugin; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -23,8 +23,8 @@ package io.ucoin.ucoinj.elasticsearch.plugin; */ import com.google.common.collect.Lists; -import io.ucoin.ucoinj.elasticsearch.action.RestModule; -import io.ucoin.ucoinj.elasticsearch.security.SecurityModule; +import org.duniter.elasticsearch.action.RestModule; +import org.duniter.elasticsearch.security.SecurityModule; import org.elasticsearch.common.inject.Module; import java.util.Collection; @@ -33,12 +33,12 @@ public class Plugin extends org.elasticsearch.plugins.Plugin { @Override public String name() { - return "ucoinj-elasticsearch"; + return "duniter4j-elasticsearch"; } @Override public String description() { - return "uCoinj ElasticSearch Plugin"; + return "duniter4j ElasticSearch Plugin"; } @Override diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/SecurityModule.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/SecurityModule.java similarity index 82% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/SecurityModule.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/SecurityModule.java index ba266cdf..ed497aec 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/SecurityModule.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/SecurityModule.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.security; +package org.duniter.elasticsearch.security; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.elasticsearch.security; * #L% */ -import io.ucoin.ucoinj.elasticsearch.security.challenge.ChallengeMessageStore; -import io.ucoin.ucoinj.elasticsearch.security.token.SecurityTokenStore; +import org.duniter.elasticsearch.security.challenge.ChallengeMessageStore; +import org.duniter.elasticsearch.security.token.SecurityTokenStore; import org.elasticsearch.common.inject.AbstractModule; import org.elasticsearch.common.inject.Module; diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/challenge/ChallengeMessageStore.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/challenge/ChallengeMessageStore.java similarity index 88% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/challenge/ChallengeMessageStore.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/challenge/ChallengeMessageStore.java index a1cc23d7..4a918717 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/challenge/ChallengeMessageStore.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/challenge/ChallengeMessageStore.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.security.challenge; +package org.duniter.elasticsearch.security.challenge; /* * #%L - * uCoinj :: UI Wicket + * duniter4j :: UI Wicket * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -26,8 +26,8 @@ import com.google.common.base.Preconditions; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.logging.ESLogger; import org.elasticsearch.common.logging.ESLoggerFactory; @@ -49,8 +49,8 @@ public class ChallengeMessageStore { @Inject public ChallengeMessageStore(Settings settings) { - this.prefix = settings.get("ucoinj.auth.challenge.prefix", "ucoinj-challenge-"); - this.validityDurationInSeconds = settings.getAsInt("ucoinj.auth.challengeValidityDuration", 10); + this.prefix = settings.get("duniter4j.auth.challenge.prefix", "duniter4j-challenge-"); + this.validityDurationInSeconds = settings.getAsInt("duniter4j.auth.challengeValidityDuration", 10); this.chalengeMessageCache = initGeneratedMessageCache(); } diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/token/SecurityTokenStore.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/token/SecurityTokenStore.java similarity index 88% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/token/SecurityTokenStore.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/token/SecurityTokenStore.java index 94d9e98f..ff61ad27 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/token/SecurityTokenStore.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/token/SecurityTokenStore.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.security.token; +package org.duniter.elasticsearch.security.token; /* * #%L - * uCoinj :: UI Wicket + * duniter4j :: UI Wicket * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -26,8 +26,8 @@ import com.google.common.base.Preconditions; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.logging.ESLogger; import org.elasticsearch.common.logging.ESLoggerFactory; @@ -48,8 +48,8 @@ public class SecurityTokenStore { @Inject public SecurityTokenStore(Settings settings) { - this.prefix = settings.get("ucoinj.auth.token.prefix", "ucoinj-"); - this.validityDurationInSeconds = settings.getAsInt("ucoinj.auth.tokenValidityDuration", 30*60 /*30min*/ ); + this.prefix = settings.get("duniter4j.auth.token.prefix", "duniter4j-"); + this.validityDurationInSeconds = settings.getAsInt("duniter4j.auth.tokenValidityDuration", 30*60 /*30min*/ ); this.tokenCache = initGeneratedMessageCache(); } diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/BaseIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/BaseIndexerService.java similarity index 96% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/BaseIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/BaseIndexerService.java index e0f9367c..12a0c323 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/BaseIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/BaseIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service; +package org.duniter.elasticsearch.service; /* * #%L @@ -25,10 +25,10 @@ package io.ucoin.ucoinj.elasticsearch.service; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.base.Preconditions; -import io.ucoin.ucoinj.core.beans.Bean; -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.StringUtils; +import org.duniter.core.beans.Bean; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.StringUtils; import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequestBuilder; import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRequestBuilder; import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsResponse; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ElasticSearchService.java similarity index 95% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ElasticSearchService.java index 0b84f165..df87b5ef 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ElasticSearchService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service; +package org.duniter.elasticsearch.service; /* * #%L @@ -24,11 +24,11 @@ package io.ucoin.ucoinj.elasticsearch.service; import com.fasterxml.jackson.databind.ObjectMapper; -import io.ucoin.ucoinj.core.beans.Bean; -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; +import org.duniter.core.beans.Bean; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; import org.elasticsearch.client.Client; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.logging.ESLoggerFactory; @@ -234,7 +234,7 @@ public class ElasticSearchService implements Bean,InitializingBean, Closeable { .put("path.home", config.getBasedir()) .put("path.data", dataDirectory); - if (io.ucoin.ucoinj.core.util.StringUtils.isNotBlank(clusterName)) { + if (StringUtils.isNotBlank(clusterName)) { settings.put("cluster.name", clusterName); } else { diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ExecutorService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ExecutorService.java similarity index 81% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ExecutorService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ExecutorService.java index c0076f33..266d34af 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ExecutorService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ExecutorService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service; +package org.duniter.elasticsearch.service; /* * #%L @@ -23,10 +23,10 @@ package io.ucoin.ucoinj.elasticsearch.service; */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.model.ProgressionModel; -import io.ucoin.ucoinj.elasticsearch.service.task.Job; -import io.ucoin.ucoinj.elasticsearch.service.task.JobVO; +import org.duniter.core.beans.Service; +import org.duniter.core.model.ProgressionModel; +import org.duniter.elasticsearch.service.task.Job; +import org.duniter.elasticsearch.service.task.JobVO; import java.util.List; import java.util.Locale; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ExecutorServiceImpl.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ExecutorServiceImpl.java similarity index 91% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ExecutorServiceImpl.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ExecutorServiceImpl.java index db08101c..7cc58b18 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ExecutorServiceImpl.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ExecutorServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service; +package org.duniter.elasticsearch.service; /* * #%L @@ -31,14 +31,14 @@ import com.google.common.cache.LoadingCache; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.util.concurrent.*; -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.model.ProgressionModel; -import io.ucoin.ucoinj.core.model.ProgressionModelImpl; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.task.Job; -import io.ucoin.ucoinj.elasticsearch.service.task.JobFuture; -import io.ucoin.ucoinj.elasticsearch.service.task.JobVO; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.model.ProgressionModel; +import org.duniter.core.model.ProgressionModelImpl; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.task.Job; +import org.duniter.elasticsearch.service.task.JobFuture; +import org.duniter.elasticsearch.service.task.JobVO; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -127,7 +127,7 @@ public class ExecutorServiceImpl implements ExecutorService, InitializingBean { @Override public void execute(Runnable runnable) { - execute(runnable, "ucoinj|job|" + System.currentTimeMillis(), null, Locale.getDefault(), new ProgressionModelImpl()); + execute(runnable, "duniter4j|job|" + System.currentTimeMillis(), null, Locale.getDefault(), new ProgressionModelImpl()); } @Override @@ -150,7 +150,7 @@ public class ExecutorServiceImpl implements ExecutorService, InitializingBean { // Execute the job shedule(jobId, job, - l(locale, "ucoinj.task.starting"), + l(locale, "duniter4j.task.starting"), locale); return job; @@ -175,7 +175,7 @@ public class ExecutorServiceImpl implements ExecutorService, InitializingBean { // System job String issuer = job.getIssuer(); if (StringUtils.isBlank(issuer)) { - issuer = I18n.t("ucoinj.task.issuer.system"); + issuer = I18n.t("duniter4j.task.issuer.system"); } JobVO jobVO = new JobVO( @@ -228,7 +228,7 @@ public class ExecutorServiceImpl implements ExecutorService, InitializingBean { // Set progression as as 'waiting execution' final ProgressionModel progressionModel = job.getProgressionModel(); progressionModel.setTask(taskMessage); - progressionModel.setMessage(l(locale, "ucoinj.executor.task.waitingExecution")); + progressionModel.setMessage(l(locale, "duniter4j.executor.task.waitingExecution")); progressionModel.setStatus(ProgressionModel.Status.WAITING_EXECUTION); diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ServiceLocator.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ServiceLocator.java similarity index 76% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ServiceLocator.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ServiceLocator.java index 237565bd..d5ecf755 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ServiceLocator.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ServiceLocator.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service; +package org.duniter.elasticsearch.service; /* * #%L @@ -23,17 +23,17 @@ package io.ucoin.ucoinj.elasticsearch.service; */ -import io.ucoin.ucoinj.elasticsearch.service.currency.BlockIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.market.MarketCategoryIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.market.MarketRecordIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCategoryIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryRecordIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCitiesIndexerService; +import org.duniter.elasticsearch.service.currency.BlockIndexerService; +import org.duniter.elasticsearch.service.market.MarketCategoryIndexerService; +import org.duniter.elasticsearch.service.market.MarketRecordIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCategoryIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCurrencyIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryRecordIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCitiesIndexerService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class ServiceLocator extends io.ucoin.ucoinj.core.client.service.ServiceLocator { +public class ServiceLocator extends org.duniter.core.client.service.ServiceLocator { /* Logger */ @@ -45,7 +45,7 @@ public class ServiceLocator extends io.ucoin.ucoinj.core.client.service.ServiceL private static ServiceLocator instance = new ServiceLocator(); static { - io.ucoin.ucoinj.core.client.service.ServiceLocator.setInstance(instance); + org.duniter.core.client.service.ServiceLocator.setInstance(instance); } public static ServiceLocator instance() { diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/currency/BlockIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/currency/BlockIndexerService.java similarity index 93% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/currency/BlockIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/currency/BlockIndexerService.java index af21900e..1812b0be 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/currency/BlockIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/currency/BlockIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.currency; +package org.duniter.elasticsearch.service.currency; /* * #%L @@ -27,28 +27,28 @@ import com.google.common.base.Objects; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.gson.Gson; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.bma.EndpointProtocol; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.bma.gson.JsonAttributeParser; -import io.ucoin.ucoinj.core.client.model.elasticsearch.Currency; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteService; -import io.ucoin.ucoinj.core.client.service.bma.NetworkRemoteService; -import io.ucoin.ucoinj.core.client.service.exception.HttpBadRequestException; -import io.ucoin.ucoinj.core.client.service.exception.JsonSyntaxException; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.model.ProgressionModel; -import io.ucoin.ucoinj.core.model.ProgressionModelImpl; -import io.ucoin.ucoinj.core.util.CollectionUtils; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.exception.DuplicateIndexIdException; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.bma.EndpointProtocol; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.bma.gson.JsonAttributeParser; +import org.duniter.core.client.model.elasticsearch.Currency; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.bma.BlockchainRemoteService; +import org.duniter.core.client.service.bma.NetworkRemoteService; +import org.duniter.core.client.service.exception.HttpBadRequestException; +import org.duniter.core.client.service.exception.JsonSyntaxException; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.model.ProgressionModel; +import org.duniter.core.model.ProgressionModelImpl; +import org.duniter.core.util.CollectionUtils; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.BaseIndexerService; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.service.exception.DuplicateIndexIdException; +import org.duniter.elasticsearch.service.registry.RegistryCurrencyIndexerService; import org.elasticsearch.action.ActionFuture; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.action.bulk.BulkItemResponse; @@ -142,8 +142,8 @@ public class BlockIndexerService extends BaseIndexerService { } String currencyName = parameter.getCurrency(); - progressionModel.setTask(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.task", currencyName, peer.getHost(), peer.getPort())); - log.info(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.task", + progressionModel.setTask(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.task", currencyName, peer.getHost(), peer.getPort())); + log.info(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.task", currencyName, config.getNodeBmaHost(), config.getNodeBmaPort())); // Create index currency if need @@ -196,7 +196,7 @@ public class BlockIndexerService extends BaseIndexerService { // If some blocks are missing, try to get it using other peers if (CollectionUtils.isNotEmpty(missingBlocks)) { - progressionModel.setTask(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.otherPeers.task", currencyName)); + progressionModel.setTask(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.otherPeers.task", currencyName)); missingBlocks = indexMissingBlocksFromOtherPeers(peer, currentBlock, missingBlocks, 1); } @@ -382,7 +382,7 @@ public class BlockIndexerService extends BaseIndexerService { String currencyName = blockCurrencyParser.getValueAsString(json); int number = blockNumberParser.getValueAsInt(json); - log.info(I18n.t("ucoinj.blockIndexerService.indexBlock", currencyName, peer, number)); + log.info(I18n.t("duniter4j.blockIndexerService.indexBlock", currencyName, peer, number)); // Preparing indexBlocksFromNode IndexRequestBuilder indexRequest = getClient().prepareIndex(currencyName, INDEX_TYPE_BLOCK) @@ -648,7 +648,7 @@ public class BlockIndexerService extends BaseIndexerService { if (progressionModel.isCancel()) { progressionModel.setStatus(ProgressionModel.Status.STOPPED); if (log.isInfoEnabled()) { - log.info(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.stopped", peer)); + log.info(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.stopped", peer)); } return missingBlockNumbers; } @@ -691,7 +691,7 @@ public class BlockIndexerService extends BaseIndexerService { if (progressionModel.isCancel()) { progressionModel.setStatus(ProgressionModel.Status.STOPPED); if (log.isInfoEnabled()) { - log.info(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.stopped", currencyName, peer.getUrl())); + log.info(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.stopped", currencyName, peer.getUrl())); } return missingBlockNumbers; } @@ -907,9 +907,9 @@ public class BlockIndexerService extends BaseIndexerService { int pct = (curNumber - firstNumber) * 100 / (lastNumber - firstNumber); progressionModel.setCurrent(pct); - progressionModel.setMessage(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.progress", currencyName, peer, curNumber, lastNumber, pct)); + progressionModel.setMessage(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.progress", currencyName, peer, curNumber, lastNumber, pct)); if (log.isInfoEnabled()) { - log.info(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.progress", currencyName, peer, curNumber, lastNumber, pct)); + log.info(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.progress", currencyName, peer, curNumber, lastNumber, pct)); } } diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/AccessDeniedException.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/AccessDeniedException.java similarity index 91% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/AccessDeniedException.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/AccessDeniedException.java index 8c984799..ce06a30f 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/AccessDeniedException.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/AccessDeniedException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.exception; +package org.duniter.elasticsearch.service.exception; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.elasticsearch.service.exception; */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by Benoit on 03/04/2015. diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/DuplicateIndexIdException.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/DuplicateIndexIdException.java similarity index 91% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/DuplicateIndexIdException.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/DuplicateIndexIdException.java index eb535b14..c0972a95 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/DuplicateIndexIdException.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/DuplicateIndexIdException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.exception; +package org.duniter.elasticsearch.service.exception; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.elasticsearch.service.exception; */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by Benoit on 03/04/2015. diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/InvalidFormatException.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/InvalidFormatException.java similarity index 79% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/InvalidFormatException.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/InvalidFormatException.java index 36966cde..020ee7a4 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/InvalidFormatException.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/InvalidFormatException.java @@ -1,6 +1,6 @@ -package io.ucoin.ucoinj.elasticsearch.service.exception; +package org.duniter.elasticsearch.service.exception; -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by blavenie on 01/03/16. diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/InvalidSignatureException.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/InvalidSignatureException.java similarity index 91% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/InvalidSignatureException.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/InvalidSignatureException.java index fa977061..c6e0c4b6 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/InvalidSignatureException.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/InvalidSignatureException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.exception; +package org.duniter.elasticsearch.service.exception; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.elasticsearch.service.exception; */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by Benoit on 03/04/2015. diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/market/MarketCategoryIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/market/MarketCategoryIndexerService.java similarity index 91% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/market/MarketCategoryIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/market/MarketCategoryIndexerService.java index 2791037e..212d093b 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/market/MarketCategoryIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/market/MarketCategoryIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.market; +package org.duniter.elasticsearch.service.market; /* * #%L @@ -24,18 +24,11 @@ package io.ucoin.ucoinj.elasticsearch.service.market; import com.fasterxml.jackson.core.JsonProcessingException; -import com.google.gson.Gson; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; +import org.duniter.core.exception.TechnicalException; +import org.duniter.elasticsearch.service.BaseIndexerService; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; -import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.index.IndexResponse; -import org.elasticsearch.client.Requests; -import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/market/MarketRecordIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/market/MarketRecordIndexerService.java similarity index 92% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/market/MarketRecordIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/market/MarketRecordIndexerService.java index 312f92dd..4ad5db3d 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/market/MarketRecordIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/market/MarketRecordIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.market; +package org.duniter.elasticsearch.service.market; /* * #%L @@ -27,19 +27,17 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Sets; -import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.elasticsearch.Record; -import io.ucoin.ucoinj.core.client.service.bma.WotRemoteService; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidFormatException; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidSignatureException; +import org.duniter.core.client.model.elasticsearch.Record; +import org.duniter.core.client.service.bma.WotRemoteService; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.BaseIndexerService; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.service.exception.InvalidFormatException; +import org.duniter.elasticsearch.service.exception.InvalidSignatureException; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.index.IndexResponse; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCategoryIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCategoryIndexerService.java similarity index 89% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCategoryIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCategoryIndexerService.java index 24b34ef4..278634cd 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCategoryIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCategoryIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.registry; +package org.duniter.elasticsearch.service.registry; /* * #%L @@ -24,29 +24,20 @@ package io.ucoin.ucoinj.elasticsearch.service.registry; import com.fasterxml.jackson.core.JsonProcessingException; -import com.google.gson.Gson; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.BaseIndexerService; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; -import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.index.IndexResponse; -import org.elasticsearch.client.Requests; -import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; /** * Created by Benoit on 30/03/2015. diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCitiesIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCitiesIndexerService.java similarity index 96% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCitiesIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCitiesIndexerService.java index f674ef44..7eb7759d 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCitiesIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCitiesIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.registry; +package org.duniter.elasticsearch.service.registry; /* * #%L @@ -26,11 +26,11 @@ package io.ucoin.ucoinj.elasticsearch.service.registry; import com.fasterxml.jackson.core.JsonProcessingException; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.BaseIndexerService; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; @@ -54,7 +54,7 @@ public class RegistryCitiesIndexerService extends BaseIndexerService { private static final String CITIES_SOURCE_CLASSPATH_FILE = "cities/countriesToCities.json"; - private static final String CITIES_SOURCE_FILE2 = "/home/blavenie/git/ucoin-io/ucoinj/ucoinj-elasticsearch/src/main/misc/geoflar-communes-2015.geojson"; + private static final String CITIES_SOURCE_FILE2 = "/home/blavenie/git/ucoin-io/duniter4j/duniter4j-elasticsearch/src/main/misc/geoflar-communes-2015.geojson"; public static final String INDEX_NAME = "registry"; public static final String INDEX_TYPE = "city"; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCurrencyIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCurrencyIndexerService.java similarity index 95% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCurrencyIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCurrencyIndexerService.java index f99cbfd2..087e6a5f 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCurrencyIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCurrencyIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.registry; +package org.duniter.elasticsearch.service.registry; /* * #%L @@ -27,22 +27,22 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.gson.Gson; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.elasticsearch.Currency; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteService; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.elasticsearch.model.SearchResult; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.currency.BlockIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.exception.AccessDeniedException; -import io.ucoin.ucoinj.elasticsearch.service.exception.DuplicateIndexIdException; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidSignatureException; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.elasticsearch.Currency; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.bma.BlockchainRemoteService; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.ObjectUtils; +import org.duniter.elasticsearch.model.SearchResult; +import org.duniter.elasticsearch.service.BaseIndexerService; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.service.currency.BlockIndexerService; +import org.duniter.elasticsearch.service.exception.AccessDeniedException; +import org.duniter.elasticsearch.service.exception.DuplicateIndexIdException; +import org.duniter.elasticsearch.service.exception.InvalidSignatureException; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ArrayUtils; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryRecordIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryRecordIndexerService.java similarity index 92% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryRecordIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryRecordIndexerService.java index 8cba7acd..8daf712d 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryRecordIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryRecordIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.registry; +package org.duniter.elasticsearch.service.registry; /* * #%L @@ -29,17 +29,17 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Sets; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.elasticsearch.Record; -import io.ucoin.ucoinj.core.client.service.bma.WotRemoteService; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidFormatException; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidSignatureException; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.elasticsearch.Record; +import org.duniter.core.client.service.bma.WotRemoteService; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.BaseIndexerService; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.service.exception.InvalidFormatException; +import org.duniter.elasticsearch.service.exception.InvalidSignatureException; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.index.IndexResponse; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/Job.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/Job.java similarity index 91% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/Job.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/Job.java index a1d7be77..dccfc4a5 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/Job.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/Job.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.task; +package org.duniter.elasticsearch.service.task; /* * #%L @@ -24,10 +24,10 @@ package io.ucoin.ucoinj.elasticsearch.service.task; * #L% */ -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.model.ProgressionModel; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.model.ProgressionModel; +import org.duniter.core.util.ObjectUtils; +import org.duniter.elasticsearch.config.Configuration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -152,7 +152,7 @@ public class Job implements java.lang.Runnable { protected void onSuccess() { progressionModel.setCurrent(100); progressionModel.setTask(""); - progressionModel.setMessage(t("ucoinj.job.success")); + progressionModel.setMessage(t("duniter4j.job.success")); progressionModel.setStatus(ProgressionModel.Status.SUCCESS); } @@ -162,9 +162,9 @@ public class Job implements java.lang.Runnable { protected void checkJobInterruption() { if (this.interrupted) { if (log.isInfoEnabled()) { - log.info(t("ucoinj.job.stopping")); + log.info(t("duniter4j.job.stopping")); } - throw new TechnicalException(t("ucoinj.job.stopped"), new InterruptedException()); + throw new TechnicalException(t("duniter4j.job.stopped"), new InterruptedException()); } } diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/JobFuture.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/JobFuture.java similarity index 97% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/JobFuture.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/JobFuture.java index 09c0cd39..92a202f5 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/JobFuture.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/JobFuture.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.task; +package org.duniter.elasticsearch.service.task; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/JobVO.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/JobVO.java similarity index 95% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/JobVO.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/JobVO.java index b240eb98..5e58be60 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/JobVO.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/JobVO.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.task; +package org.duniter.elasticsearch.service.task; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/Desktop.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/Desktop.java similarity index 94% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/Desktop.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/Desktop.java index 6c981a20..670ad02f 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/Desktop.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/Desktop.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util; +package org.duniter.elasticsearch.util; /* * #%L @@ -25,7 +25,7 @@ package io.ucoin.ucoinj.elasticsearch.util; */ -import io.ucoin.ucoinj.elasticsearch.util.os.win.WindowsPower; +import org.duniter.elasticsearch.util.os.win.WindowsPower; import org.apache.commons.lang3.SystemUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/DesktopPower.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/DesktopPower.java similarity index 96% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/DesktopPower.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/DesktopPower.java index 5228126a..70030d4c 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/DesktopPower.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/DesktopPower.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util; +package org.duniter.elasticsearch.util; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/WindowsPower.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/WindowsPower.java similarity index 92% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/WindowsPower.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/WindowsPower.java index 8e03e46d..eff63820 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/WindowsPower.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/WindowsPower.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win; +package org.duniter.elasticsearch.util.os.win; /* * #%L @@ -31,13 +31,13 @@ import com.sun.jna.platform.win32.WinDef.*; import com.sun.jna.platform.win32.WinUser.HHOOK; import com.sun.jna.platform.win32.WinUser.HOOKPROC; import com.sun.jna.platform.win32.WinUser.MSG; -import io.ucoin.ucoinj.elasticsearch.util.DesktopPower; -import io.ucoin.ucoinj.elasticsearch.util.os.win.handle.CWPSSTRUCT; -import io.ucoin.ucoinj.elasticsearch.util.os.win.handle.HANDLER_ROUTINE; -import io.ucoin.ucoinj.elasticsearch.util.os.win.handle.WNDPROC; -import io.ucoin.ucoinj.elasticsearch.util.os.win.libs.Kernel32Ex; -import io.ucoin.ucoinj.elasticsearch.util.os.win.wrap.GetLastErrorException; -import io.ucoin.ucoinj.elasticsearch.util.os.win.wrap.WNDCLASSEXWrap; +import org.duniter.elasticsearch.util.DesktopPower; +import org.duniter.elasticsearch.util.os.win.handle.CWPSSTRUCT; +import org.duniter.elasticsearch.util.os.win.handle.HANDLER_ROUTINE; +import org.duniter.elasticsearch.util.os.win.handle.WNDPROC; +import org.duniter.elasticsearch.util.os.win.libs.Kernel32Ex; +import org.duniter.elasticsearch.util.os.win.wrap.GetLastErrorException; +import org.duniter.elasticsearch.util.os.win.wrap.WNDCLASSEXWrap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/CWPSSTRUCT.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/CWPSSTRUCT.java similarity index 95% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/CWPSSTRUCT.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/CWPSSTRUCT.java index 96ecbcc3..671a1e23 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/CWPSSTRUCT.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/CWPSSTRUCT.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win.handle; +package org.duniter.elasticsearch.util.os.win.handle; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java similarity index 94% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java index 65a71c00..5995d47b 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win.handle; +package org.duniter.elasticsearch.util.os.win.handle; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/WNDPROC.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/WNDPROC.java similarity index 95% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/WNDPROC.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/WNDPROC.java index 92175f6e..113d77ae 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/WNDPROC.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/WNDPROC.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win.handle; +package org.duniter.elasticsearch.util.os.win.handle; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/libs/Kernel32Ex.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/libs/Kernel32Ex.java similarity index 92% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/libs/Kernel32Ex.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/libs/Kernel32Ex.java index c5f3a3f1..ffcfa722 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/libs/Kernel32Ex.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/libs/Kernel32Ex.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win.libs; +package org.duniter.elasticsearch.util.os.win.libs; /* * #%L @@ -27,7 +27,7 @@ package io.ucoin.ucoinj.elasticsearch.util.os.win.libs; import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.win32.W32APIOptions; -import io.ucoin.ucoinj.elasticsearch.util.os.win.handle.HANDLER_ROUTINE; +import org.duniter.elasticsearch.util.os.win.handle.HANDLER_ROUTINE; public interface Kernel32Ex extends Library { diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/wrap/GetLastErrorException.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/wrap/GetLastErrorException.java similarity index 95% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/wrap/GetLastErrorException.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/wrap/GetLastErrorException.java index 0ad62eb8..29f3e87c 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/wrap/GetLastErrorException.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/wrap/GetLastErrorException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win.wrap; +package org.duniter.elasticsearch.util.os.win.wrap; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java similarity index 94% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java index c1c7c699..a50d8c1a 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win.wrap; +package org.duniter.elasticsearch.util.os.win.wrap; /* * #%L @@ -29,7 +29,7 @@ import com.sun.jna.platform.win32.User32; import com.sun.jna.platform.win32.WinDef.ATOM; import com.sun.jna.platform.win32.WinDef.HINSTANCE; import com.sun.jna.platform.win32.WinUser; -import io.ucoin.ucoinj.elasticsearch.util.os.win.handle.WNDPROC; +import org.duniter.elasticsearch.util.os.win.handle.WNDPROC; public class WNDCLASSEXWrap { diff --git a/ucoinj-elasticsearch/src/main/misc/cities-fr.geoJson.txt b/duniter4j-elasticsearch/src/main/misc/cities-fr.geoJson.txt similarity index 100% rename from ucoinj-elasticsearch/src/main/misc/cities-fr.geoJson.txt rename to duniter4j-elasticsearch/src/main/misc/cities-fr.geoJson.txt diff --git a/ucoinj-elasticsearch/src/main/misc/registry-categories-naf2008_liste_n5.ods b/duniter4j-elasticsearch/src/main/misc/registry-categories-naf2008_liste_n5.ods similarity index 100% rename from ucoinj-elasticsearch/src/main/misc/registry-categories-naf2008_liste_n5.ods rename to duniter4j-elasticsearch/src/main/misc/registry-categories-naf2008_liste_n5.ods diff --git a/duniter4j-elasticsearch/src/main/resources/META-INF/services/org.duniter.core.beans.Bean b/duniter4j-elasticsearch/src/main/resources/META-INF/services/org.duniter.core.beans.Bean new file mode 100644 index 00000000..4f29772a --- /dev/null +++ b/duniter4j-elasticsearch/src/main/resources/META-INF/services/org.duniter.core.beans.Bean @@ -0,0 +1,22 @@ +org.duniter.core.client.service.bma.BlockchainRemoteServiceImpl +org.duniter.core.client.service.bma.NetworkRemoteServiceImpl +org.duniter.core.client.service.bma.WotRemoteServiceImpl +org.duniter.core.client.service.bma.TransactionRemoteServiceImpl +org.duniter.core.client.service.elasticsearch.CurrencyRegistryRemoteServiceImpl +org.duniter.core.service.Ed25519CryptoServiceImpl +org.duniter.core.client.service.HttpServiceImpl +org.duniter.core.client.service.DataContext +org.duniter.core.client.service.local.PeerServiceImpl +org.duniter.core.client.service.local.CurrencyServiceImpl +org.duniter.core.client.dao.mem.MemoryCurrencyDaoImpl +org.duniter.core.client.dao.mem.MemoryPeerDaoImpl +org.duniter.elasticsearch.service.ElasticSearchService +org.duniter.elasticsearch.service.currency.BlockIndexerService +org.duniter.elasticsearch.service.ExecutorServiceImpl +org.duniter.elasticsearch.service.market.MarketRecordIndexerService +org.duniter.elasticsearch.service.market.MarketCategoryIndexerService +org.duniter.elasticsearch.service.registry.RegistryCurrencyIndexerService +org.duniter.elasticsearch.service.registry.RegistryRecordIndexerService +org.duniter.elasticsearch.service.registry.RegistryCategoryIndexerService +org.duniter.elasticsearch.service.registry.RegistryCitiesIndexerService + diff --git a/duniter4j-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider b/duniter4j-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider new file mode 100644 index 00000000..f70e2417 --- /dev/null +++ b/duniter4j-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider @@ -0,0 +1 @@ +org.duniter.elasticsearch.config.ConfigurationProvider diff --git a/duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties b/duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties new file mode 100644 index 00000000..77a2c0ae --- /dev/null +++ b/duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties @@ -0,0 +1,51 @@ +duniter4j-elasticsearch.config= +duniter4j.blockIndexerService.indexBlock=[%s] [%s] Indexing block \#%s +duniter4j.blockIndexerService.indexLastBlocks.otherPeers.task=Indexing missing blocks of [%s] from other peers +duniter4j.blockIndexerService.indexLastBlocks.progress=[%s] [%s] Indexing block \#%s / %s (%s%%)... +duniter4j.blockIndexerService.indexLastBlocks.stopped=[%s] [%s] Indexing last block - stopped +duniter4j.blockIndexerService.indexLastBlocks.task=Indexing last blocks of [%s] from peer [%s\:%s]... +duniter4j.config.option.basedir.description= +duniter4j.config.option.cache.directory.description= +duniter4j.config.option.data.directory.description= +duniter4j.config.option.elasticsearch.bulk.enable.description= +duniter4j.config.option.elasticsearch.bulk.size.description= +duniter4j.config.option.elasticsearch.cluster.name.description= +duniter4j.config.option.elasticsearch.embedded.enable.description= +duniter4j.config.option.elasticsearch.host.description= +duniter4j.config.option.elasticsearch.local.description= +duniter4j.config.option.i18n.directory.description= +duniter4j.config.option.i18n.locale.description= +duniter4j.config.option.index.parallel_processing.description= +duniter4j.config.option.node.elasticsearch.cluster.name.description= +duniter4j.config.option.node.elasticsearch.clusterName.description= +duniter4j.config.option.node.elasticsearch.embeddeb.description= +duniter4j.config.option.node.elasticsearch.embeddeb.http.description= +duniter4j.config.option.node.elasticsearch.embeddeb.local.description= +duniter4j.config.option.node.elasticsearch.embedded.enable.description= +duniter4j.config.option.node.elasticsearch.embedded.http.enable.description= +duniter4j.config.option.node.elasticsearch.embedded.local.description= +duniter4j.config.option.node.elasticsearch.host.description= +duniter4j.config.option.node.elasticsearch.http.enable.description= +duniter4j.config.option.node.elasticsearch.local.clusterName.description= +duniter4j.config.option.node.elasticsearch.local.description= +duniter4j.config.option.node.elasticsearch.port.description= +duniter4j.config.option.node.elasticsearch.protocol.description= +duniter4j.config.option.node.elasticsearch.rest.host.description= +duniter4j.config.option.node.elasticsearch.rest.port.description= +duniter4j.config.option.node.elasticsearch.rest.protocol.description= +duniter4j.config.option.node.elasticsearch.rest.url.description= +duniter4j.config.option.node.host.description= +duniter4j.config.option.node.port.description= +duniter4j.config.option.node.protocol.description= +duniter4j.config.option.plugins.directory.description= +duniter4j.config.option.taskExecutor.queueCapacity.description= +duniter4j.config.option.tasks.queueCapacity.description= +duniter4j.config.option.tmp.directory.description= +duniter4j.config.option.version.description= +duniter4j.config.parse.error= +duniter4j.executor.task.waitingExecution= +duniter4j.job.stopped= +duniter4j.job.stopping= +duniter4j.job.success= +duniter4j.task.issuer.system=System +duniter4j.task.starting=Starting task... diff --git a/duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties b/duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties new file mode 100644 index 00000000..9a9c287b --- /dev/null +++ b/duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties @@ -0,0 +1,51 @@ +duniter4j-elasticsearch.config= +duniter4j.blockIndexerService.indexBlock=[%s] [%s] Indexing block \#%s +duniter4j.blockIndexerService.indexLastBlocks.otherPeers.task=Indexing missing blocks of [%s] from other peers +duniter4j.blockIndexerService.indexLastBlocks.progress=[%s] [%s] Indexing block \#%s / %s (%s%%)... +duniter4j.blockIndexerService.indexLastBlocks.stopped=[%s] [%s] Indexing last block - stopped +duniter4j.blockIndexerService.indexLastBlocks.task=Indexing last blocks of [%s] from peer [%s\:%s]... +duniter4j.config.option.basedir.description= +duniter4j.config.option.cache.directory.description= +duniter4j.config.option.data.directory.description= +duniter4j.config.option.elasticsearch.bulk.enable.description= +duniter4j.config.option.elasticsearch.bulk.size.description= +duniter4j.config.option.elasticsearch.cluster.name.description= +duniter4j.config.option.elasticsearch.embedded.enable.description= +duniter4j.config.option.elasticsearch.host.description= +duniter4j.config.option.elasticsearch.local.description= +duniter4j.config.option.i18n.directory.description= +duniter4j.config.option.i18n.locale.description= +duniter4j.config.option.index.parallel_processing.description= +duniter4j.config.option.node.elasticsearch.cluster.name.description= +duniter4j.config.option.node.elasticsearch.clusterName.description= +duniter4j.config.option.node.elasticsearch.embeddeb.description= +duniter4j.config.option.node.elasticsearch.embeddeb.http.description= +duniter4j.config.option.node.elasticsearch.embeddeb.local.description= +duniter4j.config.option.node.elasticsearch.embedded.enable.description= +duniter4j.config.option.node.elasticsearch.embedded.http.enable.description= +duniter4j.config.option.node.elasticsearch.embedded.local.description= +duniter4j.config.option.node.elasticsearch.host.description= +duniter4j.config.option.node.elasticsearch.http.enable.description= +duniter4j.config.option.node.elasticsearch.local.clusterName.description= +duniter4j.config.option.node.elasticsearch.local.description= +duniter4j.config.option.node.elasticsearch.port.description= +duniter4j.config.option.node.elasticsearch.protocol.description= +duniter4j.config.option.node.elasticsearch.rest.host.description= +duniter4j.config.option.node.elasticsearch.rest.port.description= +duniter4j.config.option.node.elasticsearch.rest.protocol.description= +duniter4j.config.option.node.elasticsearch.rest.url.description= +duniter4j.config.option.node.host.description= +duniter4j.config.option.node.port.description= +duniter4j.config.option.node.protocol.description= +duniter4j.config.option.plugins.directory.description= +duniter4j.config.option.taskExecutor.queueCapacity.description= +duniter4j.config.option.tasks.queueCapacity.description= +duniter4j.config.option.tmp.directory.description= +duniter4j.config.option.version.description= +duniter4j.config.parse.error= +duniter4j.executor.task.waitingExecution= +duniter4j.job.stopped= +duniter4j.job.stopping= +duniter4j.job.success= +duniter4j.task.issuer.system=Système +duniter4j.task.starting=Démarrage du traitement... diff --git a/ucoinj-elasticsearch/src/main/resources/market-categories-bulk-insert.json b/duniter4j-elasticsearch/src/main/resources/market-categories-bulk-insert.json similarity index 100% rename from ucoinj-elasticsearch/src/main/resources/market-categories-bulk-insert.json rename to duniter4j-elasticsearch/src/main/resources/market-categories-bulk-insert.json diff --git a/ucoinj-elasticsearch/src/main/resources/registry-categories-bulk-insert.json b/duniter4j-elasticsearch/src/main/resources/registry-categories-bulk-insert.json similarity index 100% rename from ucoinj-elasticsearch/src/main/resources/registry-categories-bulk-insert.json rename to duniter4j-elasticsearch/src/main/resources/registry-categories-bulk-insert.json diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/elasticsearch.yml b/duniter4j-elasticsearch/src/test/es-home/config/elasticsearch.yml similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/elasticsearch.yml rename to duniter4j-elasticsearch/src/test/es-home/config/elasticsearch.yml diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/logging.yml b/duniter4j-elasticsearch/src/test/es-home/config/logging.yml similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/logging.yml rename to duniter4j-elasticsearch/src/test/es-home/config/logging.yml diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/logging.yml b/duniter4j-elasticsearch/src/test/es-home/config/shield/logging.yml similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/logging.yml rename to duniter4j-elasticsearch/src/test/es-home/config/shield/logging.yml diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/role_mapping.yml b/duniter4j-elasticsearch/src/test/es-home/config/shield/role_mapping.yml similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/role_mapping.yml rename to duniter4j-elasticsearch/src/test/es-home/config/shield/role_mapping.yml diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/roles.yml b/duniter4j-elasticsearch/src/test/es-home/config/shield/roles.yml similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/roles.yml rename to duniter4j-elasticsearch/src/test/es-home/config/shield/roles.yml diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/users b/duniter4j-elasticsearch/src/test/es-home/config/shield/users similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/users rename to duniter4j-elasticsearch/src/test/es-home/config/shield/users diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/users_roles b/duniter4j-elasticsearch/src/test/es-home/config/shield/users_roles similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/users_roles rename to duniter4j-elasticsearch/src/test/es-home/config/shield/users_roles diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch-access.log b/duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch-access.log similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch-access.log rename to duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch-access.log diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch.log b/duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch.log similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch.log rename to duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch.log diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch_deprecation.log b/duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch_deprecation.log similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch_deprecation.log rename to duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch_deprecation.log diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch_index_indexing_slowlog.log b/duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch_index_indexing_slowlog.log similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch_index_indexing_slowlog.log rename to duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch_index_indexing_slowlog.log diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch_index_search_slowlog.log b/duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch_index_search_slowlog.log similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch_index_search_slowlog.log rename to duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch_index_search_slowlog.log diff --git a/ucoinj-elasticsearch-plugin/LICENSE b/duniter4j-elasticsearch/src/test/es-home/plugins/ucoinj-elasticsearch/LICENSE similarity index 100% rename from ucoinj-elasticsearch-plugin/LICENSE rename to duniter4j-elasticsearch/src/test/es-home/plugins/ucoinj-elasticsearch/LICENSE diff --git a/duniter4j-elasticsearch/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties b/duniter4j-elasticsearch/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties new file mode 100644 index 00000000..b79e0531 --- /dev/null +++ b/duniter4j-elasticsearch/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties @@ -0,0 +1,9 @@ +name=duniter4j-elasticsearch +description=duniter4j :: ElasticSearch Plugin +version=0.1-SNAPSHOT +site=false +jvm=true +classname=io.ucoin.duniter4j.elasticsearch.plugin.Plugin +java.version=1.7 +elasticsearch.version=2.3.1 +isolated=false \ No newline at end of file diff --git a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/TestFixtures.java b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/TestFixtures.java similarity index 87% rename from ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/TestFixtures.java rename to duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/TestFixtures.java index eeb1c1e1..36f09330 100644 --- a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/TestFixtures.java +++ b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/TestFixtures.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch; +package org.duniter.elasticsearch; /* * #%L @@ -23,6 +23,6 @@ package io.ucoin.ucoinj.elasticsearch; */ -public class TestFixtures extends io.ucoin.ucoinj.core.test.TestFixtures{ +public class TestFixtures extends org.duniter.core.test.TestFixtures { } diff --git a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/TestResource.java b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/TestResource.java similarity index 91% rename from ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/TestResource.java rename to duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/TestResource.java index 8ff2d538..bd9114cb 100644 --- a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/TestResource.java +++ b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/TestResource.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch; +package org.duniter.elasticsearch; /* * #%L @@ -24,9 +24,9 @@ package io.ucoin.ucoinj.elasticsearch; import com.google.common.collect.Lists; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.config.ConfigurationOption; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.config.ConfigurationOption; import org.apache.commons.io.FileUtils; import org.junit.runner.Description; import org.nuiton.i18n.I18n; @@ -40,7 +40,7 @@ import java.io.IOException; import java.util.List; import java.util.Locale; -public class TestResource extends io.ucoin.ucoinj.core.test.TestResource { +public class TestResource extends org.duniter.core.test.TestResource { private static final Logger log = LoggerFactory.getLogger(TestResource.class); @@ -82,11 +82,11 @@ public class TestResource extends io.ucoin.ucoinj.core.test.TestResource { * @return the prefix to use to retrieve configuration files */ protected String getConfigFilesPrefix() { - return "ucoinj-elasticsearch-test"; + return "duniter4j-elasticsearch-test"; } protected String getI18nBundleName() { - return "ucoinj-elasticsearch-i18n"; + return "duniter4j-elasticsearch-i18n"; } /* -- -- */ diff --git a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/service/RegistryRecordIndexerServiceTest.java b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/service/RegistryRecordIndexerServiceTest.java similarity index 89% rename from ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/service/RegistryRecordIndexerServiceTest.java rename to duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/service/RegistryRecordIndexerServiceTest.java index 7a439360..223141eb 100644 --- a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/service/RegistryRecordIndexerServiceTest.java +++ b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/service/RegistryRecordIndexerServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service; +package org.duniter.elasticsearch.service; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.elasticsearch.service; * #L% */ -import io.ucoin.ucoinj.elasticsearch.TestResource; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryRecordIndexerService; +import org.duniter.elasticsearch.TestResource; +import org.duniter.elasticsearch.service.registry.RegistryRecordIndexerService; import org.junit.Before; import org.junit.ClassRule; import org.junit.Test; diff --git a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/service/currency/BlockIndexerServiceTest.java b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/service/currency/BlockIndexerServiceTest.java similarity index 92% rename from ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/service/currency/BlockIndexerServiceTest.java rename to duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/service/currency/BlockIndexerServiceTest.java index 189deec3..247a7502 100644 --- a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/service/currency/BlockIndexerServiceTest.java +++ b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/service/currency/BlockIndexerServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.currency; +package org.duniter.elasticsearch.service.currency; /* * #%L @@ -23,12 +23,12 @@ package io.ucoin.ucoinj.elasticsearch.service.currency; */ -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteService; -import io.ucoin.ucoinj.elasticsearch.TestResource; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.bma.BlockchainRemoteService; +import org.duniter.elasticsearch.TestResource; +import org.duniter.elasticsearch.service.ServiceLocator; import org.junit.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/duniter4j-elasticsearch/src/test/resources/META-INF/services/org.duniter.core.beans.Bean b/duniter4j-elasticsearch/src/test/resources/META-INF/services/org.duniter.core.beans.Bean new file mode 100644 index 00000000..e9859d08 --- /dev/null +++ b/duniter4j-elasticsearch/src/test/resources/META-INF/services/org.duniter.core.beans.Bean @@ -0,0 +1,13 @@ +org.duniter.core.client.service.bma.BlockchainRemoteServiceImpl +org.duniter.core.client.service.bma.NetworkRemoteServiceImpl +org.duniter.core.client.service.bma.WotRemoteServiceImpl +org.duniter.core.client.service.bma.TransactionRemoteServiceImpl +org.duniter.core.service.Ed25519CryptoServiceImpl +org.duniter.core.client.service.HttpServiceImpl +org.duniter.core.client.service.DataContext +org.duniter.core.client.service.local.PeerServiceImpl +org.duniter.core.client.service.local.CurrencyServiceImpl +org.duniter.core.client.dao.mem.MemoryCurrencyDaoImpl +org.duniter.core.client.dao.mem.MemoryPeerDaoImpl +org.duniter.elasticsearch.service.ElasticSearchService +org.duniter.elasticsearch.service.registry.RegistryCurrencyIndexerService \ No newline at end of file diff --git a/duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-localhost-node.properties b/duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-localhost-node.properties new file mode 100644 index 00000000..38d7a5d9 --- /dev/null +++ b/duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-localhost-node.properties @@ -0,0 +1,12 @@ +duniter4j.node.host=metab.ucoin.fr +duniter4j.node.port=9201 + +duniter4j.elasticsearch.embedded.enable=false +duniter4j.elasticsearch.local=fals +duniter4j.elasticsearch.http.enable=false +duniter4j.elasticsearch.cluster.name=duniter4j-elacticsearch-test + +#duniter4j.elasticsearch.cluster.name=duniter4j-elacticsearch + +duniter4j.elasticsearch.host=localhost +duniter4j.elasticsearch.port=9300 diff --git a/duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-test.properties b/duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-test.properties new file mode 100644 index 00000000..27e326f1 --- /dev/null +++ b/duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-test.properties @@ -0,0 +1,16 @@ +duniter4j.node.host=metab.ucoin.fr +duniter4j.node.port=9201 + +duniter4j.basedir=target/es-home + +#duniter4j.elasticsearch.data +#duniter4j.elasticsearch.embedded.enable=true +duniter4j.elasticsearch.local=false +duniter4j.elasticsearch.http.enable=true +duniter4j.elasticsearch.cluster.name=duniter4j-elasticsearch + +#duniter4j.elasticsearch.cluster.name=duniter4j-elacticsearch + +duniter4j.elasticsearch.embedded.enable=false +duniter4j.elasticsearch.host=192.168.0.5 +duniter4j.elasticsearch.port=9300 diff --git a/ucoinj-elasticsearch/src/test/resources/log4j.properties b/duniter4j-elasticsearch/src/test/resources/log4j.properties similarity index 61% rename from ucoinj-elasticsearch/src/test/resources/log4j.properties rename to duniter4j-elasticsearch/src/test/resources/log4j.properties index 983dbe9f..2712b72e 100644 --- a/ucoinj-elasticsearch/src/test/resources/log4j.properties +++ b/duniter4j-elasticsearch/src/test/resources/log4j.properties @@ -7,12 +7,11 @@ log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p (%c:%L) - [%t] %m%n -# uCoinj levels -log4j.logger.io.ucoin=INFO -log4j.logger.io.ucoin.ucoinj.elasticsearch=DEBUG -#log4j.logger.io.ucoin.ucoinj=DEBUG -#log4j.logger.io.ucoin.ucoinj.core=WARN -#log4j.logger.io.ucoin.ucoinj.elasticsearch=DEBUG +# duniter4j levels +log4j.logger.org.duniter=INFO +#log4j.logger.org.duniter=DEBUG +log4j.logger.org.duniter.core=WARN +log4j.logger.org.duniter.elasticsearch=DEBUG # Other frameworks levels log4j.logger.org.elasticsearch=INFO diff --git a/ucoinj-elasticsearch/src/test/resources/registry-test-records.json b/duniter4j-elasticsearch/src/test/resources/registry-test-records.json similarity index 100% rename from ucoinj-elasticsearch/src/test/resources/registry-test-records.json rename to duniter4j-elasticsearch/src/test/resources/registry-test-records.json diff --git a/pom.xml b/pom.xml index b0ec7351..fd45639b 100644 --- a/pom.xml +++ b/pom.xml @@ -1,8 +1,8 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj</artifactId> + <groupId>org.duniter</groupId> + <artifactId>duniter4j</artifactId> <version>0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>UCoin Java Client</name> @@ -33,17 +33,9 @@ <nuitonI18nVersion>3.3</nuitonI18nVersion> <!-- UI versions --> - <wicket.version>7.0.0-M5</wicket.version> - <wicketstuff.version>7.0.0-M5</wicketstuff.version> - <jquery-ui.version>7.0.0-M5</jquery-ui.version> <spring.version>4.2.1.RELEASE</spring.version> - <spring-security.version>4.0.2.RELEASE</spring-security.version> <aspectj.version>1.8.7</aspectj.version> - <yuicompressor-maven-plugin.version>1.3.0</yuicompressor-maven-plugin.version> - <htmlcompressor-maven-plugin.version>1.3</htmlcompressor-maven-plugin.version> - <servlet-api.version>2.5</servlet-api.version> - <!-- Unit test --> <junit.version>4.12</junit.version> <jetty.version>9.0.4.v20130625</jetty.version> @@ -88,10 +80,10 @@ <distribution.site.repository>scp://${distribution.site.host}/var/www</distribution.site.repository> <distribution.site.projectId>reefdb</distribution.site.projectId> <distribution.repository.id>eis-nexus-deploy</distribution.repository.id> - <distribution.repository.url>http://nexus.e-is.pro/nexus/content/repositories/ucoinj-releases</distribution.repository.url> + <distribution.repository.url>http://nexus.e-is.pro/nexus/content/repositories/duniter4j-releases</distribution.repository.url> <distribution.internet.url>${distribution.repository.url}</distribution.internet.url> <distribution.snapshotRepository.id>eis-nexus-deploy</distribution.snapshotRepository.id> - <distribution.snapshotRepository.url>http://nexus.e-is.pro/nexus/content/repositories/ucoinj-snapshots</distribution.snapshotRepository.url> + <distribution.snapshotRepository.url>http://nexus.e-is.pro/nexus/content/repositories/duniter4j-snapshots</distribution.snapshotRepository.url> <github.global.server>github</github.global.server> </properties> @@ -107,34 +99,24 @@ <inceptionYear>2014</inceptionYear> <modules> - <module>ucoinj-core-shared</module> - <module>ucoinj-core-client</module> - <module>ucoinj-elasticsearch</module> - <module>ucoinj-ui-wicket</module> - <module>ucoinj-elasticsearch-plugin</module> - <module>ucoinj-cesium</module> + <module>duniter4j-core-shared</module> + <module>duniter4j-core-client</module> + <module>duniter4j-elasticsearch</module> </modules> <scm> - <url>https://github.com/ucoin-io/ucoinj/</url> - <connection>scm:svn:https://github.com/ucoin-io/ucoinj/</connection> - <developerConnection>scm:svn:https://github.com/ucoin-io/ucoinj/</developerConnection> + <url>https://github.com/ucoin-io/duniter4j/</url> + <connection>scm:svn:https://github.com/ucoin-io/duniter4j/</connection> + <developerConnection>scm:svn:https://github.com/ucoin-io/duniter4j/</developerConnection> </scm> <issueManagement> <system>GitHub</system> - <url>https://github.com/ucoin-io/ucoinj/issues</url> + <url>https://github.com/ucoin-io/duniter4j/issues</url> </issueManagement> <dependencyManagement> <dependencies> - - <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> @@ -558,8 +540,8 @@ <!-- Repositories needed to find the dependencies --> <repositories> <repository> - <id>ucoinj-public-group</id> - <url>http://nexus.e-is.pro/nexus/content/groups/ucoinj</url> + <id>duniter4j-public-group</id> + <url>http://nexus.e-is.pro/nexus/content/groups/duniter4j</url> <snapshots> <enabled>true</enabled> <checksumPolicy>fail</checksumPolicy> @@ -657,7 +639,7 @@ <properties> <exec.mainClass>${maven.jar.main.class}</exec.mainClass> <exec.classpathScope>runtime</exec.classpathScope> - <ucoinj.log.file>${project.build.directory}/exec.log</ucoinj.log.file> + <duniter4j.log.file>${project.build.directory}/exec.log</duniter4j.log.file> </properties> </profile> @@ -842,7 +824,7 @@ <escapeHTML>false</escapeHTML> <feedType>rss_2.0</feedType> <issueLinkTemplatePerSystem> - <default>https://github.com/blavenie/ucoinj/issues/%ISSUE%</default> + <default>https://github.com/blavenie/duniter4j/issues/%ISSUE%</default> </issueLinkTemplatePerSystem> </configuration> </plugin> @@ -875,7 +857,7 @@ </reportSet> </reportSets> <configuration> - <i18nBundleName>ucoinj-i18n</i18nBundleName> + <i18nBundleName>duniter4j-i18n</i18nBundleName> <verbose>true</verbose> <showOptionDetail>true</showOptionDetail> <outputEncoding>UTF-8</outputEncoding> diff --git a/ucoinj-cesium/README.md b/ucoinj-cesium/README.md deleted file mode 100644 index 6c556ca8..00000000 --- a/ucoinj-cesium/README.md +++ /dev/null @@ -1,10 +0,0 @@ -uCoinj Cesium -============= - -## Test it - - -```bash -cd src/main/cesium -ionic serve -``` diff --git a/ucoinj-cesium/pom.xml b/ucoinj-cesium/pom.xml deleted file mode 100644 index 03c37937..00000000 --- a/ucoinj-cesium/pom.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <artifactId>ucoinj</artifactId> - <groupId>io.ucoin</groupId> - <version>0.1-SNAPSHOT</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>ucoinj-cesium</artifactId> - -</project> \ No newline at end of file diff --git a/ucoinj-cesium/redirector.out b/ucoinj-cesium/redirector.out deleted file mode 100644 index 9b926907..00000000 --- a/ucoinj-cesium/redirector.out +++ /dev/null @@ -1,18 +0,0 @@ -[1m[32mRunning live reload server:[39m[22m undefined -[1m[32mWatching:[39m[22m 0=www/**/*, 1=!www/lib/**/* -[1m[32mRunning dev server: [39m[22m http://localhost:8100 -[1m[32mIonic server commands, enter:[39m[22m - restart[32m or [39mr[32m to restart the client app from the root[39m - goto[32m or [39mg[32m and a url to have the app navigate to the given url[39m - consolelogs[32m or [39mc[32m to enable/disable console log output[39m - serverlogs[32m or [39ms[32m to enable/disable server log output[39m - quit[32m or [39mq[32m to shutdown the server and exit[39m - -ionic $ [1m[32mIonic server commands, enter:[39m[22m - restart[32m or [39mr[32m to restart the client app from the root[39m - goto[32m or [39mg[32m and a url to have the app navigate to the given url[39m - consolelogs[32m or [39mc[32m to enable/disable console log output[39m - serverlogs[32m or [39ms[32m to enable/disable server log output[39m - quit[32m or [39mq[32m to shutdown the server and exit[39m - -ionic $ \ No newline at end of file diff --git a/ucoinj-cesium/src/main/cesium b/ucoinj-cesium/src/main/cesium deleted file mode 160000 index 740da406..00000000 --- a/ucoinj-cesium/src/main/cesium +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 740da406a9b2f3c72f5c31bb7ad4a42c18e212c5 diff --git a/ucoinj-core-client/i18n/ucoinj-core-client-i18n-definition.properties b/ucoinj-core-client/i18n/ucoinj-core-client-i18n-definition.properties deleted file mode 100644 index 98837564..00000000 --- a/ucoinj-core-client/i18n/ucoinj-core-client-i18n-definition.properties +++ /dev/null @@ -1,7 +0,0 @@ -#Generated by org.nuiton.i18n.init.UserI18nInitializer -#Tue Dec 29 10:46:20 CET 2015 -locales=fr_FR,en_GB -bundles.en_GB=i18n/nuiton-utils_en_GB.properties,i18n/ucoinj-core-client_en_GB.properties -version=1.0 -encoding=UTF-8 -bundles.fr_FR=i18n/nuiton-utils_fr_FR.properties,i18n/ucoinj-core-client_fr_FR.properties diff --git a/ucoinj-core-client/i18n/ucoinj-core-client-i18n_en_GB.properties b/ucoinj-core-client/i18n/ucoinj-core-client-i18n_en_GB.properties deleted file mode 100644 index 70412fbc..00000000 --- a/ucoinj-core-client/i18n/ucoinj-core-client-i18n_en_GB.properties +++ /dev/null @@ -1,69 +0,0 @@ -#Tue Dec 29 10:39:49 CET 2015 -nuitonutil.config.moving.conf=Moving old configuration file from %s to %s -nuitonutil.debug.objectutil.create=Try to create %s with %s -nuitonutil.debug.objectutil.instantiate=Can't instantiate %s with params %s -nuitonutil.debug.objectutil.invoke=Invoke %s with %s -nuitonutil.error.add.url.in.classloader=Can't add url in classloader %1$s for reason %2$s -nuitonutil.error.applicationconfig.save=Can't save config in file %s -nuitonutil.error.cant.instanciate.class=Class %s can't be instanciated with %s -nuitonutil.error.class.with.more.than.one.constructor=Your class %s has more than one constructor -nuitonutil.error.convert.file.to.url=Can't convert %s for reason %s -nuitonutil.error.convertor.noValue=No value specified for converter %s -nuitonutil.error.could.not.addPCL=Could not add the PropertychangeListener %1$s on object %2$s for following reason \: %3$s -nuitonutil.error.could.not.find.MD5=Could not find MD5 algorithm -nuitonutil.error.could.not.removePCL=Could remove the PropertychangeListener %1$s from object %2$s for following reason \: %3$s -nuitonutil.error.get.url.from.zip=Error while reading %s \: %s -nuitonutil.error.no.convertor=no convertor found for type %2$s and objet '%1$s' -nuitonutil.error.not.an.enum=The type %1$s ins not an Enum type -nuitonutil.error.null.parameter=The parameter %1$s is null\! -nuitonutil.error.resource.not.found=Can't find resource \: %s -nuitonutil.error.unfound.assignable.argument=Can't find assignable argument for %s in %s -nuitonutil.error.unfound.month=could not found month from '%s', use default month '%s' -nuitonutil.error.unknown.url.type=could not treate unknown type of url %1$s -nuitonutil.error.url.convertor=a problem occurs while converting value '%s' with url convertor %s for reason %s -nuitonutil.error.version.convertor=Could not convert version %1$s with converter %2$s for reason \: %3$s -nuitonutil.error.version.pattern=Pattern of version not found for %1$s -nuitonutil.fileCompletion.cancel=.. to cancel or return to parent directory -nuitonutil.fileCompletion.enter=Enter to display file list, or to complete path -nuitonutil.fileCompletion.exit=Enter "\!q" to exit -nuitonutil.fileCompletion.save=Enter "\!s" in the end of the file name to save -nuitonutil.month.april=april -nuitonutil.month.august=august -nuitonutil.month.december=december -nuitonutil.month.february=february -nuitonutil.month.january=january -nuitonutil.month.july=july -nuitonutil.month.june=june -nuitonutil.month.march=march -nuitonutil.month.may=may -nuitonutil.month.november=november -nuitonutil.month.october=october -nuitonutil.month.september=september -ucoinj.config= -ucoinj.config.option.basedir.description= -ucoinj.config.option.cache.directory.description= -ucoinj.config.option.data.directory.description= -ucoinj.config.option.i18n.directory.description= -ucoinj.config.option.i18n.locale.description= -ucoinj.config.option.inceptionYear.description= -ucoinj.config.option.node.currency.description= -ucoinj.config.option.node.elasticsearch.host.description= -ucoinj.config.option.node.elasticsearch.local.clusterName.description= -ucoinj.config.option.node.elasticsearch.local.description= -ucoinj.config.option.node.elasticsearch.port.description= -ucoinj.config.option.node.elasticsearch.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.host.description= -ucoinj.config.option.node.elasticsearch.rest.port.description= -ucoinj.config.option.node.elasticsearch.rest.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.url.description= -ucoinj.config.option.node.host.description= -ucoinj.config.option.node.port.description= -ucoinj.config.option.node.protocol.description= -ucoinj.config.option.node.timeout.description= -ucoinj.config.option.organizationName.description= -ucoinj.config.option.passwd.description= -ucoinj.config.option.salt.description= -ucoinj.config.option.site.url.description= -ucoinj.config.option.tmp.directory.description= -ucoinj.config.option.version.description= -ucoinj.config.parse.error= diff --git a/ucoinj-core-client/i18n/ucoinj-core-client-i18n_fr_FR.properties b/ucoinj-core-client/i18n/ucoinj-core-client-i18n_fr_FR.properties deleted file mode 100644 index 0a11a60c..00000000 --- a/ucoinj-core-client/i18n/ucoinj-core-client-i18n_fr_FR.properties +++ /dev/null @@ -1,70 +0,0 @@ -#Tue Dec 29 10:39:49 CET 2015 -nuitonutil.config.moving.conf=Déplacement du fichier de configuration depuis %s vers %s -nuitonutil.debug.objectutil.create=Essaye de créer %s avec %s -nuitonutil.debug.objectutil.instantiate=Ne peut pas instancier %s avec les paramêtres %s -nuitonutil.debug.objectutil.invoke=Invocation de %s avec %s -nuitonutil.error.add.url.in.classloader=Impossible d'ajouter une url dans le classloader %s pour la raison \: %s -nuitonutil.error.applicationconfig.save=Impossible de sauvegarder le fichier de configuration dans %s -nuitonutil.error.cant.instanciate.class=La Classe %s n'a pas pu être instanciée avec %s -nuitonutil.error.class.with.more.than.one.constructor=Votre classe %s a plus d'un constructeur -nuitonutil.error.convert.file.to.url=Le fichier '%1$s' n'a pas pu être converti en URL pour la raison suivante \: %2$S -nuitonutil.error.convertor.noValue=Aucune valeur à convertir pour le convertisseur %s -nuitonutil.error.could.not.addPCL=N'a pas pu ajouté le PropertychangeListener %1$s sur l'objet %2$s pour la raison suivante \: %3$s -nuitonutil.error.could.not.find.MD5=L'algorithme MD5 n'a pas été trouvé\! -nuitonutil.error.could.not.removePCL=N'a pas pu enlevé le PropertychangeListener %1$s sur l'objet %2$s pour la raison suivante \: %3$s -nuitonutil.error.get.url.from.zip=Erreur lors de la lecture du fichier compressé %1$s \: %2$s -nuitonutil.error.no.convertor=Aucun convertisseur trouvé pour le type %2$s et l''objet '%1$s' -nuitonutil.error.not.an.enum=Le type %1$s n'est pas une enumeration java -nuitonutil.error.null.parameter=Le paramètre '%1$s' est null\! -nuitonutil.error.resource.not.found=Impossible de trouver la ressource \: %s -nuitonutil.error.unfound.assignable.argument=N'a pas pu trouver un argument assignable pour %s dans %s -nuitonutil.error.unfound.month=n'a pas pu trouvé le mois à partir de '%s', utilise le mois par défaut '%s' -nuitonutil.error.unknown.url.type=could not treate unknown type of url %1$s -nuitonutil.error.url.convertor=Un problème est apparu lors de la convertion en url de '%s' avec le convertisseur %s pour la raison suivante \: %s -nuitonutil.error.version.convertor=N'a pas pu convertir la valeur %1$s avec le converter %2$s pour la raison suivante \: %3$s -nuitonutil.error.version.pattern=Pattern de version non connu pour %1$s -nuitonutil.fileCompletion.cancel=.. pour annuler ou pour revenir au repertoire précédent -nuitonutil.fileCompletion.enter=Entrer pour afficher la liste des fichiers, ou pour compléter le chemin -nuitonutil.fileCompletion.exit=Saisir "\!q" pour quitter -nuitonutil.fileCompletion.save=Saisir "\!s" a la fin du nom de fichier pour l'enregistrer -nuitonutil.month.april=avril -nuitonutil.month.august=août -nuitonutil.month.december=décembre -nuitonutil.month.february=février -nuitonutil.month.january=janvier -nuitonutil.month.july=juillet -nuitonutil.month.june=juin -nuitonutil.month.march=mars -nuitonutil.month.may=mai -nuitonutil.month.november=novembre -nuitonutil.month.october=octobre -nuitonutil.month.september=septembre -quadrige2.config.parse.error=Erreur lors de la lecture de la ligne de commande -ucoinj.config= -ucoinj.config.option.basedir.description= -ucoinj.config.option.cache.directory.description= -ucoinj.config.option.data.directory.description= -ucoinj.config.option.i18n.directory.description= -ucoinj.config.option.i18n.locale.description= -ucoinj.config.option.inceptionYear.description= -ucoinj.config.option.node.currency.description= -ucoinj.config.option.node.elasticsearch.host.description= -ucoinj.config.option.node.elasticsearch.local.clusterName.description= -ucoinj.config.option.node.elasticsearch.local.description= -ucoinj.config.option.node.elasticsearch.port.description= -ucoinj.config.option.node.elasticsearch.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.host.description= -ucoinj.config.option.node.elasticsearch.rest.port.description= -ucoinj.config.option.node.elasticsearch.rest.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.url.description= -ucoinj.config.option.node.host.description= -ucoinj.config.option.node.port.description= -ucoinj.config.option.node.protocol.description= -ucoinj.config.option.node.timeout.description= -ucoinj.config.option.organizationName.description= -ucoinj.config.option.passwd.description= -ucoinj.config.option.salt.description= -ucoinj.config.option.site.url.description= -ucoinj.config.option.tmp.directory.description= -ucoinj.config.option.version.description= -ucoinj.config.parse.error= diff --git a/ucoinj-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider b/ucoinj-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider deleted file mode 100644 index 51bc7a28..00000000 --- a/ucoinj-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider +++ /dev/null @@ -1 +0,0 @@ -io.ucoin.ucoinj.core.client.config.ConfigurationProvider diff --git a/ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_en_GB.properties b/ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_en_GB.properties deleted file mode 100644 index 3bb9992b..00000000 --- a/ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_en_GB.properties +++ /dev/null @@ -1,30 +0,0 @@ -ucoinj.config= -ucoinj.config.option.basedir.description= -ucoinj.config.option.cache.directory.description= -ucoinj.config.option.data.directory.description= -ucoinj.config.option.i18n.directory.description= -ucoinj.config.option.i18n.locale.description= -ucoinj.config.option.inceptionYear.description= -ucoinj.config.option.network.timeout.description= -ucoinj.config.option.node.currency.description= -ucoinj.config.option.node.elasticsearch.host.description= -ucoinj.config.option.node.elasticsearch.local.clusterName.description= -ucoinj.config.option.node.elasticsearch.local.description= -ucoinj.config.option.node.elasticsearch.port.description= -ucoinj.config.option.node.elasticsearch.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.host.description= -ucoinj.config.option.node.elasticsearch.rest.port.description= -ucoinj.config.option.node.elasticsearch.rest.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.url.description= -ucoinj.config.option.node.elasticsearch.url.description= -ucoinj.config.option.node.host.description= -ucoinj.config.option.node.port.description= -ucoinj.config.option.node.protocol.description= -ucoinj.config.option.node.timeout.description= -ucoinj.config.option.organizationName.description= -ucoinj.config.option.passwd.description= -ucoinj.config.option.salt.description= -ucoinj.config.option.site.url.description= -ucoinj.config.option.tmp.directory.description= -ucoinj.config.option.version.description= -ucoinj.config.parse.error= diff --git a/ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_fr_FR.properties b/ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_fr_FR.properties deleted file mode 100644 index 1cae3170..00000000 --- a/ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_fr_FR.properties +++ /dev/null @@ -1,31 +0,0 @@ -quadrige2.config.parse.error=Erreur lors de la lecture de la ligne de commande -ucoinj.config= -ucoinj.config.option.basedir.description= -ucoinj.config.option.cache.directory.description= -ucoinj.config.option.data.directory.description= -ucoinj.config.option.i18n.directory.description= -ucoinj.config.option.i18n.locale.description= -ucoinj.config.option.inceptionYear.description= -ucoinj.config.option.network.timeout.description= -ucoinj.config.option.node.currency.description= -ucoinj.config.option.node.elasticsearch.host.description= -ucoinj.config.option.node.elasticsearch.local.clusterName.description= -ucoinj.config.option.node.elasticsearch.local.description= -ucoinj.config.option.node.elasticsearch.port.description= -ucoinj.config.option.node.elasticsearch.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.host.description= -ucoinj.config.option.node.elasticsearch.rest.port.description= -ucoinj.config.option.node.elasticsearch.rest.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.url.description= -ucoinj.config.option.node.elasticsearch.url.description= -ucoinj.config.option.node.host.description= -ucoinj.config.option.node.port.description= -ucoinj.config.option.node.protocol.description= -ucoinj.config.option.node.timeout.description= -ucoinj.config.option.organizationName.description= -ucoinj.config.option.passwd.description= -ucoinj.config.option.salt.description= -ucoinj.config.option.site.url.description= -ucoinj.config.option.tmp.directory.description= -ucoinj.config.option.version.description= -ucoinj.config.parse.error= diff --git a/ucoinj-core-client/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean b/ucoinj-core-client/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean deleted file mode 100644 index ea1d12da..00000000 --- a/ucoinj-core-client/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean +++ /dev/null @@ -1,12 +0,0 @@ -io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.NetworkRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.WotRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.TransactionRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.elasticsearch.CurrencyRegistryRemoteServiceImpl -io.ucoin.ucoinj.core.service.Ed25519CryptoServiceImpl -io.ucoin.ucoinj.core.client.service.HttpServiceImpl -io.ucoin.ucoinj.core.client.service.DataContext -io.ucoin.ucoinj.core.client.service.local.PeerServiceImpl -io.ucoin.ucoinj.core.client.service.local.CurrencyServiceImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryCurrencyDaoImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryPeerDaoImpl \ No newline at end of file diff --git a/ucoinj-core-client/src/test/resources/ucoinj-core-client-test.properties b/ucoinj-core-client/src/test/resources/ucoinj-core-client-test.properties deleted file mode 100644 index 93571519..00000000 --- a/ucoinj-core-client/src/test/resources/ucoinj-core-client-test.properties +++ /dev/null @@ -1,15 +0,0 @@ -#ucoinj.node.host=metab.ucoin.io -#ucoinj.node.host=metab.ucoin.fr - -#ucoinj.node.host=192.168.0.28 -#ucoinj.node.port=9201 - -ucoinj.node.host=twiced.fr -ucoinj.node.port=9330 - - -ucoinj.node.elasticsearch.host=localhost -ucoinj.node.elasticsearch.port=9200 - -#ucoinj.node.elasticsearch.rest.host=www.data.ucoin.fr -#ucoinj.node.elasticsearch.rest.port=80 diff --git a/ucoinj-core-shared/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean b/ucoinj-core-shared/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean deleted file mode 100644 index 5b3708cf..00000000 --- a/ucoinj-core-shared/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean +++ /dev/null @@ -1 +0,0 @@ -io.ucoin.ucoinj.core.service.Ed25519CryptoServiceImpl \ No newline at end of file diff --git a/ucoinj-core-shared/src/main/resources/i18n/ucoinj-core-shared_en_GB.properties b/ucoinj-core-shared/src/main/resources/i18n/ucoinj-core-shared_en_GB.properties deleted file mode 100644 index e69de29b..00000000 diff --git a/ucoinj-core-shared/src/main/resources/i18n/ucoinj-core-shared_fr_FR.properties b/ucoinj-core-shared/src/main/resources/i18n/ucoinj-core-shared_fr_FR.properties deleted file mode 100644 index e69de29b..00000000 diff --git a/ucoinj-elasticsearch-plugin/LICENSE.txt b/ucoinj-elasticsearch-plugin/LICENSE.txt deleted file mode 100644 index 94a9ed02..00000000 --- a/ucoinj-elasticsearch-plugin/LICENSE.txt +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/ucoinj-elasticsearch-plugin/pom.xml b/ucoinj-elasticsearch-plugin/pom.xml deleted file mode 100644 index f4106a64..00000000 --- a/ucoinj-elasticsearch-plugin/pom.xml +++ /dev/null @@ -1,182 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <artifactId>ucoinj</artifactId> - <groupId>io.ucoin</groupId> - <version>0.1-SNAPSHOT</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>ucoinj-elasticsearch-plugin</artifactId> - - <description>uCoinj :: ElasticSearch Plugin</description> - - <properties> - <!-- bundle configuration --> - <bundlePrefix>ucoinj-elasticsearch-with-plugin-${project.version}</bundlePrefix> - - <maven.jar.main.class>io.ucoin.ucoinj.elasticsearch.Main</maven.jar.main.class> - </properties> - - <dependencies> - <dependency> - <groupId>org.elasticsearch</groupId> - <artifactId>elasticsearch</artifactId> - <scope>compile</scope> - </dependency> - - <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-elasticsearch</artifactId> - <version>${project.version}</version> - </dependency> - - <!-- LOGGING DEPENDENCIES - SLF4J --> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <optional>true</optional> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <optional>true</optional> - </dependency> - - </dependencies> - - <build> - <resources> - <resource> - <directory>src/main/filtered-resources</directory> - <filtering>true</filtering> - <includes> - <include>**/*.properties</include> - </includes> - </resource> - <resource> - <directory>src/main/resources</directory> - <includes> - <include>**/*</include> - </includes> - </resource> - </resources> - - <plugins> - <plugin> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifest> - <useUniqueVersions>false</useUniqueVersions> - <addClasspath>true</addClasspath> - <classpathPrefix>./lib/</classpathPrefix> - </manifest> - </archive> - </configuration> - </plugin> - - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>assembly-plugin</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <appendAssemblyId>false</appendAssemblyId> - <outputDirectory>${project.build.directory}/releases/</outputDirectory> - <descriptors> - <descriptor>${basedir}/src/main/assembly/plugin.xml</descriptor> - </descriptors> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <profiles> - <profile> - <id>run</id> - <activation> - <activeByDefault>false</activeByDefault> - </activation> - <properties> - <ucoinj.basedir>${project.build.directory}</ucoinj.basedir> - <ucoinj.plugins.directory>${basedir}}/src/test/es-home/plugins</ucoinj.plugins.directory> - <es.http.cors.allow-origin>*</es.http.cors.allow-origin> - <exec.args> - start index --host metab.ucoin.fr --port 9201 - </exec.args> - <ucoinj.log.file>${project.build.directory}/exec.log</ucoinj.log.file> - </properties> - </profile> - - <profile> - <id>default-bundle</id> - <activation> - <property> - <name>performRelease</name> - <value>true</value> - </property> - </activation> - <build> - <defaultGoal>package</defaultGoal> - <plugins> - <plugin> - <artifactId>maven-dependency-plugin</artifactId> - <executions> - <execution> - <id>copy-dependencies</id> - <goals> - <goal>copy-dependencies</goal> - </goals> - <phase>prepare-package</phase> - <configuration> - <overWriteReleases>false</overWriteReleases> - <overWriteSnapshots>true</overWriteSnapshots> - <overWriteIfNewer>true</overWriteIfNewer> - <outputDirectory>${project.build.directory}/lib</outputDirectory> - <silent>true</silent> - <includeScope>runtime</includeScope> - <excludeScope>test</excludeScope> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>assembly-standalone</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <attach>true</attach> - <finalName>${bundlePrefix}</finalName> - <descriptors> - <descriptor> - src/main/assembly/standalone.xml - </descriptor> - </descriptors> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> -</project> \ No newline at end of file diff --git a/ucoinj-elasticsearch-plugin/src/license/THIRD-PARTY.properties b/ucoinj-elasticsearch-plugin/src/license/THIRD-PARTY.properties deleted file mode 100644 index 391aca3f..00000000 --- a/ucoinj-elasticsearch-plugin/src/license/THIRD-PARTY.properties +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by org.codehaus.mojo.license.AddThirdPartyMojo -#------------------------------------------------------------------------------- -# Already used licenses in project : -# - ASL, version 2 -# - Apache License 2.0 -# - Apache License Version 2.0 -# - BSD License -# - CC0 1.0 Universal -# - CDDL+GPL -# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 -# - Dual license consisting of the CDDL v1.1 and GPL v2 -# - General Public License (GPL) v3 -# - Indiana University Extreme! Lab Software License, vesion 1.1.1 -# - LGPL, version 2.1 -# - Lesser General Public License (LGPL) v 3.0 -# - Lesser General Public License (LPGL) -# - Lesser General Public License (LPGL) v 2.1 -# - MIT License -# - Public Domain, per Creative Commons CC0 -# - The Apache Software License, Version 2.0 -#------------------------------------------------------------------------------- -# Please fill the missing licenses for dependencies : -# -# -#Tue Mar 22 17:20:05 CET 2016 -commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0 diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/full/README.txt b/ucoinj-elasticsearch-plugin/src/main/assembly/full/README.txt deleted file mode 100644 index f829e714..00000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/full/README.txt +++ /dev/null @@ -1,15 +0,0 @@ -Starting uCoinj-ElasticSearch --------------------------------- - -# under Linux - -./ucoinj-elasticsearch.sh - -# Sous windows - -ucoinj-elasticsearch.exe - -Help ----- - -ucoinj-elasticsearch.<sh|exe> --help diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/README.txt b/ucoinj-elasticsearch-plugin/src/main/assembly/min/README.txt deleted file mode 100644 index fedac4d3..00000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/README.txt +++ /dev/null @@ -1,12 +0,0 @@ - - README - - ${project.name} Help - - ------------------------------------ - -Start a ElastoicSearch node : - > ucoinj-elasticsearch.<bat|sh> --start - -To show help (list all options) : - > ucoinj-elasticsearch.<bat|sh> --help diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat deleted file mode 100644 index 289b26db..00000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat +++ /dev/null @@ -1,47 +0,0 @@ -@echo off - -REM Comment out this line to specify your JAVA path: -REM SET JAVA_HOME=<path_to_java> - - -set OLDDIR=%CD% -cd /d %~dp0% - -set APP_BASEDIR=%CD% -set JAVA_COMMAND=%JAVA_HOME%\bin\java -set APP_LOG_FILE=%APP_BASEDIR%\data\${project.artifactId}-${project.version}.log -set JAVA_OPTS=-Xmx1G -set APP_CONF_FILE=%APP_BASEDIR%\ucoinj.config - -if not exist "%JAVA_HOME%" goto no_java - -echo =============================================================================== -echo . -echo ${project.name} -echo . -echo JAVA: %JAVA_COMMAND% -echo . -echo JAVA_OPTS: %JAVA_OPTS% -echo . -echo log file: %APP_LOG_FILE% -echo . -echo =============================================================================== -echo . - - -set OLDDIR=%CD% -cd /d %~dp0% - -call "%JAVA_COMMAND%" %JAVA_OPTS% "-Ducoinj.basedir=%APP_BASEDIR%" "-Ducoinj.plugins.directory=%APP_BASEDIR%\plugins" "-Ducoinj.log.file=%APP_LOG_FILE%" "-Ducoinj-elasticsearch.config=%APP_CONF_FILE%" -Ducoinj.launch.mode=full -Djna.nosys=true -Des.http.cors.allow-origin=* -jar ucoinj-elasticsearch-plugin-${project.version}.jar %1 %2 %3 %4 %5 %6 %7 %8 %9 -set exitcode=%ERRORLEVEL% -echo Stop with exitcode: %exitcode% -cd %OLDDIR% -exit /b %exitcode% -goto end - -no_java: -echo "Java not detected ! Please set environment variable JAVA_HOME before launching," -echo "or edit the file 'launch.bat' and insert this line :" -echo " SET JAVA_HOME=<path_to_java>" - -:end diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh deleted file mode 100644 index d0fd97f8..00000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -REP=$(dirname $0) -cd $REP - -#Comment out this line to specify your JAVA path: -export JAVA_HOME=/usr/lib/jvm/default-java - -export APP_BASEDIR=$REP -export JAVA_COMMAND=$JAVA_HOME/bin/java -export APP_LOG_FILE=$APP_BASEDIR/logs/${project.artifactId}-${project.version}.log -export APP_CONF_FILE=$APP_BASEDIR/ucoinj.config - -cd $APP_BASEDIR - -if [ -d $JAVA_HOME ]; then - echo "${project.name}" - echo " basedir: $APP_BASEDIR" - echo " jre home: $JAVA_HOME" - echo " log file: $APP_LOG_FILE" - - MEMORY="-Xmx1G" - #APP_JVM_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000" - - echo "launch java" - echo "java command: $JAVA_COMMAND" - - $JAVA_COMMAND $MEMORY $APP_JVM_OPTS -Ducoinj.basedir=$APP_BASEDIR -Ducoinj.plugins.directory=$APP_BASEDIR/plugins -Ducoinj.log.file=$APP_LOG_FILE -Ducoinj-elasticsearch.config=$APP_CONF_FILE -Ducoinj.launch.mode=full -Djna.nosys=true -Des.http.cors.allow-origin=* -jar ucoinj-elasticsearch-plugin-${project.version}.jar $* - - exitcode=$? - echo "Stop ${project.name} with exitcode: $exitcode" - exit $exitcode - -else - echo "Java not detected ! Please set environment variable JAVA_HOME before launching," - echo "or edit the file 'launch.sh' and insert this line :" - echo " export JAVA_HOME=<path_to_java>" -fi - diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config deleted file mode 100644 index 923c0857..00000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config +++ /dev/null @@ -1,54 +0,0 @@ -#Basic config - -# ---------------------------------------------------------- -# Node to use for blockchain indexation. Must have a BMA API -# ---------------------------------------------------------- - -# Node host -# Could be override using option : '-h <host>' -#ucoinj.node.host=metab.ucoin.io - -# Node port -# Could be override using option : '-p <port>' -#ucoinj.node.port=9201 - -# ---------------------------------------------------------- -# ES Node -# ---------------------------------------------------------- - -# ES Cluster name -# By default: 'ucoinj-elacticsearch' -# See ES config 'cluster.name' -#ucoinj.elasticsearch.cluster.name=ucoinj-elacticsearch - -# Should start a embedded ES node -# By default: false -#ucoinj.elasticsearch.embedded.enable=true - -# ES Node Host -# THe node to connect (if NOT embedded node) -# By default: 'localhost' -#ucoinj.elasticsearch.host=<ES_Node_IP> - -# If not embedded: ES Node Port -# Could be override using option : '-esp <port>' -#ucoinj.elasticsearch.port=9300 - -# If embedded: Only for a local use (do not connect to other nodes on cluster) -# By default: false -# See ES config 'local' -#ucoinj.elasticsearch.local=true - -# If embedded: Open a port for HTTP access -# By default: true -# See ES config 'http.enable' -#ucoinj.elasticsearch.http.enable=false - -# ES Node Network Host (if http enable) -# Allow values : (see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html) -# any IP address, or 'localhost' -# _[networkInterface]_ for addresses of a network interface, for example _eth0_ or _en0_. -# _local_ for any loopback addresses on the system -# -# By default: '_local_' -#ucoinj.elasticsearch.network.host=_eth0_ diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinjd b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinjd deleted file mode 100644 index db9af92d..00000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinjd +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh -e - -DAEMON="/opt/ucoinj-elasticsearch/ucoinj-elasticsearch.sh" #ligne de commande du programme -daemon_OPT="start --daemon" #argument à utiliser par le programme -DAEMONUSER="laetitia" #utilisateur du programme -daemon_NAME="ucoinjd" #Nom du programme (doit être identique à l'exécutable) - -PATH="/sbin:/bin:/usr/sbin:/usr/bin" #Ne pas toucher - -test -x $DAEMON || exit 0 - -. /lib/lsb/init-functions - -d_start () { - log_daemon_msg "Starting system $daemon_NAME Daemon" - start-stop-daemon --name ucoinjd --background --start --quiet --chuid $DAEMONUSER --exec $DAEMON -- $daemon_OPT - log_end_msg $? -} - -d_stop () { - log_daemon_msg "Stopping system $daemon_NAME Daemon" - start-stop-daemon --name ucoinjd --stop --retry 5 --quiet - log_end_msg $? -} - -case "$1" in - - start|stop) - d_${1} - ;; - - restart|reload|force-reload) - d_stop - d_start - ;; - - force-stop) - d_stop - killall -q $daemon_NAME || true - sleep 2 - killall -q -9 $daemon_NAME || true - ;; - - status) - status_of_proc "$daemon_NAME" "$DAEMON" "system-wide $daemon_NAME" && exit 0 || exit $? - ;; - *) - echo "Usage: /etc/init.d/$daemon_NAME {start|stop|force-stop|restart|reload|force-reload|status}" - exit 1 - ;; -esac -exit 0 diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/standalone.xml b/ucoinj-elasticsearch-plugin/src/main/assembly/standalone.xml deleted file mode 100644 index 61936330..00000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/standalone.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - allegro-obsdeb :: UI :: Swing - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2009 - 2013 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<assembly - xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> - <id>standalone</id> - <formats> - <format>zip</format> - </formats> - - <fileSets> - - <fileSet> - <directory>target</directory> - <outputDirectory/> - <includes> - <include>${project.build.finalName}.${project.packaging}</include> - </includes> - </fileSet> - - <fileSet> - <directory>target/lib</directory> - <outputDirectory>lib</outputDirectory> - <includes> - <include>*.jar</include> - </includes> - <excludes> - <exclude>junit-*.jar</exclude> - </excludes> - </fileSet> - - <fileSet> - <directory>src/main/assembly/min</directory> - <outputDirectory/> - <filtered>true</filtered> - <fileMode>0755</fileMode> - <includes> - <include>ucoinj-elasticsearch.sh</include> - <include>ucoinj-elasticsearch.bat</include> - <include>version.appup</include> - <include>README*</include> - </includes> - </fileSet> - - <!-- configuration file --> - <fileSet> - <directory>src/main/assembly/min</directory> - <outputDirectory/> - <includes> - <include>ucoinj.config</include> - </includes> - </fileSet> - - <!-- plugin descriptor file --> - <fileSet> - <directory>src/main/filtered-resources</directory> - <outputDirectory>plugins/ucoinj-elasticseacrh-plugin</outputDirectory> - <filtered>true</filtered> - <includes> - <include>plugin-descriptor.properties</include> - </includes> - </fileSet> - - <!-- I18N component --> - <fileSet> - <directory>target/classes/META-INF</directory> - <outputDirectory>i18n</outputDirectory> - <includes> - <include>ucoinj-elasticsearch-i18n*.properties</include> - <include>ucoinj-elasticsearch-i18n*.csv</include> - </includes> - </fileSet> - <fileSet> - <directory>src/main/assembly/min</directory> - <outputDirectory>i18n</outputDirectory> - <filtered>true</filtered> - <includes> - <include>version.appup</include> - </includes> - </fileSet> - - <fileSet> - <includes> - <include>LICENSE*</include> - </includes> - </fileSet> - - </fileSets> -</assembly> diff --git a/ucoinj-elasticsearch-plugin/src/main/resources/es-plugin.properties b/ucoinj-elasticsearch-plugin/src/main/resources/es-plugin.properties deleted file mode 100644 index 3a2628e6..00000000 --- a/ucoinj-elasticsearch-plugin/src/main/resources/es-plugin.properties +++ /dev/null @@ -1 +0,0 @@ -plugin=io.ucoin.ucoinj.elasticsearch.Plugin diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/LICENSE b/ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/LICENSE deleted file mode 100644 index 94a9ed02..00000000 --- a/ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties b/ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties deleted file mode 100644 index de5abaf5..00000000 --- a/ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties +++ /dev/null @@ -1,9 +0,0 @@ -name=ucoinj-elasticsearch -description=uCoinj :: ElasticSearch Plugin -version=0.1-SNAPSHOT -site=false -jvm=true -classname=io.ucoin.ucoinj.elasticsearch.plugin.Plugin -java.version=1.7 -elasticsearch.version=2.3.1 -isolated=false \ No newline at end of file diff --git a/ucoinj-elasticsearch-plugin/src/test/java/io/ucoin/ucoinj/elasticsearch/plugin/StartES.java b/ucoinj-elasticsearch-plugin/src/test/java/io/ucoin/ucoinj/elasticsearch/plugin/StartES.java deleted file mode 100644 index 8966a5b2..00000000 --- a/ucoinj-elasticsearch-plugin/src/test/java/io/ucoin/ucoinj/elasticsearch/plugin/StartES.java +++ /dev/null @@ -1,66 +0,0 @@ -package io.ucoin.ucoinj.elasticsearch.plugin; - -/* - * #%L - * ucoinj-elasticsearch-plugin - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.collect.Lists; -import org.elasticsearch.bootstrap.Elasticsearch; - -import java.io.File; -import java.util.Arrays; -import java.util.List; - -/** - * Created by blavenie on 02/02/16. - */ -public class StartES { - - public StartES() { - - } - - public static void main(String args[]) { - List<String> argList = Lists.newArrayList(); - if (args != null && args.length > 0) { - argList.addAll(Arrays.asList(args)); - } - - // path.data - String pathData = null; - if (argList.size() == 1) { - pathData = argList.get(0); - argList.remove(pathData); - } - else { - pathData = System.getProperty("tmp.dir") + File.separator + "elasticsearch-plugin-unit-test"; - } - - System.setProperty("es.path.home", "src/test/es-home"); - System.setProperty("es.path.data", pathData + File.separator + "data"); - System.setProperty("es.http.enable", "true"); - - argList.add("start"); - - Elasticsearch.main(argList.toArray(new String[argList.size()])); - - } -} diff --git a/ucoinj-elasticsearch-plugin/src/test/resources/log4j.properties b/ucoinj-elasticsearch-plugin/src/test/resources/log4j.properties deleted file mode 100644 index 3615f59d..00000000 --- a/ucoinj-elasticsearch-plugin/src/test/resources/log4j.properties +++ /dev/null @@ -1,25 +0,0 @@ -### -# Global logging configuration -log4j.rootLogger=ERROR, stdout, file - -# Console output -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p (%c:%L) - %m%n - -# File output -log4j.appender.file=org.apache.log4j.RollingFileAppender -log4j.appender.file.file=target/ucoinj-elasticsearch-plugin.log -log4j.appender.file.MaxFileSize=10MB -log4j.appender.file.MaxBackupIndex=4 -log4j.appender.file.layout=org.apache.log4j.PatternLayout -log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %5p %c - %m%n - -# uCoinJ levels -log4j.logger.io.ucoin.ucoinj=INFO -log4j.logger.io.ucoin.ucoinj.elasticsearch=DEBUG -#log4j.logger.io.ucoin.ucoinj.elasticsearch.action=DEBUG -#log4j.logger.io.ucoin.ucoinj.core.client.service=DEBUG - -# Other frameworks levels -log4j.logger.org.elasticsearch=INFO \ No newline at end of file diff --git a/ucoinj-elasticsearch/LICENSE b/ucoinj-elasticsearch/LICENSE deleted file mode 100644 index 94a9ed02..00000000 --- a/ucoinj-elasticsearch/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/ucoinj-elasticsearch/LICENSE.txt b/ucoinj-elasticsearch/LICENSE.txt deleted file mode 100644 index 94a9ed02..00000000 --- a/ucoinj-elasticsearch/LICENSE.txt +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/ucoinj-elasticsearch/pom.xml b/ucoinj-elasticsearch/pom.xml deleted file mode 100644 index 2a7414d5..00000000 --- a/ucoinj-elasticsearch/pom.xml +++ /dev/null @@ -1,285 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj</artifactId> - <version>0.1-SNAPSHOT</version> - </parent> - - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-elasticsearch</artifactId> - <packaging>jar</packaging> - <name>UCoin Java Client :: ElasticSearch Indexer</name> - - <properties> - <!-- bundle configuration --> - <bundlePrefix>ucoinj-elasticsearch-${project.version}</bundlePrefix> - - <!-- i18n configuration --> - <i18n.bundleOutputName>ucoinj-elasticsearch-i18n</i18n.bundleOutputName> - <i18n.generateCsvFile>true</i18n.generateCsvFile> - <i18n.bundleCsvFile> - ${maven.gen.dir}/resources/META-INF/${i18n.bundleOutputName}.csv - </i18n.bundleCsvFile> - <config.i18nBundleName>${i18n.bundleOutputName}</config.i18nBundleName> - - <maven.jar.main.class> - io.ucoin.ucoinj.elasticsearch.Main - </maven.jar.main.class> - - <ucoinj-elasticsearch.config>${project.basedir}/src/test/resources/ucoinj-elasticsearch-test.properties</ucoinj-elasticsearch.config> - </properties> - - <dependencies> - <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core-client</artifactId> - <version>${project.version}</version> - </dependency> - <!-- LOGGING DEPENDENCIES - SLF4J --> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <optional>true</optional> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <optional>true</optional> - </dependency> - - <!-- Elastic Search --> - <dependency> - <groupId>org.elasticsearch</groupId> - <artifactId>elasticsearch</artifactId> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-databind</artifactId> - </dependency> - - <!-- JNA (need for OS shutdown hook) --> - <dependency> - <groupId>net.java.dev.jna</groupId> - <artifactId>jna</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>net.java.dev.jna</groupId> - <artifactId>jna-platform</artifactId> - </dependency> - - <!-- Unit test --> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - </dependencies> - - <build> - <resources> - <resource> - <directory>src/main/filtered-resources</directory> - <filtering>true</filtering> - <includes> - <include>*.config</include> - <include>*.properties</include> - </includes> - </resource> - <resource> - <directory>src/main/resources</directory> - <filtering>false</filtering> - </resource> - </resources> - - <plugins> - <plugin> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifest> - <useUniqueVersions>false</useUniqueVersions> - <addClasspath>true</addClasspath> - <classpathPrefix>./lib/</classpathPrefix> - </manifest> - </archive> - </configuration> - </plugin> - - <plugin> - <groupId>org.nuiton.i18n</groupId> - <artifactId>i18n-maven-plugin</artifactId> - - <executions> - <execution> - <id>scan-sources</id> - <configuration> - <entries> - <entry> - <specificGoal>parserValidation</specificGoal> - <basedir>${maven.src.dir}/main/java/</basedir> - <includes> - <param>**/**-validation.xml</param> - </includes> - </entry> - </entries> - </configuration> - <goals> - <goal>parserJava</goal> - <goal>parserValidation</goal> - <goal>gen</goal> - </goals> - </execution> - <execution> - <id>make-bundle</id> - <goals> - <goal>bundle</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <profiles> - <profile> - <id>default-bundle</id> - <activation> - <property> - <name>performRelease</name> - <value>true</value> - </property> - </activation> - <build> - <defaultGoal>package</defaultGoal> - <plugins> - <plugin> - <artifactId>maven-dependency-plugin</artifactId> - <executions> - <execution> - <id>copy-dependencies</id> - <goals> - <goal>copy-dependencies</goal> - </goals> - <phase>prepare-package</phase> - <configuration> - <overWriteReleases>false</overWriteReleases> - <overWriteSnapshots>true</overWriteSnapshots> - <overWriteIfNewer>true</overWriteIfNewer> - <outputDirectory>${project.build.directory}/lib</outputDirectory> - <silent>true</silent> - <includeScope>runtime</includeScope> - <excludeScope>test</excludeScope> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>assembly-standalone</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <attach>true</attach> - <finalName>${bundlePrefix}</finalName> - <descriptors> - <descriptor> - src/main/assembly/standalone.xml - </descriptor> - <descriptor> - src/main/assembly/i18n.xml - </descriptor> - <descriptor> - src/main/assembly/help.xml - </descriptor> - </descriptors> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - - <!-- use this profile to run the main class --> - <profile> - <id>run</id> - <activation> - <activeByDefault>false</activeByDefault> - </activation> - <build> - <defaultGoal>package</defaultGoal> - <plugins> - <plugin> - <artifactId>maven-enforcer-plugin</artifactId> - <executions> - <execution> - <id>check-run</id> - <goals> - <goal>enforce</goal> - </goals> - <phase>initialize</phase> - <configuration> - <rules> - <requireProperty> - <property>maven.jar.main.class</property> - <message>Could not find the "maven.jar.main.class" - required property, use - -Dmaven.jar.main.class=your.main.class.fqn - </message> - </requireProperty> - </rules> - <ignoreCache>true</ignoreCache> - <failFast>true</failFast> - <fail>true</fail> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <executions> - <execution> - <id>run</id> - <goals> - <goal>java</goal> - </goals> - <phase>compile</phase> - <configuration> - <mainClass>${exec.mainClass}</mainClass> - <classpathScope>${exec.classpathScope}</classpathScope> - <commandlineArgs>start</commandlineArgs> - <systemProperties> - <property > - <key>ucoinj-elasticsearch.config</key> - <value>${ucoinj-elasticsearch.config}</value> - </property> - </systemProperties> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <properties> - <exec.mainClass>${maven.jar.main.class}</exec.mainClass> - <exec.classpathScope>runtime</exec.classpathScope> - <ucoinj.log.file>${project.build.directory}/exec.log</ucoinj.log.file> - </properties> - </profile> - </profiles> -</project> diff --git a/ucoinj-elasticsearch/src/main/assembly/full/README.txt b/ucoinj-elasticsearch/src/main/assembly/full/README.txt deleted file mode 100644 index f829e714..00000000 --- a/ucoinj-elasticsearch/src/main/assembly/full/README.txt +++ /dev/null @@ -1,15 +0,0 @@ -Starting uCoinj-ElasticSearch --------------------------------- - -# under Linux - -./ucoinj-elasticsearch.sh - -# Sous windows - -ucoinj-elasticsearch.exe - -Help ----- - -ucoinj-elasticsearch.<sh|exe> --help diff --git a/ucoinj-elasticsearch/src/main/assembly/min/version.appup b/ucoinj-elasticsearch/src/main/assembly/min/version.appup deleted file mode 100644 index f2ab45c3..00000000 --- a/ucoinj-elasticsearch/src/main/assembly/min/version.appup +++ /dev/null @@ -1 +0,0 @@ -${project.version} \ No newline at end of file diff --git a/ucoinj-elasticsearch/src/main/filtered-resources/ucoinj.config b/ucoinj-elasticsearch/src/main/filtered-resources/ucoinj.config deleted file mode 100644 index 267e81bf..00000000 --- a/ucoinj-elasticsearch/src/main/filtered-resources/ucoinj.config +++ /dev/null @@ -1,4 +0,0 @@ -ucoinj.version=${project.version} -ucoinj.site.url=${project.url} -ucoinj.inceptionYear=${project.inceptionYear} -ucoinj.organizationName=${license.organizationName} diff --git a/ucoinj-elasticsearch/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean b/ucoinj-elasticsearch/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean deleted file mode 100644 index 32427c9d..00000000 --- a/ucoinj-elasticsearch/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean +++ /dev/null @@ -1,22 +0,0 @@ -io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.NetworkRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.WotRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.TransactionRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.elasticsearch.CurrencyRegistryRemoteServiceImpl -io.ucoin.ucoinj.core.service.Ed25519CryptoServiceImpl -io.ucoin.ucoinj.core.client.service.HttpServiceImpl -io.ucoin.ucoinj.core.client.service.DataContext -io.ucoin.ucoinj.core.client.service.local.PeerServiceImpl -io.ucoin.ucoinj.core.client.service.local.CurrencyServiceImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryCurrencyDaoImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryPeerDaoImpl -io.ucoin.ucoinj.elasticsearch.service.ElasticSearchService -io.ucoin.ucoinj.elasticsearch.service.currency.BlockIndexerService -io.ucoin.ucoinj.elasticsearch.service.ExecutorServiceImpl -io.ucoin.ucoinj.elasticsearch.service.market.MarketRecordIndexerService -io.ucoin.ucoinj.elasticsearch.service.market.MarketCategoryIndexerService -io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService -io.ucoin.ucoinj.elasticsearch.service.registry.RegistryRecordIndexerService -io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCategoryIndexerService -io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCitiesIndexerService - diff --git a/ucoinj-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider b/ucoinj-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider deleted file mode 100644 index 8bd14945..00000000 --- a/ucoinj-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider +++ /dev/null @@ -1 +0,0 @@ -io.ucoin.ucoinj.elasticsearch.config.ConfigurationProvider diff --git a/ucoinj-elasticsearch/src/main/resources/cities b/ucoinj-elasticsearch/src/main/resources/cities deleted file mode 160000 index 046dbef8..00000000 --- a/ucoinj-elasticsearch/src/main/resources/cities +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 046dbef8958383f6a1460b90df89131add880bfb diff --git a/ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties b/ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties deleted file mode 100644 index ae447d1c..00000000 --- a/ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties +++ /dev/null @@ -1,51 +0,0 @@ -ucoinj-elasticsearch.config= -ucoinj.blockIndexerService.indexBlock=[%s] [%s] Indexing block \#%s -ucoinj.blockIndexerService.indexLastBlocks.otherPeers.task=Indexing missing blocks of [%s] from other peers -ucoinj.blockIndexerService.indexLastBlocks.progress=[%s] [%s] Indexing block \#%s / %s (%s%%)... -ucoinj.blockIndexerService.indexLastBlocks.stopped=[%s] [%s] Indexing last block - stopped -ucoinj.blockIndexerService.indexLastBlocks.task=Indexing last blocks of [%s] from peer [%s\:%s]... -ucoinj.config.option.basedir.description= -ucoinj.config.option.cache.directory.description= -ucoinj.config.option.data.directory.description= -ucoinj.config.option.elasticsearch.bulk.enable.description= -ucoinj.config.option.elasticsearch.bulk.size.description= -ucoinj.config.option.elasticsearch.cluster.name.description= -ucoinj.config.option.elasticsearch.embedded.enable.description= -ucoinj.config.option.elasticsearch.host.description= -ucoinj.config.option.elasticsearch.local.description= -ucoinj.config.option.i18n.directory.description= -ucoinj.config.option.i18n.locale.description= -ucoinj.config.option.index.parallel_processing.description= -ucoinj.config.option.node.elasticsearch.cluster.name.description= -ucoinj.config.option.node.elasticsearch.clusterName.description= -ucoinj.config.option.node.elasticsearch.embeddeb.description= -ucoinj.config.option.node.elasticsearch.embeddeb.http.description= -ucoinj.config.option.node.elasticsearch.embeddeb.local.description= -ucoinj.config.option.node.elasticsearch.embedded.enable.description= -ucoinj.config.option.node.elasticsearch.embedded.http.enable.description= -ucoinj.config.option.node.elasticsearch.embedded.local.description= -ucoinj.config.option.node.elasticsearch.host.description= -ucoinj.config.option.node.elasticsearch.http.enable.description= -ucoinj.config.option.node.elasticsearch.local.clusterName.description= -ucoinj.config.option.node.elasticsearch.local.description= -ucoinj.config.option.node.elasticsearch.port.description= -ucoinj.config.option.node.elasticsearch.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.host.description= -ucoinj.config.option.node.elasticsearch.rest.port.description= -ucoinj.config.option.node.elasticsearch.rest.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.url.description= -ucoinj.config.option.node.host.description= -ucoinj.config.option.node.port.description= -ucoinj.config.option.node.protocol.description= -ucoinj.config.option.plugins.directory.description= -ucoinj.config.option.taskExecutor.queueCapacity.description= -ucoinj.config.option.tasks.queueCapacity.description= -ucoinj.config.option.tmp.directory.description= -ucoinj.config.option.version.description= -ucoinj.config.parse.error= -ucoinj.executor.task.waitingExecution= -ucoinj.job.stopped= -ucoinj.job.stopping= -ucoinj.job.success= -ucoinj.task.issuer.system=System -ucoinj.task.starting=Starting task... diff --git a/ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties b/ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties deleted file mode 100644 index 1b9bcb1f..00000000 --- a/ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties +++ /dev/null @@ -1,51 +0,0 @@ -ucoinj-elasticsearch.config= -ucoinj.blockIndexerService.indexBlock=[%s] [%s] Indexing block \#%s -ucoinj.blockIndexerService.indexLastBlocks.otherPeers.task=Indexing missing blocks of [%s] from other peers -ucoinj.blockIndexerService.indexLastBlocks.progress=[%s] [%s] Indexing block \#%s / %s (%s%%)... -ucoinj.blockIndexerService.indexLastBlocks.stopped=[%s] [%s] Indexing last block - stopped -ucoinj.blockIndexerService.indexLastBlocks.task=Indexing last blocks of [%s] from peer [%s\:%s]... -ucoinj.config.option.basedir.description= -ucoinj.config.option.cache.directory.description= -ucoinj.config.option.data.directory.description= -ucoinj.config.option.elasticsearch.bulk.enable.description= -ucoinj.config.option.elasticsearch.bulk.size.description= -ucoinj.config.option.elasticsearch.cluster.name.description= -ucoinj.config.option.elasticsearch.embedded.enable.description= -ucoinj.config.option.elasticsearch.host.description= -ucoinj.config.option.elasticsearch.local.description= -ucoinj.config.option.i18n.directory.description= -ucoinj.config.option.i18n.locale.description= -ucoinj.config.option.index.parallel_processing.description= -ucoinj.config.option.node.elasticsearch.cluster.name.description= -ucoinj.config.option.node.elasticsearch.clusterName.description= -ucoinj.config.option.node.elasticsearch.embeddeb.description= -ucoinj.config.option.node.elasticsearch.embeddeb.http.description= -ucoinj.config.option.node.elasticsearch.embeddeb.local.description= -ucoinj.config.option.node.elasticsearch.embedded.enable.description= -ucoinj.config.option.node.elasticsearch.embedded.http.enable.description= -ucoinj.config.option.node.elasticsearch.embedded.local.description= -ucoinj.config.option.node.elasticsearch.host.description= -ucoinj.config.option.node.elasticsearch.http.enable.description= -ucoinj.config.option.node.elasticsearch.local.clusterName.description= -ucoinj.config.option.node.elasticsearch.local.description= -ucoinj.config.option.node.elasticsearch.port.description= -ucoinj.config.option.node.elasticsearch.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.host.description= -ucoinj.config.option.node.elasticsearch.rest.port.description= -ucoinj.config.option.node.elasticsearch.rest.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.url.description= -ucoinj.config.option.node.host.description= -ucoinj.config.option.node.port.description= -ucoinj.config.option.node.protocol.description= -ucoinj.config.option.plugins.directory.description= -ucoinj.config.option.taskExecutor.queueCapacity.description= -ucoinj.config.option.tasks.queueCapacity.description= -ucoinj.config.option.tmp.directory.description= -ucoinj.config.option.version.description= -ucoinj.config.parse.error= -ucoinj.executor.task.waitingExecution= -ucoinj.job.stopped= -ucoinj.job.stopping= -ucoinj.job.success= -ucoinj.task.issuer.system=Système -ucoinj.task.starting=Démarrage du traitement... diff --git a/ucoinj-elasticsearch/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean b/ucoinj-elasticsearch/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean deleted file mode 100644 index 19a69413..00000000 --- a/ucoinj-elasticsearch/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean +++ /dev/null @@ -1,13 +0,0 @@ -io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.NetworkRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.WotRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.TransactionRemoteServiceImpl -io.ucoin.ucoinj.core.service.Ed25519CryptoServiceImpl -io.ucoin.ucoinj.core.client.service.HttpServiceImpl -io.ucoin.ucoinj.core.client.service.DataContext -io.ucoin.ucoinj.core.client.service.local.PeerServiceImpl -io.ucoin.ucoinj.core.client.service.local.CurrencyServiceImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryCurrencyDaoImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryPeerDaoImpl -io.ucoin.ucoinj.elasticsearch.service.ElasticSearchService -io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService \ No newline at end of file diff --git a/ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-localhost-node.properties b/ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-localhost-node.properties deleted file mode 100644 index 260a6299..00000000 --- a/ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-localhost-node.properties +++ /dev/null @@ -1,12 +0,0 @@ -ucoinj.node.host=metab.ucoin.fr -ucoinj.node.port=9201 - -ucoinj.elasticsearch.embedded.enable=false -ucoinj.elasticsearch.local=fals -ucoinj.elasticsearch.http.enable=false -ucoinj.elasticsearch.cluster.name=ucoinj-elacticsearch-test - -#ucoinj.elasticsearch.cluster.name=ucoinj-elacticsearch - -ucoinj.elasticsearch.host=localhost -ucoinj.elasticsearch.port=9300 diff --git a/ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-test.properties b/ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-test.properties deleted file mode 100644 index cd4ab389..00000000 --- a/ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-test.properties +++ /dev/null @@ -1,16 +0,0 @@ -ucoinj.node.host=metab.ucoin.fr -ucoinj.node.port=9201 - -ucoinj.basedir=target/es-home - -#ucoinj.elasticsearch.data -#ucoinj.elasticsearch.embedded.enable=true -ucoinj.elasticsearch.local=false -ucoinj.elasticsearch.http.enable=true -ucoinj.elasticsearch.cluster.name=ucoinj-elasticsearch - -#ucoinj.elasticsearch.cluster.name=ucoinj-elacticsearch - -ucoinj.elasticsearch.embedded.enable=false -ucoinj.elasticsearch.host=192.168.0.5 -ucoinj.elasticsearch.port=9300 diff --git a/ucoinj-ui-wicket/LICENSE b/ucoinj-ui-wicket/LICENSE deleted file mode 100644 index 94a9ed02..00000000 --- a/ucoinj-ui-wicket/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/ucoinj-ui-wicket/lib/sodium.dll b/ucoinj-ui-wicket/lib/sodium.dll deleted file mode 100644 index 986554430c9f0440cf50bdbb4fd8a42e604dba98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544436 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�)-baqUJ-lp%YA94WizE3=|Ru{8$)W&l%=M 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%0DA_9kWqQ`0bVX(`4`l1ypC(O#uR0=o zXRs#FxW0jb3iR5vl!4<V^d216&9^gBE~|jsR#FB`K)-t0_N%jaI)$$DH1B+(3z90p zC%A1N4BfZeZ{K6Z-6Oc+O&~hM5Q3x|eBLiN(4hB7CYIy<{{f@Xp98EncaLN<be_bv zm?PX=+1~dmuZMUkoa3!<nJX-Wf-@cnm1Uulvx%;9OQ_`Rx1rL6D^_foy<Fi!DgaIn z@i2&4{ViO4tm=Swr-pbWQ^RLPTiF%HL;*$HK2%19O3AE`E@)mqR7$o+sANJVYmd9i zSKGNISz9WG0veWbOF+$MIr|Nu!XL^yL#COqWWNd-j5(PS9~vb)D%3Ow9w;TPmOlx; z#!1$84v2w<=f4vfU9o<EEDgt$p2*zwL+VoWm<<D{x_Mi(u8M3{41fdIntkz4?;V(n zaj^j)2JgMWkJ<eXgfIljuXQCR?iQ)o<{~L*+-2+*0(3ca=&H?3B?apeP=K4alLat@ zYIY3BxOEKg{|-K^%-GJJf;r`!WKGvfRq!}~fFgs<L9$(-^2r;lG8W*P{RgDx0X(x3 zB!`<Vq6+G%IcRAB#60-mWdKAHcv)Daf$`4-U+%h`fB_P2cz2RXFLiBJxIMHn*73|% zfDD@p^Is~f*q(`usdh>LGyXvU&9r+1pnX`%=-{h?Gq!C&b&Z0x5VE<j9eQ0JVVb2N zX)Ze2Bu-O!96UHBzU898A^#dVeg)+(N~tEz+b!a&16(7%7KO{i#q8E=cadb96Z}$q z^zNFSC2b_E+OHGssvRT}jf0B?B<ryi-njtX`8FoF9y2|zIThdk4ek_0QVSG?;RPSy zYI>~MSN{Ns@RwmQrb*`i9$8$&@ce^Fh1M^NRL!3T8GZZxgp2#XT$gPyR|>F(2TZW; z>IB0ik?A`OrW3;$kN#Le8a_eXc@bHoP`z9MFN+udIzM+{SH%lX$Wj}j;KK-f)NLdZ zN%7?tkxS^@5hB%?@LJ7QBlgt2HYnBm_iM~(A~!iOqt{*~#yQ(kca!(XN5#A+&duPZ zs@(}ztPVxHiE?BfUGB<&MLPNJ09b?Z!h--9{{40qK#Xj}KZ%-`m_TGvwf)jmc>lFh z=?YTbHWg4uEZNvlQ!PriDxt53B^x22PWsuBq_XhXe*hv5c%OWC>EA*HPN~}C0nmN1 zrB6Y{ZUdkJaNDee#QP6JMFTExcN3!BxsBp&QyB4&(x_{dBIdgzBMl~A-0&Yj?wb@q z?%OGV+_wur-F=xv&E1zkxo?d$Rn`8}%T(dMcLl<ID}`FP?|I4Mg2N&JHZbak{vQC- zVa4uCv%ur<jcU^aD5}Hze^W)g|2JgOVU7wYi!TTui;DrW>@YtGP@s`n+aggM2r-B8 z%Fp)(DlcDLx4U2;1JInjr+h1cH0Tv6M%@2Y3UW4&YTlvn{Fi`SSFoE1kRNJ^Z})^6 zddsE3N1Ipd9PyWU?b<`4$@^%RFmYL=O3&F|kpg|95PW319mx6yfc<3?SQ-q}LCz`L zx9dzU+we%q=z=66g2#UQuz{f>^Y&WGa(nO!kO3^M`Wd@BW%>n_qRj$JqXEzVzv})_ z^Wq(@0daw(VrKwo9me@r@G-KgcDVR*D4u^0iB`m%jSi?acRK=~5;qem^KcLuN^$@$ zc)A)*$2DvKEsy>7`72DWa`ILY(6s-CNUb}6CrR^}IAf0ml<7sg*A*$t+iZXVTYzg& zQbg!bz{07x{lb*Xr3YuRb%rh$;Wb7L49qB1xgc^zMu-fbwp~*l>?Y84w42DLT&~W& zwl)}A;c)#csve!<i<jjF?+zaTpm27CH$_Glc$uKy_yMBX@0X(baM5m;Y=(bm3pKt@ zxcTMHxF^8-&O)4vNE+X;c7=PO;LY-fP|4Th@v^I29x5f98Y%^-u&O(_Lc0p-w_`$# zlVIhUx3yehpU5F^t)Ws<4mJDiCEC}#rE<Wtb0IEA4jFsN6;_QLaA{2p-02Z2MZ3#Y z-rdwK!QM#>?KEq4Wq_DTF9gKEV3=`cNHiyA?1V&uZ#Ie4yqvN9LQV7G9sxAz=cT6J zTeQtXf{D1_zMo3+wt7f37nbb*vG?ZDQ5D<Ua2-fO7@H|F3A8d8kRePOM4$r+bR=L9 z(V&7T3aB862_Q0>1ZYA80R?3g5D@_tnH5c#Cz)gllZ3IFL5Ls_gs%75`|R!x_ulpX z^ZUMazx94EYmrmW-cL=tcI~P&^f`rsx+MMg@Amj&GUe$Ae-ShwQ93M0bm@E{Vim;i zzXTvEd-Wdzc;bE)pm7nO0m=e{@1F;WIeIv2U<a>$kL0v+!dOCqJLCPgA}5d6ABcvX zH%h+@$fqEAI+1BS?;~|BzdT>p3FJUo5BmXCsD#7?7h-^YA6{_4Np92015!RNha<^b zU0nZ{B=>DS0Za{!L&pU0#%~?~_7PO%#$XPYUL_<p+lNfzX5;RV0N8er<Ur;m;bXqz z{FmiC*ipJwK!c{ZbVJc0Pt70=H#~&KvGz#;7^fUvR{+|Zud51R2Z_|B0C^{j$AR`! zk~cNSIEkHQzTS%@_1sB*63I};Vi9TVH6TiV&VXBt9!ehc#j8iLh7J9t$ayo-M*x;c z+~HvopBxOg`BZl-lCp^5V^J*U8t{`Y0%#RSCw#kEAj-lE{+Y;o+QI=E>bSL!+ROdB z%Soo3=HxNzolF1DK<s`asKNJ-B?o)MPXzq6yY%b;M4KlIK;Q8Ra{#s$zF97E_J<iP z=bd|IfX_vbBxo;EcvY!Ck3B~T%Ff%VBZEYzt}8@rLomVxX_jbUa@_yk%Ogy_>g6O( zioN<2k}{5wdOrbl4VKK;n+32>o?{x?oTrx}DNgV`OL=Ac%qCFjUr-XIumfcJ*;xFT z!oJX#lWg}WJzn@S;S)HA?1efp;8V+{ej2SZPY|HpK(2l~NGT%}^cU}}U^!1ar@p<1 z8%<fSAj#__zS-wb=IX<gM57UVz512_%o!L<00J?-|0w{$(W~bRU<+*|U|(9CfTURH zW0taol5GN&GL({j3%%oKdv#}~u!Y)jQY_S4_+p{D0(l=BrTvgsmuOw0AX%V2QLz{N z&8}FexdM42CF%nNZ7QyRiH?0?tpM)nQKqpk%oDkr9Amx!UjN)WO=$3Jw;n4x-diQ< zArDf!F_nirNhbivym#x?K@hDQGfnn=wSpi~S7aI&fa`yxfps}(CFy&+ZOAb%T3-c} z^Czc1EjlcvdHQ$O@cd8GTSbF_ny=RdHPL!0175Nd^;}y+{x&Trcj|Ef_NH6*#vh<j z!QHy-kl%PfD8u>e141WR_UV8~qV?ke0sAZkJ~BbD0{CaX4h@JTa760A&@R~|p4(;H zg`Fx%9}>vE5UsZoM7+f4IrTaK3<>peIm_8E-TF%gY%zSpfdDx*S!^8V;21ZYlU$NZ z4-gU?AWHWX8ftOrE~3M-m8aVY;E36rX?zi{f#d+ChEU*q_@ui4_H2B^(5BI3ySFp2 zHK*MezG?@Zf3J><7YUvN^uy$%1*E|%?;8VBH}>8b4BmS$4M=%Ba`nuh0JnJ&LlBwp zR7XHcX2g)})Pn*d-Ztdx*B}rV>4Jum0mV6D1&UiV6UYt`2_UXeRphV&UidD6hrckB zcy#doza3P#{UsoZT^ATfRIg4K+3~(#&WPuqWUuSeTWo@_n!VR`>FZL$P@zQW`8MUa zP@?p2LK#gISbB_2SWg7N<)R)BHI2;cwt6Pi1Sg4lGUvwoFKqR2&W)D^h<XOA@%|56 z-JR9>y0fU~ks9X4_s?y@(?noF0}@b(#`mwc+qP!s#|=+{_LZ>TL=#0`mF1V?l`fp* zz3UR8a5S6^Ai;hLQ+RIR2meBHQO}3k8tP?#k#i)B(mjHCT)MMgM>Fj`0o+8~EC>>l zbXV2|@B7EGl7~84M+3-gRV<hL+;~2P{o?XA>a0ZDQvgiH`#)LE;T7|r<#J+jfi>9X z=IP@>xm)icfQzeq^%W1$)3sT+CG~hAWx=!eeBDzXL!h+<M)j}?pGIdkEQ<XviR_gJ zpERXX?R$*R+DRI*W<mkGIVCeE%5_PE4*q%^Uhu{8X>t)$_Ureza?uo&EG`Y>k8c)3 zN<k4VJwXJ2+`30{6it`y=;vby|2rw`8X`f?4}{yl{@O{c+HIFZ<CV=>@y;>M>VH%M z=RcIy-l|OUC-ZfRKVzPLnWen_O{63*U1(TaTTW$1`{gtQj|TzH{{+BYb95^J8O$ak z=XmJUH3h<D@pe=Jup7?sw%Ao7XyFYX0yyU2l}-YAA9R3#J%ZmLDb|}K6el(F6Q*FD z$kSsv$#ZQnCwc2V5J`3reA0)LvcRMZ8`IROJ1~H&V6srswg+B^%5wIXNF>=s@YFgd z5!mx}SwA6P7vUs47M}wN67n{4yQ!%ckPKKlj4A95dzgYs^7H|s(2|j>*V;)6BY6KK z1KC(EW59FXsXrmW5gdm7K>+rRm=2N$$<IaZq&i*==E&2p`EyV`c>h^|7=-pky=eW! zgVc%y?I|6ti;Ip|1m7mRNiJ$d9srLU;y)*4e&-O0!XLi>BYd<jUuUx%BayGSFrNqU z+aM)JFJlT1`FxvA6^-X4kNyZG#aHHXlEXtEBEV8;BhLQ>aHMnV4njk(@j4U+9NApj z^&s(4f_AT6I)VWY1ipU}1o-~fMrr|jTD1N%2=M(c0BQwh1@4YW;h6Gy`X<x(9Pwu% z;iLlhKM2^C+Angp)O41!rDh_@D|(I|6QtzmRHm?{hT3c@um>mEQeBV~OQmp<E!C2f zXi1)qAugJWmf(RGn?lJtoManC>4yuF6al;IQTj%<l<(D=lQR0p0i;j&DTx}mPn!h5 zIv9TevcLK|K*T6TYKFFNCh9L9qz)%&pVTJm0StJQ@C`>BP#0cAQpPAzKNAG_;3bjR zQ@ExE0(p~^sH+Rarqip-7NjQW!UDO;ZhbS$E{J1WqCPJ$iY8mMKJ3?0K|2J<?qI!N zM^t?Ow4gRg&jJi?yb(t8^hDGg6v3fz3oIa#%|hRRfO^MQXSzNha*<QEc|e3-=Ie$J zh`9MqUHJhacF?%150RMEt#AKIKu%gN0dQc$B|T2E>m=y|40v#`|Kl92iPURJ!+rq^ z;D!$qWv4JpbR6d<34j@L^+y7*>&Vk7K^h)-1z<biCru)U1@O%V0f<(3|FZz}2Dfwt z@V3dR9}|dW&#Nm3iFl<OKyY`DcJS{0Za_-=cr=Lj@#g|kUNyb?_ke&yFzwj00wVh1 zHX6oT`y~M>5ivt{>gfeU!OQex0@8vH^t=NpJ2iRB%fHxw{iG9sct~53vu`{hfW4xQ z0QQH61&Ak<6v#fH7~p4iyyMQ(*EdjA5p~Mh*XpZ^`g>OA>ixF57_0F(FhjhUl6TyB zdWEgNT-M&s{~_uuR^yVct=`RQ?43ouoz*!y*;X%Ob&md0)cd$@ywcoOe+)GZ{zsxd zO1ZIf<%rbC=DaO6^bpQzt^xDkR(D{vSGOie7iaPQzn^XQhqbSAlJ^T|kfi7c!Vya1 z{x>})z`@(AH?tOjS1Mo0l$E?~jrZK-jQITrO9M}Lk~?NVByoJS<lzmn=eFc|+fT^R zuL>csb55q`CGh@7KgCC_YtF2ndBaPevxcW&ZOGT1NRD5x!b9-Vn>T1-z>|VZw(mT1 zGx!1DZ2bt!SITc1`MHcdU4n!(u_^4CpQt!q#I{iqa!hI|b`>jm&b#$uKNIi&MiLgI z{8K22(*fE6v*B~~QX=9uI6qf_@-ScdUU)W>Wm&+<649XMYcx^150}aNkyk{+p*T`E zv^CVvCI$202^T-4mW10ho}0QDY3%!NRawrBJ-?pX&FiWcN%4cdlH@SAkpNo7@#~BL z*g8)y27qm;s-3|cZoNTBY|d0BiN&S~K;~h=94_5Ma_}PCnMoX_as4--L1WyySx|>} zm<54bR}mt{%Bx!tpfSYLQ6f(wYt<0Iiy>b4$~0_7@HpT)9ze=*nv>{Ou0Dh$JBDpT zf)cQolE%NMn9Fi*v0G1(JRGBO|Cfnuq_0E+2leWA1h~nC`wMVUr6c`0a&<c-sX~gb zx;F!^1&_l?4vu$`x~f2wmZw_^K$OJ$KLbS6b89WN8vCp~eV39LRwkWdId2Z#dOv`y zl2JM@sEN{R0(sao{E*w=)}M=(=ifvD2+q0sV*qr6lF1@x-<Za7UR_;!oIeNkHcAg= zop?bje=b``kR~;VPW@<*h%-DP@|sYgAnl(uc7M^jeElbYOxLp{w@r+1m@!~GMCu)q z1FL7Q{#gKf=m`J`J_|X?lXS6AFo^izr%j>cWRZ(QjFB8@yi31HI(rJe#7V9@N)MAf z5(-*z9?`j&$Xn>zej2Tyku2vk!>U0_VWIFI;nr#%2-|R88&K9$NU}4KarXNGh4IY- z5~(NW1n{=gr4JFLod6#G6%B7IUHW5zY^~)0Vy(fPWNQr*3R|m(O`(!r7r9ugi{xNy zJxMy-TJ<<77D<piVy)7w;~g9x2NfL_lpK9)mEBKFlN^1Afd7o>vS^sLR{%RUzJD7e zM(Q6$$6m2W0QYk%fb{cYkt1f}c9;O!tPc_zdX%V>MaR8O(r-RUZBNkl^CbNg=i^wA zsOt+rHy)Kdyf!51as^?u4q+nODN)~EX?NdA4v?g^K(sPP9|w?)vQzI74T5H#&SnkI zwj{k$Gzhc!{fB6feHO{>X%wv|`Q>>2KPY$VAprInfz;&EebBz(NdlY5t)B}D?aN_N zx^+;5pvC*3dO?xBu2l&N{OeWt10pm!SN~n05!|UreTEuIv5>lZ;71#<GbQOw0x^Gb z^lAeB!1E0NuLjuvuw1PC3ClTh;rAb;LD3wLhOmY!b?LVma2~hrE;Kekl<pKHx^)cc z><!5iLgVOJhvmF>R}((Qq?}MNVRLnu0G^hS`t}NHF|S2ekdzYy`+mSFQ2l2N_GLS| zc)vX$<rd`VH9<jvTLE7NrL>tq%nJx;!;iM?q$l`?1*GJFm})z9pMZ!PhR-%Y5b%z6 zXeC)s{NhQ1evhatI`)OCtl^cstjOWj`2Lpw9{D>zaQCV1NPQWAZUt!GT2m~}VM#>U zBK~XrA)FakQibByt8L1)Fq`7mxl+m<p+xDaHf6U^qVz99QFu=Pg@Zvh;aegA&J}ey z)D-`^*y@Q;6C5q-(wsX_H?`IMIX5nriMk@^&eajNx)bNd_uoYAq}<%?o8MEnBkEIr z7E}j?qgI|i%DTY*bB90|8S-ZVSUz+0cR@|Qo=<?B3cvpoIfugu0J2#c#T0h+NIghM zh{5>rhpnNWz9e!Eg?Roin8&SK1#}?x5Wo{OT0a{kCh0b!Lo@NPAOLp_&wp@|UGuN+ z$O7`*M6^Cj&>v$D1Mo&AU+)qcdY_|zVG_q)r#>Yb_!NFD8Pp`|&7xs<jn<1;hg~Rs z9e|{Gb)p_9a@gOg2l?|*X>a-gRT>|pCF%|guyf1NJ%q$9t7(&{yOBuJt_anYk|b(~ z)|T)&1U(`E%NMTyFQ>lq<;<eN9JpBwxfpIUQ+O@K-BBA*)}NSyQP0y~k`xBTg!AfY z0(gmu*69Hqnv$dk`?ZwsEk7VfOwun2<Ul(NKn7xf$a%P(x~D*PlSJK_Aay!NM~Vhf z9G`<?IlG)wmja;vpdNf3i8VYb7nj)<V>2BCpl-<GxJw{nSDyZb07bSOeOlzaQCK7( ziMqZRAh3e2lN=}--@jqNM#Rl>$;0&|>OlfIMC1Dp0+Xl{$p9#kl1~R{sHq_VTJ!RC zlOUxMCwX;A(j|m1<4`xKi`Lhd1{#V_S^!YDx&9=5upo5mEdu$3NuV8oo%$Ot2B+XT zdKb~`btJ1`j%fXZKxs#c<Y9{s@#n%fOZ_woBd-eJ2>x7<6fJU?9`}C)@GPjtB=*K~ zNXofEq7D-hPe?rf@~z!h_S6cZbJEzIBn_>xUY(014I{d>P57YX=pFvd<PbmGd`iye zB>Tp6B&F_Xy+-&F3_cX-A}@^A4DGPv(ytbz+K?wQehx_*KP_5l=s$k^#+qYfFQ=WP zf?c{C05>1sEb=Gu{+A_o&k>n(bXDSG$PokbbZI7W^N$J%!81?q62P{)EP!qG0|DDs ztB@31%?wg<^lSk<c_!O@Ds(U>xw3bV4A?3|_+qPPS;yfPpEMO6TIJQv{6qpzGL0P` z&;Jypl@h>C9i`1Tfw~g)UjWp5@rknnxu1n4ANO;IXkat^!bt!}p-8<<AiH%C@-)Hc zz#k-!CTQ=C-THk791CztZv*Pg%Se(bF^F#6DF~u;43W@a_MAxFm~|Y?+`5+N5Zk@F zqMt}kQCt8w*ro3+rZ!0N*9f4*D4IxTYz-A~gp*>>ost8-_Ny(YVpk#=+^-|l;;tTQ z3W~VCBt0o0q&)z;{O|%IL=9X52?!*DzZ4Xpb-Z4+e?Y`1WKK4L)M$4Jw?M!X^SQKx z+Up-;w^jnNV0-nAugMUIow-_b5|bXke?wBdF;ed%fD4IEUNicUnY{WZBBM<B37+BL zoCwT$dV$D!bdvNmg1FR2mokZtU5;Gp8^#*>RTCKY)lk&VFRaeiFR@-;RX}TvykWbI z$oYCA9xvc$324Pjw(lE0%KDYT-zVYsPb9L#bhIu+z&0m$DOX=#L~WcV*KqNzEbbyq z!aMaHdLQZS>~6h@$@Xue?DGR&2)%k4%BAa^^pJr6OahN6;t?<?`~u#Qrv?N(&e#GM z5FpTE8yghBRWRXp>P`hj!5azDK`BL`9Q_ysJe+yD5?U&&Jk~!3?0GJ2z9JI)H5NPu zG84`du#JQF9|#aH+rdPhsfqe$)=lGgf6}loWgKz-F74X$bdIQ_WTTy=Gi<_U5Xk+L z^lG6*3&o}T+LSMa;?h%v;u1=<j<YEvg%Yg?3dJoHw|>;7yet&lEEY;4D6~beY{F9@ z5NsgoBq;&U|1BgVL{yRzoVvJBdI}{`Z?Gx1^6lQ>x5F&pOXfI-5x^nUr6&VoE>dOb zqT$)$)Prq}9S`0T9S3PV@FI|7XteGikmE_TewuUg5GLw|qT~9awKJ%5>vE#wV(|U9 zpe{+@USN+l&*2IM3yIR<Hjy0ozR+CcVAlm87~li<0x+xb{ht60;~S;F5Xh&RnL%QX z9u2_u@ahzj)8-;yPZtVDmkA;#@7E)kFPA=FV}NjgUxzY@eL7M<?w8|UsPNIins$=f zT1*IBWC;NBa}I%3Sz}-SpHEHW1=))vFY9@FuOzu&8wnsQjFzL%2*8FnM=u6I(4@+C z+BwL2zY2v7md+H8wlnM`WgKa<DXhLBY|QyQ{UXa{{dvZ(p+Z}V200qrNs>M$6c;t2 zy#S0&j($o2+L^EG3t*Rs)YSyq%fXjCHk3zm5`h)V0g}{bCwXclL$*?$UP&4|Hb&{M z8NdL!dY0rsKky76%h|v`h@5vXLjd@^3ZJlG3JjmGKepMFe1Qov!h>1P)`-*{2%tqA zn<906Ci33<S*Gz2RtS(_%wjC(eQc>9<>owYKQ-CQNwIcOrW~XGM(Mq*;buhX{RF6H z%CpK3sI`j)pwIbw2>{y&7d%DI9`HTOVO6jGD!}JjJ|k#HWqiBOpT}+iL0ONT+7%=^ zbsHh_?x0ygS|!n-q4~N5Yj_AOkz?EJ)i>vI|Lt+T2*Bf!uTPL1y<|VUM}U^tJiQr7 z8T#!k<rQtYO(3^hK}kC!dgy24{wGto0i!u7ww=cmncTe@@LCk5`w|T$!7uZ4f=#1j zBFX)$dE0`d#{{rbMC*#2hldR@+y+#DBAR`=`1c%6Qum{^CV&bPsUP7|7G{iB|05cl zA$WDR0E9#Q{#5|m=^z2yPP32{JI!M$+i9##pi(AK(r>2`ezsTlVhY<SiIZZdp-d4w zwIU5N^J0LX0}13+#jTw|Dwadi+1A42P!AGs&$f$Ud%3hGNYq#CXP=G&i#z-#Dp>Ct zC)pX+P?8Krp0SSD*d->(o+DAu5T^eT)9H-4a6V5PM>*_!*8N$9UgL#NEagb>q9p0* zX^KegnFUMYEnB#yEeLfY;N|K%%*F(lCt53!-hN1cTU(T|1nzsYsBT_(@{p91^$RRz z_Hj;P1DCJ&`K38}3vtmL%pLB+s-S8KsbD>1n2V&nALlCiQR{IFjN5zN|4wQDhMl*& z8)^Frhsx8vi6z@wKSd@)2UacRovmNRk0GGJcm)Ksekt09-@Gy1-qzAPzvwAdKY^`~ zuk)$Rnf5EE{P*aC6iht)1g1b=?%H8u6XhcBqsjE+OdGK8CFz9%v5M#E=>+W49jBfE zz%v40wO~1yh6_F{XUC4#Z;}Q@b2Lk04b$-a9|N`ozFjIb-ta`}hC!lBKT0|pSv=Az zG!DGQSkB{PzM!VC)ovomE=+yBD1dihk@~1jBU}E4q<;?&FU2e1P?~K25jzkhcIu@; z5mk?0^#=t7?hT{|rQ|Jm1STLTcyFLb0V(`Vo-lF;rL@t=*H1z~PKHLf^<&b0HVa;O zLeSPl>Efc}Q+eO#q+u_)K}mZK=j#gsc;s^c0_T9cS%Y5+1oqkMSrT#MPkRgO*5`#X zP$(`v-KOjlic4=4%21(1>13O-Oej%$u24o31(xq(6DAS?aI~n$LrnwI)K>S0n&4}q zp3J%N&1PHOiF4z1D59Rhx$*n&8PxfRhMXIZLx_4F<%UHg^&y*3it@8Sfg&+$9qZ&e zM3i145OY0W&lbR&gvmjTSEmxN&$ow)9BT(o{sDM;cy&*v$YkpxBm@VqZf9$#r!7Pt zN$rZ#^@4d^x_Uqd_i8PGCup>e3KEla4bkxy;UNI-TAnV>N!~;KKHc^YSyML?w5N2E zUITzOlOHY>8hW3n=Q8OSwalr16%Bj}4~qpgiTW$i$Z5+s)?w!0>3Af?t8qzN<Xl=8 ze;z8WogYx8b%V4-U5^1ekf&P<iCY$Glc>c-k>ntdqpy8tCs9MRJ_8U4L4_nU78tzz zfHd~<ekqtENuOkZ&1ateiYYuDafWLH$~w#DQ=>m3sXgIxbcz5c*(zH14(I@r^oxEi z<$J~th?=BZ2;@NfGJp(3qR4r;ojOJ!yGf#MOpwlR@Hzm|Ad2Vfd!O1}L(xus4Ir?H z=dp%IWjo8+FQfHOBu6*6<w<&}K<u3`{+tKF4L8e0js+7hd=!9inWH@bGRAmWp5);A zdoo}nChF0WhwDkyT?BH7PSni=CQ&E40-!`nRt?ZlQ)vPe?ecZ`Am#2fVsmej^i_aB zZ}6}@)1;^SnaItF*1rpp>rc|F3PPt|Brwr-eTH@b#`?#_u$L?)8pUtiEGn2IT2B!u z{_uk2fmxz;l0O%|S?H(Hs^t=ZT^R0v1WA=d4%1`*FMwx(nM(Cz-r|vVB*hAe`Xb3O zraU2?`lvt@jHg2cVEw@TKLWJK<>-w_(lDZ|#X(A*ULt@UVz$kv3R5}BzA+R@sXJQF z5WWP1R|LxC4u*EvacfsWsttJ}<8nA@{Ip6!L;t<H1Z#MMY1v5{B0T>+MVg<lz5XPA z|BNIV0+BgS`vf2c;Kve7;t8})<OrU){w08IwOat&Y6=0{R-Yj$wi+I!<mr(D*jDe^ zd@A%sPO_~MkPO(WpYX+2QLN+h9Q+(sbZC`VKjbG8sK_*SYHSAz(yo1CcbA<yN}mP{ z_{8s`6Q9^Dko$Q~0QYl=0N5-?FBQO1C{lkMAj0TD$kW87M?FY>jiCRG<#`4?`66|D z8&GGSMpB{&-hU7Tc>g1jFm~)Yk-8k~czfy6VWPwK(yQ|)3y~(#6#?8}w?0YG4h}B8 zPjpc<kv7>HDqt-q<+8xHk^}O2ww#Ln6iL}oQ<G>=)6s^Yi0ezz0|P?Z1Mqb3UO>bb zHWC5?iQp}Q0`gUgZ;=m(c+GaQ3H-Zy9{xnFz!US~{g;z$L+}ve_b&pmV0-mJ0`|Gi z4o+gGd-X3!iibq%AB4{_3%~yq2oK5EpK>0KbQ46*<AV3U2xJ39>wY%TUfW&;;Jr|e zex8#YHRGAWyNy=DhNm^5Bu`aX4G%mD<gO>`2tN_me~^?dygd{L=m);H3rKOhP#(-7 z6Zp6Ls1TpPC?MdA`o9JQJQ(=qdr&|=PA3F23y6Z3?9+o%+DqWBHU#Xj<Q;E(Yy<I& zu7ClLa5G?EXh}4C9d9f-c>HS#kdc3gX)@+TS%=5|dGm|!|722C5slB%);Ukt7WMbC z`AyPCZ9*9k>~Se9l(j;M)~jsFpJ!}Jv_8#(X*IKmg5jBF6MiECV792Yvl_quu+__1 zjeEzU-Ul_g^9#0m64V4!MSYZV^Kdt_3GY&V7W5R#X`v+QvNolIP!e@Z7RaUgn-gt& zODH`Lh<QPk9TN=)MW^0nYp4@hq_G1OUVbGs4v33b!|UQq=8Ne+77}lK#)t+sA1rbX zgweWBFb|&p2<YH{!vt_Mqx3sLA|4hO9k2791vtrTV+qjGgY_>!f|;W9{fs~t@EdLh zpyliHNOJ%2?Piw3`*Za@N@CKmSGo07TSEqq)Tc$q4jZL60`k=L>NTQ~Ks>?LP<bC0 z%;VOh{E*t*%cj|dzeyVVJas6`F*0855(?TI%LGg#udXXe?q5{`XfX$&mI7e?d|em- zp^M6?70iK?Wg)TQPED|TfwElsngC=zgrqDBZoQ5GM;?^5lu2@VZf-!s1xya=+&VP~ zTzaq&In;hefJQ4{XNVlzT0H+Q08Wx@?@0PF6B}BuZi^%Za%76;Bzl&s>q{0a%#x)p zE3t3!YKxS#wk6v)yz@L%gshO~0PIeo>27_9Ang?Kc0^9{0Q@Q>7ZsN+0E=6$KH%r) z>MxL#&=slIGvGQR^&}?An*KfkSP^C6$3g<IOU>8agoZjgaT2Z1*UuHCJi&6FWG-C? zK+az~h#XU_T#%19T(O*M#w)GHQ{T`by!?)mG?WCc1EArQJS=i{id!t_%G}!P&p|uH z6RhDyYN0;|$rlB4VE->9*wv{g3XOyIsDiX!q_HDV63f}*9a(yeW(79947eeYx(NZY zAGNo(04zVaSOCEG!1HgM<k2rH6bu($X)}%~l)Q_iZ30|R<+0SPgdGI$AcpM=zi{#{ z|KKT4pX983{gSOYk27*|Ars-Ld3pjTA;s%ZIf+?|-@gV4Zz0L;#Up*3lq>h0Z9o~@ z5gV6u;UDmG{Qi$Ht)e;laZ2JUC%r#_wO$>^B6;mTo-p8_8{zQ+<c2A-buHEhex*fL zI6sz3vENxhbCK=6kA-RSL;-yn)}Hm*`Ydav$#0wFQc$#>3vpo8{*pMzzy?njfYI{m zaRMUkYK8`Lx%Dfe<H+zVfy{}4_YCyK?t+H<4a$*ef0cngH8&cs)8?Nx=IVzji@k4i zauOjTM~6|;|8*DOP{#6|i#zF*g?Xotl;3!<SMMPe`p}my@WW^E`wy1*zY{}YatY_* zDITqNN(NpPqV>lFDdf<3>|_Q!nFj}G7|fvnR4K|wrC!}P$m=9LK9!4M9_N3;pTzi6 z(so_WU4>Qby4;20j5$y$p<-4u^?I7!IvC_UlDz)OqalY_g*lL?ce09?nqOH8SI*Zf z{n8x$4J9+}mkM*qdHOS3O9so}B%8;nM*`S8a*EyTWbdL;{!Ka@U%n!fR6xqJKT5|1 zMHmsMZPTcL5H*u;RSyWn?tOKM0wRA1EYJ>#Cl??Rcg@p>QwjLLspHjK8Pi4pwpu4Z zHb_eVC2Y<W4g3@@JQIKbkCPt(7-I}L=iqwX`W*&nm-PH)V%q0Ic>dqd6lE(`vO%JC zBLZX!>UT|MvYGqp3jS>5cEvak*XGjqKcdpv3V4S*fNTlQBkAAxbErCkTymYCf`)AZ zzu*{|VO5Y(;3_|vz+VubFnk;kaKOsfBMJ!MmU+5gK){X3*JOf#e{|p$2R)+&V>UsQ zZa^UD4b=g~56Ux*d)-$TVIX6FcMSKM{3lXh1>mRuW!vo5$5|3l^N78(cIz;%15f`m zMFwJ(&GH>4mdH*@S$CwYC_Tw$9c316Ki3OI@l#<mI{j?QDxpN{=|Z6o*V4dtunE&Z zAUIUirKN<vx~@%lUrOk!y9%YEP+Yo*O-U4rOE(sZQz()8+-NdHM17$|Y6nv!wD;AU zSs#phQF;YS<a$G2y+9!Em0fyTK`oyD7RYl3`#*ua0$~3S7+5!65?x<=ggP(`RvfLH z`w3)^dIGqlC|%XB3yex}KY@bL;|%=sI!{*#&{0$=0l0#MhouBy_U7oDqquz>|B)n* zLnOfaF9dLSp6@5&ksgs_!NvDKSS|r@32A7TgNwx?M`hDkifM+Q!*UWEhg>~?2^_iG z*;2BIQ@d?8mC@2pQZ+S%g5n;dB-)5(<>+Vu+!o(Rsvf1|`#+HLe9P4uQY5MRlSDvP zj#Kv;*w&&fS)xRE!}IU{OkRCR<ZP>%1n34IE)Cd8$~w(vQ=5me6x$f|kdi!oA%ESL zQ^ptla^gSZ2c&5!fCF)N0FJ!a9kV>>C3sjwn2{8Vn+RZwgbQ#}!~PjzH-Wv)sjmn` zSMcjl0`^{F3zA}@^+It{dzLW;oxwRgQ?Rh+=*=wU9mPaW@}_z+6F3Sv^_Rlt5$(ey z*bJ|OqNHt-eBFcP>;bWyL^=7oH<G+o;~74iK(?&GQoe8hSddVXlNegBE<{|vu^;uz z^Yo?RTpW%5pGfjf2-m+P$?e<5fP<-1?_j_I*r}HhK%qSJzX|9|=E#yfNUjn&EQSZ3 zf;sZ^2!9UpY&`HDAO@kmd+Mv7dyv|cpuLdw)sKmeeY~;&>>%;|D*zrhI6TWSf#{1} zL$So_>mO1X!|5(IyCad=LS)b1S^0;I|3RPx&r1HXFD*?N<P}7)?U|!j3c!hLp8lG% zVwUCUOwPwn@ewD7(--WLYxWdp`huxE^IxZ={lo`60Ti;<E0hVwKxg*Q$G7co)9s}C z8~d~7=qHF}PvFN{$_*?-Ni>iP3Ly#&6n&jLkvqI!UmFGn<;&6Mkfc|7VC?w49tcr6 zdM^p7w|M@EsK}4$<p2H~9+qO^O5T4<RNKK>mdchK9fM0Vi!TJm(nsGml3|jiJQxg5 z3JY)&c!_{LAU%-e`f<U-PoWaq31DkC_w(~~b>_p`xZ%Y~cG;e~DO32gs;9pD0Tn9X z9sqTV?;4yYV4vunV-jbN(nkuCeiG1=TsBHC4HA>|T+-P^JM|PHat~Js;2sVYfFPTz zhjAX+k@fJ??6uDi;h=aIdO>0{0NHETWjQw$zyG%Zt&C-v!h=^tlHB6EL+viR?K&<C zgiql2-vZDwuijsfn5Z`rv}YXN|1LTg<ytI2mj2KEIx1wM0ABc`^a#I>Dv#Fh7Stx{ zR~b&L87bQmJi{!KD3YM6mV%>!srdSWU6LbFR}qO@B+<I4ND@VY-@gta6HKd_B$6n7 zUL-w5g7+V@ggqlq-vHn*L6hr#KsL6g67GL7Eh1$%wa13!vFIJ1e=e9Sz2F!OmclWu zak5m9_OKL=5y;ce+J#q?!U;;@xc*TvS7fm8XkCeEeD2nwASs*efZ0z)-yBSxh}f{p zZZ|<GI#C}52=w+h<bsBboyB?NcFyU7q~27ty{(zaq=+}9V1iUIsvJ`=$6&iyGL&2Q z;XJ(Sz|C@^VGGUnEGcbvQJY;%i>M?;6O=aNg(n4bRSFg!sf%$gd7QFtLE87Qj!gbM zeKv&+^7Br+VuDh5l->pqXwuJYULN9Ty^M0%9p77!)K!XRTaPDFM#O7UG(jmkQTHpD z>oqAFeSMzuh^><glJ0W1d3YN#DI#17CWwM*s3HpHC>Crn-v5?tcbZ#Pg=ly@j&1#= z7>aFukZBPccGx<C0b8#H2;^GE&0%vS>N!l~wq+G0wUeR|W-))DfjM56q6r2p-MwJ0 z=j@`XKXH`DwsW6?l&fq3@f;_SG9rpf!33q?NF7ozSH5j1a>^_3+vadn%Ssd^O_8E` zj&5OE#BzLSnur9Y=xF^7K)@Vxq-gf*Nt7$~=bAl3l^T_RfHM!Kc8n{{n=ihGF{@@@ zia4p8O3)(w>>z3kzOewlJNr_IwUMMRvDE+8plLPlP!11%IK(d&!gq4%m?0n6LGEyt z<EKZWpCS4vK2EC{E&6$)Uo3k5VG%_|(SI-cwW4?O5z$%nS)$)A`ktciEBbw+KPvjt zqOU0W)1ud+cZuFD`s<><Lr1Zqa-<F5)9bXFNo1tdtkSframF{_=$N`OKC?|}cXM0i zn3@&7(UEqI&1(;V!!h<W$M-bb!l}BnJ6ngK5G&r36`y@N#GUaomwUr8ph$1WHQUBF zVjQCixl`|0j<nA(e$cfq&C1DW7%5R{>YYN#!%5?0%{;%x2~FYT*GUt_n(zIZC}={G z-K24`Cd;pJK@*zXfHaA$+2_|JLKBu;o-{pKLnh=F^z3M1TeZ<$7{f<)!8HkTqJ%ox z&t#^Bj0P<Mb|H}?tpVOq5bId2VjCBV8;_3VqhpnAnahf8+{TI<-^PNtkRz?Ihzmgs zavNe7cBEZ_8Bl_&FvNu+E(~#qBkhogLm&=;7?#Zsb)@|w;!ub~Ar6H&%#rrBh{GTb zgE$Q0B91iL;ZoT}AT9!N5s1T+N02BSqHu`9Au5{uHi?QtR1~735EV;)kwnEHDh5$8 zh>9o2lBhUD#UUyVQHkV6Bq{+>35ZHSR5H05iAq9L5~7k2l}auSNvXzdO2v$CQ>syx zd(7r=81LmCuXc}lC8m2!kC<0C(N5Y)mtI}&j0flOxOa`oObn;VI~z&fYVfGgVmE96 zNyL9M6H8MR>iwY1Ng?mK2W7muO4Lt3C`Hw@kE;Ek6nD(%;#TPgr9DX+rSEc!0`(81 zP3Q%Y@tp#M017eoyz&%^_dFN=ui+)$)21}!6-gci=b|1);|RGEa$Jl_v+oT^IDtG0 za%=+SZUW?yHs1v~wxV!ODTl%b_=%7wk-W6XDQrOA6Y{<!cZr<B1>^%EAL@P1XADLw z6PM&5P5_OjLxM~P$LjJ{Oylw@W_)>ga+a0Qe0$1eZ#CqZ?Ekmc3IE%)Hk|&FET(JB z^Iczjp^JOW75-wnXRq6H$en(`k><eMh|jR-cbif188H}b+#x{%1BzdIB2keN?)VG@ z>sXw1Zi}rMiBb`>?zVP}J&RPl=TN+7w>y*GNS&DsU&<`G0h1-(bCj1lykBGAedAb- zd}!-<9I|z|WA*bj>sb4M>IkaKsIH*L89gqj9;14K>NBbj1b0uU*&x>1j&d3RtJs<i z<5RD?;!`){|NYjEaRUv!G&3&Coq8JP9A3ngdcJi^i-b(PZg0H{Z6~jJ?}htjy%T^O z{S5$~CuAo7JlRyRbM&UZ%#z196zt(|d+(dns}^dq=)CYk>YecSBW`UBNw&VawXslg zq26Dmp0ScM7hay=y0y(pNy6VkDXsB0BqcKSZup>sF`j)fsi*HW%JO6<WRxhC;3?rq z%?gigo;B!Cx3$e}ZN2<MMwkadWE-N<){xXoA(yu~)`azD5u9Laq0~!-E-#OPYt$TH z0W>QfLt$kmn#)sp{9lZD;op4Vw|LLt1gyaJmtL{*!WBBEXF1ZQ^6~-?pbLZ<6anZe zTn0^YzLM(l`vkj9&?n+k@4zP-Q8Auv37%VS&n_}`R6=GycuppM*x|(<kCvV=#QoTs zi8mah3InyHg($XWPr$aN3DfcuTXP^`Ct-Wh8O?b|wT=20XYy<$LC~FS9CRof2VKg> zL8r2D(5-CTfZZ(UR@bngZNmSpa4mywreOhxBb@n(dV88q#c{sA`M3M<w{}>*H#t(v zv-7nD*y>0v0?;T6<5Q$@`LOZjvDRc^b-Lq9x#F!)Jj7lahkvmbDj4%X1-(##=V*N9 z3n=xFV`{cLvuo-2=7+Is2;c8Wdl+p>{RbO_a!6!$xSs6|NzJxAJG0M(V0|rM^*Dv~ zGWjtQ7BGHXX{?JWWmp;<f;cC3C24PBR6YCS9IHc0#Ws#Dkr+EZwxr5@#%iAJNR5Z? z-!z3t)9^oO3OC>G7#s1QG$Ew<2WI%U(n3j-`=2ynq}leLG(||W>_2J3Nkbpv{<nIH zHs3yY#J@?4LE7ivq{Sia{BP0{khb_YX-P<H{fjhpW2xr*20JkI;TB<ypAShK|9q(8 zxJ15`(^=vY1*zQt{}z{c{ia2PXK<>9cOuNCX1UzfmUwHc-=|W~wod-W`@?->QZ-^! zqD6jKqDV~R5@F*LLKS;r^L;6oFQ@sJkIDb#^<(zhg3<Nb{{K&}AB_?VtRFQ2{%xH8 z!}{^lnu0wni5~vn^+WytasAl1s^Iz&f{n!g!|TUu4^*&V&;MON9$dlxk6k}L?@(a< zm<aH1aq0iP^`nbB^-2`Bf9{Nu*)=VtOVC+P>K$DC!Z}3p;B|CjqDMVMr(7lH5#cg# zIZMt$nmPIy2{P%_G!v%`*qW0#QfF`;zWudHZ{<w<xOV7ERLUv{xNNs4v@;1ph>jDH z)Xh;ZZ*pgZo?A&c$KX;2NqRe~r=cZ~rC!1B6KEfX{qHm^k6E`VQzV}}VO1nOvWLzB z6=y=}S;<w+J_v5kgn-VGGhEmuN1P{^o|STz^Y-rDz+XPjytssB<){G}VK9YfQ*xd3 z<H-(3^;qnzj+*jYQ!iU7x7?W}Cs8|4`O7`LZy@QY?oy48UoPa?l-UJa#-|UX2m4a; zE^jPQen#k}N|r*i!ftFL{<hG=z}R9bdr_COztk%(cSh9#)XKGu=l@av^T(0G8J&}D z(0o&J1^4aW-JYu5iGh<S`vhoH@5$~=nA}9H`w*{j#H9ix$0F(3BFAkeVi7R0qC8to z#1F)4f}KC^%B@8g@DE$tM(5q0Ywkuza2>tT5x2+Zeq^h=`Kja@ZqIf1?R{=fv%_DY zT2JU7bO_c?{c*3|-Q9Vh_dyuumnPEi%fAKf+Z6`(oQI7Ex;=Yf!iUj&6Y&(aDWhr; zTo#Ih^JjL&8EKA*c$~!PS@E81N7@1!{LHx1WQAz50-d&IbUoT=2l*RLXyY_Ho;x#i zdqwe06OlKJ3JzV4T8P-JJ`&qP7gV)W(GZojEp#?gWPEgHK9ZpR^Esio>qsi@W!xPT zv4V=pEV=hPg~o0HFcFX8?|Lc(PdJ*0FM)J)Ib_X<!#P)IOVooV!PP<!pfz6HAh6H* z$-B}IBv(wmTR6GgTCSSBH{jp;!{SN><&*vX82bJXIAe$|lpMBA;gmt8-Yt||F7>XJ z><W-y?!n_<wc9wVyV-MeXnrI44|hgkng@k24^lUULzHs0U>;o*HC|rls6HCSszzD< znPhJ<-Jb26dKd6t!hy{v65PIMH>Q3PMG>5K;{GGf5b32(eeFo_L0KBPk}H<eNt3&0 z%-SlbXFYXYUnoNsOGdbOo=NVWxc?pRxvu*|p*8+YM&$+T51bpPUP*HIs-OKZI!X27 z{CHdXRmaD-P%MUS8RT&oah#hcWRy;5{`;WvbbcJ0@ltq4>lm=(qZMGr;G_$jiZRW- zDR6XrzoG=PlgDj#q@AUrGW+$%rSbEH<2_ds3fF%D#m0N$O2=%AgAz@=4}J_T2$zUi z8%1<$ABRG45NSdmqt<04M24G)wL_7_C?w<Awb;zWd#PvsNv?+zfz;E#CfAJjcoPbj z%&%hMy#X#N1|{M&o@eq9WJJEm)X;;_<HGSBT&$reo4Ps4f7!!3wlqfWs`n|HzY$*z zK~<S0*W-lBvr)f{t4(OiEGituhC|aAnuLtl$Z*|?l$j-;gaC%u4e83%gZA!fUyh(F zQao*YW>k$wQHX~TZqF4oz`i`$9l>lgT8_z8o0^G~E(5=E&v0jkxbS~VHHdK5b6wXh zNgZsq3GRR?znczqHg5~PQJFFUz?GbsHkW}Z-qb;Ozf)x76#OkdvUY4nmALfdj`TQ? zV>7yh#No<VdNhL$;c@9ZQmW9sjo6IBaabPG@p(O!(IF&#ha<f_CA)-U#vqLe#J512 z-*BWp0h1+U)Ov%xv;V$$x_Ye0j>wo%*s;1xc!G60!OBg&i!1-QnjM3J9AgXNZ|YsA zBke;@xE$#{kch97#m@&_OYmg53tKUKS<mf>+o$7jPA63kT9gr544rFqywNQ*^5a!7 zdO}9C>4Oo8GyCsGThfrcTnQlo>rLubIOwK|Et(xcL~&$}rvXFYD;&BDIHNQ|$w_yH zJ6zn)b2r8uhMPIk@D&c2H}os8I(obal-ixqabIjkNW~a)@bWi-c!O}@NNvnbsMV9) zAale%?s?2w>;y0ZcTqh|kXzWIevG(>`kUVvbi(^2OoS_9DQ`Jemr3wki}xIeAG4DT zmv$iD;XdH5gS#UkrDHhK@HH3YZjIdDzfqZEO@Tbf)I0sbOcde#nTk=SEb4b=$#&nO zN!#M~(HQA5|6q`$oQ_5R`j;Z8_5LEZf$1GVMHH?&wIa`sH<pln+G0%Gh9fZOrl6pL zWf1E~r2R3D;&q1A@)M=9hV*KgiNpIJw#23gCN2XLJH{PHJuT7R(T+57`<A%;3(xx< z(nbf?VFoC@gJKHb&S_19LZkB#609`)u-wrC;NO3=oW^BuLB=6%TTWrHn5w`<kgSwZ zD3f<&DN-h$Zb?qY<zY5+@+wxE1A#JKs^zE1m;6@C&nUYK*~u>Yi9nMex0{rT1S_dY z-o6+}_P>@@DgU;X6Y20MSHtb)_-(hvi(cy3qA&*Sf9&oA{LA0q%@hn^1T@%@-T|c- zC}1&ksPiTUXtM2fWD%Rd%^hbGeh0yp0xSKVE!_ZVaDNflKRNYlMNp+@OGaoG%#FQX zEqD6WWG4nW`WuQ<iy*}?DE$G3j6!pHfA5^Ko8tXUX4Q2SEVYiKduGHkWJ<`abpg}4 z5w4p4al`$s+jAto&XpgWcJgwAtwoB)div1SUn?UKw|h2~@N~IZn6Ay<ao5qf;v4R1 zd(YG5jyu)oOm0SZV<N-20V!MD>9-tdxCw1MfBF3(-lNgtC(r~FQDP8w5-*bNoM`vu zbJRZCt~%WrWikrIc(P)~oQBpJGv-d)w(XscH0<RRyDpYU$G9<s$b%iJ_^a59lN%3d z$=;h>hdnnX#_zS|irE9^NULLeZE|h#Sl%bX37puLPiFscr2Rw%vXA5<>a@o-L$WBI zE2DMF`Lf%bmi2-CJGsS>A?(}9KiYo1%kL($;YQ>pDUTQMkMR)dvoMku&j=eob&yb# z-=(TNw(IZX#(8^yXUET5Z9)+7Z^K8tu@Fw?`QS*4Mw;h@BR#<`lO3&^zsv-lrj4MI zIboL@20?*_UBg`TUVXs-3i#)K((Z-UmT?6eNcIzC{`kW8dgzQJvt%B8%S3D&0NZ6$ z-3;KyD%-@JQ9ofIiCX>!&E$;Y=8zjZ_akuVQt+4LqKIPftvou*dAT&Qq@2JA?59#P zOU|KE_ypzE?mPyH7IJt@M(8_Gp$rF)Pmfpq>o;~%p1tcUVmR0F<ah-QhArGU33}QS z?e+|$4MclxX;p4%Xl1G+vt$!Gc&e7*L)+3Oq7&2{4QM)TV*6d5GFfWB3J*c;WrPsi z|6(tfS@I&ZCSt?8C@~{qJv-BZ<cBi~H9wkC@^V6KhKgx^G`SXiMl1vO!coo@WLm+Q zjv|x4P@cb@Y@G7pen^|rdOQV$%#t1^eh1>^LtKCduObcY0_o)wcKc|TkoFO5Fvy90 zdP=E`(3a5Bj$$^1!7u^;&j@`~REX6oBeXma`7fSVEvb-pr|(EE<Id<-S{I|*(~o0H zq+CNQ3X^hM=uz63;2+KdC1oOh?vJK?Zu@UW=tjul;16-N+d{tsq%8IX#Q9#yb&!~d zBb4d*Wc@8dleZiE)XuMG5~j0L+vD85VxD$e*^RQsG*84HHo4G^O^vd8kNKct@j^JA z-ZZ)QnC2Z{N-m1i06YKXJrC{&CBI`$OnL0otcs2`@nPs<om4L_SeNi5WF~BnjLmSB zh;P0x!IM2Cys#T*96JZ$PIy)%-Tpk=DC-7JC<5o(;*U5P)Spls#tpe4Rp9>z7h+8? zy~ngbYpPJ_q%Z<MYJ}}i0640{<?sS_^bQuvarf$iz8!O{X@j=CQV4B(E({x_?9@wW zTgVjL*V+_$8F%hCMY@~+lf25mJ)_;UE`iG7NO+d>j{+6+4xE2gZHork%_(88aX8)L z`u9-wuP~+2g!Aq?rvPb(&a=+@8wH1g=PwektKP)<EE%5q2jfsM<@J^dOR@{|x_h;K z+Oa0KBA!$T=>7J}Xtsh%fHijY9@B~o3EG7gm2!bX+QBGW9cwy;Io7l*pS}YpC}9<o z_w#^-crb_?BX6~N%!xpPaN~62+J-xIBP_HrML%F{+aIvn{YU#Wt3k~<ZnveFeI*Ci zMK)1W#=`{>LL70h4R-T%y(F;T@t@yTJv%>W5IjmDB#bZHm-f%F@5O+9_4|-e;CE!W zYTn+Lt*c9(Mp>7$3;0(czGk!>Lp5CW?CCwGHSG0}8!M}X#!W$gr29EXvExL^r`)~T zKb<kH$YjhmxY1q@F1X~=Y0@3q1cR`_ZT$nBQugwXFisjxW0m?RnXi1tGdSx=DU#8q z1b9`_Z;iT`@pcKfb-!SxJl>7278FgMeEjSKr`MA^C%RiIoZZnCn~H-fxyN`Jr5080 z`kZ3z5Ev%g4PjEZ2eVJ+s8K-nuQ>3uK_d3BZtCKmb;^bNZJy2AMIwq=TO4Vd(YM~I zEzpk8qVphj#2)3{3I)X8sjWyJYRj+F{bN_79XNrYjf3Z|iKy}xhp=7=nW5+Ak}SDq zR4n}h(T#_{o$;Rh^`<(By*iYt%m{s9K4K|Fy%dzQuB?+bU7;~lzUPvO82&cJ*uu%N zcy1}>DLg7eZI?ZpJ2T=ft|DJQg6c0%#FdbK5O{kdNYH%EtQt?SHK4{7615H&9+j?7 zslt@{5h=YDe^An|R1z*(U=ya>lKchy;S=OQ{1X4d%6KFe*FEaFJ-_MgC<o)E3TYpu z$Z59f9|J-!Qg|SuBQ8)Jz`7cXD+2Z6(sm?Qq4lbFJ5Pxh;!`(T?eNG%gn~TfN=NGe z_>M*gdbjbEe+apV{jfbBiQh%|B`Og8D(Hw%^plu8WC$szD<Tx|Jml8Ujx3t2<sAxa zYE{GFOrC6Nm6D^cuZ{nd<0(1rk>f9NTrS5sa{O41Bjxz69DB&IlN?*gv4I?`$+46i zeSM^UIi8Z^9y$IZ$K`UIBgc>BI8u)9%CUzWJNb{jseJ!@HMQ(^1o1<{3zOq5=9^j< z<ak()TjjV~j*H~@nH<N;aj+bF%kc#{wv*!%a;z=KhvXP0$6L6ePvdhzj)&#ARgSCW zxJZtl$#JY42g|XyeT3iBKMXzpvr!QH<^QJ~NB<8y@;}Z0KdfGzo>#HY|E`RlN6WK* z%Q^da`htCIbJ9Mp5_x06|GTpOlP<l*L~BD{O>?K#CadR(C)JvSR%TP1ma1{WLMwM+ zf=Ot(z@)UQt~!6>GJ|7Esrm08HenMQsNolGnqm_ssiu`Ts<k&0)R;+itY2=HGaoJ) zW?ml?t3Eh1RlV?LHS=YknQCIUw&vRTU#zypSE;SnJ-$EVel~5V|EbE=?Ptz+ea~tf zJI<7OyQpg1$1;i5VyniCYNqt!byjpYZQeX^Pu02GUhQ7;tSQytnn~<<O>H>b!Ia6& zSG5xp%r9M2)C=d9s98t%S)2AQG@rFeFyG~t#^aK&TM5ViQd{Q_QVovHP%|IT^Ua*s z*EIR*D^;k>cdE_v^Q_xXRZ}%$n)%|c{Hp4Y{o7jb;YsCux4dau;VZTNaC_zbzNh-@ z+7njuZWB}&^}HEB?+x|J$3uO6hyS8h{m{zXt<zP__^7Vc^WH5reR^x(we(iX89htY z|9XS@IQ>T}^@ZQnPd|R<ySt>6Ik2FUs?~J5>eaEb`g7JHb0}-S72n`_RX(PU^~9cM z)sECDz9j=Hnjao%?EAL%F4O6Dvf6+0bCo`Nh4oauN@~YrEvyaY?x{xS4_GNbrKnXu zVx=E+Tt)Sms{XDMtwxmG?Yp^bh^lwe>3jZCd6hqJt951MCDX9iV&9T8pPSx49#v;D zhnZn*KKHHud#pNpu99`Q`DJr-S+rSo@qijKdbSz!>Ui_+$R?`LH)~9hk6!o1ec!_* zhn%%?{`$o1TvpwB%X-W-_%2SJYxtBoayrhpH#*Lg_GOp~dk>nO<wu%V5A`%fzkft+ z58Z3>>W=o+cqGf*IltK&Q)a08r_Xd#r0GC2F}jV3JoC57X;;g)^l(w*ZadbRl6BbB zt36P~uI*s<y!4Oy^m3+Jwd5(4eDj)mWp*Led)e#C>*;BYYP3s*&YY$yOe<=BA67y= zI<~SozI(hH8(znp?((>=Yo*(&|0w1AW_*<TbI5UXaoHiYr>xHxzP^YVS+s~XpsrgD zXnMuhvvsDL`s*m)Z=JGCskg6MKOIj{-`)7h_g1%Ms%xcg*8CgORH4E9eUHp3sxlTd zFx}fls(y7p_6@lAv6=bDWYy&S*CzhnOw%K|gqbn#n3?rwE%W20y=II0(R{HmQ{`^% ztBTdA<lBGnFZ0^{Q@*uto>!;Jj<ObxA7`rVo#>nL+6^@(tFmv$^N*MT#X6a(omZHU zkc#TdKaZHO%tutSBc)88Rr}1vjM?hPT_<sk;ytzD%u@4So5N;jtNNz5E8KKiUfP$Q z5^Mfj^Y_wwPn%k%xrtk`+BbUNk7{t`5x&Aj4x7Bj9ZlC=Tg>m{?wU$bZ<wDBt@M>i zdP{ZLKgSAv|8*6z{Au5}Prhq%R+Ta3e_o=d%<AoX@$hmpXxL24TW^UP6@JY+eC3k* zF7&u+^ma=V)@Gk6^!B@^^QCg;$U9m8wYagO=sn*X?;cd8LcdntYYWW7(`Q?6PAO)5 zbK3dZ=buwa)f%hVr{<YoEB3X<v>9Wv8h16}KTa^U@9t3VC(cu;7v57NlBTMcVz;UL z33JrLX0Uqiu1~e;&_G={_P9DfbiFk#_Hi|S_@CBK?`$#8H@jt;B>Vnr@hbMc2y<$E z3)7}Zo)s77Rxixz=X>(&ZmNIN<GzyLS1_CFy=|_2+TJY050d9Dvs9Bh7u6@N9#Inp zbhp-ZiBpr`Z=hbAUfNVVS6Ma6Iiud|aLJebc?q*Rs;4Pcva%YzDc={D-9n|+>g*fw z_S5R{^>3_&XWOX%R-ByF>ZBUe?XY<=Bh(jL{#R3K_X?}VrX1C<$sVirt*_LcDq+4k zFV<8!O{bU<A09DXpRR7cEm=ez`#Z^Zug25r$;0zZ`kT?}w6mOVs_T-f{K<T4(BKj3 z&b_<p%^sW0*32`$CUsY<aV3iS`Y%0Twp`h0<;8rVqGmNTpSOL|9Q*1~-!m(JRL9!1 zw~~hSQU_NZH?P#aXs+QV_1_)Wm>!*%SY;0#Ro`}RubTF_qsmVI(zj)Q8?*eT!#6)_ zjcU~Lx^H#&O={b@Fl&2g8RMyc)%2SdqF#FTs(Gw+N7L-Nz1GJM4K{D;veqk=+p5s* zN#>Eo6U?W%ZdGW16;to;#ny?dWlXi--|}Vtc~Xr|{M$FcS4y3F^%v`pqIqgc!a>vT zx4x!z%I9iwT$HMDZh*>qB-;!;{EP4X8PipT-bt#-Gk4UPZIgVv=f7$8y|%&nyKh-_ z;Z`+MVOpGeH>s)b%&Kl?U&EJtgT72Ok0jqwKhAj3#7+LeO8T?1dCK{oWp#{GEk0;! zX8hSjH4V>J7a#MQZI4b+r(&0>mz)3PJ8@u?$trToH@(JBYSWdk)PU}L)WO^7))(pf z&CH9%l&e#1H7x%Pt6I6&Oskjktvl%*)t1(aeaXe1Q){oh=R3G-qiOlZJzvexoo2|( zpPMnyR#koaeCxY<WPmx^EKXg!UO{dA^rWesdrE1u(l_|IbkltQ4_1awS988^;M)kF zPP%>GdbrQ8>g1{Ke4k#fr>38)<U96OAN6t91M1T;znDWYJ$xx+Pn+kqrl{E`PpAcN z)>K;t)lz+zF7g#$tyE|C&*rtCOPjc`VrtvePfU2x_pKOw9x`Xyew8?Ck-B|8#P{`@ z;pU}>cl*9;aorTJbI0lz*~Co#VUzE(yCc<vmt(A<PoFY>XJ1oQ4{tD|3sq8yU(8n> zPrPGY`t2F>#G*bX*<Dnf>(S6u+g{1kINZ&&{C=Y8a%O?)@X=B=x^@}$s%M5dGJLM} zY<H!mJvZC8>7##4<jw^1&&bnicCS{xy+v|O&)7|B;`-SpwcJI6rCc>V-qP25ms@2P zDQ?y;Jfx}*8=}(x`b6!!r_IawVDqGqyT1G*e4Y0l~`iDCI;iJ|oA5}ITXV$ki zWjt(JobIH?m$|L_ec)8j-rZn&p1tR*o!3gWT0X+e9MIhqyRgT4ZA+w4jhg#n?v_+# z|M|?E=zqY3E??xUH)eynTw|)KbvqOH@Ip+VcZ|CIQiy6+udXUo?YatS(OM;Ss;S=l zdZqfMeYV*)XQ6p2e5vaANC_3wy0H4Z<0EFNueWvXWQcjOn$Mb2=LIui_cdR?%rfSu zzs9Kp`$nnQ`lWpFJzJ^HPggWc!fKkr`IS|TL;cl5W1cV(HFC|RmeJ;^oG>+Mc#^s@ zvW?o0Ph>y(XP8<3NpJP)L%*xdj?aA!p4TSj(J9u&yU&;^W8bh|`Dv3`vUQ*u`fy#f zzg=5ZwR3e<b@3b4H_PU!cWR`lRy|vo&L!fkao2t^C+?M13r;*`Jf5FTm)`wV&#(k_ z>C^$UZuxK4({m1)l6i;K(lHZN_r8CrtXco4$5X1Q+|F~<D1A(wd3cxdR+(;69uGBt zm1<}nDIcah|J3tUss6WFb9jU=@`F#+dX&*E{H%&gQodc|a@CIIyVTV7YgO3~>iBwu zc2cJgU&p*yss0&v(ONL!pgNGB>`THE@8!Z9`C65lZ008Xt`0YOPW4YY=j-#wF4N(j z!}_BA2~(lu%U0&%o@UkRbal7Mlj_o?gTC)t&ry$EZ)(liP}3ZW>}okz-ZtfWSGJz7 z_?n4}IHjg#3^OMVUAFWtqdsUpRh=#Jg=+TDRLgDUs^`W=`MNwk+kE2wMm^f+n%e4Z zsFKTtn6+;gHEYInQ8mB6U_IK$t&YzhtNyM#M>#+3>HDhQWVQ2}+jr!%P*t~0O)Krl zcj|@ZFPO^s%0weQ&ev!4bL#%+@2$^Q3{!vKEvBwiT%kN~r>V%QbyVYOGtBU}YO4#s zc2JWZU!v;a#{%_ARxnr1OlxlcH_X6Q6;0n0{nV4cr>b5h4w)I#KQVuX&Q-6?3|Eiz z>#VH8eN?OdkD9wPS1M=wO{R9cPprAG{;lH9ziEws__})bbS2g4-4D#2#lzK4qi?H1 zQ!o3TEuN;@JypV56~4ec>q$4YmJ~OcH@cedFCH<wKU-+79l<{P#aX`a1xaS<qgu78 z*V|NiqK@xMuNO_755KXR4tiXrjEz(?$5vJs_rC0_kyab_9pS5aHr)&^{GO>=a=4n& z^BF5?${zFeuP1!-%O;uCZ&Xm#Q<|#I4c@j&6e^<P5_eepZ!J|NqB5=1zbC2WGjr9j z*FRD*S1wt(XNsD=XFjyL9d4lpj!Uv$y1C0VDqh<f({H`%Hqc?c*<iOBwY$FWS##1f zi7#tL)qT_CMeJ1b&K6N`HNK*rZMwzu-MP<N=_sw<+|tRs-f@?zvo6o7kv&}1m|4N> zZI-2qk62*k&sk?eQlnHv_W`Em2N$il?KRE1sC8z*pAqJ<#+6L3BMZ!n2dkNdQ$x+@ zuo_msKi)MP6IQ5a-dw3}G>lTqD?M(WTXx@iVo;WeeDY;=q~G_ZcytkU+MA&EzrNG= zSEUiEUUqliuJ9k!xbMrUf$a~OJuSYsLfTeVr6wKn)qQfGdAjXTl^wA_^;-D8Dpr25 znsxA$Z(flcGwAOGE2YJU>idl^_zpR~SDp6k^&J}1LV5pr$m;pz40FXe%$9D?o9>^c ztL5|FQ<r*uV`d~LsmTkwm{+TAHIFuQm|l1jUFel;m4ADrnfg;T)%Ze+>6dfdEa<$* zxGR0*oB6@B=HZ#$d__i<QBz|cu^L{wuPQewtKRCe%`Dh_LA`fpp*rI`rZ()~WftB( z<uf(DQXxOzutxpZUe&^F$v4(tSE0?@`}(-!&CRl%ediCPnLoo;n&Rh|o3kggtTK%r zRtt`7_7xo*VwzlUuihKe-y~eWsDA!olp4{#o>lp~8>+`Qm3&n$R8@|QA=ct0>&?<F z3FcmhpOt6$X61gUr>Q?Z-#YQh8_Jb6*9^UOMvYlP&n%2kmnU3OYi3VTUAASJwM*S5 zK6kY07<SjJk7=v=-rB2vc1|$ID*mO~PU!5rI_3jYe(z^ioo%H}SozUv?%+_hs`Mmt zqP9a-a832aS1zeuJlEXXJ$$r!yy73~c&}~hp$_Fuxhf;o>{dtAyHzi!AHO!%6Zd{m zCwH&*{WvGabe>&UZ9FztE%`&K)5V>p_LkSx;)S(Tg`^_Z!u9W}o;Am+OMjhLcRwhn z{_+hpg&X#;ie3vdoyUIeJA8k!X*>M1`uo*q)Wg;4`K<mY%!+Q^)V-Pss^ZoLCZXd1 zHTKeY^H`6nYMuL%X@~0*7kd}+b-XxHeckXWYuamrP3bDR)}lR=%)2WNo0X~a)uhZ^ ztK_jxX3*!4Sg-fpt-c$SVtu`*gW9>di}jSNt(wqqfVKJdXyZA3+Baw5UiHNr#u{7e z9kq4zvu4!(nP!1+o$u*VH&pfG1ASF<V$}AM$-WPt-fT{{SnK<%+h+A)=?=b6OYc!} zz9{Qr@*igZyclbH;_Ir`#<jj_tshkx*JDi1<TMjqyS{JR&;zR94~xvaQz7ca$RWP3 z-kE2fJ8{R#`)<6NoLRwqGvRqP&(q1A8JuXER!K9hduEs!cOO$f&vYo=<TGESL!0a8 ziyF^&RZNHY*Q{d)i>q;=^R0K*9a4qz-!YMYwNuBpS5lQ`msD+^OEjDFE0|Bpf2tb0 zr>GtY)2xdB#Hi|771Y{;JIsgP`PS`aZZ-eK<Gzt&yQ#UwOZXPORaM1TIcL2$bd71V zpucr+QgJi);$q8;en~Yi^^~t$(_-d+_yS9Pa=;WD)75IQs*36}ex7gS&-=}zH3q07 z$19qH#Si=53>~cWmUQ#S*Zs}a#1~Avj2>!E_OI4VM-$`t<$cv@++LGktcta2gjc<~ zw4`szp)bv2S0<QOyT53D8U3mn;n<@VeKuE}b<8n)<_tA;Ge@g8R}8gg^-opDO4ak- zUcAQ~9Qd#rSmvC0sdO!C%c*|Kx3`Na`qB+^<K|LTIq7}#Tk<gV>xFE!@{QtFPOYBi zi%zrD<xADgo)s(1r&<4~)py6KTMxaZhG+LTg${gbzA1wzkb1srQi_IKjX#Vu*&BMP zN6*evQHkw*zc;y}>JR(dS8sW^T2{+z=EQufhQ%E*FC`W-sc-l6ogFkz{nluR@B3CR z^IVfMCa?Sr^HIrg-{_nhW_}gR_tM}zb!+P_^JMA4X8YXPY5|^Ln)uEKsw>{aP+NVf zX5srRMHelyI=sHhG=8R%YU60AGIHmt1iX*B)Sqir@x9H=nymHKx6b9}*MyVS?Ip)m zrKOF1IYqr{*T`72=9MTl>gzRDOe3Ev-FlSei&%nv-6-EfQLRmtP9OOqH&s=4(+2u# z?3%3lezREZy<g4rjjZkKaV|;iDLvX8d~%ri<DpCHk1eCr{Z*^1PkIklS3a+44(7N` z`PvnI6I!)WGbV<p3nzLRE8?J;w&S9@`C(C?`u2co@>DHjnNsHFnooS{uSM#iXVTOM zN9(9pHx2ToSDbEUow;akhjui#roHdWeWkNGm3Ygy<il>}nQfV>YWZ+8VSGE&y~8W& z<kUvKrX$a&^TR8s21Qq?-&{?tRNupD`kaF*)zwMusr0Q<7c$hZ_uuvPx&5_rMMhe6 zzsfT$I-K(jzp=q=er1LEXyOYdvs<(^b!({Eb!U!m^88FyeCZkWQQZh*eLcxcu36JW zB`x$VUUEXc-u|$9dEc{YZo&?0QQgBP&L|T$dW8Aqe^GQEj$D3i7{5-MDus$v8l)mZ zDAAy$eo4|)$Z8O2SV={pL4%BF%FGHStDz!E8KFo<Mrl};LY@14-hbiwKF{~u*ZACr z`6JMzhTaNT>EUCVcyK71HVoCLDv?sEbo9Z~xY_L5r{#!TQpmS0*o}+@IlQ;|6khtS z;npA8@E@<@>z0RON!TC$?Nkw6-E)}-r;NckIY~O=-iGYH0)DdPEKaXWrfAP)xKMP7 zf9?1Kzf2cFkBZY_gB5(acOZ_{{b9?GxsdGow>)>XB(=mo;m+grN$<;iUODaxLUqiz z^27<0eKd-u4DP_O1J>-l#sIS35yKZfJW6}(;@E#5lhOL|Idq+C=<lB~tSYw{lb`r< zkL8akK1rU>v)YDw#hv^#+li~D<I!<=3H=@1h9O#GX#JsN_)XWMQQ4ko5-zZ}x!XvJ z-+$82q>ucM#8f0$htTS;>g2qB3b%{<juMAb);ug5e!B5IefxR*yuF*gDj%U0*4c1A zeIE^z-(u!48_0~dV9TmEV`%6YlCfDpccNc14VM)dGKKS>{1?SuctW20rRa|PJ)GK5 zhBJd@X{+i)OpOqu@txrac;&!W99%?WX4>;J;m^su{v%yYP{6I!@m$$Ogv9EkSlL5k za`E`gMpoLA$2<={LGTIGt=Eu$)fBSSTT0R+CL(#$TDIi(4&3lt3jKLMD5!V`$qb%K zR&!0*<x0WZ%G9FqHN&B{w1-Os8_>w{22eDrg5p30HsS0A3eJ&&MAS+A+K|cJ3U<@c znjM(${DnqNs^ZJ$h*E6$Ngk$90R6PBRH%|bBdtxSJm(+XR#s$Z%8sB)csED1UcpXz zCoU4S6dG?ms4YQ@tWGb&@0uC(spcDgKRSk|fg2EgXFEw&n3MSGCTy8`nH2;vdcE`) z?-Z$_g#ndhdEX9CKY!&Go5E41`ii@hby25VJ*%8_9k-4J(a0JzY?NNcSBzOl4+i<O z^_HBhtsl|J4L)RFbBLS{t6-1#6g;`Hn3mPeVDJ8IN9vwe6#U{T6dQ-r%*cZnHpCdw zHSckE9QdTbzZ6)~$nN^>z~oy_NFDy3d`9GPrM2qN+wabFst1#!xioW1+=n5fc0hik z2UdoRrP5Wocsx9oRsNcWVXfN{d2R;1HJtz}%dIdsdIQs|ov^4q%68uQ2zl8CE;soY zK7BsOHkx>&eAO?SbN&D=)60jB!6Lfvlf=#3T}UU@n7%AeqF2XLQTuZ)WPS?%eVrlQ z8oGmr1i!&G{*q}OJBynQIvD6Mj_MSZsWfmWeLI%}^;f@0boExQYIF{DYrIJ|W--2v z7)ffGKasP4Cu(f};j(rHpAw>o@dbhGd)IvUFB^nyQHiwnVm4o@@e1!tyqLp5acG@i zz{dV@qjZu*-Zy>WKXC~Cd#p;5%d4446=;cVAglM3qpz#dsW<i`8dF4>W#j_bIVG?S ziG#?;KaG5Uor9&RCuP6PqIyFqdc55ZqY4gEb=V&yq`6VEuO{wj<*~kgO;n27uxZcj z5IXrMPi)vsV&A3c-$ofaHscT_?zTa{*b1sBJwyNA^x=+LG)ArQpy@R?XuIENCVKP$ ztr*lmzk36)Y>Y1JDt|yvt8-YW$bN)wPsXQ3Y4rYnBc!CJ(yM#xpq=@LmfmG#>S0DR z5J@}!XwU|Ie@r{pOi#`XVKI)m7%LvZ!XFk;)jA!L7;+v4lRmQN)xG$9b0rIY_yW}_ z7JPruQaW?~xu8)PCS{ng*R2thU91aH&yDnX$9STxzp0X^u+MqMn5cAxk61nwLDGV! zR-gu7T{*b)NRZkV&YQ<(Q-+=sdq0lRxT6~MKvRvJ#-E46v3c~-_7*SoSxBdsC$onx z7fILZJynnVMSZ74v4MZYi^-m>b8bIPKH*IR&ZyJdx2ddtL_7Tro=-=%EhB@Yx4A3X zz}xRLi5aD#??gV%6qE{Q+F9-@Ay1R?4r8?N4pnx3Wvvh6sX(roI|_4D)rT&cf5}fM z`>y2yW+il9FBoGbtjJ>aPiFVX5PaiMUgda)RwYUD8_%B8chd{VOWaR|5vO>w=?9!v zTg{?Ayrr@SgJ{pUd89bmi{;Tbs8s9X%$6Mbxc(a%FAt@24@a|+zC&^BuqqiZxq^fr zXYpOG2Zzt+@ruKNu$V<`^GQPtte6b($!jq~If+Z3t0s$KgQ>}6FsyXE`6Ah=7<%vx zi?lpWLo%iKp^0(y=S(PB{p>`xi#HDZ`AU0|3fYY#E6H3wilyiUQhV2JUR02e=9Oo- za*qQ&(YOYmoI5c28_u^r_&~Q;{l%pPo{(QQmn$w$rMNYlNWrF<6g1_KB58@n_J3q- zEO<H-h<{yWkD(<8vHsX8Y_J~7OC(RhCdwA;N)72`$#)thGK!|gIO2-MMw*_rkA>LD zQB3F>9N6qf*PkrGh{KcV^AKB}<Z1=M>)?;HH7V}%4QiNTO*L1d5qkL+sz+X8`TMsb zc;Zc7A|;DGC!0vC)tr2iifQ}(tF-09U%qpyDXv?J;9gAxbslhqU6m$9KRn37wl&fg zyV+E_Q1~7+j^NRRE99v4jfu&|(2QdxtmXMc<TmGWo2y^ZQ*)o$kISRiH!QHGBM2oo zoiR6N0BJaj@>TPjC@ilLC(Tch?V~bGv2URQrMt|g+yw`gUM8t6GPE^(JF9i`rwa#4 z=<mTkn)ccNXMB#)(6l3L^M95Y)v}#;E<GWfXH7iNZ8u%4B<7W~g5JAofk`GoIph-i zV`6}pZSm}!{e1lHRba~9>qxe37j~>)0jU@JU_3*}d+)EMCts%0vL=82?)4$8nDCW$ zUob*cs~NBIyMpkXZk{{l1j#!j<GNE91~~>Z`RE$NOp;`2Dyv|oG==|p@EtoN0`S7@ zDRrF{kn??3v{&yIk1%>jtCI70&rDUa-!hyRS#G3%#S*l?TOW=$p72tMY#5K#Megoc zIuc{a%YDvae)nlUYo9mvg)U(GDg)?#Vize4enweCJV<4D4}R@&Wupe%q@k~sNup>q znH)LDDgv&;WM~;bE9js^tt77g`y{F!RN_MB9@O(cprB5Y$~C}{xmw5_f0x(Z1)1C! zgIf=N(1Nljw0V^-?4;H3tG5>8l49X9{3%Hu{SL?L(@AIj9Nf*>gxpJ|%x1a|4ROkY zSMC+sVCO|XjYSaqwvT3xu|;B{8lS7Rn)<Uc$t<FQ?)EmYRzZ6kXlwDbMVWAYWq_=X zf3$E^4W2EXPhX}aFqQYsDBb&o#w-?Yrq_JVe3}Q5#w&ZQZuh5<EAM$nVjA^7sOMA8 zy`h>>XIR&>b(kn`#m9Ylj)mWAsYiP{&WWF+tBYiy)Na8=g!8p>d?%Yxn@r)aRJr8H z$MkcW7WW?=fzEq_ctoBqVvY|a`HS-@r1L%8=3d15%ZkkZTOjPW|6vbAMX>l(H{Q&U zhGfxAmNX%o$_3wbR#_xv@avR#NCQuI)$v!$bp-!!7OPQxf_3HHD9<fH&dr<rouFS% zHSR}W=3>;#T5-d;Na$#$K=Oqsoo#r6puBLZcrb#q!emnS+0V?=O_7x02lLeZP}=&I zPW`nb4_^~L=$AgNSDV3V2Q<LaD;0)1Td{Cb1bdlKOWW6;#l@-jC|){%%?nA#S>1J1 zGs9Bw>Fi1Oj{%Ze=di&h88muNBtKnYOm{PV*^Ig<`mm>;bvSuq@eoTa-rYo(7L0(Y zZUb$o_zR=AarpD$IXmdiAfM=lDUms(ZLdZ_ieq6{pv1ISZ^qG=#^mKEc<hr?@!{+f zh}6BsiDjRVx+#qx3B8NVBMNNAEphbr-(!mNn(*=FY)E}`#N6O>%xus%)ZDk@OQj7l z^H&+wxnD-Kwk%9Mb+JNWJ!=`93x~R^G|y!*y$a1n)6`(%cY0V;Y7?f}-QstYj9_Q6 zmSuGvrYy0AkY`00nHEXE1z+-J>vpEcvZz8mngs+dp=;eW7#rn@%Cm>r(v_R>@>&`T z-L8bNeS>I*NC#C@AKh8Jl2-pRWPQmJG)=9EdQ|!;TuzmFUR_9b@@vWR+hv@}aijgd z2_#ur&EJ`q(ceJ}VJ=bx5t;k6<dG7|N{xkAfFbR48zO8T^G9xq28kPA5-NG~Sfgqp zd=(X`U40JXB{;?e33JHP4qE<O3hgb&DOJr0aaR50zVZ)#486#Enl97(_*CA1HkwA< z%A%;533U1T1pdQe8`ViWF^Q^Au)lhbKMevsvEEHv{U1`Q{!wn1r4O~5$@rUm4Y@|G ztbJAkD!vS5r-a^0jI#+Xduk4qlP}O2wgpkz%lVB4Mbde@lw6+%ko;YDUNUDWC70I= zo~M8!tPfy)r`uq;$%l;=n%E~#T*o0Z8z={yMOflhGF94!m6ug8W3&@hpR%Odg7G|6 zQw?=neChZoU6eeIr^koN$ZqW$R#++YF-9EbbuV>ks^fFsZ|98W#(~Uj!4Ue8w}CtP zOu&P}7j)Jy1YhRep@r&t2-_P^wHp~Z`86R@CL1L?viQ$a_AtAw&I&9;;W&H~op(;A zgB67sRCFKTqeOXD$0B@lli*e!))e>R30L`2g-1SWWF7B{hdFZW;8<nqJz)T+!5&nl zc8|xjO~dy5o%~<(D-zLp!4$1j@P4`+#XnVm`H?(!MX4SZ20q;F^&=e4@1WEiBjPFp zSYPZzZ19rA%l$FbJNW@OxLQP|D_2p8v;jm%OR#d|HMFJlF&+J3PwfG2^xXXmogSe> z^0gjxDP5O$j+g{}STcE81v<#gXveNklz&Z!J&x)`QIR%DC#zzsVFXiL^A<lt+aRTC zjE-X(yvchy{W)aDj+}Hs5`WAFe>EY;luxXGVg|f=&G?4Q<5+WV5mJt4!$$KIcbN1M zAKDhMG1jYraW~*Qax8{v%p>uw{z#dogALKH)bQ~O4KauzkAoz<S3T$(vXWKTW}!lE z4Jml0;DKd14z$mvS-J6CIXfK2+sEPLjXb!QTG2@3+4S<tdaPU^XqE$yxVl0R!rwiG z?RW|3_PwRHlV539$~iV#Y&!xbJM#7}Wx8D5!7StEQ18akY+}kH(&k#I`*ajB%FbNk z!47I(qmII#<|qhrW6P#3rxAKLxUHlqV)NZ-nN}9fs>#LvI8|)f^MJ{$pF&w?QLMT1 zJLzX=A|Zb}*$-=D&)qK2S~XE}xV?u=2TrDmKljt>1;eqZwujuq3;BieG&-v7#gzKQ z$addEHfK{8EnE>onyUtptjsl($!x-z@2e4Ik&AP>lX&EzKa`Vl1ECV5QMONyzx16! zTlT8a37M7jVZvL!dyg4S{x+HW;SHTX=Ey2mwV-WjEPu*M>7=-jF;tskso(+Bm!C(v zrZ;P|D?oKpEjhJFQ%blQU-`0!RP}vG<Wwt3eb~>x?yJOYHw)hXVE~l9ukk(R)zqzV zmsc)Rrrin?@$=dm+$`K7<Pak%XXz!}*7^h2$TTt;GaQPFk6GaLTXg^PJ{Y!)rIniJ zF=5R#^qiVQ?`LGt_J$Ws@|+kg&*-9CF269$!H(U&_nX$vX{Qb4cc{|-EM_PShr!qo z7<ezoE5itW&SxxE?n~q!6?G^bZ`su2UHI~MB+E1!3P;&h)D!Rkw@Yf+>hR@srbmq; zrr5x9weajWE+n~@R9fVjN0&F{vQ=&sDD&vyeq{<2x?ncjzPyUWMr@(Kmt*K(i4*Cr zHKC>>j<~zyFKIeY<x#ckX%?G63Q;i>WgX8KURXhoV<ceTr;mI+b+B{^qTP&?F3Zun zeQ|J1iNmZt%Jg3B6-BlAb0y{?{0>i%w*ESu*?gEP+D++#+z~$BKMMVCXLFww_GH_% zj&F~jhqsDqIB<6(P5nH9C035dqB|aZijOokK3W8`6_;^OaW@<HsDTO#{i*lMbOdV$ z;OYEQ;@&H0N>V3Hs(lVen}c++r5DX@^)&rm8Ba?sqx;IyyutDSPFu!NV_hPmN2;;% zuf_Ct;6%RSMkqc%)Ziw6%xKYDLza?~PB+x`;jUVW#qni?@<KG^%x0@1*JIe7^CY<@ zk0$BFGHIo7Onmqd0l8knzKfUi1rDU8cOAN0K9l>u5dOFA1Qj^WVkU+wsc@VQxBJ&E zz<DL~UH<`03yN4{;xS=fDZ>0#0SVo79}W){@ncysb7&4nVd`NfcjG>#s%|9Hnt1vX zwiZR)5rZ|9aL!7P7GE5P6?SI$e8!$RrZ1#7UNx+{Y&+ykt69c*J33@5WKVq`D5-cb zbVF`oRpM;wa9l^<*Iec|{d*DoxdlFxXHs&MEB4Q=f>-kZzGT`D*f;&8WV=GzaCrq& zmm7_~)$jPX2l{lmcO+WV2GWOF?Qm&wC-cqzoV#wvs*WD+y!kjJ-&~|rmA`1&*29(` z|4l`PT5Ra>VRU&%463V=$oH{;LYDv!lI@wluZ`fZ|6mzA6Yw>BF3t_|Al<mFtXfR) zjj9H*H?bVE2N!WS2_YTZpGleZXE8I?m1lUE3jW(2{5E`o318gs300&sLl&Oa7b#@f zG8Rzx2bVp{$?;eiwM?yIejoCM-+KT?oG&KhS-Ci9<W1%xClQvCLq`Hc>FDEh8osLl z!Go3Yeq#=6l}IClj4+54WYTe`24;D)72H~Z7F^FqsQ!ECEI&_KPQ7pyzF`mVlZabs zLHqB_WS_H=P-5oHmR;RTI|l`EHOr~ks<)5-mc2zssz0!ueeY0^{2$kzCxNCx-&jj! z5?(meFtxT0$j-aQ#;4gKVqY#ZKkARSliQhL=V(-Rk7o)i<M1lmjH|uzC&9@gUzcdy z2=XPzY&k0UA-pSruJHYOiw*4Zqdb*7zU!_LH4YSV9zhca`rTn)_Q_(oekGr^!vpT- zij?-~DXDlX!g<3`YE!G??S~yOc;#01?TrV1j#TBYm&9;j;wJj<`*^z8GManYXp(P; z8;`rH4k?4()SxB?@)$><S)p`$T_*F*7=u|hw(RoM(O46{k8OJWg&yCC;?aWd!rn#k zrQ#_RKU{~d&00vSa>eNB;L|iNXcCRtB|<&kO>}tXaeSO3&E@2$AT0YnEiW2_r#??n zH}^N<6U^Ct+@K||B-j-bAtPPT%lo%FlDg;?K3C}-thx)>uh9KS5c*H~lb=(Iu>zZ= zGY0>5w<63;jC#5Qc~yKTb?)5DZ^V8>xNu&Dv=z|=$v!q<r4OZySj;ZoFTifMgXG=+ z8{!qQw8-Nm{kD04i25*`&!372o!Jy(*2#{EY$l79B`j8$gL1<Tk*JguPCqqcT2_|m zL>yhpJqBO<P^|fv0MnC?5jai@4f<NVHM@moWIV&Aes9t{v6mlbHxRED%b)X0)IazH za<~_5T)zluQVWQm9E7OK8SwoZ$fs)>Q-tq&yozlnbLG2qa^_9&eNIg4ziOnneqdkC zACc4#RaSKICCzYAB<FyC;HZOAzdE$yzp!=7N^$As4}Nio9|j9($=|GFuo~(`3UUVY zM!uHKl-Y{7CHY*Wu7d`cyybVV@4<qDPmq1cj#_@dCoh*g6eZthF*gnH!aj(9KeZZd zt#)jW@ZY|qL6)%=5$p_2p(pLl#QQ3c^W7aw`**N>+2OcvQH)nY&w0s*>5S@SDNXea zbrqUYY}pRd_Wl5s1BJ9OQy=p(q`6~;;LAV!Ob5&-L*m0w%=yGYP9|^}^_G&x&*YEu zCR6*^KuX9H`et7=`H2cAY<+CchL%piz3Nf)Dflz|za7PeVb5uV(LElNQACms8KhRx zh}E}VBBkvTWSr(AFK-x)^6N!NlQ)X-o=JDVLVKw*jr-{YnU-mozAl#(lwb2s(?*&k zGKUl!)*$;wET)_sMT6#g;;f%E26w$jVv7&;RH@_B@Dh4-)P&u=b(?<8mu6{EZ%AZx z5wp^Ep@0)x`P8}6_z}E~{%MFoE`BLjlifn;6XYq{|2`Hx2*sAkz<=@j(6@a~((j%# z_h&MKclVNael#ZYiK1kZ*Ga{BC&+x%Ce+Nlin)1ZKzAy3X8p!BheJ^C6LOH0VASd} z+NAp#<9AG_#>0{9ZB86ryQ+fu36c2RY0D0e8-}^V#**gvcB+>B%st~TVdUqXxHN1! zqAdeh^NCrg8});@gg6H4erI-qpQ>~60k%5{{!?isR5zqkj{7G*;hh6Tez51OI-XMB zWNixe+e%qd2bsvNt0dvnhw<7ubaO`(=8XP<5dr;t>6c8JC2<oegLlx4L=7%|=ROtW zZDdE>PgAJ+0jd@BM@h#Z1_gVX*KW>NgqfqV){wc0FQ<)B59#F>V<@Oi7v_v3IK5Vl z$Ng4?MbuyHiTA_5W?w9c`47gc#!yMQD8AT*koh!I;@7o#t&cU%2HoY-QdyX#ElUq9 z*FZ0)o*ELT)3ikv?9+u#7}_1>OTxBcl2rsg_G{9YH-qTH%Q}j>^MMcgB#rdLuLK?I zOP(u2xn=WTp(`cDRZYt%q+vbV;46!+XDZmW{|l+uy7QSw`p8eYn-A-aBY)wxu=BSP zpq})cw$z=YLW^rS_xKhKarVQ$BjW_0UXL$R(4(egj-S62(5YTZHy8Iox2yw)<s>0C zwUrOJz8`jDj#2Zg9XMT{%<ooQpsiNnY}%Hyh>dh&dXD+%njR1R`6o#9g$eihmqV#e z%KTYB@T@PC+CNuONZBh)>~z7(H74wv^)@K>onSj81m>bn4*RQK(qY$3(wCG+@seHy zZaoX%MSg5|n=NuT2>se#FO&*QM2WW{9ZdO(gaM~1<zhCQ_sfsMH{D}43wp@mxh}0Q z_NBLKt<1mWG1cYulkurhlpY*OQZpve5R3o#BjY-B8Jm*5+6(&m<|^v^gGulGeEy)v zl+tvrGS&AQu$uN36UB2VC0-iajc(Gn!Y3@~{1>z|4q^FmV)!~&ll^l`M*iS9DsoQ1 zt+B6hV52FGnk7n4B(0%0?;Vc}JOuUE6|^L95?#A?g4slSQ=*g?d1?yZd!7W7Q5#P8 zl3y^t7h+^18I1Q<Mo_dq&v!tT@_SAA?qDPO>UfH;KR%oEX36s{Z$y#fo&zi2=Sav+ z=jFrON#DbpYkXM<)%{X@@Fq8MP5Xt-UN6ucP==xd8*ypeP3(HAit%a*bY`hHGFBbt zm!!S%rX?IxBCcV>o`pz#GK^xjZem&{Iq03~Ob#M%Ni%RZTRbNnPu_`eu??qiDs?0o z{KzI}aZh@);0>7>)x&hlFFISck5<&pfoP8r6;!98sc|@4do-OEDILYGOLFiU8qI%o zUc$n;=U`mwi&3W!(i_)rbp6*K8sK}1TF)+E!jUXIy8u#)$)F1>Hn5EuL!hE*CS>?G zX`Y~0lrwV?IB_<QH&ugMS{D=ZI7UOdp0fw~>Qr#vmOuF6M*-5({6EXhaOn?c-?aoE zKd^*OJnNxTOZKzS&)Vp$IVg08C(shFRqSv41e$qLl$pNBqrdK*Ec^8=C>2=ZqRo92 zzgx!>L-f$w@{I5HSVe}rcX02!L$TXK8?{9(w6pgOHi><vjJ0LxXpDm0$SLHuN}PO` zw!wto!~JhgOm)c#>U#Hs^zuI9b(amd@r|MHMfsRF(il^Y?4+5^sc^YBnSHw9ORhOZ z5X2)LS9m}%FG5h_Cd0Hcg}z#MG567L#WaP<EYoQnrp%4zkABR<f>nV$BK8&8><*)R zUP4KdztJvQgpSZ|nCr}-&Ph8-bbC0pY<N#Mz1E@Bw3v0iPo`@-FEY)vHKegOj+xZi z<BhxnTo%m7&`IO){l;_LF1w1;E9c<+rYR`s9)JqfQ*3);Hd;gXupN(DaAw^j-ucd( ztds`xxMynkC$WuPSmlm|fiu|R-O`j9?Zl6MwZgheEAr6YOzZuBv3j>88dc!SUh8(? z)0gcuwOx{;_n%{TTorIbDTa4!+XMTBPuTc@%Y<ImTtuC;qiKg!c$|eW7gtEZ;K~A= zc3RFu_Jq^77gr%w5l*MpH}Q`;AIKv3F^pX_XsXg%CKmJ`ZN1{o#UzXnRC<<$)-0kc zTZXdoOe-3b;z2u2T2QNZh=ueGr0wTwY1(gnDsD{Yp~j(DIrAHxS-c2?jXLRm);+kW zPr%})$MCRTz|<QeNW8J0*ESfE*lZ6La6AQn1Rp6x=RO5lPC`iWJ^Y)#5*IhRBD^pg z1CIBSiS!YOZ9b2<xxd(v&`(s_na_?q%!2BI9*k-G3{N4$8p$WquT*c^drl4sp55Gk z#59V&8Hv}gZ1H>iG-h*A8#7jD!=?Bobt4kdKV?yH=p&BryG;IC8BF)^D2iC1&9u}D zknm;_*`JA}B>U&&a5E2E4Z7*|!L8KC&+*hEb28qljv;&WX*?(Xa)}ff)$OGjz5k)> zh&npLeDI-b4}wCiP<hjxcdMO7+w@+pcz*&iU0bPo$}KAGZ)T^3>obj(4CCgi`yqZt zo#)Xw{FcaPOXuyz=vNk`I$fBTt}JFt)~}{Q&6T`ksV8I_>QH~$jAR>%Xjtt@6exUU zI|DXBSIJoDi^`x)ekd>LzJ#dA#h9zoKnGNfXjsZe)QRNLoEx8s%=U0G#a76iS<gz9 zeqzE51+pqVMoWS-Xi#4na&#whwed9+f9MstO1R<5p&&Y`=|CfeZ^6+d7FXY&rokfK zq#i3vy4UBB*YT^|T;u^nVwS<A{w+dGpRiGJdT274ORp02Nh?Q}h3!-(*YHMk{uc7H z{4_edvYv|9k7l!8E7Fz6ALyOOPpYZOqMYmw`kQ!zo@$K4h2(oYN6_<c*508BL-G(* zxtmM{-+rBkJ{vbR8*GR*mwhdYmM?>#DO-*+Lu>iUd9g5P+{9cS=7Q(hvV`75GQW18 zn+@1Ycg)t%Dr+NJy~K<6sOZ7E>lp6|-AS`GOS#U@F9=VGqAlH1uunl)mXYz04&E8X z<8{4o_<I*j*DS`O)oyh7sUutmrlGF89Ntq^_?4Nn5F6;k)Nbt~_d8#)rbLWH#uu<z zUn{XuzKW@Bcc4OPSswT8DK5@9!oEEXhN*leE!}uqn8{`Mi6hIXBSMa}UPR&9IA>BD z^$OArli1Py7vMZL123-!px)0AcUtez!<M&XJ^dcd9eakxKiEoYs?j`5`8RIwt;4#a zL71?77cU;?MR)%$;^k}`1v+wiA2|{Ae=C{J(5XUy>L<M3sKWk6DV%i5;9&TUPaB&> zJ=XIn{j4NqO;V=~TP3l&&x#rq3+Zw7D=Hry3+s~>OsQ2HeE3VU&RtBddHsCd9xY)* z=L2?sxf7KpMAICHyX0XKjlf6^3Lid@LYqt}@U$gg*fxvI73b03sBZ{c#v$r2%rACE z{KvJ^SemBKQ#}f3)S_v~-=avt7O5150t)8)snPTnc~<|1gm?pv>$~yC<A;&@hgVRm zSb;W*5_pqg_#kjZi48x=eEw_Joj!mjZ;N8BDre|HYb~_rETnzIuOf9@7$&w_!E*Ca z6l}dnu}1djHN3$lwY5^n*iBq_cpgHh%k!*|AJkl7!V-nt<VAc0e(HX~xvvA+(i&Yn z-v1vv^rM9I5+h(Ndxh2+Oyv@v9O#_=SnervlJ1Pwp^z5~@H+klO5HzVW}+B{EHtP2 z+E*w*_aZ6p4W{;s5mdHuGJiax9M)E5JZy9*8nbE<@O8E@Cy(VTWhT?eC1!l$`~svd z`ol7Yb|J?060J4%A+Nf(EH~au$dN6f=A=v2E&Xuadj>NkJ@^T=uQ<8kBD`BK(fHLl z81zevvfg(wi6_m}RkRa(_7@@Is}aTyOQS2S1BI6s;^6OcQv2X1=#imJPGuO3^@NO1 z=uvwfQlZuUBdL6QA`g;UiRy-b{NUcZba8<yf1fH%S4fwI2X*70?`CNJ*8<h2bu>9e zovxI-QK?)VN&HD?14M1<>XScot=N`!^L#Q|G!SWtwrodWKk12H!GP1z0uTBL-ESEr z<tCBRO(W<8_ppBbJ1CqgLhBsQ(bJpatXW_@J?32GCkIAhX>uaQ|2u%qmYZ2$?FQ`F zR!Gx5bs(wdf}0v$^gVGf-FZaB^t^ff!&cb-`$U0q4(OX?$kZSS57P)XZqpR1snipA zpJUK9i>IN-G9aEU#{Zq}5%Nh@zNQ`YXZs4WZa9m~VZ??+mEzTj0=Bv8IlQYZ@FBPk zQVIz?-?0)(2mSfmR2S^f&}YuqzC&zD2B|C-<^YR_)c7iulm?xnMC%IrnG=Lbb1zf# zA!#maTLQ_R5c2&r2%f$lnW3H)zIjijL5_>Ce6KKb?H`AWV@&vyo1f^!JzZ3nrBchK z3NCUY6V9nQY@*m?y0dc~)Hj5Z=VXB=x#~lb>1SEPXBkX$zD==z6KGYyYwp!22Lq#T zthQwg%_>SF>ox6EFs_027Ca^SfF11HH660E*$l^z1JLxP4&i35wAv|(mTntBV=qpn zomIlz-@1$6>WP8b??XJcVItKI&}Ip*H^8G=oF=%r!gY8MyE~_mb{A&x=m7^{xV8ey z;i)A3%$={lngP?%57~&Id{}gZ(eSS;u_@4%5`C+nd*T^xHhN*Qw;Q)8oQpl5%4xx{ zOQaO{fsTAXhk`fiT;<m;ME%)-uob0r*Etm{jI!`!^%MkODM9|To9vfn2S%Co@Uxw2 z^lXbfMJjmUc;Qu+yk-|A#ZTk!SOOiGD~?mmPv96bpWF3Zhh(M^g&1~H#5!SRh-N%Z z3f+Wd=A*HFh$FXh4yIniR{AIEkE$cvxtz;aY*p1}<1}NCd10Z@k$QrvKMT2zV-MWN z8uJ*DX4ox}q2-@_sk>H_tJH49{@~wanZAo29uqpwWf`#0@M5<wyr#p2#S~`~2;B?8 ze1+~z9M(vso;S9X{C%j9`@2DMauSYqT%q$1UgFvDE!5`okz_rS=*3=jc-ZI=za_#x zT)Ib9r?h$9-P2UEMT;g*?Wd(x8mzq32FAC|adD<58uoqSaua{j$LCLZyLc<AtD|`Q z)eopqiDb`9ZqeR@kxXny4!P*ALFV-^lzm#s6{E5#`|@1=At8ez&n4mOoIDIUJDOQU zEuqmLV(>nHG)_*MO*YG&N%!j(KGQe}D<3YToGn)c4@3&zoukkgS5M&w4$-Z!ZYDkD zHaxBN^Ek;h5WiZ>BQyp<a^Fo_Y5JFv96KRe;7<RjQ_xi9`0(T{cfTc0jYF*QP%Q%o zhxxG2GH0lA*-6ZHJxu9Va}jK6hn4EBBzoC}Qdf*e^yXKXC-4I8vX<B%Q39*W$1u(Q zJ$F8kNNesA@77MI57QF){75x25h2?D;Q{52Z|0-7Y^9YG3-~zkVEW<C$-c;%hP@VJ zwR0}R{`3rHsrH0|=jQY51;fc+=`$-FEJpWy^!SJ71oBw)i8Xymr)du=_|KePJRG@> zd2eN?_esLAx&qQawi>bT%qSwRfawd{AD8V^VTq>Ucz66ix-oMuu8B`zM>^H;t>_Mg z9(ha(c@JTcu@JX{ju1u9rHM1e`P&_9vFTzBpDbTQn}!X-zFCFzeXk|77tMxq<|wAz zbqHasmaazUqHoj*raRk{^lJO*KlMy#3fEG9TK9xbc^zY8C2~l4f$+S8rXjg^IF}2U zgpOsYbkK1D+8?H}&A(#kq1tZ>G|8kSu^ANjb~nz|yCJwRf+|WbveEadku*hE94L1W zuJt!rVZAx67@SRymu@8W_%K|M@u2xX()pNWr!d1mm;WmrM1=?am{MX3UD=(3(EeCx z_(=(UCIbZJ+w)7;22uO@*Eo9lG;ImX=R=mo;_vln>R78q(u?PjLY+Cj-ycD*i_0N7 zqle3`{sh0hlUVvez}e*xJ306-UG%!i_ACv+`sp93{bMr~S9$SB4;#vI{{rQ`pP)Z< zKAk*u9ElD3JmqRGTI)aZ?)S@)Ddx)7N6yCqk1>ecwUN|1toaqcx7bIqe8#gXTu?A# zy>Xt1u)IQ28t*A&+y%@Ij;5K%?&FzZ8@YIu(`~<2s&XwrTc;fUX$&FfovJjpIGoZ? zrIOSD5f<#dmHvufXDf7NaKT<2cOUA~{0tp(T&YC`5?&N6^c?HQhS8aE8Ps>>6}~B# zlF_AZX1k&cyVfSd_Cg|so%+rmJvoK_>pWT5zyL&qXwtJoztC}D6_;EuPDeby&`ga- zP%OVj5htUOHb{{z**=rxHyTn}vkQcar})8-LT{;aIS<{p4zbDKsA;b~<#y}QePe?5 z>w7e3+C8EFca5$5&jMFwO4H7AV<bFprtoRA(3J8Y#&$f#nHCGS=CK-_JvOtZMsIj7 zT1*2962Rq0@{8H8afyDC9AY3F@}6yPuE6#JUB1YtkY3EvfoHn|-M!V${0|HH*tji} ze^p?S&9w!VJp&tVZbVw(5yZp{p|Pd)xRTM02=^?QTuJ8P0$-4A@|o2yaHmO9TOj9o zjBXDK=20WODdO2A+}v>rL*yp0$m#tMQRyaB=R!OABYWL80NOdHxW|KG^uqZVWy=@i z)A)B-w{{OCeZA<?%Vh{K_T+z}3#saYA42EFkiyq(7^@O4^sYik?($voyfcX@S;^A7 z!>!bIV+6FbM)1!4Luk;j(OhQRUN{uI#L%Fb@bYb@BiS?QfYnJJb5aV{%V%R)cROWj z3e36JPSTk2g9p_Y3UhBd_q*_d0;bPrp}I|Ey6OshnV5rhp>xRm^e2*kq(hBm_h|Lo zN<P>noh}Q#Siwog?yCmOzbTwDK91%)8n@HIF}L~PzP0%CUlM6<9Zb0E0t11IUo!MH zOZKTp)*>IO8g7OB$)!k${Ym3K-D4p&S@<1q$)eBxra5lGY}cQ;&|N-}k57MwBSUKV z0()a*wq2pWtL5R6yA%Nynp9^V%~cj^;<e5}n)9uXRu7uOyu#bbZpufv=PV?Vm@dBb zb|OuBmqt=A{^FnG4-|T8!{PA`(m2=-1@|BHV*XS-5wfQLgf8rD*;YPd@ju8b_mR+O z!i|dUOu6hkeoWoWzi)U!6%to@h4nG2wh}gdBz7R~g*Tngi>LO`Joa|?EOac4<^x2! zG45q5Pc0rNFwm8J^6*)N>+bx<_yZKVt`Jv4ha=o~EqkZ+7pl8_u%|X3|Kbd}X1Wxl z1)qsjc96ZUAGdndON)D5$xY`C9k@G>Z`=4C!4-yV{wg(WDhPpD*$pgzl|esEl`uyB z4h|psfVr_V*eAA_M&|oMq-+}b=@cQ>W-aE_uR)fskkJV1@K27oNeh#e@O1eF9Gmlq zO`E+I+Fvw;QtwRaF&7xN=Ht*^+d$Y+PM1@@;riHBxO?y!KhbChiuJ|yp-$ws><Qg@ zRzNPQaby<H;8eJit(NAH3>e7IEn18d={aP0C4yWxMd5a7AeH)r)1`<76zTSv|E-Kb z*GNT}tDivnZ72Afgwj0M4a{GzgDxvCW#3X}Kr3_?T~pMfXB~cgljchVTh8I{<iu%( z$O^Vg-jrs_Bq39EByPR0CgZ`3KHT2R+e*z~^P-n;l9!{ha9P&$qMrslh~+lgA{cpm z7V>TW6TFzObTL^6ZhwMl<Ge;3DA(lAi(Mi1do^3!?}eqiLz$oVIv8!8N6xKRY5b1! zs1!CeF7I+<!9OhMfZ`aOFc^Sv%`voUkprIX48yDu#dKI<IO`L=h!W3B==oVkv!-lh zPL)Ry*}I9YEI3BS!^SeJ83U<!r84_(-)Vf&`GhH|7F0a>0Gsqo(7|1?+|1z|c3)7& z*Ae$f!zl`Dco8LwMPlLCAW~YA#oIiq@ncIYU#&J2SBmv<q{;&dA6!_V(>ENjN=4|_ z=h&R@gskA3n7tz!f6~WL?)!Iq=Ax1KaV`KYO|L1jNRFKEG}3xU1*Z5*jK-J<IxImH z-L7sJ|9K%QI)iB7!TEGiyn`2s_fxOLFS2&-K<2=7>iIsGrgxmC7^fIA&YenGedh!} zBnhQXFVLgZ%ywsPp$d&>G}n1AapwrAY#T+J1y*`<Q!z|rOxX1`O}IXxl1Yc|h4Y1U ze!6Tu6t0WnpwA1`XIx>9&&)_$w+(}0_fU9#6n0F@rXZi`tk(J=SnLKGb1?x=^82~P zS|5R{`9Y0lCn(4F8NIuF8)ICqaetwovFVyHXS|t3LCl8lKeUG49NWuwjZ#J4=$&l& zTnn;4F8G%TZ7@A@f!W>6K+2kLtS}&vZV60L+g%On{3k|{`#C9eoZ%WOG3c_L%1>lp z!M@T(bj17yO-|%+N}f--))Q#ynSOXKIL@wwB~#jn-}HCGHLTAU<B5ePG<}8&vnz>( z^n+<Qk#+&ED+l7{$8s3V-9whjIkYyjp6*QQhtZ8qbZB}S)*Du`^&0|&9(@H%+47uz zng3>qE)Eov^$;iSxnVOmBj3(dH09TMIvcr5m@6fCb+HqI>fK0F^ao=6L*Titki;C` z)3zE$fB(+m4p$D*LA7J7c=H>&R8&ne8+%FYmoHnhHJ-YaTcKl>NC#G(<ZC0;=-SZ@ zP)kvw(HR@)>Ml9#7WllSAHwk>k@2CCTM*4Ak!M5;$%famT^-v|%N(evfWdsgIVP_) z8(%+Oquc#elw~*!maDt*{#Gz`%DGVefi3*;a}n50m!=mtUC45)HEUR~i)^0<@j6{= zd>OC9H2fxDr^q%Q_wFlNKA*yF!KYG*YsZX7OYz?=!E3g(qWSOQSX|p*lG`_qwr@~^ zOyOp>?Ozy*=C8oHp@vu|n!^4*UxRUu>&c5f!SLe?*=Dhe^snwA8)cA;jkh-O1=h1k zSvr@?ycz|`mU8|_=<-+#%zyav=@k0IofPK&M=v&d^VxcR&<^^+1C?}W>qJdV-5^cr zb0zqL6($&dC7oIMy5icteQ*t5MTLv~x$?-76#jSsH#Sg&%8e{O+i5TY-v%?8JG-%L z;%4?u{W7H=@8hrY9#PEp(_C|A2g+G7k4ut6zz=06ukJvjx}Q+f^}}>0rHHT4Ho(mK z`6!KCK=-Z8Flyfj$PQgYCy(`za`!GQzc-3R%VZ&v?vAd{HO%Ar7J;QKV!7Tz?rK{q z{68vVO`bHfkm;i6$Q;NY@JEsUAeufu2w}qoUV7ta>hr5$Swb(^wDvz*{wEOX`_!?0 z+&cV}Kge&{tf%pLgW0i#^7yw@mg{}HO*h5g^2I6sn0IU-jGWrwaAPLUn+zd686lI6 z_ouby4+udIDQIOjw=+COZCBfv-{$XBI`SKfaFD0FHZ{0=O9BrahcWTR9>VN-m!ds9 z=t8bBU)i~r#ybtCrkc4FtNw)!811FWk_YL2r!|^3pC^OrKeRL6f_Vi8qupl&YbusQ z=|LH`bLba1Z8^^_^opVLS|Yb`a>bK?%Y5d16T!b!fuiOby7nj>+k`$*(#X+lkikbP z=D}E(Spu73hq;Sw0{wjnexpPS^9_30e8DdgU1HC-*=kVZy+7<MokZ(JakR~sf-CEy z%J@)$-x|iVMm?gWT@EaHWIv^C8Nw&%EF;mW1L%*X4rF8l*_|L!Sh$z4+%3|`GUxo@ zycdvGUjaAG!8oTMh~|&IwEJ-#OIr3Gk(u&ze&=brD(Fy8Wh;C&Yvl8tZqSNDKiK8o zdE_-ioOP}HiOtK$GV|tDv{qk_o-}<D@|4Y#B<v1wI`p2uQy5MsvVCA)kpr7K+aPR8 zp*o4TJZafpYHBtjg%6du)fB=fKa{|Y^x;g@)SPOQx8T;B7J7b41Kt)N$UpZJKfC`p zIVXJMYPDlXXG{V$JLF<a;}rgMbTXRwDdsn04?+xIQ+fMG%&R!bJG77B_7gMe9sQf6 zLl==~s3?rirjc8B5oF$1Vv)dIT@bwL)~P0Bto)8OED}dmwWpwWh40~x9Y0}qh8z~j zQ<}Swjs0DL+CS4#yk!?VE@;AUO+%QSS^??Kw}<tCcGMP|vsF0^Tf?VeZFRKJckZQO z!dm)Qe!n2|cL;5GHG%mKaKiL!Q}AiqcY1WYn8JqC33Hwr@?rw%v*bP6b54VHjh?{% z6-MJ}^+3{iaDhA`Zt%_CTC~<}A&JeOh4HgIX>;5!R7I~qMf_lT|K<rdFpHx6sk=x? zI73e~CgSIwiCDI*QQ#y;lDGCue%5e4HiT$G%i=07j7;Sg2L<+0%7uQ$bkXo^Kcv~c zBujw>RQjiksIY-J>(YT8Oqzea{D$I${d(#hcW_|VXXN#13NPb6e(LZnvfR5AZ^NX> zzpMg^4{o7IQJw7U9?-*O)zr4Y87;LxSiZ<WOn1}b1F!g!{K5nteaeO^K8wLLSrqRI z^k{_05**rpkpAo%icg*rbYo&ZWHaSh{i<H_7^A}d=1-@jkuA*i<}~`Xa1~y8I^pzg zUsU(V()V-cp?7_!;B`O5d*>vYHr<UEE?<YqM{4-$2{$NPU_e(s|BKzm*O_?X47^$R zn8~zn!=>sG(Aic=!;SBgSL<Oq@bV&ay{k_KXYQgQ*bc7icT=gq60C-0&?{SClCV{P zMScvu><Yr7(u?HN(=Y7X6T`^gnK(CuL%vXow!EsxHZKhtn=Om;&E@R(mp|0Hd@{e2 z?MLmeG}u`qC5Ydt=2LzwMfbio%$6HQO$UtGz?CCNVb3EBaaJc|qtRHrOpmV0JCb3S z2z^xUXXnPhhMPwjo5<T~(D9?Rt?n&Fj(UVmovYxNWz1)H-9p9ta&n4{K#8pj;tb}~ zvq2g#NbIJg<E~Pmu&*Z4Jxt&~Ebx>U^7SE+a8<g<ixbyUOv82Tmi$h?j+W9#ok}=Y z=OfJEJ8CCOaWT_Rlv}Zc>Du<tM(IspsSX1BJca$2@ffaM4aoXFfii8^v#-+)>7TD8 zKKC4ku3b8w4j%yr{jbb(zYZ48j6%xpP7IinL+T>}@Z{`0^6T3T%k6bk9sELgo-Sk* zx)g`c)ll%S4xCXe<m;we(h;Xvl0UPVye9=w*XFfUY$?f7%f`{~reoaN)r2a9yk~TJ zIxZR}@~xM}sOCW|?AvrmZt4%=TyvtE$BbBUiYR7|J;Qe&YQ}Sm)8z9ojsl~<u>00C zaKBcIQ=JbY-@Eh09fQ%hQ;Yf~dN6RB7xR-pf!FFfY?S4FB)sz@+b|^x>E8y0ix!wx ztiaR!O=!H=4_b3!I_%_SxQpN`EEBqC_BSg@<<>F^zWon5;-gS=BbpNAdf1MUl8Aok zj4ELd-cOHIW+Sp2Y2B98FEFKV3>8_Q(F$7pa~<1b+k=It7O?hhl@QahqSy_F5I?EH zwNvsbYf&cFEGa=^N-0lSJsoEzyy2HTpFni0G2&j@l2T<E`}#`@vT`43*wGdE=xNTc zIFBLiKTfPwbqPgnk6{f}tt9Vu9`lAO37YX2v$KlEYI{4bIZ%sC(?Xbtn+N?Iw3Qv` zTS)x!dS*CE9NO)s%%Z*(-!$g%U6-QBy+oc#jLxF}#;iupa9gOTdeOL!ax(npMf(hk zX`z87J+JO3#ka-qx%h&#TLalwn*s!`lH+>|#!!Y)Ij!Gy3O#%8V4AotNv=L1@b+uz zYR4D~o)w1$?h|2@?n|HC{V2K2ihdk^h=iC|s5qpGNqhAvvMz&(xsFBUj9%jP&2&Gy z06q^@air9NTvImEurhb1njrA1D}C9i_j4&@TL4$PZU8x#U*weCL^`J@<MixXIIv5X z53LMAr09NnvfBW)Ck|1X(RRG-tK?>R56GLQ@rv9~VfWP-8e=QGZ?9v}(!Pp9SBp^G z=C_E*^`RKARp>PGp|m%~^wQuK&x?zOSk!YaOU2ML*v4X3@1#OSfmPYxMEX*tXnAKt z(j77oZCgYhqG?P<KABwKKWECf9%6KyB4V@)Xrhb^jz)h%|6Utf*y2tLT+RsjrZ`4U zbK+Y^$6<Qu9+G?UmS)=7^1&SkFmu;O-gC^67RN5Y$<A{abZrZHt-40$TLaOm6^NnA zNiY(0@4@Wf*s$aTmNxvOk_Sr=KGB#d3k>__ivR29Rpd4GE7Q<lNBzkWG%$TSzC@XE zvy^`*SiYGW>{MVqsT_-P576u{LlK|yo1`30Q%lASJdQT!zig}VXv+>fGq)zY_TgOf zsIZ@g*^)}o0K7PIgaSs?U}TKYL+Tf{GxZ%IyGwzTF|r5~7sjGGY$&hwR;I#MV)OJi zli4FnexP3rQ}%3UG9>|!E*Z(ks;g4=r9<>asS(qsMe?X}MOr4cgEFdy(l6)Jr2kYM z|BW!=>x6#$uxNSK?AU}ZaZ@&4qXL8LN6^_H+880^i9PopQRSoM)H>=M*wbfpCSeXO zS!~Bf$5&BF^8Ej?_tpVbY+)PkyJ!&=3$Zb<5kyo}ECf3cv4ciXN=h)Xus~4^^cdLP z-RQAJ#csty?84T0@3S^+1q9DI-*^A{?v-<XKF^+6GqYw*?Ad!gdq(tZJDzupkEYE9 zOLE+<daVCoF^6AE=e8Z6(1Mp!MB^4usMXhNqWZ46Y;rn~X2gA`9-e-p7VbBfj_(os z$ER`Qe)x?<+%5DW77!-p-#DRY5ceBYmBS1#irqub^MjkCl%77%d5M1suDrsZ`#itR zwogMSplG_H|D+U|?9@>-4!)%u^Xn<qZCdfF=K&P4dnCV{dX5{6w4z(1lNE;~^c|Im zRc=)C<x!`W(P{MIX)Gi%b=k*>b=r}i7E!=TeWlNh34GdiJ<mRj-!*^7J<q%%=*&TX zs&`n6x>Pe$DtS#~1K(q~Cr%oFYrRKo@(-e^nxSHF$Ej3w{!!7_{2SFvGZOWSJfqr` z_Ve>gqe;UhSvm3YI5$SW{fwHA>F{+c*1T&#lk0C$x;;BbY3C|Z9V<&-F}N4&n_c6k z>&sBU@(&ai+=nBbY-nZdY3fnn9T}B-C^iqC!K2rtD&OXg=IQrpQme<>Jk)2T(*46s z_BWlUoY(9_cGH{EL&N3V;Pz)_%Y{DFb;f<ge#Rc^cfngREV-T@@2Nujheq?)0)gz~ z-;chwSwo2>?y|8a^8WoE(%iV?ir*R|`h@qeEyE3Xi{hm;&}u;=u56>7E^%ZQT0$9j z@H0)@bXu9Xvp&ywx|wEpcIR5drilvY<0-Lsb){>e5qx=_BVAn`ONIq1lF4}wb}I5& z94-8uukT5vItiONAk39tct4}gjr%J0pYwC2b?rpaFgv<4d^vBkt;F3oe4v``0(fL> zcYgS^552u?tk~Cj#<#XrBE3(#>}B4UU!U>f!KrIS`Q0b^@P}4BwD4YvYIU4vY0l=* zW&@~&_b|Rxzo^iO=}BFq-tokG188;WZM3<LF$L6LNq;xF%H@Txu&L1sH_czdhiBn? zvQbr(14F8ClOcM-W${g}ar(B{{B{|?$M+c_M~Jlholzo3ZKV+}KJct1*SUvjF(vwC zBIV0>2*1?2Pi3p<6HRQ!kJ?;NszmkWPB)T;cV#Cw&_2X(H#Xset80s`adABOz!YV~ zy7Hvi{+n{Oav?fY+E}ptEcPEAMyLCIrpc3<D^*(Q(A<zaw7A_cI)qF}SmXZO#Gs~_ zv3UX2jyp((xZ6$sy5)sUBR38>+)>QylTOjqV#Rv>uXOsnrQ$oL6FuD4n>Ofvq4FDS zsQTJ+6yom4VTY#h-u1_n8v)j|d)PJlywHlQw)Nwa`TDT6*$QRcU#GcInm<`x?8V<{ ziOAPuCrzJNOY|T5p1SQ@E8_YdBhvGxa?Ts*cB+;5`0*J}+E9-x6;I;U53YzbM|@7V zc!1xq@8V-$zv21<-<5cd<u<GK(zppDc(S)EzudKo-+4RnglqSCO6&{TH)*zTu#V>L zt5@>jP9^zP;cZ;Fz#-i0<PyiE%%M8z8_@<Exv2X*!7Y&Qy3l~%rfc$-g0pC0&+EM4 zT$J)Ptqj$k|CQHT@8VZ=k&T!<7P+T)LjUApYUbLWF1%Voi6_d7&@1oAxb+>Sezi32 zurol3E!cyvbe_o9j$EQ~rK6Rx+TUroZ&5CDwLNvX(?EH$qZ!$)J*Zd(++ls6j_k1J z8BH_p$!3ouXy)h?(d2^@eXo6!Uv;QJb!HY(QcdltWt5RJ^{@U^e!)fMa*cAV_3)$e zZBqf<@1eZ%CY^EL5`E?SozHY9XdJP*4*Dmy3a9>axYv0{<&o8DzWkiT73+sQVaOZ~ zJb8$^Ce%}O=Gan^CHUOx+K0w!cM{vf>v5=aGky`en+}eg$gxA7(9VXg!u;f3UWunC znt6<*;%++1^x4iFULSp`Zr(I4pq#R6=4X0#tu}o+HIo}U8`0Z)OX<nSG;Y1NC=W=l z!%hSGv0X&Ea7-yc)jQYZ&u3TiRjcAkq6w}i18m5%T@^O!<D`@=Q-F^>zN)0pJAtg% z3%WS2AUQWb%Y~bM<R@bzM86Up=}eN9(q;cd+IDlYm{z1eCDn{p_HDdL0dCWHPO~L^ z(XzEtbVfazVb)dI;`ovc$2;-;W7rp6i*a~ZB@VKD%u624=ZmEbD5z>MpS=`CN3SPv z$mssc@vAqv{oT*vd&qW9yXwsk$9&-3q1|!sVm*3QwuyMrV?2+TF-b{Ubr;_|y{CCT zMs(}aVjg5~%#&_x=QmErc+Aj?9HTdv56G-UuPwxe7Rpc;9}cab#uZ2Ua8k<^lx8)V zFUA>A$@;oftI$=Y?sGFbU^iL}jJro=`k5)uV+wKMCX4A-a3VdQZma~XT1_d9n(?S* z`^fQWdy%p*iq6~li|Z?{Q>%L`#NI>G*ig48>z|3H(8T$ouyqwGJ=|BUz1o1Czh9!i zCamHQTjnbB?AlRU6Bos2Tw|)x0eRO=V>q98Nu~WUFMc8d$rqpJgHl^j^kLk;b>T8) zhK>WTKH@66?Hog`7Tyt!Up!@(lBGCpqbui+_@wl#beL{#`=+$R{W1T3&{pj7U(9u$ zEEAFS%*nA}1Rpxkh%7dQ^0*QvR82oh7}YJwuk&wW|AsRtblNMiz%z{NJ9VHlyNa;6 zRvYdV*o_Za+KPULR;=d}MFxItxDoEz8CxldY9)j!mV*wHuv^Xn{!3_K*J?_KD^ID> zwKKfdC622-2ojqfyrEW~cZ!KlQ`lzcM`c>RP~N;@lG66$G<uHr@TMg{vRQL$UYxE& z6&qR$pHp2aGA@~P2IzCU$t~E`!Go`CsKAy{?bv_L7$v}I9XTCuuY778$a>edh<rPp z>1Am>WzCse^!K9)<ksN@-|tgOINq$v_YNEv*H1)nm#umn-Qp~5IoCt^@~t*|_wpCt z_b=qwD+@URIi-3#`-<Wx4)cr(gT;Bl^lV^FUTKv^3m&0Qrd&z-a=Wx>f!}F&9(IIU z9J$LKY84jU-q_Kpou9eIrAwTz!aUKsu>);9+?Zo<zgmxkbV^OOrp6`PD-MSbQxVM* zO2VRG8aM5u2<X?48@<RcqV7!Kp-X+mu$l*OAA_@s!;Utb{2@gYw#i3}&sCuqzdm%W z&_$lu$)DVodUJ7y2wuNsrx-O&3*WIiDpw2(u*=H|V&TkG9yPit*X0Y`H0HUopaF80 zRnsYP-xvITwjQ}Tb>a1=n<#OX4LIr9L9#lUPCaX0R7xKlLi--iBik;Esqdi#@#R4{ z4Qp_pb`@?z<5%e`Mib_9^^ybF;#4ErGph^li+V-Rw(nQ2Pua)qEFAG1f=9If`&Y7j zWWX0=4vNV1lDzuyP^G*1ejc~81e<P|&2=YzrxTsZlaY@ljj<sbx3rH^;_+Te?EH!r zcrD{Z$6~^G`v88O?<t94%Xs_~;!|(mlFgp?^v3Wwr-Uq24vy%<Dc#Regy~~`kPjKX zxvw}P?Yh!F(2<-C8Y*?K`0&hIuHv{`WtxB9K+(TsMc2{ac4<u-Un_?1!@o?xeSk+P z0{QP*m0OAWM^18&5K^A4olT{eKBZF=wo$S(DZ}RXqn%CL)1+rRDCr*al_?ikBUq2i z8U&Eld_mufe`V9<<rRZ57inOTdP)uVc~tOv6Xja|zI@_npb}T*I92`@t_)h;5$m#u z&$aiWr5le>E%BPd_iR!MxOLzc!{2b)jD38<C54j8SEu9?c<kCe7v4Dk2z^W*Nlka9 zD;jINP`BWPRKK|y7o8kL6I!342j+3&#$#LhejdN~Ewr9>3WX_#vy*wZktKHzJjd+^ zUlq+})MTxDMU@97n&QrKR}?e7Gu-3o9OZ)JRet~JBS(H}MfX1Tpx)uF=<@r%RABsl zGT*K(`Y!chopR%qv@K0Ib(S#~sk4wCdNff&-hJhc?fZ%@H{-a&Qbmcm{DIO;;}zFh z9(2;wQd~-JNE_Df<j?H_X~q0<bmz7!zw6gl`ReJx*RJ<tW%6F!cgKnwpWe(T`dd+O z&_Z4w?=42U-{-Ie>0;0cLps#^5k=_qr1>WOlo4+(;(kmEc=^2Iyeq|szZl2!;Ev_# z<67Lmc5@P2O`6V!cLY(&(^;e+FhHCftwk@Vb|NdCYV3b`xngtfJ2ky(PcE*+b<9pt zc!Uu@n_?l3nN{Q+mZinm3w^kD{Yct4%m?=`@1(R$f5q?X4^TQ)dCMAo@w>haJ$Op9 zSTgo4%@w_hh>Aw>Wcw&gv7F{kv8!i^uyXOVMK40=Eh<92JyUsf*&$?CIloBT*?>y0 z3oovIh?`BhLxr}!Blal7j`b$cq=vJE`|CAql=@Jqv(1s4IMyWp_t)w8h$d9~yA{P8 zy-61r9ij#iKFZEwqiOY!HGF!@6rNCR2d^t|id$@%iF^Lkq@ndjiFS)E=)sjprF;H& z?9p9Uytj+uCN+zTc&Gk+z~+ncDl858EK@PK!yxYG?IB{%mSF$c^TfjeyXi(9OJzdG zDZE>BB3e9?UCTb<b2Ddg!YVw9DsnCBlqss@5BNw`_s-_YX|pJ_sU0`FwvV4ZHBrho zOyH6RZ^UYwgJd!`hF>fi#{G}>S3(p`?z`1hiE!=9YXS>W@mZhf(*sR%aPgz|iS2|z z@B6%Xpq)q#8ijsWR@#+n#~-)ORwANpD6SPU5!Dv+;(f>}w3xtegTGNz^Ha19xAqv* z-~}x&yodEyAEx<!H#jhQ7<)(FRW?uc<p|T89NDo52l$o{eG=Q#hWAFS^}H$iSLccc z>lJ!2betH~YY$I#j8wikZJ^#;H;Z>ydhh_7C7e8_Am<-5h0cz?$^EY{;8&@s91^@p zSvJU->fX>0*G3%U=u?qOerG#wkguPzVXh7*t#cv!1b@0*rH)eC;WCAd2%=W4T5_SO zZF%g_-TbbYr84G4HM+1US{$9z0>4+brN2k^Cc~G{Mc7_1)-)c^d+k%n`e<Kq*}gwJ zOnxNJ>Za12fK<`v$q>%hOIK*P37Xk%JlFlOjUR3f6pi-#^5N4jl;Y?Ara1jdqWgmT zxL@29#ag#LH|-rl+ih0U<RzDsE-TB^ncjh1A@Bipof9fHr?lk_vDY~@sWTgO#P1n9 zJ*AX}Bb9u0V(4w$a^bxrnpci95X0<7(Y+p3#aCZFI(BH9h`@bC*BP}UOS=&E+*pl2 z`8=T&r*+By=ncB6lu}mR|4!wnxlsNA)oJJG(~8H(c6@o{IJyv5i;h1nEoPc;r@#6v z6!m>JvPP%riq|}6iaa+;u^RrI$2hg7+wU$?{F-xgXW((#>C|88d%~J0?+6xCU1reu zi4V!O$ZTrx)s~{YwCL1;IaIFbC$5V=o>RwqQG=uRl-16k*|vop?|X{-LfrKbfv?gj zw!~p-RCNcX*D_W%+HK|duz6zBk}-5WC`nmAvJ+RhQ;sWZ^kI!@?<n81tE9PhjxfIZ zo>!SKQ{K!tNA{z)k=?t&6kD&2^3|*$mGEDMK7r2c-^y9p&?lBFoOR|&)pfb(-nmL8 z4&;2(cPo|)Oeue09rRlr;HU3a3!82ws9n|l6jJ9Et-pMMYA^QXMYB!mNce89=%&MS z|8B~zsjb<oNe3!*={YZRHKb#WXVB6TN66Z^32k>fL|@|`vD<!QoR`k>Q^yaqb3hg0 z*EEUrU#H;ryP-UFUO3rbLVuZin22CaZliOULJJ?|5rs<7yv}p!N`HI@+8~abDxH*3 zj&sT1s~P(`E@q#-mxROQs$|3cxQ)Rcy70BUIIuF7AJ!_WM7B($E1w4`6Q_6QakV$m z{=E-4*(jQ>U&Qa&y6jP=d?`=mnjaGr{_>!Nvn7<hOD?kEzGkE(*P(7s2kA}XTb?^| zx_G)|38%VV6U`@#qysbW3M;C~WvcEM%_qL3jYoEq+x^QtYEinlztM&go=g?nkXyHp z?<LB67N^*f%akd&w^yH%5o8jlO;z^{<7UCB+;8PEo_6^bZ=GM1OWF>lD+$+G!>lO} z>^wuMJIS4Ucs#~$0r4EAU4l2{8-YCDVo^CLhAr@0$M?7&iS~xuO0%H9ctV2&;ZS}8 zjr_7zJilQ^#mXR87}u6Q?;j@$?@#2rQ;%_*Vukoiy%$QM{6(nr#lgzuLDsw>ZU(!I zw4f4){DkR}{&al7XT>;jFQ2KiMd`P!2G<<&O!VCOf^S?9JV>cQsrv4`gznSL7kzLq z>C=>K>8zYhcIJ-<dnx`;JM;1;@2J?&K>qMyw=zI$7(H=M6*v2Q<KuUXc<cKoeDTdw z3iy)9-SFEx&qkI!cKv*1h*@0@dt#`(?R|y%FS;o-HJ`FuhrWtK{Z!I^_*kiDe3u7X zhlyh21h2jDoUGq0<UPSfS?|#XvZzHOC};)iw7t(~dZp8(2kphD_14rb{DU$?Ge36; zKgJV>y77!Rw}s!~PJH)GD{<w-YIZ$f&gKI)uzTM&O4yTae5leBrPL!6zVq!EKFhV{ z<GALI@;X2PFI|<?YN_<#OmpRg!97}0@(vBQuglXG8Pm#L?Wk-@h_W#G2^|U<iF+E4 zXQM{ZBB^p+PAgZFp0(P}&8=rBtBc^XpD4g5EH|;$<@d^}^R9HTbpxu1dkv?>HWItr z?Wa9cXDQ9?NAcp*alC2HL7MpZw6b)^Bw9T3tMbIemh8^iQn@mw)Gx?ID1AS2t+n=a zYDj+G7iKBA>qKttSc+Ob&>)j%5n_AwdDJ@U5z;u7sd~IN&1=?{EAALh5w~Y^sie!I z`Z`<_EttW6V~SDhK_~c~*M58tI$f#VGnDksKA?mC-`Ov+m=e{kE>FVw`C3II9&4D) z5wq4%P|*@%g+qBB{CX&!#rTEn{I@9=)(oM$zRUPr=O<kH(S7B-TNmzZr%PjZd(fJ) zOStfoLENx-e&KOqJCACyLM)F;BJY)}NG$7&`z16Mtt=ziYe)g*fzAZn>vJn7c-*1V zDL2K!et+}Rm`P-4Jc3`IHD}ktZXDuoz%IcZsn3Hn{)9W&_kE<J^gM?5xb~yz3;KFv z(uax3_P5Anj*b|+(uiN!;dlT0XVcQPlez9b9o*Y}k}~uDR@y!&nWM@(@*Gby9)0Q_ zrL>773*6iA@8)Nf7dIBtK$QEw{|OH$RG1IDGHo$itsJ}e7ge<g<p~3W$+gOMnr+^K zyN-FJe5f*-`o5Z{^l=|Wivud~%j<7>?C!tu9rHr2KKllZTRoO~IeimrTSfBHPp1`O zxs8W+=qA1*H|lQtis!x9!M8__SK1}HbBnkk>~6i1J0tHE^4CLtQL~_8KPf*OeR(7L z44uYjKEI<&rEJ(@$0lJ>;vk<!f1X*p%XptGqP$<4%DV@KaMwzU$N>HO4i%e{VUG>G z-m@E>s@z3MuutOV_x4hwv;C=itT{dE{+^mmKOjuCtCHW>QZy;<DJ_YZ&aok9`Dog1 z-gzLJ+Zrf5rPy0u)B6>>+V17|+b1Y@&<FosyRLHDyc5NHUZb`pMv&rCK|H(AmTR8x zDRf8s(NOP)%9^*Q>21;kK2_!kx6m0yi(*@oN3=6_nq7dt4hj=H8jWC4#g}9DpJ%<l zMu@>n`)~yA5g7H#mphn$qNNXCQQ-i6>N%@DUw!t9RxUDT^Etje==?r<^4MJ|gYS7Z zRGQ5G#&)b>znunoIg-~4UFuu;1>auMRWvxI!xNrPVB;@$s73!(%KJ|jc%|=2g%=0V z89jw276>7aP2;%c)seh;{1{%?c_#WrOohSO;@q^Nzj)!jksZbb@YD@$$m!8G#b;|Y zHUCtIpG-ES_brDhHzF=^Gv^!P^7u(SZHFUUl*v!&K{4X|#tyt-`)uCxNRyW>2oR6= zPoW{F4)BeE&Dri*GsUIUI^JuZUtBGM-*7wi!gHr0ssCVnE*YK7u7$cP`O560SNWEa z%^7^}ywr_%6~S*(c1$6^#^J1$_?1>)c+IBk`YJOozUQqitmu1zVA{RmtO(jS3-=3M zPc?B*|DL{s$*NKZvMo82Z)@rDoHs#y;CvdnSstf3voCXzc9liFYPwW(LJKan&Ym{B z=tl0&)k)LZkg6u&^UJ^+%5FO+?z5+f(sEi17f4^h?m@@sxc^c<g!?oOfAvB5+ZmC@ zv)ba4%^>or;UfyB#*?o0Sc>tU$CovAXzar!yw#(Ocs#5dpDlP-e0NEuD)F;~+a$ct zok5>={8rW(KZzFFNAut%^LX34bzFLXFi)#}i!Vpr<B?_UX<yAr;%%#Z)H{j!@tQa) zVO><Q9<hKew%*{*JHB(3O9%0Lzv1LErwmP)d4SG*uBuqMOyo<oCUVR3WBJ>d5_~hV z7$3v;&%U1dk>j2rn(BJ+_UHYTGNq7NG(tAit23QSd?Ze6x=PiXr}NoeooJ<5Gm%h< zxUs=hPRbX{H~T*lLrVwJejh(>o{alCj%pw@?jNIC9nRC7_>O#`L~U_$tv%Pe_?Qlu zrtteCO?mb9J6!Q%Vf2w7<wup`MREITyygC4nz{85-8`&_YG>>6<Gx=+OXLBI&wN8` z>>W9x$Ybssq)EG)rqaEWJ<w;rgtx!FMeFz87WbR3Ve66CMQDKsytNj-Pl)-8V{dn* zXXlftM&ae+YnSmf{QXJA^`bF%y|RMlRnEts%tul0o6)@ZdKKkTTr;+Hnkmj{3QCRY zB}R1`$|-*dcEo)~w#-lFJtgb#9nA~k(d+}<4ZkI<?i9mqhdC+z3eTn?Mau{iqpMt| zL=sPZW5o}xMo`%f=jiInFUrPcsnp<{kMP_3o)_1;C8~Qy@=C-0)bGk54r@b-LzAZ* zu@U$4SpAh;tHvo`j@04hTm6;0t@g6f)DdDHp0gIVsfN(sFqh`{^`cb;7V|Vi6Z&#= z8=qcUOY|_QOpE6h<6++lQOO4mxX;s6Dr|I8%sbN&&&Dz*y`eD_Sz?EhRJAB;1(xL! zm81E>(-5VeWiyUg>&*!_`%@3cg399>+O&MiD5X1|Gd0G>RykeHjB6hmDn8d+!V{+r zP_AAGqQ|-k%If$U9ANf=rjDJ!V_PS2<@@=G%Dm-!lP~kf+Sio#nmft&TRU;Klm(xu z|A8+atIQFVEXnHHDXubQwDPts&LfXwxQ2NWbqXmdwC){bow$e8sOM%Hy8ID;>w1z? zR=SAIyB6|WpRMB4vDY--_Owtco0FMwFb`>}(2;w4lwmP=MnSjgd_Q0(U4A?V&q>nd zmy>6bZCnK|{~?CY$AqwVV0r4fcpY`UnyQ!w%ptQXR$`o45>1ZuQ=WuI@w)@-l{e2{ zljEr8O0~O-*?-499=72XO?W$9)IC3sW@`p3*Oz_c2J`LlJw2Ye+}2DKD|(4tjy6_Y zzE+?r$J>hL>ppU5h&4YfT!flV9w0tETE^*NCzb9di`cK?B+>2S9@0N_NEvz<>-W-& zm)uxOzSkFvg=;F(CiB0<_J{ddZ$6P>`+juRjYXq*mB`@TE~RCtEvG&jMkj0dQ`EyP z${yb^Zd7z0JFafZLDPc8t0R`Y-r^9)X*luhs5r$rtu6UIuu=|ALY^b3oYKL{m6tsm zNy_kj)NV&{5mB}hzbU7ybh~kdb)9A_T}p>?!lHP^*7!C*(6<pW6TB#S|7;PuwJ(h` zn#kd}KX38Tos}K=TF{N9tLa1BF&<PUR&?5UhOcOUQOtXm<z?ncT(f}=kBvH~gm_#b zm+1Cl;H_Bt+oX(G*F~F;Z?$4mr_;11a0BJn>O=PFrA6r2zEmN8BS+62#9t@WRC-L- z;$u(al!$mIWQhI}3-XnuHUkSQzH^E9KiWfw^fvK^S?B5Hn6mWb%1F`Vz85uIswIvE z)Mc~IokZ{jeZG;eBrlwDj4wLwRUF25r3Ir?#k=uQTy3HubsW^0cXsP5HYc5;rLE&Q z-u?istGiEpxv-8ez8x%j^(w{9Z3C2$_!_jhYH6<TpwPhc!D7I0SM+naarwtOv?VcI zDRlib4`0}s0;hkZzF#cF((Q-X)O@NEyMH;?p7EM=+DB6L1t*jq5tm5}eooqEUnthV zk;>!uK=)n^;g!1kdGEt<?2im_|5{06iPcf+wC|15uviSG&oCEfJ?hekK{J)oe|Mz# z@4bcYv{<fdTAnJRUsCsI7|q>xk>(T&QQo((;%(pkh56?5wAj5c?xAvuMr{2ihSeX* z(;FV7274k%|J`IdgFN7f`EQh&^LO)uqWgGwbrUXM@vKs~VOL5rGUXaBZZyPem(V;= zhWs6G@QI{EJ~=&%LX&3DI1@LKcsPOvF8(B5^c;?RFqEP*YkTu2i)$jrG?j-VXSr}y zIll6#I0f$2<@V!Wak~fa_)A<Xx)Q#GR_5EvMhlD3jgIGqt6vvRudtOHS~bM)lrQk- z*5`TZ>X)=||6Jan3{c!E6r`9AsXTa!6&GrBiB?@b$)A$0io13R+;HAb#T@-@16NF< zE)yry@|tz&@suXi(7CY^=2jAYNzX<917CRc?jWK4r4hIHaTQnZM$usRr6RIvAh{2W zqosfAQ-w1-=t{v2Ji5wbuD9bZxz$+29}85YeHS(ho#MpYWTrC7Y&7>O6{3u+5=37u z-zpJNk(~5-rLr8~7o6Jsj>g9{rPpH)2>*>tRBVPYy%52=RmafOFHRhD;vD63_U8QQ z8z?GmB&`&~6vIQaIPJ+Rak*6>e+x-a-rl*zXSzKg-QA5S>|-+#(h>JQe1Ae|R>YJC z)k{+>Z(l^tN>|b7Uz2t;-Jv9OI>8g7*U+<F4{2k)$%;dxjvRkdLo_>5k+jS0qP3gm zQAFdjR0TP$bq*aBikd@vD!ftpf4|GMg1(XO$cB8f8u}g|mFB9iN{BfTb$RaWPo)2J z1BZRkQck?DLiUT_3d1e4X|VMeT3g-+&wTOaIyDB;SKJ56zTYe=)=;5kB?GAUzTTXq zb(E@I#`nA~<GAPKZOX$L!+F<-kJKWxJAe1OpePZQX;QEz+ZbP?s3K*l@qJg?G_^J9 zo?lG+o$4xoeQ86Nou0ATofLXGa~iLyQI9*V45d9(jYn)A!1niS@vO9-qWwA@T5a|~ z7*=k@mKynZ${{0~w)3%a!`_mfTQ3%u$JU_9(`zXcA64Tz%_?z|>F?PSdF`~7gDKv- ziip^KgCeF}REFU9aV_>=SN3jQ!U=m*sp+SJxQ8UZ4F0&3?=|kjgIYJ@H|7<DW$1Id zxw)B=-g_%mI((J)x3uIE6GoHwepBAv@Gw<s`j~Hh@+E`ETWFd?A2GI{C&yOR5d38e zX%~L3OfjiVN&BiO?}M%Q;NZ5(L0@||vVSj1oZdof+}BWxPXT1=JC~cIf0%kUReH^g z<%4!9;!V|hRQ>b|o<8z0->&hUOS;b?*Y9^lyWl#kv#|{~-gKIV@BAztK6Izi2IrJj ziGOp_CPO9u>00V&ihEIpPvEJCABgf-8qwvwBRH+L4Ic=pq0HG*l<PKqp(NqiT!+(a zXkEnxyx(w_GC<RrW1du2s+Y{q#s6MGVeieT<>gtt$e;-CUG_jEl+-4JPJfG<NAHov z)auHSzijyK@gidS#QF3sbhR@5{!4mQVi5Ul-^Zzeb(FSiUhw0c57^;WF*-bGlo*Bk znAEm9DlV+8%sn-Gv-O-9!cTj-MyC^`v}z^NN35bGyUAks)mG$XdqOE}^^ihuO;b*P z8b;PdHt?P~%eZb@vPgJ{zUQ(fh24Q>cm`+5-#$M)w`YE59oFP@an<yJXEM}2^L1$E z>-Cvxk~uu<w151c7WmTwe_G&w(gKV>Io+7E8RwlE=Q7kG^L1jTPR>-%OjS>(US_og z#@Wt)a=iRgkJnI}OtoBc*KBUhp99bIGr8b(>1X+$WB$1R3oYR7=jtBp?OLynrDeVP zsIYrzP?)D>y?S*Th6lU)2D@5X1P1s<)TwJxFZZ?a3=eem_b{nzY33FY;%PF-&DV91 zr={DE!tOy4fgu6T13djbgM8e*U4y;NGm4l8d3u>=8SI=nWo>r~2o3S|^f$3-V$!W` zCnsy?jxBorm|sR+f4roewetw@_jj#t^`k&-bBj8bb*<{vZ(!Z9g>6ea`&O;nv~AbE zL&r{?9lAJnb?Vl=N6%ipUESP0JiP{Z`wSf9>*pU3I5;RcBs6SDc*M{jGs-lT8&u9V z=x2Ln4F0E9%h_JRK7q1PEY&rRHvGm>U>FDlo}f4A4D94<57ox`QHM<l1(k~@qj;h5 zG#ceok6aA))5@z~@x0+kWuWIhF857~W*BVvQ9h^H5#Ec(2VJE7{>8bF{y?gpC@4NH zg7?`Z@Z7;?nReb+wiRge<9v{F`d)9gDEg0Z|Nh%Glyb!`kz=GLS)6}ILn4~9<%9W* zPF*pebZpMae!MP}<4@gw>H<02E9dLXos@#G7Y6vreK6QObC`LSVa}PuoHK@DCkqY< z@^tm9?H}Op?rBn?iAl9kAODd0R?Z>SO)R=mkY|WVlO`q><mBxW+%~vfXmCgi*r1RI zry&8haw%OsJw0mIt{of^oH5JH3I_*x_=NhIhlcq024gAY9O@q!6cFO+9^&cY92gSh z>=hK?=NuaB86;m-Q=95?X*r6j=9r^-3iZhG_W|eXtX$9WSEsf`ZA*1y=A!v>8J2ZW z&i2mvTJ9KG5qO;y1uwGlRrT(Y=Rf6@JV&WU6#AZHeAc?==4D-e_xDfZe>bfhxAgYT z<y$A;@q6#sWk}?r*Crz#to4}M>8Y1z*p#b<oF@$Ur}_8v`u$(2%cj#@%(|c4veI;x z%kf%1eQ#a)Ug!R@M5U|$nTz#(Dl84}RrFNHXQ6AawP?{%KTsaKIP{K32P*+JU;1h~ z{!{%+qd-wm3m{=mOTi<6uM6n~SP7~F?8>AE@W^|r0CY0-88qwm|F6CfrvKmk$vR#H z??GQs3dp(^0rFkr3Xtpa5#SD3bO(IS)MC*8&7UDA&Ut*+&GFYQ$6q0RZ7P^gOS6EU zu7*K=9U(L{Nk>;pJHK8&eS-o83mNEXQGtBgqM*KxMxp$=nwlDdbak|~^6Tf*D^#$6 zfhPWR@s}Tes%4{$EGwsx)8fw{bDiW1y`0DEe|?>}Jmd3mVnU`)%znMt(Z_$l5VIlm ztxSSK{X=~GJWae@eSAZMJR8ZqiKvB#N04W5u!(7)3Et;S`~ysU{9Ffkng!#G=o8>i zCMMl+Rt<Ia?Gox46rq~f)5F9oAjrhj!$fsDH*pOyas4qD)lBivkLesT&aUbyhxmke zo45yfc$!#*n}*AB-TVjn2MqBy2@LiO^$0Kt^7IXGca_UFktgN=_W)m$FwdZ1Il$DT zc1Ep#Kb@OTh)J-|P|vL8)%B_!=;0dTs(wXeL!snPg8+X2kAItDR5Q?mg7Kdx1yKn3 zU>sV4yvP;a7ehU8jOpV)2aFG(0r=OI{HPJim|`w?(mJ)uEctU-EsX7eq5ha&mJ3zQ z!Jfh?5Yv0AmY1=lpVQ#CN}2Oh*SMo<4y~yN=HaNSyR4s|YM#H=8SPXt`}Ze?IX+J~ z^v*s$=W7e=?BnspXSUBH%QQ=6dtEHY^7Pi^m_Enr*Q>LS|CHl38D^iqUXIs>IbNIO zc%71v{djO`kbQX$IbJu<@p@B^*NHh^$L4sQoa1$5j@N-XUMJ*uZSf_0`>v>)@wrjG z{bN^TuYc>7EgP9sbMy?etYu;w>f;-NgVLm9*Ir#M<>50BM{#u%tJ)2JTx0wx|EGQa z><@pAmp|u+j5F$=^WmTK;h*#2pY!3L^WmTK;h*d0Kc5%=To3%Y9{6)T@aKBq&-K8c z>w!Pl1Andu{#+0IxgPj)J@Dsx;Lr8IpX-4?*8_j92mY^L4`dw0fByYH(*g)Fb(BG- zNNsX}PC;-=4?Y%p6~VAF@F`Gpgr#c1TR=+~5m~`Ytz}Hq0bZ&l@PL<U4ZPu{HU_@% zQd@vPcn4^A5CSi?F9?U1>H&tsOZ5Sf@KXK3IQT$l7?=nzbvTHIkA#*gM-&S$wFX!P zFLfB$1TXbzd7^#ruc3`ih%Ui5hqeMK@KQT~hwu*2Db<M5;HCZrXtcIUU%~6aOZ{8} z$rX4)HoiTm1@8du4y@s&_60WZE>KU<9A4@`U<WUCC1?XLwJbt;4)7+>LBIt*5E=%2 z;iV1-f$&ntfDm}86G1q<)Tv-NywsT>5?<;&Fb-a70+<Ldbrpz)m%1Lr!b{x(X2MI| z3F6_U?gR7Tr5*wa@KTR~W$;o@gH`a!(92*Qywuia*e>u=M}tIosh`0Kc&Q4w1}`<R zHsRjOXb0#j@El%h1#_ZwcnfHKpfyHYr8e+-@KSAo0ld^Uzz|+)Cr}JtsuM7Vm)aYY zftTt6OyH$@g39nx2ZCzwfzXYh7W^h?aSLpBc&S4{8~8}*CD0RIsscRVsSfrv<m&_B zUqe5DiSSatfoOQC8VKme!b{ZyGvN)P6`EjMz*|7;gH7;KZNN5oskUGjywo;eAG`y! zJ4l3=+7}#wm+A&iz)ST8N$^trK{CA55O4`z>TqxkUg~IY3tnmzNP(A%pViVsc&V`< z4PNSO@El(1eDE4x>JpF+FLf381TS?1_y#X^8^BF#Rk{aW3tnm>(1VxypewdJywqOZ zu<hVg+5_7QzB06GFPzihrOJ@24ZPIauGlBwrLMrw8hqiUF80821TS^457q}>Y6m~m z72W|l5gdV+dJLR^muljVHiVZN53a#WT>w(xr9J`=;a@{PfY<O+zk+mlshR<36L>?Y z5%>mg0=*K0br`3u(sEO=j_^{QVu>u^rH-D3a}K;zF$eo3JRZwTM!*-|1R8Q0`y{;7 z4`36#)Q)G-?(kA~U&eaDOI?2z^@qo8JZJ|<hnKn!e1eyH1bl;+dJ@ohZIzyd*MgUN z5$M57y#@^6rQQaH@F~!zpcuT=kH8pSs`fP;v+z=j0uy+t6+mTpspg;>ywoP37JPGP zD_{XHwF9t%cYyW;*6=P+Z(sv2b=3`=!{Mb`-bVYvOSJ{w@KVd)MH|9P-Tn}53NQ62 zh=!Mn$2!nV_!Ow#W1K(X4WWNO#d#85YL6FaJ9w!^FVQaWCeT2T1}}9PNQakt0DOa& z`W8?W_UBhv&KoQPJ^{J{n7~V22P(r$-3F?`OWgx%!Ang97VuJ!0V{Z^Nx&Lj>if57 zA9$%x)A9ZVFE!yk+5}!|)F+%T;H6r8L7m{GZqXOC3O*4!q@18@@KRUQ6+{zIPpFx- zpla|I(E6Y`yi^-t2d`52Ht=@Pwx9#N)K0(w-T~SjIKfNp3wpx4K)vK^c&Wa?1zu_p z@PL;Z4!q%|js(8&Qlmg1ywoWm1YT+^2#1$Cv$3Gz@KVo$neb9AnhKf^FV!1tgAas; zfqn2&hl50Tsbjzqc&QV?33#bfK@xl{^dU%wmm1$p&@K1`=nC)}Ug|oK4li{Z_yjL? zH~0ph2t5X9BDOU&324D5L&vuiqz4}hoehlPrOpRs;H54BCh$^Mfy(ewH-T#KQn!Oz z@KW~x3wWsqffc;eBfuJ7>PcV&FZC>F4xbFY0_@<W-U4mlrQQb};H9Pk2Y9IpaDta= zY=`X*ZvyoK9`J$C9l#qt5o&FZZ4KWXTCx?khb#{r3}(VdLiO4TS_W?jE!rO2PL_c- z1<CNup##A+_&{i{u7XnFU7&x1Pw>gmL*3BMli;DVd!v5v2~dA$v=4kBG!?Xge=Uc( zVIPK<s^yM4!y7{HgW>Q}+v3+K(eMt?7v88R{A=iTA3?j|6QSb=VjIK9LN9|9_!Ma4 zLD*;Dn?pSSO-3D{MSQW&@FviXpbWeN6pvA)%J7lUi@*Xt1zOk-+fJ5;&H`=V6QD;x zU-)F`tw1aTUh1PD)F1ve^hhv{C0Pb)AA<VBJ3!BaUGP#PLvbv?OD!FSc7~Ta4m^jC zg{~Tkc7~VQVwfO<DVPtm`d_F&yajaAdhC1fQafw}@KUb<5BL;lDhPy^`W%G7OHBvi z@KQg6;qX!w5D8D41nGcr@KO!HM0lx%K{UKnBM=KOwE>t3-yC}T0FE(usUH(@+`>zJ z^*7EB@UNjCz%_WO-@q++sb!B~o5GtwtAI3kskOj!cnjzR@ESfA`Uy}p>U<P+28Qs4 z&?}%Ad<rxb7{kAYh8;&6!bd`*fC+poboMFi5AX@lHJ}>2)SaLfywsz>0$%DxU<EJr z9<YX&`X1Q8OVvD$V;^2>31A0r0&N1?z)Q6U9pI(TPQtMdFE#KC_BVK`p}+%P>U!V} zFSYGiY*Tm#s3(YompTTFgO@rPOoW%32%_Po);Ndl1uxYDB)|tk{|2kzlcCj;v7f<9 zH3!?^rPc?#;H5SJ`{0{HTYyA(shz+Pc&WE9;FyJ%I`0~`HM~@#8#p#&u>U}vfC;=* zKTr)`YCN!jms;o++8JJIYv2GcwZUziTi~Te0dIJzmq8%B)XI0T&%;|ltwAKb)TUq@ zyi_|d5#9mX7evFmK)bcnpjhdleeE@9mGsa{Z8c~gd<wL27rcgV4s8XV!%OV|Uc*au z1nKZndxB5!F3{^eHRv0B3N#fIn~Gx=`WzU;OMMH<z)SrEOyH@P2I+vx@KOyxHF&8- zKrMI^=<7ZjxSt93e`tiW23f;Pz2~k$&EciC^+KKCr7i<5@KQelZ+NN312rfRUg{!W z4T^-9`oLd<qT!`R4c4HU@KUFOW$;pWhNIo!r8>rF&<S{{n_{t^@KP(y&>*d8+A1xD zXF`>Mm-+=*!AlLFsX=YvrG5u};iZn5g}T8@Eww-c&lSM5(CJ`4d;+w}N)1{EFEtfh zgO_TyT7w?KOYN`@^?{fA*A{Fqc&Q_|qCT;>j)L~whPH)wfnEnT@KW3C$Mo=0pC3XS z!oP;@>!3;D@QKi4AQoO~5|{}u^#X{8Pl38W(xmzDfzat-8@$vtU>Cg9(_kOG)Q2Du zUaEDfCLMv7Iue|KkAzMGN$^q^f@FB9>%k>>sr$e+c&TF_Ytk)vsY&1=ywv7tnz$z| z_H*bMkPa{P2p~LHTIywB05A0;Foc&{=7}a5!<#@oL1lQUdw~^vB6Lo;7M|sV?FC%{ z`oc?H2VCGcNk3GJJfw$S9jQg(@F~z#5DPE$IhYCmTKY&WikBW*VmzjYH-R1pN8pp8 zPe76^12v7(qD$}=(DC3Fd@OVwNQ2)5jhcY@%Hhx{6Se4@^w5LAU<TF&T78lhZj*)i zK<fe%_~uYMP#N9<>IAC6yFd?tTJXtG%PCr9Ez3h2PSv6g(nC}6tP2nL*U($BTI36# z0*#-cMZ@6}patTzXdJvDbQ+im9}6{~sfF>V4^)4a7Oj$Hpyptc91gVw+u$9bv%oI+ z1ZdOQTC@+oIdm*I0UrxJ4KBeaL;KG`o#0)d@gNO80s0=K!&AH#Z2*M(TW^AH1%~i6 zSBrE&F?d6$5io`~fp(pzMP=Y!peBE5k%cV(=kNbFEg-ZtNZV3a2m@U*u+_8Bb<qjb zcF;=HNXGX<`Z}a<sbit-q7|s=pphuF@Y!Mvh8NC9g+)cux5($B7pUu?lc<%fk%Hkx z^{J>ZB?F86F8YD_9P|=(lC@GaUgHXq{xzz36#aD`a@n?+kFFN!25DMoxQM`vder!} z9$Cw%m#vy_`QOiXOV;^1<UU_@8TEYCD%)`j+A+Tl<rghT%R<vdBTzVGtFOB3|3>w+ zN$;?F?r0C$F8DrDwXJ4k*;aBH|E27|sgn+Vt3F1<Lb&8I@0`n$We;bTmEJbf8|EWJ z+njp{=9hE%vfSZ+Q7-3n|C`sUeWdQM`-l*P$6}G{SP8;@C%3g!)p1bf*Zm}~;kg}S zIor)xf4s4#;r+}tPt;A;PSJdg{it;Q@ufA3io)vJ{TP$kb{ZNaTUfO}$m2x4U&!{5 z$Ae|&zMZpuniiv`t4dP6cw>AAQ-Ugm8&PTR;y8}$sh5=fIF{?+mg788P>%{aW<MK< zLV8q46s4>sRomF7EctxuKrU(RsmHZ;)agW9vftH)Y*w|Vy78^3#zcFn5N<~$y<6fO zGw;{7mG#f94sw5S%VmF2)ua5c^~l){|I^n7dcU?)ZrfRX{*ud4?Pou><j?k1m&vC^ z`9z6~?J18Px6ETFuXCfm?yv16&)pZYoDZ@dgX(j>tc%*K=H2$!b@^Sp$n{*3bqiyD zs(s)1*ZLIDr2@j3e%9zW?T}mhwKk&GyG*gKR>r<s3HxeA?5h>9ubN<A?f7fG%?gv* z2_34s3*Y&#(xTGwnpAwE1{Deyr0<RUm)y^6)9Qt(I?7Z+nX)KT0%Z!Li~-7IJI|`x zr^K(z`Ca?`(>T>UtNuDq^|7lOUp(*exy?W8{*v4F$!!`rOi$<ky<<eZAFEZpOdWiV z{&6*dWy)i=VlKz*zb&Uaw##O(w_N5J%sb;8ZIN-T<+9zhw0^!vtL9T8`+V|x|H*53 z&N}C8&)l{}&S_NJyMoBsA{pmWJfAkp)tTxXnDf}nZ5i_Y#Wu_JLe6VC_3@wEwCZuH z^HK4P^HJ9KlC0+x)$whVefz4X&uc$cwR?+yUa#Edt-8)C`EwhpUYGs(S~X4O?DdiL zRbP{+mfa=$vU9eLs@}O=Gs=BH{SN)(?5#eZb@}yp&Fy+reN5!0*^d8`xzA619hz5N z)bmx(OZ{5z4`Xud4>_+J)n)%Ds@hj-%6%p9$F+!@Pu6`U>p3dxGSue_*<OyB*DLD! ztM{d><<(w&eU@|k*%T$4Yx$_|2|cQ@OP4CI(xGyA9*;4;J17#aNd>$$NKX_aVUc+* z%I*3=E`JHetLv6gk3iMAE3fkM`b*X&=;zt)$Mu+ceblO62eqp9xzWFFbJhNu<9bR} zHkZ#zd7Y!w%TVjTEvGIoRehbQR{4Ife!t9mo{{bJ7N3XI+eWR0b*QknA+B#KW$q(c z&co_y^tDM}m{7(ZfMv?%Rw{`1`<ZyZkHh<Y&0o)v^$n>$t_{p^ZBQB42BmRrP!!h& z`9=Gm=LFTY$+BOsO;qhT;MX=+mACt~ylPvRW<PhR&No)s&o`=JcK<v~wfytHu9K=A z?0&XG%VN}WR}E^ksyfw)uZI3pJoP!e3YG9S#kF>i?Df&p#J*iQ<8zCy2I=B+`HyX9 zR)oxOJXFQ;Pyxq7X&ev5aXc8}c*u`W80xb_#%Ed6pRZN*sr<7(s@G0GU#r?BCVM?p z>-O>2wp9(sbCQ1dU4g1h9-l+9?vr_Wd5l%e+<)?V-^zMklJm(pzAdtyuT<-~<L7#+ zUhn$(T2;@*d9TZVId;|S@?WNrb#}zDranihHRrnJJSXXEYvVJ5rs_Czz`Ex(ow`n0 z&)d0OFBHzFU3g0Y&CE}NiQ37UDI)89bDp2oZJqNPCF{0Qmr<*_E>g3W%et=WvU!cq zS~lmhv(8_2{I<(}{L1of>LUb&|3C0o@ybpoxf+KPwN>ZZ)i~iws%=7_#18b6?8kS) z$PUSVM435~IbNClm04hQ?pNk~WnNe2dS%8|W^`rlR%UW#Mpx!>W!_e1Wo5QiW@BaE zRc2vjHdf|fWzMy^Nk+!j0V;F2GIJ|4wcRlfnGKdXV3{qIxl@@#m04GrWtEvrnaz|r zOquVL`AwOzl-W(0@sv4Cnb(xrP?-glSxgJ4%zVlms?4Rz+^Ni=%B-u*#LDcf%&y8@ ztIVFtEUL_!%IvAk$*S|WGAAo@xiVi%bx4)ZRA)D3o>OKtWgn*OmsIyz%6?4QH!1rY z)qRn&f6}%|MuyV{D)XE&Pbss6>YU*Uw~P#<I;SWzjWWMj+chIQDKnHZQz<iq>a3y6 zNy^-$%u&j0q|77A+@#DL_Jzvqrvs3=Oqtn~*-mfZ24uEVW;azCM3k4gLzx+rnM0W) zlvzWWEtL5`nIDvyKy_YFX8dFpP-gdJu1{tGWu8vv^km*nX5VC9E+qkdPk1f!axxny zb8s@7C$oJryC?H_GV>?1dotH2bA&P*DD#6db0#x!GM^^1Xfm@V^Jxh{ok3dxFLP}& z112+JGCL;won=3?ItwOqV=_l3vs*IbrOs-}Oqk4h$vl|Ma;dXgGVdibRx*Djb6PTc zB{NzwYbEnpGBYM~RO-By%vZ_GlsZo(^Gz~0CG$)&S0eLEGHW6;EHalO^D8pDB=blz zha~eyGIu2NMlxq4^F=aOB=bZvM<nw@GB+giLNX^L^Fiudkj(zb%#Y0a$c&H7_Q*_+ z%<{+#kIe4K%#O_J$c&E6=EzKr%-_h|jm+D~e2mP+$PAUt+{lcT%+<*3l+04eT#f9b zm3`*2|61MuE&HHlzqRb&mi^<huUg#)F8iuwKep`Smi_4JK4;kvt?p-*{nN4^SoZnK zK6u%0tnOb{_Z!Q8W!Wb$^J6kACi7+L?3v7$$xNEeipe~V>>HJR#<Cw+_6w`~j9nU_ zPYyH(n?NFn1<4>11cC%0`&nfluk6p2{l~JeSoRCcK3dt|tM0>9_wmYpW!Z<U>NiFi z*;g$4ZDqf#?2nb1A9Wr`o#&BxADRDAXN+W~NM<8s->kadR`$)xzE^d>tn7PL=YC|) zN9HGF=1Asw)L9>y=aJbRndOmL9hu#c*&LbGkvUPBGnLs<nZ=Y@OPN8Hxl)<0QD<+| znVsfkGx9YuKO?g;GIt|0HZnsaGd?oIBeO3u7b7z>i4`*PGBQge^D#2lBXcG)vm!Gl zGOr@@G3v~S%%jL`i_E&n%!)dDBC{qkx1!F^sPi&1cXAQ$U-v*d5QntM6tn{YU>4X1 z9)MRs9LDEBP!Bi)e=rrS1E;_}@D-H)8^2oty}<~u5F7-zz-LhW2<8F0g25mP%m*96 z9&iTS17ARqqsR>aFE9(71m8f7W5}a}$zVH317(k+USK@f4jzHep!f-_7ia<;fCm@~ zCW9qlFSrHXfPyFSy(VY^dVl~h4$K7`z*+DT7@R^j1GE4=KscBSc7Yq<6)1EX*(A^r z_=6a*4x9u}z&B7L32g=Zz%;N4Tn2h)FfHg0MuR2bICu^UoW-(1A21561n0mfP~jXh zKENA{1`EMna0xsIddV_7g**uG1f#$dumEfY$G~0i2^gM7JA)>mI|u+1z+$isoB^po z0i`ZrxxfvK11rE;z@Xkm{5}GV2OB^#pi8JLXazz+JlG4afw#cmGS(k-12N!l@D<d# zf;Iu;!B%h=7+ghGAJhXK!9WlVHiBy)9Td5S?Fw3eK437I0+xeA;41h43SY<XvOp&= z0;~cT0o}mw96(p#4@QC6U=uhEQi1MGZK??xfVQAN2m;YyH8=|H0L@#-`v8030mg%s z;3Rkrirq#g8@PjUU^zGqo&ke9*!I8?1cNmo1!&yGZ!$m!5CUd{J>V9g6l_P}0K&l{ zkOW?UBKMG)1HHirun_D6_kaS*-bb4OPcRJ}1g}Ar2RQz~B(NJi1*IOM{lRFk2fP4f zA7Qy55^MzzLFrT+GhhZd03L%<k8$1sW56Ep6qHRvdxI!253B`;z%B3*7(PKgfGuzU z-e4kF4bFkrpy*SaKR`b)2CN2Wz<W^onKm^8o*)M72M>V$bF@Dg3|4^KK;wlrH3WfR z4mbebfT}MsZ!jLL1((4aQ2Z74BhUf(gGpd5I0hbqub|j#lmWJ&Hy8#Mf<53ocms;Q z!S855N8k@8g5_W*I163^!?)P)fDPyhJissz4VHo(-~_k{UV!gF_Z{X9$^&!I0=R+@ zFb5n2H^665DqWizfqq~(hyhE%esCQqpxS$FY6)CHD3}0dgC$@y*bi=ik3jnamJKQb zbI=C3f?;4XSOX4&8{jRF-$rPVCTS7+LP!_))X#_ebmu1nDnJFP5E)Wo+`GOg6{F&0 zL?y_WO5&dOrKt>+rE*lBOsE2(=Zh+nDOI7WR1J6MuYnIpwaAQWlQ~)71BfNnB`c~& z^{D|_Q$yT0yfN-W-URm^Z${0j1=&(dvLk!kL%cP$p|;eH+T+gQ9jOy_#vRAI;J)8o z$%(pAcj|$A==Y-D)Cc$0???T~nOw+~+;E3|5AwwQ$_J1)?hZZ>_c!;&J;LQZ&I4&M z?lvBbyPAhm815||P7ySehS6{uK_h7tMbc;*Lt|+iji)G@Koe;aO{OUnO))f;rco?S zrx_GSGieshra2T(b7>y^g?sofpoO%E5@<0kp{2BpmeUGaNvmizt)aEFj@Hu#+DMyd zGi{-*w2ijY4%$h(Xg8k!x0m+OemX!0DUtBZI{KTA&{4wEl<5SWq*HX7lIRSbrE`=_ z=jj5TC~%1`<JkdM=^9<98+4Oy(QQ0C;4Y=mJ-Sa1=pj9#RC-Kl^n{+$GkT7vCE)3G z^qSt#TY5+7cp||EJaym`o;L7>zS1}PPKta|0=^K{5SsX^MO)|yU7;uP34M`Y7>EL* zpeQ5^MPX4y6cxopabYA%2xC!FloF*y8Btc06Xk`8s30neN}{qb6;(u4QB71AHSm3C zEny~V3v+x4R7Y5fy247-6ZJ&{VJ#YpMxwE>5luu>(M&WKErhLTDeQ#3XeC;UHlnR) zC)$e+qNC^}ItvHUML3GC!bx-!-9-=4Q}hzOMIX^u^b`GsGXe&#!cDjf58)}i!~o$f ze8fO8Ncajr;V%O4rT<_NB!WeV2o+&shzJ)EVyGA<hKmtmq!=Y4#b_}`j1}X=co8Kg zh>2p7m@KA<Xb~f(ifJNNOcygmoR}$QiP>U~h!=CkJn@&9FBXV}Vv$G?i^USLR4fzA z#R{=ftP;LHZW#|<F{@Lzwui4TIoP(hYh~%&wM`58NF(Qrk<PBZxbMHSkH1d{W!NCk z0rCL^nGYy(^>p=ccK3G0|34pj<m{??0>SUgczCL2@%uua{{N!TAkT<@u{{64P`7_m z3{P0dUMw`k`$r|=oqrkYocS;)*=*`&kp+Ja{_Ql*UOxV=zIjclYWY0o`pb&vSZb(z zsDfu+bH>vfe7quZ8;hq}<uN#qRm^w{R^DrwIX=%7%^aWCx@M04-Rfo*$$O163;cGa zf4c&CZzjw-;{eHJGs$uPP;ckoR@yn28s|F0z#tz#pAet0?Ats0)NTRc>J1C)?CKTb z8RYMmbUo+09y`><>~zMLKm^$ZI5W%$pBd#N8w_2Y44nN1|8&bw4@75h!;-0J)< zivNdd{}0wwZuLM{pP;Ob`<qJPadQ8qKB~uW{g(*>0zH46v;U#-Wzqk*1#oKh^>NR+ zTmHjxaH7TI!v6C_cplh)YuaEuaqPb|Rj#|Vhi3@h<2*gGZcg>E+#1W%HTcJ=RknkC zom;tFRwcJxA@}W_bED?9<y6DfwavN)*+%46Jyn66>+)k@Zd3en8j@?D_x_RhP9Qg1 zZd*Fn&H2kVbH`cC*<1aTyUeprwt>#>0sg@u*>;TV<9%?&@VoIj_uTAL<6(@sPM%wp zGKc+q*Hz8x$I!fL`m;bDRsC5Y*Sh{3{STG3R_`-e>t+29)w0HW;_q6(`j_{`>~sHz zI{m}a|6$?3UAA*Bi_Y@IO?6{r8Kiy)=Wj+i|CciIv5O(jfq1-DK$c6xTo&k@{i-C_ z5?QaR@+=@5<hQk#bCHGqL)BE11iA*f{<y-(d-4B%g|lBR<u=D`$8??roc&yXTnzoD zkk5~|&D;uQyQ0mlz&|y<s*V2j%I7?cb6cXi%s;K)&vL(CMfG0zkFENz*FqNj$GQDx zGt0+_=DM%S5qYk5#>m{)HP6kM*XC0<UT)P;kISnjKgZ`@nP1*Pvu@?=%_1LxtFD6d z*+0OjhWs)&)lfVRILk-5EQ4~HLq^%`Cz`BNWNo9Y!+))+bLLZsGvAKYh2>|YZ2Lpj z5!p6P))BcaR?aE=Vgvj=<<k{ivwVopGAR3EvyRBN*sLS6E;j3M^;T7Hj;!MXac%7E z<{2E~?Bf^c>*?p|AEJ7aVy<P?kB!c3q-^ua9G7>s)t|GRRnK$&-TX63WZ$Z}E=x71 z|4{MF8E0QpXMb0}A0JGAw;1_7)9=<iqc(YNW9RG*kmJL1t_#j{OaGYFe_fTlc99=5 z{O!J?-p0Y6|7CZ{d$<4DB-y_U$krG+zdOh}GVjLDKEuEv8HcB8^WhvXAA)Y3{Y3Md zBF^{*GIPWKu9TmrpRfF$1J`%>?!pxhL;d-M$G@5`*wa5a+t(z&n<^kM_<yvtAJhG( zrTy~0_`9m%Io$uIy-+O2LGTYV&2}RGhq8fq7QN4pi>P3CS6|m4zfj*FNAS-f&Tg*3 zKaT&bgR{PuXBqzUn-cX(<~lO3+5Vh7`>8VbnPd#jw&Ga|{_+NzWn6Aks=n30hu$9* zR}aYbOQej?zw$G3&d=vR$7KEd{c~u}lgQ68Iln;oIp)`|5q^&Qf7p8$_^PTae|(>F z?zuTPFD@h`0Rn`FfCwQ3#HfIILm(kB2^iG&5|W!o$;*3hcvuxGzN;2$wb~*EtCoTf zY_(c(EItRVI{fU6I_-2yr?%s?(+;)m)M=;n|6ObE^SC!R0owkD{(hbNft<b8Ui-E7 z+H1eo-kWCi!}A=sLNJ1N^85|wo5P5aRt4S6BvPD&cf-g>X3j9uk-0UDbTsx2BTmlG zVPwNrE?g!I_v-48#7N0H6=5S1#N0s-<AdWfym}n3X!igmQoMM0GLF|s3AzNslJ4$w z<qPhF7zi`02@o>eUVQGk3(t4*;=v_}LQ#(z6-{HkOS4gLlyTMO^%&R`iuHRIt&?Ub z`9fD*0??TYi$WdYP*Ktt9Pfprd*f;E(Fxjm`!}D2qJO}d^C!<@N2I?uUN3q%;$*eE z4<i9r>nEp)_Jun!>UF#8<Vki%(aK2jN6$ODnb8T5+UNuW{acEQ&n;dwI#u+FllePa zWy#AE9mKYOWZM8_CpkeZe*Yv1QD-<bdToQCy&p^P;gF|q+T0qUna?PRBbZacA+DWp z=#)bBo-{kXqZb<~4=fy5NDXRWH2!(%Myn{ID;~8$Ns9K3qe%_XEIMf{i$bRo3#p2@ z4TI$Miu6u}2SjzUc1XF8gxmUi2ToQ5kC4O-%Z9gG#Cg(+JbBKdZ6P$*(PaiSk#PH9 zTXK1oePXg6#qJ(L$+ipPcs^|3Al~;>w0o3^1~w&aQ__=CN$M@<N+b14TUsOSQSRsD z63NEaSex6+%Zf=#le7y=PT3LW1d`~I(dm<PB%=rD49BqQ+Z{{nTt*L-v=bRU$nZ{J zbo$|a!szq^t!;^QeUbqETM{aNbb8G3G1ETXAW3@1lO%IRBsPL(KUu)R*2rn*Z&-gf zdJ=<ur_ANf(-dHvUiOWr#AQ3kY3Iq+si&2W8!Ub*J6emk^C&rYTJ@TI;G4XHk_?2C z6OKCOO&%oLc6zGFrl;Y`qT*yd;ppj5xFw5EKisJ*7(0K_D^9t+*g<0br&XY&HWS>F zC9B(EbvS(1N0K&54UW?Dj@aWS?`cQs0ArD`yFrNMDnOyuaCBjDNt?UGm55KYJQ(Jm zXcIIdLA+2TBtLAMcvv(^mIM;x7{H{xl?LbKP41L$6e4%xHwuwEY95iOs->a)6cVgE zC7Py7${HNaHe!;E_08ocr)p|E6`E7Y7v*ZvDX;=#&(I)Nj2B^}soR|wj#!S?zV=gy zwGH#<Qy}Z<Z*7+ehx^*QTir#F5tCOTdb(q=p77}eTCzBFnt`HS-5s&h4%Qzzg>pwY zZj}7=vLu6@c9x=DgB|Wndqma}nL9uqnJfnTq0_6hs0wm=rR7kkUD#NEXJ?N)E*r5J zTTiK?KoyF>8fwH=34+o5Mo`AKRd_;B8$FV4b^J$Etquhiphk)uULh)1ciTu5!wcoa zn>66C*{9_Ch`Aiz)ye>BXDlIG3hSDHsh-BckHjvQV8oobB*V+B{2U9f_+*FMXeIie zEYT9Gh2&*DNr^%yi+YrplUCsHjM$6u3Hh_pBW2L>A2Ejxg(pol{#odp5pWRkb9jYz zyEO-qlx~T$O0VdkOyrm*9OZRKtnr1zAsphs83P*yixO0PEEI7tv}c__w5h!Vbr8kA zogIuYUN|B+ZgnCgf?m^JF7~)X8wWdt7jEn6N1R?vvJG~xzjVh1QF5DTm*5SRoJ3k8 zB%>Q873npsBz6kQdw9VT2%<6AgO8kaXt1vv*7v>fB*V=B;$j#U<+iBwkB`O14lje_ zlO+3&UwjRX5Oq9J5=J}G4QGVom5c{A&U+-OH4<svCKP64cVBT=c&iPPRN8K!i{Wj9 zY@4A%;RIBqHL{KN$D=sX1beMdKv#|A+1=-Q_VQ6En-n$)ZM_2?h!<#7JiTann;gG^ zNPjHc7DKygZEFihqr*Hf{eg)~k5jT<I|O-b!J?W|u-?HwZ`6^&K3eV%Veu{0HZX_{ zrq<YC1cq`dAGSYs_ORBE&OQkqZM%2`{307~GYcI-cV8#YW&U;k+Hnfi{{44~U$pCf zoZWPBSK%JZ7;u+sF3uMKZ1_bp@b)hoxMrUV+j#o6C*Zd#c$fO_SKnvV_bv5(UwuDR z-%L}+KSg~@)OV%&wyW<|>U)>^KCHe+)b~5;`*Zb8_se**)pw5iE>Yh`_1&nx1L}K? z`tDNSA@#M(en`R3sqgFR`yKUtPksMgeg9K^1?qu*>FS%UzEjk9p876P-{tDNQhgiL z_j2{^P~QRdy;6OzQ{UUw_iptaQr`pW`-J*Fr@lwk_bv7PXZ5wq{eA-czx6Nc^RKo3 zKhT@DMPuRK>cKwPx%KxIEn0$e)s^9%a4cMbuAm!3x+e4{bR73XQAGxEiD>bLwjvy> z7>wXdU#ub0&wb9D!*Mn3;w=xhxr@3RAVp9|_}bQJtSS;g|0iY;T-V<|*b}bq?g_7f zS?48qG?TD0vo(Dk{o)oEZbqk67A0D8i3iE28TPOh{phf8H<(_7k!N>nPxqC>%Cy?3 z4YzI{h8Bm7iwDDzZ4KcFjh0&b+QJ-JID(t_8e=_W?d>+lnrYol=!C6k9iaZOq91J9 z8WRD+)%N#q8XT~R!NABil$d<hbw^@@tvze|wsiM_3-|e&!m+h|T^Ql^gxjmOwuJ|X z>nIg?E*|zZVVPz?JmYH)M|yFXHx{;8EuQx^_e4?Tb*(*vVezJK#7M-CeJas1I&m$; zzu9m#jb?soL$x%V_;(vZIy9aT;^#JoS%W*{Y<R64C9Dyl5Ds}`w`nUZY?}ae_iqe! zK(cV}oCvk{Mmt07g;V{Za3s=)d&<5G7f}bbPzRe5h+>V#7X#hxVwJ{6UQzsB@pX-6 z4x7YAJ*47)R1Zb_wqOR_7wf=#mj*_*Op)Si-H6ptF~JAX<x-aVc(5jFd>sz`YPfl% zBd+wRk(Suuqfu5DB=A~x!E#0HBp0k)!s0q|VKWVP+W8`_-I!hs`DjrbQy%e%4?`6W z`6Rh|VC5#BCRZN~+MXpBd%x@3++pYV-+WuzqHUDM39SypwARjWdH+@jI(~jpR=KXM zp=MDrpPC0I8@T_;|EsGS*HqQI>CZv>XX1ZvbaPuICb_T_d05+2)#&Dmnf2HACzzdd zP<-U3JjU-*-@iV_{FRlsU?SJ|2KBx5p$QBZ1ttEkj2r*&6&H7J=Al$ahK>)tKXhW~ zLtL<9?E@l+`|+r>kCZ;L@{xu|S{~W(NY^8P3nc!?zN7n&?R$6M@qO>pg*>=45cflo z_x?Hii}sfuXgILpz`%hW2X-A8I&kQ~kpssL96xXZ7xe@W791=(SbDJG;D&<(2X`FY zb#Un5p@T;b9y@sa;0avg6MPtv1pT-N32%B26%CaPQKS+s7@A{afc)RzpMwK*Wi4*) z#LwctLh1blJ_#oNmGpEQucR-yUiJsCCK4)G(l5r%zmoohqJMS-`h4JZ@h>xN`b07r zU+!Gn|IiIG{qN#h%Va-Ee^-f3Z}(eYN=6KvOn=KoHhm(QjBi1i?O%GcOdnSvC;dtK z3Dq|J21Wmmqw@DShG>#srMJuYTSlc{j2nF={m^G6J+5F)`jh4JZMNwXiKPEGM)a5E zd0~qkK6s~0Z?BOUlY}Mx1-IDrhwhg2Baq`BGpheTIP~HkNiS#6!_$!T6LAZ%EPwEn z=ofs(rY}(Rsu2uN;Qw(<BU-W)ElXRmW^F-5!Q#U63yTZp!_EkQVuO9*W$N56z*fvK zmTfIrGM_v<3+C5@FdA!L*4a0B{`o?yxL`qNcWeQsj-6ZN-}zgXES`_S^?brdBW(-d zj`v{<u$a^pVh)!?{pgw>JDL$;L@~Dx#e{FhH%LgV6wCrU3;53<&cb!}h1&}-QG<`^ z`Y=LIiPE8vf_O5Y$(}w*E!`>cBvuNg8QV5MlW&<`Jb`98Fz3-{;r?Y|hN@aBsv4SW z>eqxCt19XnE5+T$=L2bIlYVE?UD4kj7RKFy*>owOi>~fz?TiZJ9>)7zd?QSvBkjWY zLZBWgSgr?_39vklAYTmJh^T`8HG{ny!;uEMuK)`y5%}!k$nxAUw77v42VQY8?hQN` zKp!hoET5HyELx$8`Zdi}EzRPX&-j!d7ZnPB!@`yQSoJWj^>5|uHWW*EC&QM%VUdKd zV>sw<SS;b|8P4-JoGalQ7%uQPERpby4A1ea<qTE$oBYI-B7fc1iYV&+W(F7go5GzH zD9tVYN$@QpuoB>>8N7hNDuA~#xRk(ZfVVNYoWK<TZ)dQSz$Sp7VX)j^r4ru7DOLI_ zBSpg4&3Ri1V4*NR%RmEwVqx6DKns9H!uT8m8vra3#+?jw0XR<>cQG*FZ^Q)+#^)K> z>ThfVa5n=x{Eh7Z?qT32f8#~~UtnODzcD(18fD;a_yE|$zz}@8g>f$f`w;<vy$l@k zH<k$FK6XFtZ#-WZL+n1{Z(NAd>|@|40F>r_295zhX}-k3y8uv{2N*aGV6iYBWZ-=O z=L+K?22S`JyOEhMGw@-c4U&VmZq{M#ra#h%8}+cxhZ;NLzmq%+<w3O@>F*K7^Bio* zms%O#IN0f+UtsipUn(uom1Enlt*g18(|M774tag5VFSs2FR|a#($8sDD&WiPc_hKp z3Hu6rAN2|2lA1N;_4T#F+>TqXg;Bn~xk{Ly#trW9qK0eU`X1pcC2-r>@X&p}4wyE@ zgi+hDuD%8|_fXS@o>E$fRe`RXQtOarG1k`BuUQdlXl@k#g`~b@gxK`<zrdi3$oMTq zlt#3|$fLJ&MB2)-HI=nh5M9mjlm0){zKw{|IA)1?PoucfJj$njZF9{U1U^i6zKV1z zA|A>T8KgrpNL^%PAVGGCw1y-BpVMc7-e-Lqv}ULd){JE$XjGal!1`-pCT>)j&%;mn zS9W)H38UIP1jrI;lGIpX&I4s8k#ENTF_V#SiiB^l;V~j}3<BL{!y%-%2SAXrt6M&0 z_pAqftk)Ij!}GF2jI}~7b#<YpvUOFVvc{@1m>US)=<yd|IKWy3a(4+U&R%Zo!rz2D z3kIVS*T*>B-`v_M5&eG3iO=5{j)o(f!|iA*1B^2Lyl`AU(8g-}3J&O3$c_$Lvoj*B zJ)oLtiMa{O+tet~Z82@S6DOKnj8U2X%GOwGy$U_Zp@WQb18-)^Y$q_9=oUuh*xGR` zhs%>-sIE1-Nf_H0m+!A8F}0f|^xc*I4)CnN-_qOb!G6+DRWp=o7aA@9DnHfEkS5X+ zxoceQe;!`rhBV`#zX`3}zY<IA)aV~(5K@8jac$d#@rauk^v|Pyl7S&g8ccnRp+f|L z9r(iU2tg>{;|v`m2s!yGL&ph%68aiLCsF}H+djb%^bbJj+b0<eG6+@pbp{I<gf@JN z!6F7pAwJD;sf3ZGZ!p{-VPxtVhBrtU**eVdfP|5;XBplhVPx%Z7~Z8x;U>k%!mi;m zU)|Wx3NgF7C)R|W0AYNE1r#vqM`8{zW_$?^W4XCdr_3=-5Sg72$|r3&Q{-62<C*^m zIC~B40T^G+%uEG<V^f>KA_fx1AS-H`nj6c!1CpR|hzWBkUXh!P2rRTaiWSj6nYo-| zT*(^+sN1h+lG@0Y8wY@&Vwfn8W`2SwtGhAgAaNGPtC^%&ve!v#1Yx|ENxeBTw5B=K zTvIMej2AQYGzgBPvun|92;(K0acZD#o66~&z40<fWl2;m-IpMYR~Q%cHw|u-J2lPS z8-?+=jLplXY!~>;A{)D7WD~I#&A6c-8khw1b*7nv&cCNa7;kVUicn@MK$^;&@g|oi zt-*%>E^{{W>a#5TO>3yBD_c<&YOZYxRg~4%mX}qm7Do2O8m6en-@JDGk&2ZHEfwp8 zSZilRea)Jh=JK+pD&b4H^Da<LbWx$YwYAMP%`2h5Dyu5Nt4Zsi%hs%|L%Kqrn+f7| z&7rEghUWFsxn^x`t<VTrQ!I4;LL%wgxLEl3TOv&QR;(9(`c{^qUrQlZIV3??jH_vC zC~K}*DFOslH8$2aic}_{4l#{f$VW}tnr4wsz}hvd*VJFKMr06BSycgM)QU_3Y8Hwh zQ@}A+I*P?O=~yhXn50BxOGJqn&j>`DBQbF0l8ZajJaT~*P2h=`Kmhfc6Uot3R$W!r z*jTn+Od_yCy7S3RYxb2@)#&Uh#biR%Hc&aINarQwo=R>t9G^+<8q_hxeHH<0ZD<xj z)it$M%{6sZ;s~?8ytcj^7e|v1VyY^u!yVERsBeTo;67>BtEw_oU%slUq8WEg+cYlj zWyVo_Hq|SPsi?+f)I?rU+k_FtQFgDZYHY$B0-;r^ugcJXLY$?KxJ>Ji7^-eZ0fm=5 z*`e~izOkxW?AXDg0+v=at^<E|?2sZ;TU)gPHTcm-EIBn2tSf6;4H_A9^ZJG=LI4y- zs9|08IuXcy2ATjs4FP%7Y3HXyWPO2quOmSXk@c6e723`i2PR7!4I~Z%hYWQwnZgI| zt3>cAAsnA<ZSRa;v4uKq{d%28N3XzZs_H0#qd`~!?%cHf#k5d!Rk@hH#@-=r4nrk8 zSnw|hX80@$Jtb5_N`Q9n!tE6}T#EBx&_7UUonc!+=pPs~#4;MjAhk+db3|L9v?&b_ z##L>t-~fam%Bd6)Zg0WXs=}bbu0!Y<<Qtddu(W<B)4HG1YHp2SJ5uPslgY?ERzMVs zm<hEWQa4v?%V|htPm=4%ji0tB1<R#pv9pw%^qVzCO{I-oAwEDVv$aMeRcK<)MCFkW z4<Pj@sC^b`nX^L`jnph^nnmjM0{W{#kzPm{!B5-s595TGJCmHN_ko}WuDJ^sBz;$a zikXYGHux?Bco5(@fW#GJ@lsd?;kQ$n=D&}`u2FH95_-o2$adi}Wb<117tVv@88{Z? z!6Ax<#>&m8PXM6bN<?=SIka1-xF3MB=xIf>g7EldgJz-J#>L44q1{H5bFl1Gd{j{` zL;2_YhXOvXn1O{aG5<28`jPV30fctv1&FQi4xpomVZn8jtKvhRc*LSFs^WYMl+0>8 z@-ycpg}g$>uGM1``4GaM#k^QYy!bpKT-ZUqCw8N?O9*wCP<@a;v<|I>YWx?#oclVM z_7fE$%ECYG5(5>o<TFXUApeC2fUoxnab9A$l5fE0X87R8webfP@o^xuON$XH*T%yj z;o5i)4p|%L5_gKm$r^F;F?cxzAr4JM#Y+w?Do`A{0)9467G0^3yChP-3SJj$#j~{* z{c4EqdKL4{VA+0<oUb*WuU#x=btyct@|!X!*g0p1hg^}O$%I0cJw0`;-F=W}3@2a% zF(9<ZNTPQs`V|mO`e}Q9hNW96(T|ZtFUNl=(T|ZtzfB-Z^kXE^eNcA`p?P=~pgm48 z`cs6spgR=mAsY{&z5TXIq4+uFcn~=*{+0q>AmG;?pINC{l9d_Y<%3zWNp2>dpkWeI zt^!l0DViT4^s6J#6nWzL*$6aso_NNh+|>LN(+YdyS?s0Jid1%ruT&(NSUj9{ivp-* z?Q!%A?d<RKklYwYVn;daQAI)}Jdm8^up%Kwy^)k;&M{9yPT8bvfsNwABvP@D>hQP< zhxW-oZO>!lZK>EtQqhNDxs-~1Bo%KG$WpP7q@oam=A|F0I7mYdAT$a5FSSNgBt92| z75KD>;;d|0-BZB3;yeY=>xs)2D1aiMz`I-g2<+S4{y86o-rWV+TOPvY2zbY!HKwj{ z)(S~K1Pn1G_hl~%!CskeCkaKR+|w7vwt;;=N1kR-7d@PWZCV2N2Xm++$id%Imj>&y zy=X|(E#neb5qMw;{AXmK`DC7l$f^OAQIuP|L#;xabs=C0T`9EL1Z7gs((8~R??Rii zQIWNUKz6o*+PC$EVm(nF9pKi9o}P_#Ze5$VAH?PJF=R%>QloFgN>iWEib$tBNLKR; z8O1Bmq1J(c5U<^8i-<`T18p?!5ZZ;5@qm%1wy-OeZBE(|USXkbG2<YKK~)IPHekAs zo9E;VBJe1wXX-aH$N>U8{t!oSi15^xNP=oM3QGH?Mp{dvR(Ncb0ymJB%iunJg=>eT z%^;PLK_%foVkNH7?Os%}BxD;uN5ZJGR$5)q&Z<&EEmE%|QKklzK_Z*M6A%(lK_qMy z#v>h}okxV!coPY0LNFdD&dwz9T!n;j9|bNU!yO2!R$yt?9Tusv)u5zheu)m-6GLq; z7v?(<RiAhpz1ErBRRDw7Obq)9iQAM<qMGb|g}=<51jBNc8An@K^r;p>`yzAjMx!vT zPvNis=cx7(m(EP<LC~aF3G-6@PCUXV0;9}JQ=NIKA@m*$2?CgLsCg+l<-C+!G%w{Z z=B4zdc`1J}FQqTdOX(};rR0+HQpP#+Qi9aHlu3AAN-k$!N`NyjCBT`N5<v4(rl5JL zbYNa89hjFg3Ff5|fq5w-XkIEYG%qEWoR^ZznU@m4^HOqn=A{JM^HOrh%}WWP=B3gp z=cVMf=cVMfXQF2j;Lb}4^2|#KRP$1DI`dKq*z;1?%bkP1#MRb>IirhvnQ`&+QVPrS zQg*0$DY=u(O9@RiXwOR}nVOdp;LJ;z(w>(R;GLHetR|u~FZF=Vyp(X>d8tp%OU>N- zAiQZ(DJk<!Z5m!Vb=v-y(In`n?YRT$FP&{hCB^ONzcb=`mKj8%@7|!W+_lV<xUNi$ z|2D%SQ#*@d$DB%xS*)xYRzdFtYZR~vKo+7IiwBiT#F(`nnlT+7Ab7O`u0eo{WdMx* z#$p7xd&5|a0C#tZF}En1gP<AnMGp{sSOKrY=UOMZanCC>Qs)_-X;FL4!dQSzVSUXS zX^3NrXaX~aSc7NoY}S-efLatU`yUnAHXslm4QueCazbaEN9+k0C%z&FB91rnZi4ju zP<iGM=N2Htx#SReSP{T=Pqx*qmR|`k(}LNLn2^}Tn)ITpAl~MZ0}Bp3deO!c_j0LF z2;(sk)+SLB50WQ2a@j?HkN{<BLSiRxK1%TtH)R5oY@=T-M@BCWAefJ9>P+@-oo#K@ zSEF-Fw5j<S`rSXGb2A2Fk@oJ64(du;UIByj|G9nhQ|jwR?9Y7G=TT**e^`I^8qg`D z^k<g0Kl?bOI|a%`^=IUi{TaEaKjSa@Gx}10#$WVj^rilczOp|fm+a3N=k#X;ss4;f zxIZJ8)1MLG^k)P({TTt&pD_jXXVQWGOghk?F$wxJi9mnG2<p!yhWayd$^ML7PJc!K z_h;nr^k)Rx{TaFA`ZGeP{!BV$e@1S*KO?u(pAq2pX9RirGXhnAMoy<clYrfyxn6GH z^%7TGVt;1G=dQC7hWj&isQ!%HN%}Jm?di`Xnd;97aQZW*wEHsxy!{!$p8m`OI{g{p zy#1L$9a9KxQD|wqA-@4=v;I(LPyfc&o=`i+{86E0+fDvl(s%f2dme%Grec*Nha8v> zPM2yJ6FQRXxJYPQ5|I=XDciZV90f&^2hEn&hqU26eLfPup0-B1g*JnL9{@=2QGxCT zX@=Gag|9jX%qZ;H!@0W@5m}SbPuo)s@-Yu9^w*Fhk?LIp){6fCRKVDwrm;cFbRWXt zHOx?m*dD6I7FH-EwDdNhfvof*GYDySZf3Jav1JqYuv`Nlp9n*rpGj?vNjXo*p{{?8 zqWux-`TrViY$T{*?anWuB7CE$Vbf8=y3o%9dwggUN)3}!s$p`G8s;z5Fnvi4^A~EE zzNCifE7dT$q#9<NqlO7mYM4n_4U@}J!vr{Lm;gr&6F_R1DM$@V2h^~1Kn*hq)UZTA z4Ksq&u*8rWCYMyh<Z{$70j!3};Zef`+G?2GacY<lN)1b=RKw)9)iAjoHB5l3h6(bh zVFHyJCa0r@C19&z*UPJhZ5kK%GFK(V=c-|%Vl~VTrH09!L=6+#JFSppN(~d>s9~nG z)i42GHB7Ka4SPUG4HM3*hW)g=;`80Rg~V~#rWP=c`r=J3FM>C<QaJp5B+b?cYjQ@$ z0r)~!ACS5_Kxqvp=JBnO`8Ly9iZ<2yC%|bgb;3HGk>-cq3mDm|9|-&c#c`=Ox3%?P zRmWb{Gtwn>(C#%pi4`)R_}4S6G&`fXwsnB+9fR6TwDcx}roV7C>Y6Uu7GnuEOor7< zsxgVVsQ&ptF4m|_$3~)p?2h!i12a)<4_X>7>i00-=MTeE|3aV>v083e+eB3VV&GN; z51PYFMD;x!L7p4NYa*)O8@L#Ke*u<^3~MT~<uwu2KjlwHq^2?v)vxtm%~@0?qWVsT zEmN6@>en$GG?j^{em%o^rZN%LZ(z8<R3@VOjSSB*<4i>LoBYIxB2$`(>NhjE*o0jt zOholt{4|m&ArK~_`llJZfIygt>bEkult7q>>bEhtoIsd}>bEmkN+3)`_0KR^ZYmQ| zeHW)xX_ASkzMJ#562L;Cf0ls;0O+LdV4wxSBB6hdfeiqb2>nh5x&WLf^t%`sFv&zz z|2zX*O)?SH?`B|!NhYHDJq+Arl8LDP1qODRWFo46k%7D617HsWL-6Sq`n?S7M+5-& zGH}R*iKu=byPq~;BB~Fu`-n*<qWV4tjsiew?q}c_0F>rS47>{frFnpX;{X;5{Xqua z2XL;?A7bEyN#>dQml^ml5X0h%7-k}>AMrm#9*HKR`tuwt(L_{#fze4!MD-WhC#i|3 z{u28oHxboeX3vpKMD<tL8z!P@Y!hmHdNCSR8k>O{w|)m%Pm?yG#%)vKG1?k!n$y|( z7Cc4)U1Lz+LKgvJP~Y<ma>N9_z@W4Z)qhJ0A)PHf^*rr2h=>7+_@VYHAzWin{XJ}W zVu)_(ztny~?GwhDunC8i!LKydA^t&l>%Z3Sfv1n?expr*zIW+9^wRy8qRR}`mNmiz z3WJHN6;&`K(m&7|5p2w>h$c8F^xtx7!HWl5+hub9tvv)U<TWmw{(DZ%XPcDjmFDME z>O!wFpQ0cpo0RI+CPiS0bZJtmuP|vRY%Gy~75~R&f&D2Ge!+&vh_R%U-m>8kR92!T zBi1*1{0p&@$EwA)6V-dU!3z`n#<rcP-p4rIY*u!ndOzztpJ|&+qQMMEHE4S6MD;5; zpkE=SrKcWY6$1SnXD6yhnKs>t6YVa>s7%viC#nx}=pf@9J5hZzQ)WAX(N4E8D#uol zTRB{w1f`v*zKwDDW`dolex?6@aIV0FU8QR$s(;c?{Px<3>R0)R<wKfCPvowCwV$}3 zHKgeW{q1P#rm_>&A7&7OChbJ^N8H4qgdX)%#ST%@VCrKG9U=(qIK<Eqf>6H489GJ~ z6wy~1I!+KY(bpJKcB1+d3_%IO6H50<25mc0{p$=CurE~NQw%zGqWaSemr6TNWa%3W zJ9eV_GYoH#{>av0h8;Um{aJ>0NPlGQZy1K1C`&MDN0wj>NAGogKWoLHZ6~UKg#{F_ zZ6~T9V9b~rvJ>SPzHY}bL8RLUH}t>tQ#YO7;6Y3P!WU{>yN2xALe*>6RFFBSNY}sR zUx?1#ET=tHXQc2tO9loSeeDkJ4aWIQd7A_qd+Kj84vn*6Sj_t0`Bx)i!+Hlf9Q!de z$5wz`*i4b`u{D<`Wc0lO8Vsd-t<aUvP~dYM5ry{-mKtDG*$f*w-0tyY;Gf_r$3I^W zTnV>q*07INCuj7h0<Rz=$f}#P6M_D8;0p*d-kk|q#y_8jE$5u}El`{&tGxEZ_&)1S zU`aQ*=;MS&SK&;gj34|4@xiLJsky9qZIjR@k)F-9w5iu3*1V3Gdg4N8(@0G-A{H6M z6&TudN*7TzW7*{rII*0abQ4x9wui)TgPwlco(V9eo7g5dX|=_5NOB%xm=wkRD|Bm# zb}prE>^`)8671GG=wf1RNh8{uzPmL4cWQOULL8IH{@~DdF=fV$^86hTpyA9!!Zace zbw)c{yL)gIiO@QCDXQObHYg+aX27luDzpt3r0|xp)=3g@CE}iB=db$_5b3)cfZ+2X z4HZJ$M2kLJ)1>a+PBsCS2xIrt+b6*w3fG`?N4vt2YC7Abh>@*{D2crFMC&10K18W> z^|iBzYP~e()pxJVKcI5?AF_Y}<A_>q68X<7uT12KiW<e=i}lT2leHGDNaP#pwu2h! ztrY=JH2RhTHx@v1^vzrGDbhC&;8Q|DSE-<v+d)PCB?`4gq5?)iiCV17-=w@g!(JEr z$KHI?jvZHtf&qn(VO}Q2QoR!Il;W61%$~HODdbERl*nsmQHwziAC&PEjT%PV6thTu zxMhfoMcGASEpW~hr0eE$I<>VK9<j7*bROj_U=*oo<Zu$ac5J^KDYW^Lx>Qlmly|C_ zrJDF2MA9dohK@UvYj&_j!SoYT&%{H+L705~5mQftu5QNSDmGa3)dx|Lr@W-+v%W;+ zzCZPNqG`#4NH|<n3|;FSeloWI9`PG|5X#ueZhLS`bk6RKec;Ksr-jg`cHqgkkjiSP zqf)=6kbZTj$-Euy3!pn}HQ&>iGw#$m@zhTN`mq#$GE00jd*U+c<g5z(wOa5e@NL8% zxR(BqOQeQe1OCbyERJCfc|8W&bIhEH6R~TS28|VosSdBcqp_7Vf2%NaC;kToPjh=i zk7pixT4_$On!a}2;b=}^e9*;Lz@(`h8ZipfeD=#rYr^r;`i@KSOcd^5>JjFoiImxb zG}sx_qmVEPh2m~QfPD6tDg4O`U{0P$<xS=*%pxwEvftJwP6S~(HWfV9RzhpsjC8dp z!GnxzP*Sb&IN*%Wv6HftaWgybhBI?OZk;z1b>;xn!&>fud{#3MW89c&vqEUMQ_OY? zT7X#Sr|p@J<*Ohkbvq@M4iy&U<Zh?rstDvHZ>J=$0XX(ar30UYauDNMk(PZKO*h9$ zvA&F0v#x^IQwWiDBOK+>Tv?xm;|(~n?}a1#0RD_Wp<<h*!aik(Y#F0M?j{F?d=ieF zMEYEc>gVvurRZkCRts62txorI7O|@x>xqOrB^#pDs*039Lhw)9^Lr#aLGm+7?8DAF z?Bln#la*W*Ap*uqWv3?bu$QZr_y&caq>ScB=(Mvh1-k-<eNBt>L&u4UpSB>#enMU4 zBK>%KzDWAmm%L0u4tgjD#nY$}8FQSJ2#*{rlK4^wPiA|AQL<M)_ciVU3REKbB`CvW zwkxm0fToVPfatx#=P~u`rJDoMf2jU2pOTT8X%kwXOw_)4M&gm;A&D=sGvnH&^~9p> zxL7QN!_I9OE_{s=4;VM8D{Lmk6QVgNx+f&vbxG->gZ(z$lag+SqQlt*86%Ddxz>wQ zX)P{5A};k1iL($-;IEI3E6!vG$M%rntzmR=spxC}h%W7vd$2#f@3QrmRZ6_Gs`1zK zFT&qT@IQr)%0lVecBrXj-yJZ5N+u*8f}1As1s*&bq^3(ePBC@b@vv!XhQwP6kIU_- z-X6s8=S<d{6tk{y54~xR%1gY2gsheS!YlLCtQ$wR_(<4e)bD%-6>g5Q$LM$V7-71& z2GwX{!$<8gl2h(6l8g2j`HMY9`qCaFf3e3%U)p1&uiRrKm)v7yoU_MBklJHp65eAZ zm$S!6fV0O)fV0O)0PQg{1?@3P2lg1H1AB~2f;~owz#bzbXpd21XpfOxa*vT*&K@HH zyvIlm&mJRz_8ud-<MtQ{q4pT1Q|>X6+uma&x3kAcfV1p5iy&uee1uuA_87^>*<+M| zy~pT!x%-JPao9vt52B3UV<ZgkF|tGLF_JsU9wUeLn0iPuwZ}++v&YDk_8ubv-aSTw zJ$sBE(Ai@ooOh2gCDFJ|%UTIBwwp7Alz-Zu+u^jx(!8DRLYN98g_K0wHEjZgZ&0HQ zH~gy<o`W(0f(E1xaZTi>{t{^gj9scT6EET%laE&q&ZMRrh=vE-`{%R0I}}~w?MWq= zyy~G4uAgbc`(b#X1?PzMyl<i;22}pWLELMKqYJjrJHY$YWiq;r)Te$0XkFbcW6bz( zA{y~-8Q-wGWx!QsG-tHrfcd_pMsq%S*$h5>g#qS)FhAt{B+TiMv~%T*FWHqdzQikM z{Fcre6uwW>&_d@83g4|I<d$<d-)%c7U(Oa}gCyVeV_;2-&gkj23b&hZfLLqz?)eH+ zWMUAO0={`KxA1u{x6s}F409pzPj9NZ6sM$xdB-^jtIO#8zoqDW&cx0aKe4kybyank zjfHSVx~2k(q`JPbj!&%PBA9})Q)nnmD?;{aq<`AjRft>!_?lThr^yRO{^^XjJb3$Z zS^tc&FCq)U0Ig~F_tD%-_-Bq?ifHlznEBzDjQ=bqDF`@WW-(%BpqVZK^3P^yjz}Fb zv;H|_2M}Qz@wFbAPTvAYipcQ!%W|&=oY~N|ElM{YI|V7vrCepITXSWuDj0|HjGXQ@ zVWvu#39Y09;*DaC|DxP`(4+%&ZL#o|=3az|MWC)b+9v#!xs<FGuy5gQZ|CcQ{8b!f zdVmseXRrQhMh63Gu?N?us7bGX1^Z-seB`MUur4b6E7>>C^{wsh3-|HWL-4I(-~52w zXhw40psRA9LV*h$&$y7Q*>idzaR%(K<tS&0R5kTa;EBI3m!@#0MNA%(Fg!@P^FQDh z9A$Vg))^k)#QjdJ?*yT%)$o9va(F;48XoW$!vp%#@PNM<9?+MD2lSQ019HjX0ppzE z0YPebz$838AeS>dAix<O5a0|C2%zBsQ_%20Ixswt4h#>N1j7S~!0><(G(3<P8Xk~K z4iCuX3=at4;Q={3!vg~C;Q_hhh6jXD!vpD*!vk{L!vk_V!vg}`;Q>LO;Q@hactB2P zcpw3Lc;I?@hX*!|i+h=?GJbeKR6IOjhZ-J`JIU~X&|VWHNv4Je1USP3rnH9#1bBxB z1bc=D9?%&c5Y9V17)N(o4|a&6z(ks!WwB9cU{Wg@4}doGA%Xlg0IV$e=w@Itc?GjV z9k@eG1g4N*9w6LVE&@{t%11D)EK#I^0zwoZ=wJtW91)mC@XV}GtaqTJkMv4lIz=}} z=u|Z#Fq2wEwxwOTjPlaj-p(rrOG$T$EG#h433hE6fj*(z2i0W%4KpJcF@^BxM{j8J zLZL0sK@{2PTJ;?iRdidg&{o99vy$V<qJm(3sfHl5%TZ!27TT&-8Efs&Dc0WB&h9p( zRVO265JYQa#On1Aq1BHT^=1TUcnYzNzZZqf)4o!N@kUmEPdgpL<on9CgED$-(8vRq zLVNfhDYIF4pQKA@kC2)UiW~~BJ(_{wxuFnW3Le5u-~G6!T{AW9F5vUPQLL7k8ugNS zxGIm_7IjT@(>L5dM-(C#rodjF3T=_5RbV=rr`C8D$?#k^%Ds`UQUM)BJb_Z7!xmVm z(Pk3@RntyuoE{ieW!L8tNwm2*)J3^FkJFj}SBX}GR3}d87h0EA&(6N^7Csi!t1(YV z7gJ5(m<9hOvB8>++C2*MHT+tWJ)&!+(&4A=Ny83RKCW@cE)Y4xSXrAq1>%J)fA;&J z(08{?y-|&DUxa7D{R;RlfVYs7X=IgLs+N$Z;cWTBX;@`mEv7!~4Ru%nSs3U3o<q@r zYf$Pj>|8ysd`sYq5{yMgrqgh32ChKdMB8z6F9cU4-^{N)p<ND=nX(R__$?TF)<&Uy zoklHZK@6TEF*pl$)K60*6SG=S;m1@G8wrD-w&!8&OU)jD*B4Qe*;m6+faGW249A0T z%*jC#|D;0Ef}NJ3-9$ka1D}gS!)Ft6ZYdyR_pa^d(5*CkfIg=Yjx?MIFIaSo+{`OS zY(E7OoT9TqQ`;1N0Qh;gDj*9{gL@Peam6YU^Ile7v)K!{QrHN5TE@8+JgjCsxc{`h zp;a*5;~loWci7(Zi#^_4ZyVftqpaa<^-olyHzIQ&p~FX%Eu5)Fw)jl7n1K-v)|$hi z-hPb5yTk2v4MBH&Ups+hiT6Js-cz;w3s(!8F|}f${gB0V!6;{Jk7=bUpZ`TePW-Tb zjXEmYf=7ttnc}xJialTqsrl2w-lj0t?X|yW{5o)d4z=>TR6Gq-eaAIgVlI9R_~O5z zKd<7?+2nQ3+i-0|pt=7F2iN9r;P^C7y`Pf~Mn8nJ+~-V!;}>wuA!(X-tE`40iuif$ zH(35=!I_P-(=1A>$w9)^2gm$ZZj<CBwcw^ch`%jbv5IU!MRtNBJF3yeEF9TxJF+M3 z$lj&MKCQ^(BP$VNQGrTkndF){jF`@ug?#@G;m$4sGw0HNEfsJvmEwFwzX3klfX0bd z=c*EXf*e$W+u)erl(YnkDIsP^So!awsGid-aGIk#WJmY+c67g?=yoTKZlQ|o2g>&t zMfQ@m){bl<PDwL&my?6?)(Xe`fV#9do*~Fv!S_`})LLSQg=IePe6{^M|9lmYyxHrx z-BOSdQV(BHtPVo4X#b{VLkQ0%_c?FE^E#wG_Z>KhpL371<JRr-eyPIzkkeCj&Fy)- z%FS=sXFc7&F@IiS7M#WkMX_Cp@0ZaQ#gteVZW&-HKeQAX2^jm8@S7HOlv8?Jx1te{ zrbI({T(*w~6v??E#}uWZscLOyJqAm)^%c%3kD_;w!l*=5YbxnD$U;TfjUGPC;~>Ho z6LyK`agadsKOl>yMFXkx+@%5aKu4-j4w}7Ek5EEAZwW#25A~hmeCJ_}z}4KWsdp%$ zcuT0KDxuy<Tp)L`(@M1q?fn2eo1*wo-5)7a^D*rq>Jv!gmQZ(r%z~_;s)mXoEg!y2 z1Bs>dTnHZUpbQY#OUNN}M-xjbqg=^x6Ok{{Xb*B%(*OnG6Kl}!&g3#q8|+2Y6#=wd zop7f$^-uP4wSCF2G2=Ou?l1FbzR#jfHZzPr{*RDLENX0mJ0-ap_jpK><ydCeX57=U zOXfj4X557L1&+WIX55s5<%YFI2WH%Nf-GnyGvlTR^4u^9X57@x6kxN*XH7=7(mXf) z!i+l=K`qye`v!o3<xRgZ<0ja$Tr+NhgO+Q?O>my&nsF0cV7X@81kbS&&A2JQMV4d6 zP2ge+w%5{(I|pD1fzphdzzYbJX50iWB~Y4i6S$l}X~s=pDS^_Ao4|6*HRGm~DlKKk zO?g`h0QP;K<$^W<z(oHJ23i2XvhQ;YYyiM!+!Uq@0Gn|WFkmS&ZUVMi%8Z+U9hNfV zCg3JZnQ;@a%Ti|C1l$cDHsdB>2tI7aO~8Icz-HV89I~VtH@Tm-q!~B4k66l#n}DML zP@4NW&&L3uG+$!iT>vP}0}LDo0PD#I8F(K6n{iVFCoE;gO~8lgzk%WuT1LW6zcAxI z8zLnP<w3PeH~qqln}QAbGU9Ifg&8-Y_xmyuZ~BE9H~Ad$`q;Pi!i<~zo|b-2Q<69R z!i<|dk0f|HVP9cyy6IP~l2)Km$*X;RxBeSt-CiXvgokVCVy}``A#$HZO#{X+GK$@V zJ4NFcb0O(5=eA$-1qN-4Zqf~zwneue=`&zkbia#`nXYLJEV?OhipOO756Fl`xA4Mb z`Uu>@vQ4HRBOj6Jm`uL~cnp!}V~0IB9Z97~n6Bq#c#IfBrCe&mp^@(oNlR`^{R9>W zxP5zUsj1ZoixyYaox8B5CY)}0Y^f<-pA~0IO(@e!u%)JeeuZ>wsi_@9NhaD-6K%Q^ zCxk!7>1JAF(PLjFIOwO)LB@G)sVQ)_6BvzU3kS}z_0(1lmnT8TmYU+qw}#tNr-P*h z7Hp5>Y^kXthBE9zqYYl=r@9!T3uF^+G=?qpT6m3RTk3yBL$q95Y62kxjxDv57~4`) zjSo@MY)ehhA%eh;Lw<se5QOqQ&d@P}kdv=6betfzr6$S~8GxYoo?t&{0)T8wO`bsp zakk{^>|4Mf+ftKn5rcHX<Z1RUl`z{<lYfJRk*R0ce}jaPt-}ltNEjJ=mf;-|W?O0s zze|&%Oe%^+Srg;fmYP&kmdBQw1Qf8xmYOixuj7x5;d}((7;xvV*LIptUZgk!);Qbg z2N1+cw4EkNK<^%BJ54w|55O<+u~ivtrwNBvn#^>172+K;2>&<iJY|YZ*K%2{s={cR zh8~$ojiv==5k8B;dxs{D%`+KI({;IWwDI-8k3lE`58)3?rHK>BnVX;!45re4j+p+k z%IJqfsg&_Py)2i^BeD{=IrQ>eDs7f`n?tW)9I}^un?t`S_Zt`+TD;Anm*$2Lv9NfX zL$A!GWGyRUn?tYSDATR@Z4SMf(HO4CtGwK84t)jtWP5x(dlmXh_QkNq4(Hvh&}-N? zUk$|Kw>k7xxuix49M8CrtJ!n9mAK8J*K(9IQKd<FqSxiV1D5zKVzSTrA>29lBbg82 z@UJKS7!A$!4WZhqbyc;V0V&pSVJR>CW4{MN^kk#ajHAeMhi##3!h|w!lr5AA-Yt}m zFyqL>dbZj^A*b9zAs20-@E2Ps^rbBn{$dM-zO;oxU%7=sF1dxmIA;rmAhm_UB)o+} zE@umc0A~w@0A~w@0NO%f3fe-E4s4-F2ewd{1Y0N)fh`n9&=!is&=v~0<Q59KR${%M zFD)j3w@}F8*+L<(LT(r2lRIt;g%D~BMLOjc3c2kq6mmOTC<M4$C<J-7PzY38DCBgu zP$Xb)p}1b|cF9XzZHX2Zc6{zBZo=>u3Om#m3b~VPp>SxAg@q(jTPOrLTPRFvZ=n$2 z-9jPQvxVXToh=l?dACpu+?N=_#&xIzR||?jQ8Sd~M92hQeW>I;W=xAG9m4X*Bz0YR zSzo)Hi)r~Z1QC<45!}<?$-A=JWI}0^c!FKuAyqj|=&-yog}n4hd@#Z8<`I_~XlPT( z+nA(gaP=L|Aa<p?VO=ZW{s9j~c=D!A%R<)j?J0g!)k=EOv_E3crG@r!nt$5!>4#7_ z`e}O}z)Hd7Bjo%z%^}~!!qAi|>=48sp9s<L^C0einoLSx+d#eCO%p*{*&Q8djkV#R zg_^Ait(9oQlduK^vt+F32(68hF3*RCdxAo@6Kl&R13X4xn0)^m;ItdnZ2tu;Ufzqf zlIge(>%!?+mM;=B_9?$ZHeO8ou7~_}g)UL#zgB+VxA9`y#LviuOp5(?3cXm7FIIk; z;0C3-SWN5mkk3_Uj(wq+*`xfvkEo{I>LG0M5*CSR`#paBUcZH6+N&PFPuuBIein+e zzVGpKxUkSu!L*bda_>@HL_9p90{uJO^waj-fHnPDwDOGl!N$(HL=`ZOs)e<wKrJ~0 z)OAx(Sp!&j!nO_dqJKwl$g{pwQUaMYr()aUBbCNaspPYFNsj7RIch*s$Z5c6u$L&O z?N{E5;N2y?X~$&tF@<Mxv0tuePRGW<X5=NGOmy%FZ<~B?*p=TGXwq|B1%29)-=)aN z6qj6XP`yCdHOQ|NxR*%aE-Uaz<jWM<31FlMzCw(7V;YLIY_}^U1z1&gm=6(bQhtkU zyqI&dLamf2zV2+=*F15wD_SL&(~f%lc6j|DRc|Oima2dD5Pro=h>V<2e$U!?F|AlV z=0?K(u0q?wy;Ax8)W(Zxtse3e1fgOo;hwhL<2OV3aVvye-r@11Fq{PB(r3}|a14!b z8xe$ucvHo!aPMGfKvv0ua^P`+g{tl`q)D$%Al)iSi+UyLm!)K!Z7Vfw!=R!Eob^GW zJu@By4ID{Q0zH@Pj&R*xU@46$h>g7H<|jy;6T(}^c&i25IG4>Ewt_l~Bz$hD8gE}W zRH-G{@@+ht)Miqfm;)j9(;t+z5TE(`;Vg^~P_>ns&{;(8r*?(A;V{qeiLXN2oXIs+ znB2#@BJEgDO?>ljDK>u+*HiTw&miZ2sq3kpgGh9QP%h6HxBiIS_Cch%Xx#4djIvQP z?xF3nQ(TMjEhHY8yu4!OX*xoh?m;Aq$S?OFs@60&u7~;U$8@%RtM2LU+a%17GbB>V zB^YAR!W85?6cJxfB?FopbV7}2yzCD(HrL`vL``!IUJ(h|hD?=J<!e{qN{dS;)0v4B zHaIgcW19|KVu$;evBgQphnjIRD6GyHUC!P*yz%%vjLMXd3-e=>`S#ru3}4#tI$SN@ zJ&5u%E9S>1XQL|*rtpDDxmRF@CezW|f)wuV`>20c9vj$WW{MmWnXL@YNuC>CdNMb1 zj^?E_(F+Um(X2K`6@t6T%8kQUgPhqEUMi#oYhiAl{7>M4NTGbItZbS59P((T;N;?9 zB<f~yE928s>bKzCiO%LOdOt##+a`Yt)IpA*DcsvSfCm7>!n~5vdB`2^hVLIFGt5s; zeuT=7dL*`+4axF|i38P***+N!AC#rwpqY$Nm{)P_8Hu$k{I~fzXc_(nYVjwP1WsUp z%KJBH%Arl+Z5X6#`R(vci^s$GWa|Aur-Mdl1yoxiT^=l&b|LUqI&L~f*y%(RL=N}k zn?cFYrEGLjGbI4~8BRpqBDYcd2?)j@O4wGkbI38U;26XRqGu<iAjZ;Va<+QuB@BMr zo&l)Uac{zF?R3oOkE!khJv0C4%IR_6h3{7QX8%<Aj)$#54E{M!Dntv&fW(%$x)fC8 zX51nB>3B3<4;sQdl5RO*X5o}WXlIkk2&$mlWgd{pbFgAIf!TF7vFlM}W`g9{*~GCW zGcXf?$qGdzv~!61IiMz0s)+7~lK)U<QCm131GtqUC#3wcKpdaP>}!%|-Lj|-h7}+J z+aFxfj->fUKcSUU8Fr~S?sLlUkyD0JD#OH?_)o7q$xN41m2D#&T7*PZ5b7PEa=xh| z`{uB`=KM-|(JkHa#mEnSPS(H?ls<d10^(_?G;+%^?wr%MMr5!^h4_wBf(sGRgf84a zE+;xd+eYoO=PY2=jq=)+RJ6z}#>iLKg!W02zpb+|H6aPCQqh*8foh-MgXOv@<eW+( znEz|#NwTcyHz?Eq(O*x?dsE0M=}q-wt)$P|rf65FEYCoOC(0&q6EX9eIe^i!82DQN z`M0YO%%i6jkiettpC!i^cv>TwhfJ7(B-|zt@2yNrCSHRq;n<pLCK)6u1-9r&n|Ey% zWfj*aDw=6@{;a=Eq&%mQmZ6-cK8#@eM@;8i=~KR`Nfjg>hmTKmVlaP($1}ayC&qZ@ zA&l&F=g46CBgh`ko~u*hhP0#?Cd%a#yU%c@z2_6=)A0jjKY&3n4kg%&y2H&Il;uLo z|KWoDK-HOHpG+7nC`=nH8SJ>NHDh3bPaHnejKCngjY^;RAoOP9M#2le`d{=5zMjG8 zZ&5>X-_Y<p32NN>9^vhQ>DiD(cVH^_2#sA|1lF`R;IDgVo?hKN<*_P1e8p+-TB7fp zq&WTd;FZoh#vhv}`VohmDU^|OF>0~o1DpZ1;$B(bWFIOhHJ=)P3$$b^%;?B=R+vwZ z??EU+v~BDe5au@+)(Hmm3`0JGB0Zo!%&?z*TO(vHYCg*-3n+9LQX`pv!?;w!wQg0o z=NOj`Togy$zsXQ0K}hBZLqR}o(ZOC}KF{ztz_?`0e1V~C_7&!f4CMgo>1gFly~LP2 zVEQ-rVO;q#!xI5x)+o$ZxWxJ79q#SMu<>u%f2Kn4Q1mFHX2~GM!hCi77r>=CfRP9W z5W;+I{LjFrr6PscMV`!LL&9`AoZ*0dI^V-{^IPMoQtaCd;(fk{kfufcc5TrDuU%c) z=B%7AK<TH}wYGKP=!Gz6=g8`^&s?av0E#(>ee|>+qBhO5bG9OzzEo#NqiI|3#{QmW zHe@yDvagluM8ckk;~e%#PnG*B^#e3XXzfw^kmfv2A(%#elR2M(advsVxi$-Peu!e( z1;PS<S;)DF0aq4o%%OuCX>^dvY~vIKr--4q%(fkALP#^5^8^B>Q0RP&+L+^GoOJ5> zEpE)U<N+Go_;AA9le3Dt#X2eL_bTSqwSJ;Mf}NU8;fVc!rMWkUT92Mu*WEYF?>_c3 z6kFK3#~hMbRk#}WF+AS(GxxE#rM%aAU(1sO_cK9ys=HbYql#@@U&8zndj?a<My$R= zCinp3vQyo~J@dgFvMS3<RYFkKgGH3yFwJ)!V&Z~STsRT-puf!MncxQ)P*1Pg;pkka zd|}h!#D3<|9Lb51h`z!^b7f4NB`5p=_L?Wd$9o-QuR<9LZ+p^}Md4m2<iqS;Bts7O zeuTY?Q!nZ6TU4w9$!GM;N4a2&?b;ywI$=J>$P$H=QVbzK#OS4|6<y)BO--b39%oEx zs*|KJzshM<reaW=xO-=Qjs2=syfAxc+oX2*h4}<m$x5#u-VdZVP0c6StHI6AfD`KL z?A7A&vI9NEJ{wYN`|15%HA8=z^V{XL-^R_Y*oL4+i{gEQJ$q6~%qqJh{66tEX!0Do zD{sJVTEiQQc{qm}m93_d5_}qs$+Six6XwyJPk<<0bv<}|Q?|w?G)GG_-^$6vLL<tF z)xH>AD`kG0vnyCqZAJ6<tn_@Ti3;c+xHacFd5nwQd^=|@;x?^ANZ&4nOCii3aoQO^ zvn+Q92#1}~Gs|;HX~vz=Gb<S9=oot$M-~dJ8W-hWjpfr+UT!o?bI*bzhq|FNdS+!V zZSPxB&sA|ewq~`D-<j2n4!U~U@maw>*&ZLyj<vaxee+yj@4mBH!@l{he0YPd%B3Ep z!10U=xtcwvOBG+s(cn6o<h#^nUG5iAcGDtmg00IY(!q=|+&e6v$gHf7bmP9c)}HF_ zNHo^mHApLL7qOSa(VDu3db~$jS=EHq6zo_x;<)?LiRD;`4emp9LiT569LSdn+uALy z5wrv}N<3j@Rxlnt8J%S^D;Y|MEV;>5F)nD!{qW?>YR<P^$Rq?SChkObOp7u#HUy2+ zjn(e3tB19`i@{Niw&};Ekt^?Z{LLCbPp>3eoA@F+#Oz<7Jldopuq$f-vTb|j?}o&R z@i$YM)x6bSX3_T0yQw+*;q{X_*suQ@9C<I}kJgxX3?Czscb^Pdq(Wkfz&~xzMmyw; zvoY<ake9=eOQCZq?8I^vgffm(J8>)MLYq&5-JnRSoLJvQtodBZ`Bcg~5#{8_W*jY= z|4&r(i>GiQ7f>PJgx?feCD4i}uJLmLo<&3pGw`<rU}CEFx_t%F52>{GI%)qOta(oz zkW2d&1YC|dvN<zVlo^?JHKqMqN{rK9L2*q!$4+}CrQHOufcX8SN@EDsqt)MoD5nvx zrxVP~cG)%KeGj{4%0o3cYVw%EmV)t*BRu(F32er^yW}EE3-FS9CXQgl;BLV~L6D|* zKs@V9%mcO5;#zlmO~^M={!3MC6%H?M!~A(Fmh?96LwUBKJdzLXEP7laVX6==Wwi=@ zoJ!fX9U)~Y2~I5KCPhm^;goXXPK70zq61!XZOF~ATxQh<XfCx&(O&4}brPnBGJ6rq zo@@tEs;1dg33sXhL5%CP%`$7`PR!cV$+DIxLUJePT4LHUMSr`Kk#8d-Q^RX;p6%L$ zK>oYKw(DH+xt{WM#XOAuS$uAwm>||HxHppUd>MY6?{`%E4V3R&WWLFrnD5^w<eOGV ziHnJ60fs0O8$K`P1~S4wZO<C)K}qi2PXwHFhoag=Nk1TyCU;`eHz_*1HtnQqqHFs5 z=!has2x|H&1|t!S8(F2{a3iU+Ar*41laJYBN#dH-A<%~@FW&+yWY!)fFbi^L`#(m~ zCtKhlmf-nH7#~s*AET^)Egg}{>=T@r{cj~?KT4UI@jZnlVe~dFk7Uvzbvgk_cUbmx zZ=_e^@nmK%8F3sT#UbvNTz=Fk-CVTOsW?D(ghY5VGAqmV0+mY&?29BAXUj<Oa5VM{ zU)l)i{T*m!IbWu7))YEKQ49?uvBq^}LVJa}!yb5Xd$d&QL5#PwSH~b_CG>z3Sx};A z?HU}U9M5P`SepfdU<4g)q@7Td+j~l898FHoiN+#y#MHlp<eqfWJZ8gu;QQKeQq*5d z<z}S(Lv&bF#DClyja}0-xoSucR(A|6EW*muAysgciGOP$Kf1d=97y!n_J}-;$$a9x zGh7Bd-GCMr*@iNRd!+DTWuAX;P#Nrn!4YpI(TCkilJpW1T`ryC<6J`WXSkNj^6|Bi z`p%yt$3D3zrr$=(OwOX1Pwm#~_mJ`ZXe(g$eynl3#-z?|AqfvB_%Zq74NN&J)-tLP zaU%2ZF1mN;A%orn(i&6Rw=~MPY_&`toL!vK!!`tw&2)d=m`<W<!ElacWAB-l4fV=f zFhMkKMN9p^MKpfq6^(q70sA%@S2W5A9e>M=?!9HkBN|LPnrPI~48V6?C8A7ZTY^xS zyQsRoLgA+!6D?jSQaT6+p=d(G^a&HESI?Bv>%|0e0j$5UQ%1|}1xhLe%`Wj<3v(b_ zD(tg#`i#TyIStznV+-99fxT#b<F6^?scI8gC4<~&{g?tJTx^8oqgaLD_n6_w8fdUj z-6=%(A?b-18{x8Adx^ao>~}<FG$9#r0o-SO6LI({XDRlz8or6E!8MDo)$mQ40)GH> zt%i?hF_tB-)$mOwub?Hb)$mQBNktwYx>mzCm7shCQ`c(v3J6hvpz>M`-!y_}TJE(P zzUdU*9AVJ9sPN5v2~Z%UYE)=5?HZ-44e6)tnTz31Y9T-vE#dF87%QY<N`~YmqHqBr zXtE9jnaK<Rk&Y`A=$;R4)=XeN0w$vaR-3aaGGq6VPo~5E0WZpEbNb-jSA@llQYA|C zl-jSrm@znPpDIdm53BOXM$ZbQRy2lBjE}+b`&1u}t9(uQUxk2|Ng7!FfyhYxXey`z z##UuMI7VBKqvm69Z8ioZ_{_oU_V^Uhv?%zliiS2JoMb2-L=e0{nvEd>GkshEvYh#m zB7Xp>KBiJd+}gzfV}ot2ICk0>WPkcRh%(Pnz_$Q=TP0F0GS5}$e*yX@3cW~-y+EP= zlY-VMAQSCB9~|Ulgp(<@ava;Fh$t~Jjzo<N4YDpkZo#HNNH$ubjoY9IkAQ@J+MaR* zkySj7oKK-X>?&r2vCysJaa6_iK&0c|lx(Wq8wfyEGw>_{7_E*c!841I`K>BBdT{l1 z&U_<TWsbd8;i<wiZ}SlSLJ<vu=<{A8>x+_|mq0vdsSnkJsv~j0_%bu7d{-cy#g4DY zF7V)?9ah52{~(GzUQQL=JLu9W%Q@;fcJqivt5GCWxsMQ+azfF*EdvqgiVoq+Hi(w$ zK9@Ma6uHzo^2CHKZBaTh?Z29Qs4^r8`HG3oCF2t!t=+g7C1n{!M0KA_4$Qsyfn0Nu zMinn{u)xMmJR!cO*Vk;Jcs`3%M^1;6pI_<}nxC{Ke>*GA*qTZ}e95Ki6_a@f-u$M< zYidB8v7a_pJIl&SGpw=NxRfAnLeOW5w6x_wKuzS}8odkBE=;RIr{Ws}JUPrP&9Kta zfHyUO{tQWE)?}4n%9BE5(4$Ob+C+g20dJH%)k6(1O{IXq5ZdwD><Kkl6lsPDdPtO} zNqEdOzzYy>aJ(QI$R#<@%CfXHCzY&R50LGq1WBXxQC}c%GM>wMLY#S&E~PrbXO}FE zz=_b&R(=LV!ohQi^8sdZJWMtjWyrL-G^J3xXaY0Mq<o??KtxkbhehZbaOQ=W%0-@* z1z;)4F}+a4hr>kfT+Z{%LS%}fr}(InO7lKn&e=T+F{y-gRNSnauhmeS3z>nlZ@E^( z8JpeZdFX0v56nKD?0KTQOGY;rx%5PLPMWqhmvTSPO$G+ClaW9pd|J}hbJ+?_u`r90 zUqB960Hq-h<5DOf&K29@Lj=Xh240UQqD3-CM6{Ta!PYdzO9Ab8mv|5ml=Eb?SQ=cc z(mP+45a+>DRWf7I0542dK*g`6GSxfFCrBPG^T0Sb?#V5fc99ESG=XZU^jx&jvT68J zK8q`+!b_neNTriD*Zoqiq$&r=9GA#y2MJ1vTH&BTCs8XMnP3#HAK1c`CMi}SRk7Mj zR+B|}6{EIl*+PBZ#%<b-+i$n86xqHkNA$V219p=@zwcE7X>QJji7ED$ykd~yvW=LQ z=>Z`JV_YE#%IcAIHP$1~<D>_ARwq?vcwFPiwnL-wyGdL$fzr%z6-};GG<jYU;@|`) zYEQLI^de;qOo~UHjP+igy9!mZ+V8NGS)F3D+N}cCJ^^ovvdF3dr@DopQl@!8a5h~s zgry$}*2B-t;W4TfqiREi3EJ9tEVY7hZuGK&B-93RF<Wxi701L5Ccel%yU3=4mt71% zkHSsyDqPE(4Jvj(s?AheqSL6|x;Y?@CFa5=^~LvWrrU#1&qf^`>Bm2*qvIYlU5NpA z0U7AQoIWWtH?CQYk=<6%%?LU^yB5aTePWik56t%Vf#aP5u}I~pc#sJyP_F6?*)Pxa zOOXCJ8Jp;`n{@gl4+!4pOBo}*KG`E+Q|tz7cZA3Qg)RVI^$62stxcDzb%q<QY_T&P z9mfjuWEGmcnMu9p_cGtsa`p%yAO$wn;Ty|en#+IUTe`Qs*nK=kEOzf1r_`X*M(n_` z#%qTmc8qn|F|JT`hoyO{ac9~6Y&La(P-<>Jn`8Hlxpv=}7oWp8#W=yEj!|Xa3I*t? zP|5jxStFCZH9}3>9q1?p>8+E*29~@&l-jf9ImMReVNLqvtrx>nM`f@$o3<)(wJKL- z$|#(%;yDxW7MV0ll5BVjW{`Xt7L7A~?ikwbS*7@;%tAzRbnLWxjE?OgA<0*&S3=Wl z_N3eF$?y(h@m`f36p|LtgP_fWu@0VjfHAY`yO~v4Zp)|Cvz0z#KT;qb&6|UqIYZrC zCD&+?a+sT^_{VB(g5n+n6KQUQu2PNzW>1I{NX#R><Ace>=_xMniStw4mO(nh8Rbs% zC>dLIxT(lo;bAsAdThzM@nXO{tdY&O8`&JsFqe6Dwj8F;<ran<ontq(c``qw^5)xF z!x1v+R2}C6N9e$-xUv_yT%vN?BW5s-N6d0ay~u6qi@o{6sM#%!?1Ps$deUi?=Q)X| z^;tAHlLHq_#z<1ncYJvWCH*dNVo};QVN@-tmdc<M<zh8rP0~W#mN3F>(pJ5GnV}R% zIGOL3E8irX)KWZsFn978>2Mfl8i=Qa<YY6$6Bu)dOmDjyW4EiI-LA%ZyU}spZq#le zEX$Zz663~uTcLMA>9jT3t=etSom+CbCOXArvPto6FyE;auEsc#nGAXMOw*>g;!Pqm z)s+bDVF7xGr`Zxp;yT^acxJd#JQGgUDW7GNqpf)2g`m!sKF-_{f=*GM?NZ6!V{Uvw zq~M(6h!;vneaSp8Le603%WkJIF?>=jJerJQy~11VeuwW|4JjT8fq3DPNV&!lu%!~m z_Nlg|gptDL>VkyXI)$V%Lk?arj<yw?R6S!{c3|a#bl})wDhI=8Ie*S_Te+IMK*&5* zl;c)Wu5^OwSiFemP@JfEyL!lmx2p#@$*x_hIU2dCTA%FEF<e?Kc+(UeqD2D_d;NmO zaFB#)PWm1NGTn=$8g>-}4-H(tNHH<o8vJ7@sn91KazGI5+KnFq+KRxk6+s|gM!ZW_ zsB9VxdQ?z)yzUvLb9Tc)80@tt2!vYq;g&AtW}Mr^G0AnAh0Ym(YR`}kSD4g%4foAR zVd9Y>gv0Kx&>KsSiL#zm#}qevO;}x`ZrP(cNbRV#K&p1?pgq2c1N%e~nkIX)=~9xE zwjpVn>5*_p-H<@ek_uq9HzueXPqN5`N8gaPL+@<oQFe#t#B*1wpLw!L&rkI8N~t4J zUd`mRt)!H$2=hP?gFvNsc*+;AgyNI-#G4Y&Ww$Xn8Ty}3##;<`%|ec5{j!$aPMZ~m z-D#_NW|9>PC9lw~UMWiRlpfWY?p7z&ZsNj`SAC7~h>==1A|dk5sO)B*#myYU0n)Ni zd8#SIEfSH+%5f^mquA`_BFNrIOGKV^T#CkRVmy{&UF#Jp+1*X{CdLXA3H*=z9>+F@ zE_R@A(zM@UHlg8%gbA*=U_obhYyof5$iMS(3U@xv=*=fQuBcxCcf1c_1OoQLe1FMe z>4)#uk|iMorQjUhqT&VJeQiC1?coIj(e_O^=-75zp@{hO^QMv%0-1!(4R+5_Ol&7% zOKCoAw|WY@Xcv7;cVAx&PV58{UAQAE0c0FrfF($`>f?DqMcCg<aO*&~gtyQ(w+e>@ z!Vwrc!w1`HxN@A%<4dwAveCU!x-q!bMKHUQYTa0_U3TAv%bva9wT1IHw_SF};rX3K z@A!1%ODTIXy!_tQLUwn+{h4hoaR0*p0o=E3yY_Nxx-o9=dgJhRtHXFnEH$3pPX3Sk z3gQ3OCqICDPs%E||6^;Ru{Czboj~kPi2?DiTd!Sbq!(H<A9(zRAHQZyj;%MovHhq~ za`cxME-SJY?EX~kyvufi`X`*!-P<S&@B1kWd$uiIZ&X|3fVek>@^ND82Y=sXT)Eds zea~88T=c=d!MWEj!1lf7FZ6%O2)6vx2<)2IWo)nt)-T_2>3U;ZhmpVP)lV&0Z*2PD z)%gpG)>~WGum9!z1zoScYE3fMTkowNys&dgjdk9oR&kAPLPQs%-gH4$X=g@g|3vY_ zMGiQv-%aKlC`g-Ec1Zqg*@4>;5V$>Z1kogMDY#zl#u~W0z3kbQmloZ3IJ*AQS1!GD z-SYL94AQ@4#$bn$_RRaMf608qE;RT?#vo^iZ=$oUO_?*Dq~vbXOJD;P{DfWbY_0Cc z3%*i!#mD}$bKm*6PtvF1(nz22S^Bf?V}oI1>ro|m#u#f?*01&jbsc5@6*!;^vR6yS zhf~&Ff1DU74f&_2FR#RakB-E^jk7bj=Zj5)hRe)UuK#C8DEH~-NEPMO874ZTAv~!~ zwzpFFZDotRdi5(nSHC6^0Q=#4qgeaW@9((ODA;SXAAR)WJ9l=iEBXr5m@#M-7WZEC z=-{BW-56`N?5%ip5Q?nJ$kLZ+MtaN`Ed1ns#ulik*dvd0zG^Kq!Yz;JL5RbDvS@tc z46?|1b(~s=(*d1?K^{I*1F@f5h8d;SU`*I$&AZfiaQnlX4tHH@WVRSv-yZy%opV2L zM4vHo-ZpYI-9X7VaLF(IvzA<VUYJF3#4DV}{y%FPr!(4MDeK&Vo73#4Q;Esm<^(=F z%?WN|ru`hFk)>(NU)PrF8n~4MPhF%Vcrq38Khc!DR}aX>v>E3Bd9;GO{V|d=8Y9pX zb@yYWf~c4ByNdI>`<4@byj>J=%YM+u__olDi#m+57ULqT;8N>H)=kF032T+{<o0Kb zZ;2SbyR1uhTIavH^TK7Dtj?W7?aSBITD^mpEW1>nnP<EPlE5xw%QMDZ+gpq&v9K}t zwz0)}#<*R#j#_y}_FkjUS~axZ_|7#L>pY~rz3g5%pXoDlIy$YLM(VCQV>~?4pQ$yb zSxb$Ld&`VKp|NGvc}C_^W9!mNqrf_P*jQr~7~j9<z2`nj8pA63m36c6Uoe5utg>bM z>z2_Vrf~0NUB;vjmKmMa-Yz4@8n?{YX6=pcG@>n+8Np|k8Bbng?Trl97@yIe(P{kr zW5~oA9h^|z+c)eD)3T>57r1DWUu?i3U^%QMp&F&7$XnW^gm9}-cQqP6!09Rdyqv=i z-Z5xgRA@YoQRQOm?ZY+8&NWJx8b?IS!a-vU;ddE%Z!^{9&%6ccX)(H5e!SZlUucAh zy6az!_179pTZ}a=KQcDOeq>Zw<L<wXd-uKm%cA!glQ8b>dhhU6#+9*iIxA7d4=k^* zzHj*}#+6H%s>5#tk77Xj@4|ZT<JQ;oB4p_@<3;g|@#ywzjlUCC!QtiWj6>V^8pT$} z;jSOwbGY|1<2ekZe`DlYEr)yWFtV(1MzeJk-=%ssYMP9Kb@4VD!I{zl?j3NX$Nq@U zLUy{;*UFkpY|ZxFPgILHy=Dy!7VZA5v2~S^*7DA$(1JU*7{R?p#9I2J3zsciQ2W}J zNVKkVff2jb2wr=+F>$ZaZ54iN^QA_bRcJ(4VeJ2!G5FqfA^cf!kuet)*8PET?%T%d zqej8ok3GA3?Jbc<?lbz|MqL`6EyjesMn_Da3+{%%V_mHOvvOL1dFsL$Fi&)I5^aCp zB)mG>z8;1W`z}k)%YW9yPOl%t^i<y0@<$2|3>%>t+~#hdPQ_@#2xyz<-*nDn#ubHm zMj&S0l)HI%&3_)=zH-BYH)9n>^TWpcn9)>dEQ=Wf4;w*9hSgFB5^MU(%dOQH{T(K) z9mbpDZL76z*@er))>&wvEyla(5B6^_G`@%Ll~!S0?fS17d$z~WoMQ$ivwOBLHU1mU zet2!Ev2MUX=gL(pn-RVBq49@nI*c2%nDN_d3XPkzm^HQ2nq_<d<efnN6v!{)yUkiv zyX?Yc>o4624Ps=xXZ-Uu*BS@mv852sLgR1YY_pEm)ehFZdbyEm6{34s#hNAN-?F;L zXoq&lFVxc^u5^@67k}oVl;@-qi4eM4=Ri|Ho4`XjHuD$z&Y)O%jxr&W2}AmXL8^UR z#~7n!>wd6}+Ji30Qua*gQ)J(ro{pS*cM%7jBGrU_$Yg>nNF~ayi?{x41)(z^G}%0j ziI#gp1bG>)XYdT{yvpC(z7xB4`-FlqQ#;yu$+F8!N~sxi{)qnW{*m=reb)Fltj!<4 z%;<Uh5C3B1K4V<ja-XqvuQh0V%qqP0G4vHb`qVNI8}HDc&-`P}pbNaVAiRG4&SjtC z^$KF{|Nj1e<v=!K{|G<KX|@)mr&vP}7y2!hA8b|0CCNGkmt_Wb>Xn&ApG?gRmc5v1 zm8I24hw}fN`ZlO=7jg@M(QIb$HoZJE?^dHMv)~3_S>~MU&9cm*>-=SzB|B3pGdJj0 zq-K^N#-g&9GUt@NoLNxzN@ia9>zTpwH!`i&Y5IXtyvx$`9iw<xVcV`&<!jeCS)LWD zoXFR$dRb=P4V16zDPPx7zIOU6GaK}ksmRWY$j(d1&dZs3$WjnlvR0;vnJT{HSu(zQ z1tZwH)J&^7?Gu@>pvNu){*T1p4akGNhWBL^Uh%h7zujSQgO|a$Z(UHhV`>QuTMYa| zl{8a|Bc(^-jv<`AbjDVZz#-fKg`@f=|Dqe@n&MiH6&BB#!Rv@WJB`ZB(*9KN;6-HT zrA&)n7sZd#qj0-aI7)|pBjuw9el3s*dj*F^&-5Fm9tL_xsD_F(eQ*RXs&f9}6gsE3 z>qc3w-zhxGbpw^_I;!`bzKRT-&7j{%`KI~~V%^nVS;2WK{(*musP9#2Yh-;_D!L;# z$@FMgNxwKghCO_&Nb_>F%+5FEgVHNf@4fPpFK{E}kMM^;WG_}=tAT$uzCp#~#V3<X zD(8oY$DYQws(8HlZvgIcMVI)B?aA8tF3r%ileASzvRTES`0y&%8}!KSMtNqzZNBo% zIk!@Ky`J>Qbtz?;r8_OuWn=1#WiOSzT>g6b8|817y^@|%f+owqk@&Y1z9+z(#J3bs zzj_-gxF$_sjZamYehEHhX&>iG-^Ol=nDh&UPrR;w6uEAI4o#|FNO%{k_!95NNBLR* z>RXh4s7Qk}u_|6gMI5PomGC=;T~B*L*9(|_%ulp~>!}@FNBVE4NviMT(0VUI>%D{) z|1#o#MT$3<lj2FdZx``g?`cm^7Hd)w{6z$R3Bg|`rKvY3pdjs3PKqz_?pwQ@4Nl?o zRm#b2+YXm_<E$O7(_xQ(wQ|xOJtOjm_;vz1z@Eq0x9r&X#5;6seBv!Q)GjEV#2adc z^9R)y#~<{h37E<>{nB_Ex@AztpLpvF;&=5l`0VKE%CyT}K*<&Imv|G4%{K&PVX97B zFC9paes;MMFHRX=u1gb2fzJ8j1k{SORU?%v@s5+Ya-r!t<tj^C>jLP<kVocw!rdfs z;p6$z7Z)3s5*Kl(coJ^`K|I`FB(#(Dsl(d|1}hy&(A5|z4R2E<N6GXs;py@$XO5@x zHyZsR(A$$L)t!wh@5e!J&s<JMPx>v0J521czkND+ME$lRbBC!vJA#HQOQZUt_!5u8 zCg<}8{jnsxQ!M%4&!4~nxf8uHjJw!GC=|x_VK*)&=PkrRyqtu08^gkLiH37`hUdx* zTr|BY#0OeOilEAV_yu?O_ea_Vy%f-ZO-gUfo(P>pqPV@1-vdz35UJpJGQ?ir7Ku^w zV<5QnWl+%5H~dmjb9ZkTHy(y@<qmGM8CcV-E?29-k$pU76prB9=Krs~w~w!*s@BIR zZGnPC0~SF*IbeYbrKIT#RjZ`5g;rZQc>z+Wo}477O=w;YIVWuj6+<a63S#tDZ&ff6 zD^|Z%qw><LsJUK5MBrAb@^aA|5D~dma}}{_mG84=@3m(3?3p=}c*^hl$8UeyoITI1 zz1P~$TKi@8%$d`UmvQG;(93bo!(ONp_))obt}3$%&u&2IpCJ7Iv7*Old-yt{!bx*> zu|8Gd)SsubGzw4xq%z)LS`<>+ramB2$JxgOTEkgh_D^yCSW!2~M~CA=f)dJdc0iyt zoc$LKsj__ZDG{vW>=y)D!`Tz{<)|vlM>lJ<!ky-n4f?O$tXggsTTOM<hP0uU+rTC& zK|W$DE1X)+vK>m$umcCSDUEE(Pql1?^Ip#St!oUiu92<#n6UI-&a#PQN8=zLv6U50 zBWLNI8kC@yv&^X~%SYTY2&xj^Uv9$>H8jbo8sz%9IALB1m9xvu2`M+nDtC{z`3GWq znzQr+Xp}0POH{`D`y(wqDy14Y`>cj0JH@Gke1HuVH&wV-GG0B%9j3L!HSR@Sf}Ipb zz(2Ii*`6w{(tXz`PKRg@mZF-uhFk2K&d|n^80S4_HfR&%gYD*+ne0rh8f2@uoC``3 zo%y5w<Q8Kf3X1S4uAFQN)*VI^m*ZxF6)qM-6u0*6J_dpo4d`><)}I)-IQzUnmvHts z8ltXIH^@iysufBo%h^Np)jr~ov-puMmg4N=0$I^&+f~bU{ZiD`bCxYp!ww&@F&LjX z%f?{%=PVloDb9L!S(AiqS0mf?g4nf&vuuePO8AJ4!7#*GHU{H2XW1A?an`eoE@q7M zDXshw{W-~*GsyYp#IOd=vMGpB&K{wiK_xl=T5(XCUY$efOo19Wd$vGn&c0oshDAEN zQlNCL&bE3GXRi>bfwP+gN^|yBff_hFBv6{OBLX#W_CEzmbM_|!HE`DB+3LZgTKXSS zs*ba-Xh?MqJ~|p(DwNPUID58+COIE%R42W^cKx+s_16yC_1A{f-|E$@a(4ZVVf8nL z)ZZ9Ve_ODAK7O6fpxK<|H7EKWXFsl`6lHvLr<ASdEN?C=K~}<_TwS{qOmmj!SSaNz zs|gvOhjj(JrJ_2{^5h<F!Nt13rBX1>*~<m0->kD+1xj<)Gs+rrxFT+)k3Xh=vQzlL zARlay+O4WMoH^_;+;Fx@mzw5maHi4q{PCNe(+3%4-N(q;yp}qh#P~Gt$$4VEelb4X zqjkMmY7;S|T9)gJmM{A2XA<w#@|Y$$d!L35cP3Zq-{E0suP4n}UV2V*dYwul<CRy= zJ>FV}jp~9gNd<MBrN<*Eg)Co=)u&Dtku+!N2dGr3)gwB4zd&iudUey|B%x`BM$!8? z%iI0o@yoTaG$upN`U}=t9M}aL!wNQ91*>$)I?q(jzE4BSR6Z(rf}H)BA;?Fc@B}&g zNkdQ{$cJr8ZI~&wgSIKPVW!j$+NRWonPSsvo6;C&N@IvAjbWxVhM3YAW{T|~yRmg) z8tN?1azQ3xl2aWi!!=@&!&xpy-nXq{scXf_^_(5h5C+4(NQLgVQy_>}E-kM--aQ&* zj4QwZE3pyCoTiV_u{fI*$SRfBrydoNI?i4r{kopB9~7vLvmers>Ir;AZ-J!*BRKmL zfg+8#Llr`)TF!nzN;PnnHA9NCtd@+Z9pod{3_;F%Ml@($^1)2}M2u+UY`++BF=tsb zqJp!mRz(FLc^Y{F7L7OP91{+*ILm~?&zxm7km4-s_-D9(QX7E>uHA$s2WRsFtzrJY z=RutPu|R3gdTm~#YnKmhGy9h=B{}~iEmh&H=9aPEuq)1!CMkLE@-i)IbcQb+ey>H* zIL^|2UrKNwXWyuyN%)x-&Yz~SBb|b?Z3?eCPWiirPn{yQaCVl40woq`_%g2qXS3lY z)@%40ufzv*_I3~A><$eD)GG75zb%@Hr#wcOq%(w(x_fnYuRv+eKChwII)y1dLIxTC zjdy;t|2*S=kSgn##42e`9kZ14Af}<mgE-5~1Z`oO==WJEq07)KIVn9MkQFQ+*Oc5R z)YNm9*}}M89OSB=l&Y)&jmyoG#@2IVzY<-F<A7TnHY){XLiYMt#K)m(yZ4u)nlFzh zISZ}nC@2%6iA8*o<LOX2jwB8b3}~GFqbA3l4Eca*3Yp-3r{!5>k~7aTIw(`&SfehB z_yRF#G<RW+M%r&EB@;pqSL2KCU@hEhIV!^16qE_k#3H_c4{GA=j>|NQG@^2zorFsP zHiUyb<m!NHK2K-RyEx0&cWOf7BVNowkh6SYqXhZrr(TVm<wuE>ARiqkb50#+&(V+) z<f98bLC)T32y$bBpYIe?YB|fzAq};1Df>}Rkh9zzCCEp6JVDNKbCe(-af`5Q;Vd^t z3G&f-(zsgA`Wt62-MNwHiz$tq^*63j8uuwrkh9zzGNo~lk9ZY<*_5-~93{v{+#(2a zmYbsl`RF~;xJJ(U8)q-O?Z&MRYuxIP#;p!(-0G0VtqyD4>Os44tHT<%deCm%>afPG zwniI0X*gNkN*a+k-y&F*wC!%e<_vP4eMLQ=^Sl{A^>LnCLvozILVJVcINvQEN^_PM zrX<FBzN1LhaemNO9p~A*B*(tw&kJ;>Nq=G;cZbgI@*vLMB~a~CI{Qa~((IYjJoD>y zcAW=ti+VliDxJN_gSb7P@gS{8KG<_%UiyfZq9${GhhTHWOKdX9aekIoNmO%K#ZmZ8 zEx%97RSh1{`D(r5q53(0o5n&W02Wy#BI!1r?eidEKxg=R;X$nwKIH6Q1iFMx^3-1v ztY}E<*e|;3IQx1%xncFd**9y5MwhxlKB^YMI?kRiP(5dt3slG16-IS@)a40s_G1Fo zbM})0)p7Ql0@ZW&w*u91wlR9m_;*dh(NZd1(AgV3=rcO|RS)`u&K@Rpr+M={<w2+E z?7KW@sm|7UP|!o4*G91qD6TkvoYp(pIs6rI2R&3vi3B;%e7J&qFjXrhLC&+;t{@+r z>l5TWTkZ<-LA_6q^USv^s4VmThBYo2R%9N>#yVfyIL{G5otN`Fd~)1eHiYW)EKs=< zHNaa#AuHx{w8%pJi7v-k-u?*b-gzy3t(2<c><2ZZIujqUX;|NJ_SaJOV$Qx`l;xw} zdxAPAAGRH}VRqCGvK>5&W8uWv=cW1v&a!4|L+v0Rd3G=}V#k+s?mJRfnzO$WsGckO ztw3qcdUabDiep;(jWPn(arSb7>N&ecLyCSr`iLi}Ym<+Y^r^Y}lj4Z;ydDNyT+@1~ zsg^g}xbm<F<QbG}L`|H1m(-NzEH6<Z#aYjUG@Ia?f;r1mF~Tco73z|<>I_fG-w+Gx zIQtz9Df;;6QBRPw$LsM+3Gxv?s{lJVd#)kKM;B-mf}Fj`5ago<Pmr^h8G?M&>Iri8 z3PZ3o3$<Y^)DGG#)P}K8J7}{|8^%KIAhWPiY_8=jw_9~RKH{dsnVjWzD?vWurbCdk zeirQO9Xl2p!&qnxVWBaMg~kvT8pBv<3}K-$jD^NQn}x<O78(a_78=7?urG{8b%6iI z3-sUV?8^exbN257)dho!D`3%(8HbA;rZeaQoIOcHs#CEbf2MQ>zpLXW6y$8RhRR&9 zMpt`*{-oZjv)Aj-aE&a*69o!#mJ1$Di_Nzz+BRisYR1&mX*f8AXGUGM_oU%<qCYL? zbcQvx>f^9MctD@~jQ)f*oaI>xb3A89w3KQYA9)+^4V-<%5ac7i=s=B}ovq^~oU32z zYIvRt8L;<hkuxRm>N(4GW8I>K<bx}oq)UZSQ>D+*H-#yI8qTiLkg}SOF7X68+bmE6 zXA4GIRkinbM4x?13f6J<S%K;~`zxa^K6*g}>o|LkjHdN(*V*@Ykf&bd_Uj53ibw;O z;!!AM;m4(p(WSyT<%i4el$z@}`(+I&PWk8_Pmr_U6R3f+zcR`Oo5N3u{ZtC3pV3)< zye=d}#<a*0dSMOsbCxegKmupqprw@ceDoHtEN5>LsNrUv{j>)KO<$!?rS<2bcwD34 zoHEGAmrBuk&ho`tNMGTrP!<ho^*Or2B~o!MXD`suRM?PrPI=2f1tV-t%!q!RZW&nQ zERPjnagRRBt6)H!<yEjEmXGF2i1XMPWX|CU13Yl{Au*z!HU8OyID0@tq_K98k35am zDx6ib8f;E-_CKZiHJoM5RDI(hA9>ZU;p+JFG@aqgF?fx$Jh0*+RIZ2_0>oKv0t#~0 zQ)lgu?AGeILSHEifo=lizJU}6M|hAfCm%KX)TJU)$JxILbO~p1@$M$&XQ@PI?7C{X zuD?oM7jxEMm%XgB>uTh>xFDWe<gZbPC2d+yhv-Xl*4u!xqH&9se!?roSspLZYdHIg zNLi~VuILsmLZd6^KQ6^C<LoCjG}*bTV({zw;G4d(od3R8ma{+fmzDPa|C#@<7`R3& z?$@6;=+FE0=aBZ-5xNU$SU#f4->fA*tv^2}CCrROrLLd991*3DzhH2!wkxH}@plW% z+8yT~46wZZoT)$gG=FZ^nd|iDE&4OB<@xCkevX98@#g|<&r<#QUj6xYJ;Cv#)WMsX ze8-;a;m?P4`91pcZF)~|k^XGZpYPS5e21NH)N?)jS*h*dRm6$<_!Rwln*QY5?_7>Q z`B{r+wOsIyIm_|qlUk1D`4;ydHO_MUd5CTY@1UNfk7w#nzH!a>zquTLUaRG{>d$}G zpF{d{hyG;#xg39%@)OJP=jU}?d_#YxwV#^wC(H5Yh?e7Pc$VYc0+!>?&+81|K>CV4 z<~wIRlRm)(0-p=CKEArB*T=kX7Z7)@*XMcozf~Xe*w5p^PK^i4|3Ks1zQ^?OQ~L8) z`t!H?Gg$r-%^UZdj6PngKlA#N@8$%{e?p(XU4IVhPrefPhCcq5{tTAq+cmG~^OJR) z^71^Tk7q{2Z?L}q*N<nrKVz-lEAWq39A{kxy)4RoIl5u`75b>cNjZ}veAf$^(IfEs za(qs%n2NuiAk+OZpkpOuz6_bPTRNo|P50u6(xLdTi2ng{BPHsg%lADcWR8Z3{Uv1H z2AQhY#JB4r$fQch<RDX7Lgs47I3;B0$-@B<>iPoWjzgo+aEVqt44F}oN2QcEegUL% zT6DW+7ju0@w|?cx$rbe7n=>?`K4!OOi&>3Otzoe-ySY%{LaqlZ^dQV2K4<rN6&>Q% zGtYNcWoPF-8LDA&MHT*{0fBS??V=08!|^{Dhb(%i4#*>2nM)vUeKFNJTFboFmHAm{ zk56ftqg|O>Nu`y})G}nLvRMN@N!|l_y(?3R7T9UIF7`TC=58F>V!T0nlq<8!t^^2; zsVVWh=}#`e^HHT+PZJbTfA$iO8|MR(al?I$0A4w(6UPrdWJZ>T#)juoH!4GAbo`Jl zDt=gl`AO|c$Fz%Wz8uAr%~XE1<=2g<N7;;?VpHrYrH25Hg)v@l`gb6+K$3_28c4N) zycW6^8pwPg?-0ah>?m+|tgDg#jHk!NF~&WP`kCr+HLOBDxyMmIQ$21uaun-kBIf%O zFn=YAakOm87rQgr-eQ{<FwT`=Bh73?Fn=9nE@2thjO{?y7|2(Ev>FKAwr&@Mc~-h8 zGT)4vAmU5q=9xxP#q)HZ7L{e5`*5guUW6R=b1%*A@wy6GI=O<zB|DKXh7<T=3yONZ z;0RJ{q(`76&x}R*;zh`8U>S#5Ri(&6m=Q?jX7wi2uULf{fyAud1zfR8vjUAEW+KK$ z6EOC16jO|~b!J;K^rz64t)9O?M{o*C`k9Rg#^}23csR}*CFoK6GYn)SkgEk@R#nZ! z>J^9K2iuG$l$+H7)UH@vYUrT@X7yp@VJPgO(ZTjKv5Mb0)2l&ymf_L(^C<1b;V!Du zNVftRLsxJa3t^S{Q8HxDdr<!1_T|0Mp!l)d&HT`IsN#oYOnU&hvv5rUe(r&+$Iss_ zenx=QV4#oUhjjfMGUv05^ix%e7z=5IH`x4B^D@seqp+e>Kb;EiD#oJwX+8mCKZGv3 zpU$6Ct@|l{OW8>?8zB*e;?CKSxfy17{d5(OPaDV;Kz=U>$Dyj3Sp6ba<OjE(z96hF zC8LeRahMWTqx<Pl0#@nyVlNH{(RMRkOUMb)amf5A8RF;Q_tRNuJDC+4;rePKE&N3H z(>)3Jc@cU%eqOft`38`53_rx?W01LoWu%{~QW32vb3a`uj786<^gvXpe(GTUqA_oB zMfAx3cZ0DHS`+i@fHW~1&>5CyLng;EuE0e=t}u{pAYTxK<51O17JeJ$AmU5qo=<Cp z)s#<*%5py~3aiomv?>9sN1`4t4!>(Q3@SeZB!yuqYQA88lnn86@cU_#@Dnl<>3+IH z_=)bPO$qp+CpQ#7Ej{ivNOO0e?-IoM8TiS^@IzkvAINNA8P|=6U`@8!Ku!X(#XuGU zxye8-1ahl^v;f&=AXfwVl!1H%$dG~T0J76S?gR2=1Nl!NUpJ6n0=d^fUIucXfzWGT z|J^{|2;>1lI9e2A6fKv74|D7&cW>&DXsL0z_y6JEG%V3Fg45Kayu?>hSOVxV3WGyP zq802wf{0oc5>c64wy;Tu)muTw9%c-(VQCp;e#$bgz-k~Dyve@;xe~~=268QszZl3J zK>lGM-vW}y<*m1pc>>5zLD+-JLh@iOt=tVG%k9Bk;=x8k4;`=vX{TS!GEG3S%nBs( z&PW39&}`+6hu2_DW~SeQjVe4-5j7r?^qa7+w}55b;&nh48OV)5&NGm20a<P!`+!_% zASc3}1_QYW$Yp}Cca(+X9W$26m~wk(3Yb-^rj*-O{~z|wo&??*OW>VO!#h*3^KGWj zfsH0+Bckv87&1AQkyVo_MU3IJdky2&TyDl@2xADQKw`$KupBD2YD(ccx74cXT7$7m zEXGa;l4mwT7{jl5bY@{=4gR~joGxuKMV3N1>Qp_%;kh_R)_bYk9L^FBqt^iRkeTAp zUIXx`F0H6YdB*y3G;X95@cc1@=O0--Uj<}1hG$Ya1es$}JoYlHsuZ#M5M;~+TDe)J z$1F?r<pyDuMp@Gy0Papje*(rnXE3(Pa^pU*(VvPRX-`6_y(}YrS(PHju7N!VHx3(x zF?-J8zTA<3vEc-a(NhC@E!y3a%d{1;9ffRll`Kblh{Kbk8RLjjGQ`hwCOIfx?uep! zSw&PdKU;+#yPv`&H=;%p@biH1L!}PIRk)dMMD=5*M)O0`J0bHj%eciK1aiPYo(D4N zv|v9~H502LEiLnP_f5j8x$+`|IqC+4RT|@9av-@ot|$&M*nCFdEb7ts`hO;@;%(e` z*>@o5oa4cBC9?t9VB)A#GNkJ$TsN4h+)=k(_zCfazCs)keux`l!A!&t?Rl2shrUeW z>y?_H4E+pd3)MIq{8XJ4A9WW(W&z8%W^@8sWFQ{`a-JZ}s;Ze-4QXkaqi$GOjgGp9 zh1KY&%O_y<5a{yO;g4Z$Xr?cMjWn|n5_Kf~0Awy<8MpW^fvho*13;P$<V5IdGmu3< zx(uWdNYOxgfowLAn}A$vAVWZIFpzHoxmghQscIMbv<6nw=;@_$_mmOw=`2r)&hbcc zKzzCtXHGWccpa4n3NhGhuW6|O^`@Z&em~Lh`!OhCrWe5205cZh_aiY^e1c`%;?+QI zGmv^9cNoakKz16)=YV|0Kz;z^E(6&I<eP%92bG1yMwMwkj>_%9ed58CtxJz}{g~%z zs-IlZgunJkLEhPuz&rEBJIx*0^||WivwCuCW&MG+p^g#FM%c3%WZ=1w`Q;LxJqcM0 zWc4yXawCu#7x<BTfSkU<kNg)9XO$m$EgoZ;UF%2Y0J#$nuva+z6jMEr&o=mxjX<tk z%?Nu?wSpMC<?P@y4CVIVG;|#5<&!IR6CFn4J~%2K?8A9_{=iJ+K?f~SeK2}9r*BPp z<LWim!x>*h9qIRKHX{1h{gAndWn43U3*-R<ITAIe-p8zx&^v%^H<0%Nxm^%uUTG&b z=qXb3LaN-%-!IHZkA97Cjp{qg(F&6=9{rkdMlnw^b|UXoCGbv@ct`Ixw`B|dCtkKe z{TMSA;hj4n^D@i0rhFa9-vnWvRXxNrJw-<0<E3)*JSIHb>rjsHA>nxj48hiyFEP)< zz!cBc64I3>o|_WzOjjkU7ZAZ2^<0LxWOE(_W0jfcUcekG8RF2s4lXx`Gz+Uyf}+t( z%;EjQVf31IAOSzuhw<YZ=br&TDa}vRIR6L8{OtYy5#R^}+MBQOBQt<B^fQuPyi}S+ z@kpL_oOeRz+Ur?{nOEA0`DaddoFiRH{$n#=!>8nvpE9LMgnSp)3Vs@ay1!z+L&|f8 znWtZ+Bfm_pScJb=6a*4Q=12nOKW;IPClP#+nFbq`H)=LQMgZnV$&fwKky!&9U7o}0 zN$?aU^V1>x5Cdjnex|_;#ZPo(jwRsdOJV%@BC{R*q%=QaJ|*j}f=uyS98rXP49Lp{ zvJ1$n@30I<W({Or#;B0<eaQUV_gRLSSK5jB57$IRCQfMP`;jx#cp@_|%x^U-!4Wfm zoG>39nJM&DHLgal9R5R?CslV$4=Q{DYz+S(Ix<QAe<5=Z%eWOBiF)ockTZbXZy@gk z@<Ri;6v(3n(hcM>1Nk73Cj?>dC=1CuSf&PcFL~S;!I^UOi<iVZDb#2t_D+L%rwIb) z%A9At5u8!pF=s`<ZlbXzoxp=n86JG-7%tDB_kyueW-Me(Ai3uuGlEZ-9|D{|0eO*2 zxyY%g`OgNj7|0<Ha!(<lRv@o8kn4e*Y#=*<oGl1@P+3SG#Ddc~%+<($Y!6PwDYGf# z>0i?^s;iM7H(LXVJ$RRRumKV<IgrRZ{RzDDKZbW^z9CSJ^9-u4VK&SriRfgMI-g}^ zKU|d}#zIzKdXH!i>TrD;QuBBis}jbDc{4F%Q{gl<7f`%|zCa?zh7&MGuZ;7qWxi@L zwggC;*$8PDsqKbL4K6ZN|00_`LE?j>PSryknle-eM_su%Tqqn8OJ-sYQ^H~Nd^(zd zL;7Z?$KlV+FAqTVL*S>W1c&sMgElQgJmNV<AUkopimtmAG7CucBmNPf0myj<ay5{X z{?lLTW*~R(^_RK}$oB<d?<fn&J0HOQ5c$nZ?440SbVlvTm{FG~!u1pN<Yg~faNtY4 zB3dLKZ1tU0S@z&8@n929m?J+)QZJ~)e5rIr&&%{3T+f5YSQYI9W1~OQ9D2b`D%`{z zDjDKuCh%|$Qz)-E)P;Q?i8$2X+oEed{DZEL5lQb^-6H%%M|e#Fe%@v9^HqzVvw&1S z9?cIm@f^tf2VTMI?IW!Ka_P_gNH>tNn306)8GsDkit*yda|rRuzEJiMKZk+^bME1I z{-=GR<9QT%l|74*GZV-2F7X$wA<e|`yj}b?0|NF+h2lA%z+d!(Wh$Nv?j}ek-;ph@ z?e6K+tNaJRVd@w0{(1~Dd6sd_{cj*U4CD_$z9R@TuWBade}Z!6_**vSbuV~9SWUS$ z`u{Mi^kg1c5%;}`p#-dEh1GoX`qs78XBpo`L2rB`l>B!ztIUs*A$zvLpEMVGsoeZb z#UQOl3Aiedn4f*ZPxL6UCjmd3g&$J%+v5Z3oY#Y&p=YA`A^94}+{rR-1sy<k8OSGr z++`p?2J%e<IUL$Y4CGuO4;V-<kcSOqJCHv;>mQN63*^P;7-0{pR*(lNuyD!kOXc=p zN<6s6r$uGigZssUeK_%ELyoV2sw!YF&P)#ZE-)3Kv4wuTT**YwmA4vRKF4~H^EE(* zex(?T+C4Z1GB>=SWk|VmDv+udEuP(a$mXN5az`V5soXqoPQWvL&rXdbGhj*h_*|8M z!y$vi4_F)$KO=vQ=kRjKY<z8nJD-xzunq@u=UWsqN#;RS4{_Lu%k_iH;S<7Pn`@E( z569}Z1RORc;P4)U!xPO39*RE;HmdN_8F#&b*bhtp2AKsc;|e?uWRZdV5y(;lIRd&? z2*P86(nUN||5F}eo#l?z8n{u7>L4nRnCIQXGp#qw-BcbEYGh0>?-6m8G$srr@Wl@d zU(i$eW~u^`X2v3XQ4g6*SVp2(l_FL{R=N7RJB1o)@CqAk#<QYs5LQ85ATg^i39B@p zBHROs7#m5z*r+h3?@|?VEj_uSd^2J@*l1!lA{e9Z7OZ6%*N#VlbQs8Qfb<y1VQ+Gr zJ_9)!$TbGC2*?cvvI@w}f^f_$3yJwE=s&nIzec>13UKc2(@w*Xtj6ai$e1f0j(Pg_ z8Ci;FsH}PjAP<fu@ZihhK`QkK_%TxpkO5{a#Dn})aGvdPi@zVGw&9hh-c{1S0D06v zz7C`cU#d|u><guf+Vup626J2}_xQ6}d{JXI8b{nyI>Z+g8)oliUr5_4Dy@15AYY^~ z^DBQvuSw{;^xpORf0zp()blGamS@I7d_lS@QECIr5a7HM$Yuj+2eQRLwgb6I5cY-A zMZUo4Kq|K{=<24_TyUHCViBw{=K?a1cupta`2>UKv+yjonVv&)2bhfro)1N-=U7I@ zc~y!Sn~HMO9xs)fu|2|A%2T3q9KBBnW6|S$e*(tnttKimd7N+S?kReYBrF9RLubdY zQZ9$goh;+p*$ZTsfeZk-OAwAjRWq@Q3#5a*A2lYd+I^W>9TQfg$Ao?!58ZE(SPpVy zbvOa@i-mcr<9YC7rq2QyVa6h2^?Q(cfMq0BRViZC9M!1)a>pud52)T9y(UQ=!Lwd; ztd1sNjDGRN8%0k@nS9|0$R1`RgfWgfB}4q&je*+~EH^(>g`be9)4Ov6FhR{A)FhKf zj?9I^Ve}qICHC=4%|zY8A@}$8bzQ!D>vLejz})!$z63I#U>R79C;NchW*|i%cNoY= zfb2Ao&jT4YknaGw+dzH-<eLWa3n1S$klzEj-$16EjJwH#u-{d?$nWoR4)&GiapLz` z&}Am}=~D6ORtUgkU*Z+Wu*8NL7c5FMV@(3T)7vlgjw>9V$+cF`pFihq-a{uTsNchk zL1$QcJ7j*wGOj=)kf#mgY9P-V$Y+4OU?ATH@()4SJ4!owXF2LdvwW%Cy>h8|C*{+k zvh1A)#XDpVZnFgvF`rMs{5D~JZ7$<|kw<EK3T&k2MfW)7N68RB=Sx}6l$#%VQ<fUl zVSFGlKlI*0I;&<G8h6Y@{0t@Fhu*)cA`|?~@eM_~y1#&*d;)%y%&WssTLOMgOu)~c z1pM6P=O^3R8f56WQ?O1*z>kt4e)>#D;i%m4(;@tX%zFCX-^>L3&|T+JGur)rep))a zHv|ZJ8~CZ2U%G!O8RF;3gU-)p;fGd4X5#)eF9APQ3HaG-@Y9{=cM!1F%fU|yF9mk5 z)+-qGK4tuIWr&|z@1)L^JAP;nR*gT=@k38^plPw=Pg4SZ==+f}{;cik?rh#v%oV&K zdO!H-Pr#3oA$#bXduA#(KRbk<==fQgfS-W`{Lm9_!cTkGhFnk4BL~gg0e&j+LflgE zqhyGm$>0YUF1}Q5e(n=~%zY+O$^EM_0Y4)N_?d!0_4p}t<<@13?Hh8!(SzV8^^Vf~ zC>i31_GHYCSZ;py2tUXK67$oVfS<7h{2UYDr@QN_Tu-;q<BWlynizganoLaLKka8v zmg`(qiWob?#qmedco<8elv{HJ<;=uSN6;Hm)QA+#SUv$`DRkIUGuo+s#yWdDJg$^& z$G!zCq8P?_#8xuI&u_5zVW#o$Q-h+4AF~cRVtz)2pXd>3a{_+S3HX`s=Lh{Q$j?IX z)3l^?k5e+lPm9&Ca`Ura_zBsQ(JP{x67bWXfS+Z4e)8QLtE=Z%&-IbC8vN`@z>kt4 ze*PE3(ZomW8n9a`ex_jOP4%zn5qnz#eufk9bFrVF!j(Q|R2Y1K_`xfjO3i3WhWL4a z79vI}cl;bD{6zOJdbdca713w{esU&1{E|#*-yrxIdUt7llnn9n=t1YFDgi&c67W-r zjp)f}Y24cqdJTShn}Y!~0)FxrmF7pukgg5FEoaIdKg)%m=oR(u1pLtRPo?;|-p^05 zJFuR1oM*t#SOR{O4DnNg6{DHT%}-+je(q1ePd))Z9~XYs<uV~x^oP#C{nNVA@uOsj zpS>Ul#`#jY`Dqh=qQ~bw3HTXGz|R+iA8OG1z=oF!9qp|-99GsVe!`xqAnDUl>RBx_ z$vLlG)lh?Zj6%s<L#ld+L;4*hLzV1`NU4eu3VkE-^BXllOU-ecg~ORf9dy8}?x%%A z8t17-GtsWvo&+3zOE^S~g<RG4qN!>85M9(9*UD<4&+YF{;mV$3=N!iw0f!3Vb*8F^ zIJ_O_@Iaz3aU9a*?lKRFU>XmHJA}jNIDAPswC|PhzPhxcqAh5SdrUl2Q{0xuygBDb zex5t+&isGC^H^gv&&;8cAr8L}#n^iGrE+t)I{}CEK*SW-5VyNqm4KiBGWaQ2ljS4e zXJmD0ew56s!_UJB_?eb~pQZ%-{EwfX{G9xp41NP6?=8804}JzNE6tCRA%2#T*L>0A z?e3PV4~_~y(QAq067VySfS<pG^5b329D6Fh`I3MiB}4pN4sIy2y;Sc0MNbjHZ0L&S zXGQ{kMiTJz8cY#t_X*>CzS_FMbT0U*xx94zC>gRD0e6t&hlV%B4=#!WiRZzp1pJI8 z;OB$@KdsH?c1jlf<P-3tWQd<TU@;u*OXZHAslre69JeR|KPfyJTx$M0)8J>W6+hR5 zpA=r08?{d0`Af+VKlGjJgWJF84Y{S_XL$mC=q>uC_<2WwpJ4oa0sN#B@S|jipR>Ua zEiSxN?)aG@{D6c&;{Mf;fS>*Z{9G8|2eVg8wxun{w<&)Fe)?nhX{}ZU)_@Y%7qYvn zN)coA5FvkisoacJC19*6hB01MN-HYt6+T%{tIFX7tiI1?)wd?VcYwg^Xbh{|E0qj! zh=uz>9@Q5m;IJcxL*{2R0Y6<9KjtRG38!JydT)YJ%atL1dZGT{#@KS<Cwf%xOTbSh zo|rE+YF%US)01oI?#%m#_9ftFC;>l8hWI)7tAaJcPxPu_YXW|167cge;fJE`vtYwa zR{+_g`3c)$XwDXLZV7}8jpgJIyl)1jo^H}nC*zo^hd4Y2(z9Jj{u45e_3=6W9M9Ep zt8h4ri_0gE`~$+Fy~DucSU-=(AuCv_kjAlm0-o;>p0PT$FaDf+z}Q%G>3*tYh{L_m z9=_A%yuUm<3<JVpbU&px2-6xT?&_F+kE2vS{kor@ke$-U!OxzS()=hHvL|L7D-%CE z67X|Z0)FV%B}(!0ec@+)Zc{$n-V@krKLCExt<n5YtiI`V$N4eK5a7HGNPmv|DIxCz za>80hc=l8^6RYzO?|4Ajm!#*GiPhc0YK>2e%5u*g5mu{k0tbQQ?pfiRB&ArT-?LHI zjNSR1|KVR<-*sSPfY}JyuOqQ9KxXF^LB>=mV(e?^9!DDXm7B5s!Whj>W@5(1gfV-p zqY}heRRYGI7sd)L8QhT%?(>a+jr98HIFyKTWr&|A&D*K4rQH0`^M|ye34Lp{zT-R< zE-E#SH6`HZWj{YXxz^qm@A((v`8n`Yb#rNclnmKSZ&NZ;x%r{z>q_x6Jpn%h3HUke zFz#{qR$WMsn~KYY;oGD6Atp|R%*w%Fk5i?Hv6+ZvleBU(Mo*L}#-e*%N*IgoaU%&B zdy_E6-%}{|<g)yJ5RBnqW0cv57^BjVd7fq5U}^`l&p@sP@{)mk1jt_m;hw8>5zq8= zmRj$*RpL*%d8X%x6wlEskcGnYB3NL4V~$sG1BeJU7nu81Y&VU5V+njQM|?pg=f0K8 z^XF&5m@^a~z5foGLs`Zx_)8$u4CJpsjxvzrpz95SurHJ@^2Ir*>EQZetN4QA*-Sjk z6k~irC5Yz~!lu-`yu{%74vXg%Kx#A_VOJ%jD+igMe}zX0Li&OH8DArDcktw@MAbta zeid&{p*g@y<&NjughPr|Gckw5!Xb?<hnqq;A`a6DIK0^4@aQvw73~HaW8a96)yE<8 zGRwFX><4l{5ROAt4{>-Fq|8C6+#Eh397f+$*qeaE{sbJZH8^ayI6NIl>aKVWFM!Nx zEF)2;N)coB>b2aAy&#ND4F-YSZQn19MbB2l2^iZXj1}BzD${5FgvtlNMisMR28wGN zf7gD9M{HqCl_JJ2h2+8Qr(?ocbc|Kv-Fsw3*p)BOJJO1n-Gk8ttkT=z)OAW<cTbQ~ z*zgIkI*@=>`b`se>=jm3DQZRAL1&dN)YNPq%_{vKNhwyP6)~(<;;N$5EOVQ%ibwg| z*KW$pS>SyQ5Nv!6tU7l`_ii5jlnil*#eX1`yDwJ?hh`5TwLF8&jNy>vXa=cCz|St5 zA7j_yLGV+VfFC78{5(MFjZ|)arYGQMUIKpd3HYJ+IjCN#<7ck_-Q|w+B={Lkz>ku7 zb>fGfMo@h)I(}*r@H3QvpNDOJjQAM?KVu2_Q8L8O4c3fN?)W(|0Y57f@UtfYKTikw zSuoESe=5#&oc?=Dk3UN0)rp@}0)FWCqN2ud>ijhRI4RhRkGQ9c>1~Hb|5`B5h@a!Y z&p-lxl#I&{sWei#<A<JRDb>GP6Yx`&D$UOnEawzIJ=v~S>+5>XTfxuJH>2Z+h@dx| z%l!fZoaHF>B`)P6Z9widkgI`w-#~5w@|b}P0eQwihJpOaK)wfL^0%~wvL;bBlfO1X zzqw|${YB@^VPQP?iDrtwQf^!Qe|SF4i@%z1+P?awcy3CS_Sc)lU!>*US@hSR9t9gI zX2WcfE2dV|7!%&_zt{GAlzJzZa^;Ri&C3kr93Y>#Pw}j}z-2)4-)82iSTB%X1KAGb z%YyJ~M_EYTc`K@VhpUnQuy<<M!is(j1m>z}Jl>&aS5$9W$SUNMy|YKW(|~h<dlUM- zA|t%+t>~BX{tS6=AXVCf^9>JPM;E(B+6%_g--+&V?7^{X4G*GJj!U`qy#_UJF_8H{ zK4c&l0U0q6dTZnv-({b&zmz@Xujz=XqYQi5Un6W!1@Sy_fAx#MW*U0vfc-TCTXbr6 zSPnF>Ppkb^gUF&dRliS7rOibC8cDGXEz`}!zvg+q_=|qc)0jNm0-pwBd1egkgrzS) zrUoa774K<zRf;U6XL16J@h?$s8P9##koA~;b28myRlNYs2_$B<Ls*5d%bh7mjE$vA zGj^FU*3;WnZ0`(`_6@MHrvzh<K_(6LiZQa|86Y!9I5G+O3y`x7<fz$r!>1q|y-FAH z+=)_H5cm>Duakghu_xr3k-xb)EIdbFpY{pQRj`D(HWTrjI=M8@R|(I(#r6*0m+W<Q zZv`8RnT?3ZTnL#9S;j4QK9HY(&(HJ4KtA=LA87^hhKKyfMj&~VSN>|rc4d1uIZl%x zRQ0uxX)sFN3Z&COZU?g6K>iPq*FEgl^=%**7|0KSob!lZ=2;*&7|7p%{8SK*jT*P@ z6dTVSiD)7-C5<OGno!DZd)Tka>OMFku`wb#IKzE#r^LoioH9ox-VsX6$Tq;mjZcc7 zbb|P~RpJNNo`v@A;H|V{Ku6W1n$?K-ITJDqS;n<uIgob=!aS>bh-X?Xnw5=*=YEt{ zJiE$_Kg`dl@I#Vj;(po>Z>#ap?tkoyG`g^wWoDp~@Llx&1U!FMcqUsu3VzI#1CnOO zOlm~%Mk)nk+!;+)xvCVgO09s~eW`4$>gc^i7z>$Y^d0b`Fh=%}tzKg9NGmE*-br7M zqIWm}t6wu%eaK?<%Rri9Smnr6GQ{DZT771?*>ZC@ARO9P033DwF&vUn#Ls8~e(pE; z`Mbr>uZf?zlh7Aa&ZLm2<6ZQW6?Li<F?Imu%sy6b#&!y0(RXieiD8VRPFfK%cQdP% zr>K~X+fR60SfyQb{^@e>H+_$;0;~AZ-%_m7n?lXLtV$89MVvdhtllTAM#tgy1guIc zVpy$7!0NAsRa#>+t#jmyTW5pS(YHmj%6(bM5QmqW%RIQa+>uH52h|J`&Ebw14ms-b z3HbS|@I$2@1RG{r2Bc<jG(RN04l?Jnj9dIBAS(^z3qa}wVOCYm#A--O$8nv~53P}N zx1MG839FT^js8D8LJs2;x(Munxe@E<p#-cRfhk?>efgtqp<Lqq9Mv~58zCbk^P^<Q z9=daBrgBH!0pTaa7kU;R6@Khln5?52WKRNq-X#1`sVnEuUw`@o_!(UuA9b%sspnb7 zEj$;<J_D%*@&`efRaNt=6Lr&H%Y7Nt1rkTyK4BHjj)*$vEwC47<7SYv4OWlQ-`Me# zUQax)h-dYykU5lP+@j9{nI;HxsOlkm%smn+Qtrr{Asj}ps82kKd+rQa5Wb?WO2FZT z28Vx{=ThMNvk<JNn2nI0OQP!`Gxi?Mvs?ByAe%1oBaZ-irrwWCo(tz(;zt$$*<m18 z0Qs|ld<w{Mm-$OQ1Y~fHANebgU%t<eoPl=Tko6<)1#+u_d>F{RZGM>tfYiO85sn1K z21UXE9`iCiRPIQql1SL=^NGrGZ>o_<*ohP2*SR&kMvB>SZAuU=c_Uh$S>QJc&mL#! zi{iumim|XK!E!CFZjlj8_ipcY@V!O1)LXXbQttT^=Hn#?*D>=1T>|8<267{izO8<l zdx8AjKwbp01wSb6t|8r;PlnAY(N54@YK4I;12W2txuq@zGGZX@K#u>gzvj;a88Yg* z3rN3#{0ERG1NjM%8bLV56o(XJ&mh3Et_}RB+%Y!gbv$BI{FsSj>;;LjCJ31GC0`c^ zKNYFaaf0T`fdn!3AtT1#v(U5%oS@eYY39RXtg}~_zye9dSf>U?1R>yP)N|Uu`aSq= zAkQ1f79eMR(l4_c$jaON$O}L|eTN@84mMx&IY!v0%4YKE?l&mQv|0Elw@-J8PX|0D zI>$a;el*V@4LEa*A;&(YMW)MPMNOnn>8(;q#vFU7Lf-kO-_cO(LqeaoeA)@5X@_Pk zRFmU;5;9M+3{~TN8_4o62YFWY5YM#Fg0JHHQn`6vgp~|BFLXseL3*3;JOh#-B9N$G zj3wakK7+%D-X5sNIpl4q=WFpCo(h@K*Ra2EDTI-c6U=ba8psTkkogE?hDyjh0GV_N znZH7&sf5gIw3MDaS1}fDb2DT{O2~X1GJ9fVxSuKx$)^v02(=mxD|h_#N&FngZjevz zry~+S(bpg;gjT6O_^1&-%gtNG(E1DFaM5H$MEEWi8TJZf9$*>Q(o;~+!-6n}svhDH z#s^ZlIUEoU&9xY*Wey(}4x{^EIsu2z8XW$Q#bE}>D6`>pErWr6$PCBCAqn3Nnf@3V z=2__?p0C@E?+YK{S5$7EZxf!QV|7e;j*iv-1U&y)c*ZxxJG;9w*<4{x^}?1Sf6)@d zZT_e6v04q8kFtzQOb*DG4CGTleq<nffIMd)hrAQ_Wqzi0$^8PQotS^E<>zuUe^&zL z4+!(i(N??H(JV8ZfceRYA>PU9DijNT<~i#6T{fug{&-XQvbCL`J-|MY8rg<yWk9H1 zqY2veW@%S@R}rD)Zx>bk4tQC$D|+<HLgph92~_GvAfGXiT|mBUAddmL&p`eP<hsW> zqNtve--S`sKpKJ6JmHu52#_rX@&J(g4diz~erh1cor^1IL2M6VDI4*dcg_}dA1u_% z&4mKl-H-pJ_8}jZ=xwATM&j{#>FaqdI)L+VXCRT6D^KM}I3sY@TW6jvUe@1t2#g!c z!A9!I_;I5NGC7u!{;o<<%zql%rx+HLE#~#k?F?LPsa0jl&_f5z*j{0bMq~1UnTWBP z1dN?4j8XX^wB1abfs8O4Vg0?B>noy&k|BN`zZL7OgSu*3D*QyxMEiuF=$R;=fS<I% z&jE{{-9U!gro^tAo`lSuEF%%6N)clr>y|R#3s@tJ(fZj;98vp)vFL~zO2Al)FsA#U zzO~2qpk7~tnTXj4i738XI?5xzFs4coV+a3kX{#_c-J}ag%vdE((MS;Yog-;Q%zeE* z30U1AtorVjGNrKL%o?zIMRXi8tMqGw?tJR8>XxEboQ}qrBT2bOwmxAsy62vlfK_Ql z46Dv*x}`C1Nxe~61%=KB!J(Nh05aMY%_>Q+gUs_RBdn@Y92+F(rE;@6Ago6B?wP`B zbnmW8z}TmRF|&8`y}rR3>_RXbF}<4}Bsb$wl_JIte(&Bcj79hE8ez<yL1cf7TM-k7 zO$k{2vassw-ApM0=N@7;A03C>yDQlqi9=P2SUvc?dzY{p-Md#NU{zWX!|Ff+Rv#8t zv&HVNTwlBS13}J@!D^~EnpF_*`~osVs7GCcQ2+9R8cQrEi}g=?5i1_9N0?VN6Z1cW z9B$<JQn^Qf`-OQdwgZW0t43iyd;~ZY&A9}puxSdLe{pE=x`3)Z8Zx+)aa%LF;%biy zpUxCyZpHeKu0bbP{MmQL%bp3DDjd2!%YF6$Kp^2ZwsSZBV=Ei=EQBsw9j$UlVj_X6 zyaF;!C`!ysuE^tWVD-MXy(0(ocM>h@T3R}@?ZIa_|5k%O$X>Qh!S7_B^S0`FxSg{_ zUpJvnu(=p5-JoO4MNR@jtIDW|%4A46_F#=t^xS(t%EK)v$=7kp9%|Qpz|BV{>=-kn z7X=*t_D4VRZp{@YH?EAnD%mSB7Tvq^5@Rz^)VK(ssvL^3c_(p<edQ39b5F@1im_Up zp&p~YB_XFILos$eI8-tA1;PCpim@gDrDE*2aD<96`UP#<u@qxt31VyyimDj930jFw zFY$elN!Zg<yDMGUVxgGz|702ablCMfwcRVvIreGg7QQwopPGq%IsjPt)I85e<cnwF zCe`2PgK@hq@<k4nC|^KnNFts|m*P2voNYMu<v$^`6wmuZYQgjDkXeN@2s5<Zjxj1k zzDS*p^RCPp1R05WK0|n3SHS!I@_GDrxIB!65{njNwaop?HrK7Q9x_#1!g+=nZdwnS zni4X%LS|s2e+2j}kP(!3z2nyNbwc0)5BWZj6ddBVRQkIY8~;_|IB#~#@*j?kl-R>( zyibme5kRi4itW&9CVsAapY->XDS#uMQ?^NeCx20mUg9;9w8EXunK@66;_z6wQpMp1 z5NdDoPU;-R;jdA>io+kH?RKIuVHW(Z#)MJG*kTl`!zfyEOaLn?R^Jj@55;N@^{7~V zqiqZjiq&*XtWqJGn;P+7jT^gxnBy<UbF;*Av7>-^_Qx{S^VDL*Sf7fquyKQAegl~i zEd!NE`+?NN&P08!nJn(HLYBtz$xbE%<SMjF5M-R!orj*Xi6flHF=Y?+<<CLJ472gX zYCrt0VwG4j6UXW_IGr?vjT;=RyChcaxoP&2x`r8zE0-=r9d1i2Xe_KSlxdkIRdF(U z*Sd;(Ze%@6FB1-38AFw$bS+&h%!kP!6sS}R|KUWmeJ1_};zzaXvKpN6+JysO((PJI zr6XmaYsO`lUDgB{r3(!Vq}e31crjusT87S1fByuCR{i}Mxc03C8;Sb+Zm3ZGeVgeB zElK@-8Y)r!eKiJ3Ta5bqDCA4^_sYY#zyB4|c0JVJufZAB-?4xRNz~u_6ZH2=SW1yR zxnc-^DYCu9{hfZ1P~U}V?`p>-hVP4i+`nqv9!K?f<vBN={xu-|i%WZ-DmIqT*ASy) z!;P^ei>Xv({J1hJE=!e`SxnqS)q_)R{A|RIs*0c8XuZiH$x!^PM4+npSxu0YC^jll zy41Sm2sB>J1+7*c1d!i{WBkrO{a5j6XM5MWjhVJwM;>1mlcD^C^Dr9oC>r8Z(sd?e z(kvsZ0xuFU#0ApCBEcL*s7fAbXUIq!G6LwQruWE5dmKvI-k}lTY{ZN5;EPaZ%a8{@ zFCM%x&?<FE9;^}%(zpyDkZ9%EB_4bTXKiZ9gQGDXq$+8q9+sZF9EiygdzpTVP4(P- zA=lg5eO6Ddqq{|%?7ZVVT$N}KhV@+1^=`=QVHpCPCLlYwpE|`he6b_fQrIa7$#g)b z=4zgW3Aq8tkRkJNAWdKu4Z*lU9`x9lL`9GufK0xG%pV~$5F^85lxivIdJ=S<p%m!9 z<B3dZMaYg2uQO}V9MvxSJ6IgOvm|<HrZ*F>6JC($odE$FiOfXN`^NJ*dVhc^VT~z( zBZ^*Hi>mSG6f(<7G=JqV*s1xeot$AMitwfq5&m|_&^U(MH{iJnM|PrKun<jA<Jj>y z^8C)yG{@bJ12xCl?It<uDU~ysXVaft5A~G&(o^;WMhN;6_mtmAPig5XX4>%1l#U!f z-a+C=EkQhAqvP2&*RAnP$c%l!AM=ZWJZQvx8i)gS$%@HtsmlmC%#XAJ8SUqKIC_<K zVzm*`YhIO%CwfQNo{AB0V<wKwR*B4%DS#u6%xQQ?lSUo&s|TisxEG`WQ!6J|pn)NY zqIdLCj@|~;SYt_1^j?V2RngmO*-Ql}dLPB`uA=uw(->VNMejg~=%vW4LnNrkd=b*N zt0^+?M4c)!=jqzb4~op11d%xg0@dnk6ctcRc!?wPNGu7|7>*@vv8{)HGlnIvMzjoV zQPC1LhJTu5z={`jUj))`Aol{PypE%eYTpawCPU`eKn4t%!<J&!+sdUlR+T;Ecj|wq zv8nFocw$v7tXOW;K?fYGTP0R!*)n<!P$jWS^D?cm%tUcGuao1De)k=ZQ3n#m;n(3T z6^D2=SxBNdy!aH3!;hN|)$$aFBPHUHM$wwdJc>4jXu@?cWENr3qGI)m&{(B7%qNJ$ zJ-A#|ahO6qXudCT9G>Kl!%mEn-ZDbgewEi#B#_^I73i$(cN#s+#5+Qx9Cab}Pzmza zlnv~!yMchLKq7ywLu@F2h0hM;i!tb+h?rcF!e3h<@q8yLQ9QRm#!kfZPz=w^;T++R z>No*?$4lIIl5kkHg?9qI@|?3dgmEE>IQ%!^@NhKT_6KqJ(F7b;Lar2thl4=HAv#(} zA`bT?;P5ixFrUM^(;tRzt!IN(#bGKm4oPSQWUAa)O*v4Dv<67pK-L2pGLU{CH8=2B zN2P8DGGHKg1KDFB4+3er(O>EbAVUW7Cm_yEEMrH)XAs`#628Q}DM=*IFD<$wza88% ziVn*t+T_!svOMEA$tc=~6Xt#|Nm4|8ZzK20KGfK(D)9ZKi29a9RGlK<cb>8|ioS?Q zfEYaZ6LYgp%Tmv!)uoC$8rAKpXcQd+b80O*9MXC<if)j|{BOwEVl?AF1r2J(Z_pN) z9~8Z`bp&;=IefICxo`}QP$TUCj<C4*B_1WNlL*H~MP_Y&PL(&*;;;u{UmWIWvCVa~ zh$AvGJ}ZPQBs<Mi?ue=c?P?cvim3=k98ph5M7e&n<S3%v{vnR2`*Gf`iz4bs)KhAl zZ-QK0w9q(zF<h+1D2i~KTJmyL0x#3LMS0ndOzzzyt_R5%)mFR9<_rBir1Qbj^YTAC zl29XvpQadoIKpq22ygA^$aNKaHhB?F^&Gnle_Wd}KHF}Pc=p<5FSW|Xp}ylhJwZG_ zmmr@1A@O`7*b0y5b0nVE5gk@?uVqlWR6IW-@%&xXVG~LI8i?^1DR%do;^J99v2d^7 zr-3IHmUeWkqQ?j-6ZllgP`^0%K0PjhPsbAY^!N|+7<EjfPd}5ury~h`dJCpSHAej~ z(x)Q{d`fHV$T3R$^h>zDP}iOtvxP#=So3Ezl#20bMwN1!J``Nrs8Zx*nz)arK$BFq zo~!SFHKC<yULF-4oZ+j;6D1O6@G1G^+3J8q0=60gSL-B9v(?!j;Yhd?;fqB~Akl1f z2)=QvW~+a(yCmdOkhyO*uYZ1QPt}lduUsHkY6Q3#?NZUQ9J*|Ew6>WISgmb9R7j#x zVk|*KRUW|+HH=!!k&S1))XjP(l5ZKyyd%&5$a>Y8-A<35&p3w`zf(~so;6a){H3Vg zK;|ull?Jll7ua;th@J;$PDuL!RASUTf03nqk){17miDR%Y2R;YpJ!>GXK8=X(!Ov) z+F!D?&$6`7vb2B4(q1zm?PHeq8J6}LmiD_W?aL>meV?WML`yr(;Slp8bHSG^?db_= zf5Fl|-O@hY(mrHqZ=8_!=Pd2hEbY@Q?b|KwO%u{SYH6QhX`f<gztz&-HX-d#TiOp` z3<l_Vc^*9#ZXgS`TH5my(*A^{{UuBLOP2PlEbV<0(!STyzR%LW&(fZ^wD(U)JMFw0 ztj>SV(*B&KoqmZ)m(t_>O%u}ou%-QJOZ(H7_BEFFfeC4U(9*uw(!STyp0>1apOAKX ztEA>o&#(_$+VN^$Q)a<(OZ(7-w2xTY@3*wyZ)ty*rG4jwwBKiGzt7TspQU|)rG0op z+Udz6lli+W?RQz)XIa{JPe}V+miAqi_Fb0tH(T0ACZv7X(!RsezQfW!-O~QxgtYIn zwBKfFzs=G<&C<SSLfUs)+P7KS=~**~dGpQ!x>KwXJ=Q%jA?-UX?YCIkZ?Uw~FW8#e zM<=9x$kM*m(!SNwzR%MB!i2QnW@+DSY2R#Vf6mfAHX-fXE$u~1d(qPVl%;+DgtTw7 zw0BtAJ1p%FTiTslCUPA&U}<l)w6|K?zhh~iIw9@1SlZWE+Sgdxhdu3jS7f*Bimc79 z&!KzzQd?KHlOV62wZ*pHuJu4XUApI1ax0)Sn98;XqGt2znNWb{W50#&IlvTO(%01U zJe&C{+h?<G`y(-J=WF~|v0d|4@>PKQ{Ftv%$Z{)I^0h;>%sEqdhoJ(Ge*}`%u5s;M z?Ds}&y|SWbSX^JQh4WgW(Lffovd!|=vj2)<o}<pIhojD?OGjPmRg5|!vQ*T0HnYEc zHtVPxi)lN1=T&Uiybfs>wa!f3iVpU2Ow=9V*r-4Q1IcRFxT3C-<C$Y@euEcLDh}t- z-k%wDFR(olb^nNAo}<pIhojD?OGjPRs~B~7X;R6k^K52+`E1rvN53AWcE9a$p1t!b zwrk!R_E&U7&0oV_j+QxRI>$!LSSRfoSJd?(oQ#N?ztWrabkwc1X4oNbhSkxskfUW> z+KZO<rIz-kmUjBafwoy|ubGhcyrq4SrG1g5{TfUA@(F40u(Z#!w9m7&=Pm8&32AS$ zw9m4%&$6^PTiP2Zq`lSBKEu*J!_r=7X>Xd4_9jdFiI(;gE$s^|?QIj%zQ)o%-O@hY z(mvDDo}ZBRMoarNOZzlS`*cft--NU`SlXvp+NW6Br&-$jC!{@XX+OZ@Gtas64)9FG z$b#SDkr))DD|$WJ+%zHWD=qCWS=wK+v_EBOADEE#<(Bq+miB#?_7O|__6ccUYH5GY z(*B&KeV3(uXhPa+EbUKQ+Ml+xf5Otfb3)n|S=#qn+V@)8H(T0=C!~F$rTt+``@@#@ zR!jTt32C2aX}{mne!r!Cxutz%LfWe=?e|&Q@3XWow6s4sA?>p)?RQz)@3OSN+0wpe zLfU6q+ILyncUjtBYiWOCLfU6o+ILvmcUao@^GaAo+R+JVPg&Y;v$Wr4X@9}e{=$T` zpJ-{{W@+DMY5$3(eQZM7kF&JjVrjp{(te+%egA~CPq(yhwX|=wwC}XEJ0G6NUS*}F zeY2%~v!#8&(mr)U+NW9Ci<b7Hr5!I+;MIk`hW$m%H7sAhd-d@3yHA&1rBre&u$~I0 za_?16=XS;HReCn_^}Ekz-S&MkZRge3tJto24ZIeOzBZrVz$@5jnR7OCY=rF^>9)Tt zZO1ota$Uxk#$L^~Q>@VQV<|imkEUV&8JR%Bdpug`JsxNlJ?KRb1R|Zf4ByDO?2YSQ zd4-XsK<?B0D48@6W<wzzK(-n(n}Afh;}4!Cc5A*F$SAgX$sUD#3kW4TQpiI<Qaa`p z@+6SkjGBK1<RzRWyOqoVAbd5UkmJtBH?^^==IJ^Y$o*1J2H(fV%>hT<!A$9TRzjvm zEbPqTt>YVVPMdqjhh?sZ3?)2tr%P=EvImEru5Y+9(|sI%7f6*Jjg^Iu02vcqRO7FK z3`srkPDduIo@MmB^LNPHBCViOM_d3_jhc@I!mAyn>uezXhpJ~M6>>h1G(y6&`7$6Q zhCMd`S!3wh4x|RX$%~C)AoMt^hx`zTx+l(z?Ijr_68@VIC*>>k7a)fK^XfTfd9dxL z1L4tT61|0{Bh!j+G^3Q_Cxb6)X3*!FfOy_nf>LQ=6{nolKo$yP>vF|>JL*yQbJ^y# zkfEn^J?8s>bQo-W5XekJ=9579uA<`kP9T(&J&355{3d)i(1@t7L56pvb!-6PHJd_4 zfh-rBsm6Uk_}7-f##;Jea72Q>JE=;Yy2ASwze3&vgq~gT{GJCgV#LM=foy~LRA`yx zbY?ryR}epj&38bCldAdOfbePu_Rv>oRy8=OEvlC&nMWYgX0+l-AbA6MQP&KUbpP59 z#EjJw-i;n-#Oewl14cbfK+MSO12Rv~)XJV4fbgnPA)f^Du;Jw$K*o;nGqxK@+R*+h zAWa6VN4y6fLY0a`V(N4t^t_hG{3;+dhRth$(7veG_VqyEXkQ$@9|&LlDVw(g8HEfT zDddMh_$q0VlWoR}&v0(1;lZaN(`2;k(3P;+X#4AdQ1V)F77%_0Sm}B@5YNI)2Hz~n zWZY6-Uw*f)$3rqe?m`7#&F?1}W90vsE=40ndqoPTG4uq|J&;Mg#?R{a-BSLscQ23{ zqovOQ*={iZGLX$i+b6ApDr00j4#@N^%roA6+tbq4<5U@}R*}r%+^&r+1-HMaM5aae zrXfM7LGMPX6h2|3_Fw~$M#I7^5Plj{G2aEG$&k4b2;ad}GXDbPC8J$KK+O65J3#sk z4u1>efKlpiK=v5Xd-8>j^R#%dz9W~*!}>nMo_9cI$f$We5Z)zL7G47+y@gpt70%5- zW*ORV2lBLmd<h7zAyqxQfs9=1ujl7Lcuk9O3}Y|c<@6cM{~0n>pk4Ji%qi`(B1*vu zI8pmz@<pgw+Ldpimocf|Kl5ZNAu|&tym+1oBqgPA%9#hG(rD>QLU6{bXAO`cqf{Qq zh!MTF0-0y9F$9FKk`x=?0&<ItBzQA$SGEH@8*P68G8A&&X!CPIkUV>S4}`xLplbd* z)r_oaDSAOyOK09$Xw-ac8sCsGESwF*^w&Fq^c(GZFOa=PsSY61jS+hj5K7)iatoCb zd+6MkfaHy+dmP9Nqn_u0JZI?oUm!I`gukH{m7!)&*IR+`-j`xy1&{%w)RjPXiw6;P z_|_=;slm_9kbybAnumZaGA#TmkP)Ni$AF9)jQs}49??Z@|1*$X1{<%b!<b+oZ?TX$ zKu#1k+?5r2K@I9tk&vNfl^)eei)wosr4C5VYd7Y5@T)3o2aJ~XK&En<e|-KRkR76n zYWr6p=9>TWKyH$DxxF$Q>?!v^W{OeI_kaxhOSRDYnUWXJk3)uP@_af5WVs<Tsb1OZ z$y5T_Z?x+KAT?Y3qs>Af(+zvxO{K&h(z^!8km1v<K!%N2{W_2x!YY;e5s*bvv+JD} zj9NJ3wQCeIZ9otn+B?4mvL6Co@BRyrorXO}HDETEno-o50c4wj%mcDjMiP>F50F+v zW(^SfN)$k?y$EENA#*(t+ROE1ZU?dmCDcfQjB_`T0VBd62C_$(U%Rmf@4-WC2tuWP z2AOF_-+30uECU$>!bwH%;TNl8&&wxUNHvfXje5=n!cQ!ydTN32cZwDAJ|I)k3Xl0B zkYS@;+ko^Nk+2)c3*w!OdR4hI;<l7o{Sjo$mGIAjkXEl1e*r?tLyo!xYc0bUCjnV0 zNG8|Q)76b}-q1A{GB=ri2U7EXrBAiA3&?;(Z$`ZY-Fd<A&Zi*bhz#ZneDN6d7&2dk zOqE~8ovD`_GP@zedwNRyqd=ZR){CF#ftdVE#aoV=q-Nq}K9H#{&nX?Ni-Dv)=6k!` zy@6pv`zpw6HFV{GR2nrGfh>mxuUBpb!cVwOayH-v0W?C+l$v|8?FEFh(<sQ=o*V(r zc0uUqGpMI(3o}2AquH&w=H7LgY)`gpU9P}~?OkiTIiGEA?#XT7qmK5j9Ou{e(6f@d z1~`PXbeX47T`k^ukZH-d>mBuKsTs3-a%=PW0k(_|(B|Aae7`v2Bqj}YA-Lkg6%Dvx z&-Zj=NG=w$Ep540yAa-n-M#@YwWBv;_vY0Oja73%2*MZ;EUDH_UG8oGnVz9FcXPI7 zy)EXh_N>A{vmvsyS7yu79FxiDFIwZGw_aIqOKQV$c|>2*&h+H6h3+n=WI^?s$ZS5J zDQ?Q6rRp7;ix;z}VqEUIGY}?b(D*~cjRyDYyECr33e8nfrUIs=XH&k|jh{@*wq{z| z;KOWnRld7p)10|g^RYf~Pdl+ft+@n3>vNl$Hx&`nu~l{Ddz+Jp;Y~FO#Ii~zv}t%l z0$b8sY|EIn5n>rkAbNUdJB72qus@&Kkn3q*yUBpsI<qYW&^muXh#KEX(U>Jwz7yGe zd%#@ZNw*vOo8mjyOE2s)Z1q>Www<mX!iz@0+&tAvUuEI;&7V^p-DEl$+GIKr*<?By z)nqys-DEl&*<_pyYciG59yObc6Om1hbu<dn`KX4|xwy8|`IzR@=~xCxAdUo_cPN0^ zwaVPsrbh9Ds=RW|-F<kiX|C1iX9S|dceJ+%9XcA7cuP;N7<Q&Px3;?{*VSoN*45qB zlC#jOay{J^2o0e)+HT2Oy`Eb`Zp>%fdpL9m4}sWTzgTu{G1t@8>4&=WIs6!^g$G6a z$E`Uv>xLA|@HxLcW~WVIvV{BPTvND$umXmFRWeGATPmolrMG88u6q9bIdALJza}Ts zPiVx%$VUfLOd-rA5pfn%h+S&MN=%vX=!_{48lW-qQ867;M8cgyH%87FlS;{2Askn; z5%q5L$4Hw4N{qeiA4g@%P^CY}V-!<!oOpr~H-f@HY&?lk&!dn2Ow{fc45pbj-S@be z2AJvYE#`ZRMzEU#?O3_RorgU!rCYl3bHw_*-xzZ$bTx*Vsj)~a`Fw<td^*%dKIu16 zt(e#4y0F&6dbyyNj~OiLnZA&d*}lk=VJFy{s9L@A;T7}wu)3`Y&1Y_yynn^v6Adgi z{AY|chVO(I`#vz!+<|ZYRX3}(VpM|zLgB48gu<G_0!&XSZJu1bLY9luiCE$&4+$a7 z0sU@3Hx}lqJJ>AgKEdt4Z>ZBN4CT7YF3_BDSB#lFE*E9J5h)gDzp95?kzp%Ki-VX% zLYd_Cnk(GUrbNY`gc@gJZDW#?nif}C(mIUgeOTM5GbSgiG*^nM5KUfR^~N}EAtC;} zeP!&HF)n-SmoKKvj|S{h6tIAoSoBN!M;bqFHp73$@U-uQVIAzCOF7l2U<VyU+CeA7 z>>xbc4muNR2TrgZ*!iVrIoxY|V=DBY2#zBDbJn2kI~k@#Uzh1CDxa{?I6rPS&VR;e zobQAeB0ezVTfY}G?Vb6KTqoX2iETjaj0Fxutdr8FXvY02c#M1)2U1rw86x6$d1z~* z>5)1VPhq7?FcldQQniFeSncLQ$&kRsb*4F2upANC^Nb-j)7stDl?^)5P{R9#>eZv; ztxLI9TG~t-_4w@^S`=b$IX}C~k#iup-5YsAZBW)mMXVQ`x>a=7U#d^wVpS}upyT#; zsoyPJA{3MYb63TxAXjin&h$8(!vOA1F|rwv->61IR}iNP*w|gD2jq^9;7&GIv%Yn0 zrmGuor;HPz)7r_(j<c`~>FlOoRdpYP!8Z6h>g;segY&F_x*6RBz}6!}u9$+-=e=j? z`PCUURj`h@mQb6G&J!zK>=}<N7FKK9Wz`;6ad*DZK|8}3TCuH@ZSijr$Cbl#1QRMJ z`U>#6u_2vE+jvSPasuu)>3E3KkJ}Kun;IjAAkxvAS?IW9L1#NQ4=I2bO2~L&8dH-B zWYia^C4(R0Hfo}Hj;jafy-r&|=w^F5d$9^Og2{)gY}8q6BKMVS&icC+D`Ijz!BBI& zeSt{Jd?J1$y^4K12Ii!qw#jH`LuMi#0^AKWI%Dr}d8Mq)EbkPG#+;QcDodSBBwHec zF_3ZhWvm)_i_@0(?^1e}x|>zeh1}EOB?<L8P3*GvJfqpQMC0hTgku=CWaAxTiHnCk zqAVF>12J08c7#=v?63vT_~>oJqp|MnXZAsXEt2Jo9aDTtOk*HZXwQ?9>Un|g79t=D z3n3>>ZfpT3q>!(%cnUCJ03p`iIXx{Hal6GmrJN#$a$j*v1#f%m0`~T#djfU%?}`v6 z<WY4-UnIclQ3R?LQ24oAt9!#Bq}hBXy!m`K{6>LmJd4E8AtLKDxN}aLjOLlA^Xo%T zVrem_Dzi41sfs^6C;oJ{HC(q;--7SD#8=VMjqfh_z0LMZ9cz2K&3kPIQ6kpf1(y}$ zt7<QF<<_|mgp`!)?xG<pUJSEvya2St3*@^u;)ZPX+<2+Nm8H(hb$&QEh2G})8j9vE z%8**t<udW!hCpjKZl~f|8*hoS0Z-k~S4hH62F4K6?<gRC&$v#@Ww^5FXhEsYl2&%c zvw=GDbMkYjZ{_1?^~=TikL0Rj`<aqxZH@~jl9^kwmbsZEwV-7!>S?K1CZR702P9?A zb2NNf-o(`mZ5E>mXi6d1fggK{2}zRiqR3sA+EA$gD(UAq!^7@=8QmgenvquL-J#iA z?S{6rkVGiSG-OR^Ci#Vy3<j$BZULE|Tx)NOcVX>!V(0{^l}OWyc=)W-UY#pAWUZ)9 z*b5#P57bImOdPAK96u`-rBKdCYG#S3ilH;pE{|#9;*pxih1_enAf^{m?o(|1?3!95 z%*Nf1A~upD+JHGM<`n57OM>c9%GU#weSGO^t)tA-k)&{WB3$cZ$Xq6>`gjc-<pnwK zQ>d$zQ*reMSdlWmc+eeWPT=V_fw>9|%;jx(?FxYdati{hYAv^5o`d@bt$IO%am?D- z^q&sfLiV3md9%hMp6Bt)^metocPso@bMIP1rlq4B*X=$De_rifR99ux`HUqj0;SC5 zNYE7(f~E$}<2$e$yL(z=Y>7FQ32S#iL68RXH2Q{*kxXGzA<}L+6~c|2E6I*XT6W2q z&_?muaC6a&LU(I>Z>PF%Li?BP*^c(Bu<F-%Pj45ku`=L0(~|GSsy<un#Z6hqJPJtT z(h=(_?2?Ay*l?<jz~?fKy+e0_tc%kZ;qZ+uebn6ERo#~B<3nVt0XZ3cTJ6%hcRcc0 zn%B`BmhGhNcRA3H&9f5qJx6~n*`A*4CKh*}b7xuX-50UQz^+iXrG;)$2Tx!?$7Xkj zl*XNGRf0~a?}X?g===q2DB~e=JZis=E9z)(?#cFSqANxBY-jcg8a0)(tds3szB$ZW z+IVY(jJwLAKlyI#<2sb{Z-=Rk`IZIqe1m>iJx;;h9Q0KjR??Ucf<t}W%wkT9{)b|` zn~f$~>cJTIerM?OJGw(dAUK}|H25Enp(l8}g2wFPFSU>dd;=_H>q7LxI8ztKTDmY3 zVd%oZW~W+wZOrzx7Tlc%bpyFMTWkqDE3Q|h;gYf24B<rr+YYhS8`Q>1u2m0MVocA| zHzs%$6xT{FGVTH)I}YJZWexPIhAh4T7Tkr1FNK*OxBte~6ch>BQixY$Zy?0W+pGL| zdHWJ6Uf$mEh?g&1*_-VdA5GX286T}z_7o$w2I6hg8%7)lxz<o|-)I{buj`BuAD2B` zG;yeNfuzo6d9^*0h+Hn>U4-MZU2S@H<$8-f*^W$~g>15rt1KjV(I3h=mNH70r(VsD zjJtEAXMlU?X?G7j)$U<YEQ$7WGZquMVln(mINZ=ei!zk<s^(UQZG)69w_x7*%N4sP zqAh8_aI2E`c9z$@oe!g#PBH_8@2`Z?nJA>)U6QzI%GcA?>L{Bl%&A`3g4@RYwTSSi zR`eCEC!WXspDgW!)?d0fJ-0geECaVbs6~pcs+vF%(lzd4=hcs2)p_-ECZK2hEY#PH zTTOi(sMF5EcM7%pVjLS>S6Z(0ZCpgTjUV<`z1XV3TqXs5&V|R_)Vhlr&Kq~3WsT|c zs`Qr<x;hgvBthBHoo%JvlXg7n)7qZ(?x_WvBqa((ti{JyL@ViNFBb9cmvQPDUnx?B zU7qn3a+@^nQn+UF?j%Igg?*(2Qi-afn`#N_Dzx>k^==GB8b)H?eZEMso<dvu+9Lct zK1x-wadX<?Y8!X4V)wdr9o~X8vN3d-+k>k$nOY(xF{x&Halx(vJxV?bcQ=xwMiw%H zrygHErr&xOz7ZpvC*T{|^qA$H3mdcKY@jKEhcrc>v#*LxjSKyc?gUT8*do{P!7?Dr zQQvXLMOq&ou?$Sy_)Y?DMe*w}@OrWC%({;5W~^#kF=k=s%!jnNh*iOohKuSlD_7Jv z;0-nzYy@M!1=o=7CLONwyVtkV%Mj@Ij(sQNaTMc+l~H34wt;YAv#zi<+unigJm-S? z%#v<A-`7{H!<{tjs{&Zo*OJTAgUumOns$+}HARilFD{_Q`3~I;xM0KdEA}#Y(*Yi% zR3-2g`|eiUfK)X)bZ^5rW@GWn4_AS^d6vPJV0X_ZzV*?W?W@Oj9BhR}`CR+lg$pvg zbJ>%l$1lk^{0zBE;p~M~^UtxC44F*b#TPcLShXyZu3vWX(u*>6%T`{rM0sJ^g-hXy zU~6Iugb25H(r%=Cy+BS?5mdiyIlapSU9k-#bVrUDRA=00Npp;n>20~5988~AHP6X) z_Gak&?^!q3=jJl&x_a?G6YaBLeZ@8mIlW!9gQUWcsnh!Cd`rRM(->w8Mc9(rh(XXb zhy-XfVhJ`>6;%7jLHQmy39rWp7RfZMtjFe}dc#G&kn3&jKFjseS)>&Us>~(Wgr=|e zuOQCO!(OFWYn^d2=eKvYrk82|2M*8MbRoStgh{<1SJZOnclRuAZFRq0WS?Bpja~0R zP0RXnFbox>mx)zQW<}w`?k<W*T9L2lTGES)ysn}vAWCyxw7=fz_Bh_Tr3d~C^eT;I zU3jkC?M=jXbOch!(6FN3jF^Fcn%(KCc|E>ro$J8-fT!5quMz0sN4;IMep8{C>pZ`= z%k3Oha~B|p)$35ArUhAG>B|draKxE<#fdu_WtJL)lRMVA+v-YjU9sbmcDxNG+i`K% zMtH`l&lNB3QgPfWL(2K>9T+|WgT1V&F&OA;9JQuYHB-pY3qs5W#5^Yt)BIo00KfFQ zRrh5rZg1xI!i2t{C6n>oEDdto$p-Kv-rn=Nd`7!KPY>#db^`IzRs_(>Y@xW!9n2^k zT?aMb7R%xSNXb!7&n`3qbQBAP-tG);(&6qo#%+8%t>AVQ-Hsp|daep#5*Iw$EPCIi zn1(#vcc$mM@r_U1b!#c8IR|%5GTm#5Equv>9)ZUb;0VG(mwss))z;mdS&Ps@mTt0m z;^<a6eDU3_$h~oq!B!ydks%c2h6V+625+3EcjB^3lz~g}{6;ai1f8lKF6VyjaqFKP zwP$L3b3L1+!uCLgnQUiaoqE+1>ulGrhtrg(*GYNdfvTi~Wm`93mEh}O@Y<^G*4~aB z`HO~^OC4>-O1ir=dt)xUem38YYVGap+=Tmsoz2}H?h`L~!x2V^Oh>VMHs3SSH@mzR z#tj1{`z>8T^N`lv(TW)%U-Zoe)L+p8JyJEa(fz0uc<B)>3f3V2ay@u93XQ^Of;TgH zl4-mN2{*bR+R#w|jDff}=QQMcFgswR)~8WVbHVFls5QDRJgFufkLdCnqsvOHe|qyg zq`BiKv~mEp<+6ESxVmE|I)(e*Q{`;f?)5+gxwrN_`c>zkS3xnBfb`(=7a?7c_Cu7y zh-Q>j<8DFdU<2cH3sMgj^13CC@O+>XtjuLMSe;5M9M2f4<EH`Ny;9R8b5z>Zs_k?$ z7jHGiat3c@3h8B<BK;y-uQ~9C8c^tFXQsPgj3nBs(9skjlIsZ$CkgtecwfKGk<9lk z;iTPqQ460g$>!<ixL!%?hVZ~sPz%%ymNx6U=u3lcYr@~L<r{u_F_iiSA9sub*2-hf zVs}y$YH=UPiJWdRr!8(UMm}-|9+8dn9W7-Oc2WOqjhfw8(U**Acdtph1r}x8wHs(n zm0bC%DtD7o)uj6fljAO7IDjZt^!fAY-F2#jeo<p4<DXu_pYcEi#=63cWN$%+nrSdp zdNJ&HeI^k6orMiF6K0)N7-4C}+ue653hUU|(9+U@$q?hS`~EfV5iPo6#9bt5QinUk z@*C<5irhI%A>kc`)=XH(;eiXQHq?q&aCruK^SBy9)vNYY<zX|4IukO77*62u^DZ^r zYa_XWP_^*OTwxA5nD*lFHN3!*i5>+}=iL=UI@d#wKV|V|C3h^tij<X=4BPYSt67zL zL8Pizzk5Dmarz04z<@x;uaM_(g2PtHdUY>|t^rE}dXyw=0OhwmmR^>-_Yipb?DsXi ztj6FKw0cmKgkegEdpcd0sIke5AmSlrAfwZ9R~GC?busOm9jTzVH{-vSK}XWVg1&N5 z=BxLFhfbe?Wru&+tCqHSnE}0A(H-f%B`}u0{uL=E2DQDTc5uv{8Zy_v;Ig_=X=llO zqJ*QkZ$O5&;8ItS5?F&^2%uqtM_6wG71hm*T6p#Dx`z5T=Ic)LB8WDb_#(&^^DaKv z)Bejb`qHCPVO+5AR#jm9FvoA6aAhc<ihT3FyVc=Zs5GcIqN+Srn(n*B!AC20YwYzj z_dZo4KioyvLUhM~*4`c2b?OR?nu+?{wURrenUe#q+SV6}>oc9S2N$@4H7---EH3r@ z@9``-l;Dcdi#Fedg8w2E9*25#GK?r*fcx8}&e`pCy{MnSQ{+kKbIn&Bmpp}Q;8v`4 zwf~JNS$*@H*zr%u91$g3XbfZcWg&WpDvxUJi&n!gMU}Z>>%FpF?5K-4??T;PuXwKE cOD~`8^x{{ZmW$FYWwFic4cRdY3_;HS1t;+EW&i*H diff --git a/ucoinj-ui-wicket/pom.xml b/ucoinj-ui-wicket/pom.xml deleted file mode 100644 index 15e509f2..00000000 --- a/ucoinj-ui-wicket/pom.xml +++ /dev/null @@ -1,500 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj</artifactId> - <version>0.1-SNAPSHOT</version> - </parent> - - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-ui-wicket</artifactId> - <packaging>war</packaging> - <name>uCoinj :: UI Wicket</name> - - <properties> - <performRelease>false</performRelease> - <jetty.reload>automatic</jetty.reload> - - <!-- bundle configuration --> - <bundlePrefix>ucoinj-web-${project.version}</bundlePrefix> - <bundle.jvmArgs>-server -Xmx1g -Xms512m -XX:MaxPermSize=128M -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=50 -XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark</bundle.jvmArgs> - - <!-- Unit test --> - <ucoin.log.file>${project.build.directory}/${bundlePrefix}.log</ucoin.log.file> - <wicket.configuration>development</wicket.configuration> - <synchro-web.config>${project.basedir}/src/test/resources/ucoinj-ui-wicket-test.properties</synchro-web.config> - <ucoinj.log.file>${project.build.directory}/${bundlePrefix}.log</ucoinj.log.file> - </properties> - - <dependencies> - <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core-client</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core-shared</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-elasticsearch</artifactId> - <version>${project.version}</version> - </dependency> - - <!-- WICKET DEPENDENCIES --> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-core</artifactId> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-extensions</artifactId> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-auth-roles</artifactId> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-ioc</artifactId> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-datetime</artifactId> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-spring</artifactId> - </dependency> - <dependency> - <groupId>com.googlecode.wicket-jquery-ui</groupId> - <artifactId>wicket-jquery-ui</artifactId> - <version>${wicket.version}</version> - </dependency> - - <!-- GoogleGSON for WICKET-JQUERY link --> - <dependency> - <groupId>com.google.code.gson</groupId> - <artifactId>gson</artifactId> - </dependency> - - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - </dependency> - - <!-- Spring, for security and rest services --> - <dependency> - <groupId>org.springframework.security</groupId> - <artifactId>spring-security-web</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.security</groupId> - <artifactId>spring-security-config</artifactId> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-core</artifactId> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-beans</artifactId> - <version>${spring.version}</version> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-context</artifactId> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-web</artifactId> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-webmvc</artifactId> - </dependency> - <dependency> - <groupId>org.aspectj</groupId> - <artifactId>aspectjweaver</artifactId> - </dependency> - - <!-- LOGGING DEPENDENCIES - SLF4J --> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - </dependency> - - <!-- JUNIT DEPENDENCY FOR TESTING --> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.eclipse.jetty.aggregate</groupId> - <artifactId>jetty-all</artifactId> - </dependency> - - </dependencies> - <build> - <finalName>${project.parent.artifactId}-${project.version}</finalName> - <resources> - <resource> - <directory>src/main/filtered-resources</directory> - <filtering>true</filtering> - <includes> - <include>*.properties</include> - </includes> - </resource> - <resource> - <directory>src/main/resources</directory> - <filtering>true</filtering> - <includes> - <include>*.properties</include> - </includes> - </resource> - <resource> - <directory>src/main/resources</directory> - <filtering>false</filtering> - <includes> - <include>**/*</include> - </includes> - <excludes> - <exclude>*.properties</exclude> - </excludes> - </resource> - <resource> - <directory>src/main/java</directory> - <filtering>false</filtering> - <includes> - <include>**</include> - </includes> - <excludes> - <exclude>**/*.java</exclude> - </excludes> - </resource> - </resources> - <testResources> - <testResource> - <filtering>false</filtering> - <directory>src/test/resources</directory> - </testResource> - <testResource> - <filtering>false</filtering> - <directory>src/test/java</directory> - <includes> - <include>**</include> - </includes> - <excludes> - <exclude>**/*.java</exclude> - </excludes> - </testResource> - </testResources> - - <plugins> - <plugin> - <artifactId>maven-war-plugin</artifactId> - <configuration> - <!-- excludes the Eclipse output directory --> - <warSourceExcludes>WEB-INF/classes/**/*.*</warSourceExcludes> - <warSourceIncludes>**/*.*</warSourceIncludes> - <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors> - <warName>${bundlePrefix}</warName> - <webResources> - <resource> - <filtering>true</filtering> - <directory>src/main/webapp/META-INF</directory> - <targetPath>META-INF</targetPath> - <includes> - <include>context.xml</include> - </includes> - </resource> - </webResources> - </configuration> - </plugin> - </plugins> - </build> - - <profiles> - - <!-- Run the war into a jetty server --> - <profile> - <id>run</id> - <properties> - <jetty.docroot>${project.build.directory}/jetty-docroot</jetty.docroot> - <jetty.forked.debug.port>4000</jetty.forked.debug.port> - <jetty.forked.jvmArgs> - -XX:+HeapDumpOnOutOfMemoryError -Xrunjdwp:transport=dt_socket,address=${jetty.forked.debug.port},server=y,suspend=n - </jetty.forked.jvmArgs> - <jetty.port>8080</jetty.port> - <maven.jar.main.class>fake</maven.jar.main.class> - </properties> - <build> - <defaultGoal></defaultGoal> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-resources-plugin</artifactId> - <version>2.4.3</version> - <executions> - <execution> - <!-- need to filtering web.xml before launching jetty --> - <id>prepare-jetty-docroot</id> - <phase>prepare-package</phase> - <goals> - <goal>copy-resources</goal> - </goals> - <configuration> - <outputDirectory>${jetty.docroot}</outputDirectory> - <resources> - <resource> - <directory>${project.basedir}/src/main/webapp</directory> - <filtering>true</filtering> - <includes> - <include>WEB-INF/web.xml</include> - </includes> - </resource> - </resources> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-maven-plugin</artifactId> - <executions> - <execution> - <id>run</id> - <phase>prepare-package</phase> - <goals> - <!--goal>run-forked</goal--> - <goal>run</goal> - </goals> - </execution> - </executions> - <configuration> - <war>target/${project.parent.artifactId}-${project.version}.war</war> - <!-- required to run jetty:stop goal --> - <stopPort>9696</stopPort> - <stopKey>ucoinj</stopKey> - <systemProperties> - <systemProperty> - <name>ucoinj-web.config</name> - <value>${project.basedir}/src/test/resources/ucoinj-ui-wicket-test.properties</value> - </systemProperty> - <systemProperty> - <name>jetty.port</name> - <value>${jetty.port}</value> - </systemProperty> - <systemProperty> - <name>log4j.configuration</name> - <value>file://${project.basedir}/src/test/resources/log4j.properties</value> - </systemProperty> - </systemProperties> - <jvmArgs>${jetty.forked.jvmArgs}</jvmArgs> - <reload>${jetty.reload}</reload> - <useProvidedScope>true</useProvidedScope> - <webXml>${jetty.docroot}/WEB-INF/web.xml</webXml> - <scanTargetPatterns> - <scanTargetPattern> - <directory>${project.basedir}/target/classes</directory> - </scanTargetPattern> - <scanTargetPattern> - <directory>${project.basedir}/src/main/webapp</directory> - <excludes> - <exclude>**/*.css</exclude> - <exclude>**/*.png</exclude> - <exclude>**/*.jpg</exclude> - </excludes> - </scanTargetPattern> - </scanTargetPatterns> - </configuration> - <dependencies> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>${slf4j.version}</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <version>${slf4j.version}</version> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <version>${log4j.version}</version> - </dependency> - </dependencies> - </plugin> - - <plugin> - <artifactId>maven-enforcer-plugin</artifactId> - <inherited>false</inherited> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <inherited>false</inherited> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - </plugins> - </build> - </profile> - - <profile> - <id>add-release-properties</id> - <activation> - <property> - <name>performRelease</name> - <value>true</value> - </property> - </activation> - <properties> - <!-- configure log file for tomcat --> - <ucoin.log.file>$\{catalina.base\}/logs/${bundlePrefix}.log</ucoin.log.file> - <!-- wicket servlet into deployment configuration --> - <wicket.configuration>deployment</wicket.configuration> - </properties> - </profile> - - <profile> - <id>minimized-web-resources</id> - <activation> - <!-- FIXME BL : unable this cause a StackOverflowException - property> - <name>performRelease</name> - <value>true</value> - </property--> - </activation> - <build> - <defaultGoal>package</defaultGoal> - <plugins> - <plugin> - <groupId>net.alchim31.maven</groupId> - <artifactId>yuicompressor-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>compress</goal> - </goals> - </execution> - </executions> - <configuration> - <!-- Don't output in the default webapp location, since the war plugin - will overwrite the files in there with the original, uncompressed ones. --> - <webappDirectory>${project.build.directory}/generated-sources/webapp</webappDirectory> - <jswarn>false</jswarn> - <statistics>false</statistics> - <!-- Overwrite existing files --> - <nosuffix>true</nosuffix> - <!-- paths to js and css files (inside src/main/webapp) --> - <includes> - <!--<include>**/*.js</include> LPT 22/08/2013 : javaScript file compression excluded because jquery.tokeninput.js or jquery.watermark.js fails on web render --> - <include>**/*.css</include> - </includes> - <excludes> - <!-- exclude somes js with errors --> - <exclude>**/CPPlaybar.js</exclude> - <!-- exclude minized js and other files --> - <exclude>**/*.min.js</exclude> - <exclude>**/*.min.css</exclude> - <exclude>**/*.java</exclude> - <exclude>**/*.html</exclude> - <exclude>**/*.properties</exclude> - <exclude>**/*.xml</exclude> - <exclude>**/*.png</exclude> - <exclude>**/*.gif</exclude> - <exclude>**/*.jpg</exclude> - <exclude>**/*.jpeg</exclude> - </excludes> - </configuration> - </plugin> - <plugin> - <groupId>com.tunyk.mvn.plugins.htmlcompressor</groupId> - <artifactId>htmlcompressor-maven-plugin</artifactId> - <configuration> - <goalPrefix>htmlcompressor</goalPrefix> - <removeComments>true</removeComments> - <encoding>utf-8</encoding> - <compressCss>true</compressCss> - <compressJavaScript>true</compressJavaScript> - <javascriptHtmlSprite>false</javascriptHtmlSprite> - <removeIntertagSpaces>true</removeIntertagSpaces> - <predefinedPreservePatterns> - <predefinedPreservePattern>SERVER_SCRIPT_TAG_PATTERN</predefinedPreservePattern> - </predefinedPreservePatterns> - <fileExt> - <fileExt>html</fileExt> - </fileExt> - </configuration> - <executions> - <execution> - <id>HTML compression (from files in src/main/webapp)</id> - <phase>process-resources</phase> - <goals> - <goal>html</goal> - </goals> - <configuration> - <srcFolder>${project.basedir}/src/main/webapp</srcFolder> - <targetFolder>${project.build.directory}/generated-sources/webapp</targetFolder> - </configuration> - </execution> - <execution> - <id>HTML compression (from files found in classpath)</id> - <phase>compile</phase> - <goals> - <goal>html</goal> - </goals> - <configuration> - <srcFolder>${project.basedir}/src/main/java</srcFolder> - <targetFolder>${project.build.directory}/classes</targetFolder> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <artifactId>maven-war-plugin</artifactId> - <configuration> - <!-- Add minified resources into the final WAR --> - <webResources> - <resource> - <directory>${project.build.directory}/generated-sources/webapp</directory> - <targetPath>/</targetPath> - <filtering>false</filtering> - </resource> - <resource> - <filtering>true</filtering> - <directory>src/main/webapp/META-INF</directory> - <targetPath>META-INF</targetPath> - <includes> - <include>context.xml</include> - </includes> - </resource> - </webResources> - </configuration> - </plugin> - </plugins> - </build> - </profile> - </profiles> - -</project> diff --git a/ucoinj-ui-wicket/src/main/filtered-resources/log4j.properties b/ucoinj-ui-wicket/src/main/filtered-resources/log4j.properties deleted file mode 100644 index 20b4634c..00000000 --- a/ucoinj-ui-wicket/src/main/filtered-resources/log4j.properties +++ /dev/null @@ -1,30 +0,0 @@ - -# Global logging configuration -log4j.rootLogger=ERROR, stdout, file - -# Console output -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p %m%n - -# file logging (compatible with Ifremer/RIC) -log4j.appender.file=org.apache.log4j.DailyRollingFileAppender -log4j.appender.file.file=${ucoinj.log.file} -log4j.appender.file.DatePattern='.'yyyy-MM-dd -log4j.appender.file.layout=org.apache.log4j.PatternLayout -log4j.appender.file.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %5p (%F:%L) %M %m%n - -# uCoinj levels -log4j.logger.io.ucoin.ucoinj=INFO -#log4j.logger.io.ucoin.ucoinj.core=WARN -#log4j.logger.io.ucoin.ucoinj.elasticsearch=DEBUG - -# Other frameworks levels -log4j.logger.org.nuiton.util=WARN -log4j.logger.org.nuiton.config=WARN -log4j.logger.org.nuiton.converter=WARN -log4j.logger.org.apache.commons.beanutils=WARN -log4j.logger.org.apache.wicket=WARN -log4j.logger.org.elasticsearch=WARN -log4j.logger.org.springframework=DEBUG -log4j.logger.org.springframework.security=TRACE diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.java deleted file mode 100644 index 5b02da5f..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.java +++ /dev/null @@ -1,139 +0,0 @@ -package io.ucoin.ucoinj.web.application; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.elasticsearch.config.ConfigurationOption; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; -import io.ucoin.ucoinj.web.config.WebConfiguration; -import io.ucoin.ucoinj.web.pages.admin.JobManagerPage; -import io.ucoin.ucoinj.web.pages.admin.ToolsPage; -import io.ucoin.ucoinj.web.pages.home.HomePage; -import io.ucoin.ucoinj.web.pages.login.LoginPage; -import io.ucoin.ucoinj.web.pages.registry.CurrencyPage; -import io.ucoin.ucoinj.web.pages.registry.CurrencyRegistryPage; -import io.ucoin.ucoinj.web.pages.wallet.WalletPage; -import io.ucoin.ucoinj.web.service.ServiceLocator; -import org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession; -import org.apache.wicket.authroles.authentication.AuthenticatedWebApplication; -import org.apache.wicket.markup.html.WebPage; -import org.apache.wicket.util.time.Duration; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; - -@Component("wicketApplication") -public class Application extends AuthenticatedWebApplication { - - private static final Logger log = LoggerFactory.getLogger(Application.class); - - private WebConfiguration config; - - public Application() { - config = WebConfiguration.instance(); - } - - /** - * @see org.apache.wicket.Application#init() - */ - @Override - public void init() { - super.init(); - // add the capability to gather extended browser info stuff like screen resolution - getRequestCycleSettings().setGatherExtendedBrowserInfo(true); - // set the default page timeout - getRequestCycleSettings().setTimeout(Duration.minutes(10)); - // set the UTF-8 charset - getRequestCycleSettings().setResponseRequestEncoding("UTF-8"); - getMarkupSettings().setDefaultMarkupEncoding("UTF-8"); - - mountPage("home", getHomePage()); - mountPage("currency/${currencyName}", CurrencyPage.class); - mountPage("admin/tools", ToolsPage.class); - mountPage("admin/jobs", JobManagerPage.class); - mountPage("login", LoginPage.class); - mountPage("wallet", WalletPage.class); - mountPage("currency-form", CurrencyRegistryPage.class); - - getMarkupSettings().setStripWicketTags(true); - - // Starting services - startServices(); - } - - /** - * @see org.apache.wicket.Application#getHomePage() - */ - @Override - public Class getHomePage() { - return HomePage.class; - } - - @Override - protected Class<? extends AbstractAuthenticatedWebSession> getWebSessionClass() { - return WebSession.class; - } - - @Override - protected Class<? extends WebPage> getSignInPageClass() { - return LoginPage.class; - } - - public WebConfiguration getConfiguration() { - return config; - } - - - - /* -- protected methods -- */ - - protected void startServices() { - try { - // Make sure the service locator is initialized - ServiceLocator.initDefault(getServletContext()); - } - catch(TechnicalException e) { - log.error("Error during services initialization: " + e.getMessage()); - throw new TechnicalException("Error during services initialization: " + e.getMessage(), e); - } - - // local node - boolean localEsNode = config.getApplicationConfig().getOptionAsBoolean(ConfigurationOption.LOCAL_ENABLE.getKey()); - if (localEsNode) { - - // Make sure main index exists - RegistryCurrencyIndexerService currencyIndexerService = ServiceLocator.instance().getRegistryCurrencyIndexerService(); - currencyIndexerService.createIndexIfNotExists(); - - // Make sure currency from default peer exists - try { - Peer peer = new Peer(config.getNodeHost(), config.getNodePort()); - currencyIndexerService.indexCurrencyFromPeer(peer); - } - catch(Exception e) { - } - } - } -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.properties b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.properties deleted file mode 100644 index ccd23379..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.properties +++ /dev/null @@ -1,22 +0,0 @@ -base.pageTitle=uCoin registry -base.homeLink=Home -home.headerTitle=<h1>Welcome to <b>uCoin</b> registry</h1><h2>A open registry for all your <i>uCoin</i> currencies</h2> -base.footer=UCoin client v${version} -login.salt=Login or email (your crypto salt) -login.password=Password -login.header=Login -login.button=Login -login.failed=Authentification Failed - -home.search.hint=Search a currency name -home.searchButton=Search -home.result.divider.currency=Currencies -searchText=Search - -tools.startIndexLastBlocks=Index new blocks - -jobmanager.title=Job manager -jobmanager.jobs=Number of running jobs: ${jobCount} -jobmanager.issuer=User: ${issuer} - -currency.header=Currency \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application_fr.utf8.properties b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application_fr.utf8.properties deleted file mode 100644 index 277f57db..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application_fr.utf8.properties +++ /dev/null @@ -1,19 +0,0 @@ -base.homeLink=Accueil -base.pageTitle=uCoin registry -home.headerTitle=<h1>Bienvenue dans <b>uCoin</b> registry</h1><h2>Un registre ouvert pour toutes vos monnaies <i>uCoin</i></h2> -base.footer=uCoin registry v${version} -home.title=uCoin registry - Discover free currencies -home.search.hint=Rechercher une monnaie -home.searchButton=Rechercher -home.result.divider.currency=Monnaies -searchText=Rechercher - -currency.register.pubkey=Votre clef publique (dans la monnaie) -currency.register.currencyJson=Information (format JSON) de la monnaie -currency.register.signature=Signature (du champ pr�c�dent) - -tools.startIndexLastBlocks=Indexer les nouveaux blocks - -jobmanager.title=Gestionnaire de traitements -jobmanager.jobs=Nombre d'importation en cours : ${jobCount} -jobmanager.issuer=Utilisateur : ${issuer} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/WebSession.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/WebSession.java deleted file mode 100644 index 3df54962..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/WebSession.java +++ /dev/null @@ -1,75 +0,0 @@ -package io.ucoin.ucoinj.web.application; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import org.apache.wicket.authroles.authentication.AuthenticatedWebSession; -import org.apache.wicket.authroles.authorization.strategies.role.Roles; -import org.apache.wicket.request.Request; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.AuthenticationException; -import org.springframework.security.core.context.SecurityContextHolder; - -public class WebSession extends AuthenticatedWebSession { - final static Logger log = LoggerFactory.getLogger(WebSession.class); - - private static final long serialVersionUID = 1L; - - public WebSession(Request request) { - super(request); - } - - @Override - public Roles getRoles() { - return null; - } - - @Override - public boolean authenticate(String username, String password) throws AuthenticationException { - /*ServiceLocator serviceLocator = ServiceLocator.instance(); - boolean authenticated; - try { - Authentication authentication = serviceLocator.getAuthenticationManager().authenticate(new UsernamePasswordAuthenticationToken(username, password)); - SecurityContextHolder.getContext().setAuthentication(authentication); - authenticated = authentication.isAuthenticated(); - } catch (AuthenticationException e) { - String errorMessage = String.format("Authentication failed for user '%s' with error : %s", username, e.getLocalizedMessage()); - if (log.isDebugEnabled()) { - log.warn(errorMessage, e); - } - else { - log.warn(errorMessage, e); - } - throw e; - } - return authenticated; - */ - return true; - } - - - -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/behavior/FocusOnLoadBehavior.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/behavior/FocusOnLoadBehavior.java deleted file mode 100644 index bfc7e6f4..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/behavior/FocusOnLoadBehavior.java +++ /dev/null @@ -1,53 +0,0 @@ -package io.ucoin.ucoinj.web.components.behavior; - -/* - * #%L - * SIH-Adagio Extractor web UI - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import org.apache.wicket.Component; -import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.markup.head.IHeaderResponse; -import org.apache.wicket.markup.head.OnDomReadyHeaderItem; - -public class FocusOnLoadBehavior extends AbstractDefaultAjaxBehavior { - /** - * Focus the component after loading - */ - private static final long serialVersionUID = -4369132303242175903L; - - @Override - public void renderHead(Component component, IHeaderResponse response) { - super.renderHead(component, response); - String javascript = "setTimeout(\"$('#" + component.getMarkupId() + "').focus()\", 100);" ; - response.render(OnDomReadyHeaderItem.forScript(javascript)); - } - - @Override - protected void respond(AjaxRequestTarget target) { - } - - @Override - public boolean isTemporary(Component component) { - return true; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.html deleted file mode 100644 index d78c4425..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.html +++ /dev/null @@ -1,28 +0,0 @@ -<!-- - #%L - SIH-Adagio Extractor web UI - %% - Copyright (C) 2012 - 2013 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="https://git1-us-west.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket.xsd;hb=HEAD"> - <wicket:panel> - <span wicket:id="taskLabel">[task]</span> - <div wicket:id="progress"></div> - <div wicket:id="feedback" style="width: 100%;"></div> - </wicket:panel> -</html> diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.java deleted file mode 100644 index 3e2d463a..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.java +++ /dev/null @@ -1,172 +0,0 @@ -package io.ucoin.ucoinj.web.components.progressionModel; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.googlecode.wicket.jquery.ui.panel.JQueryFeedbackPanel; -import com.googlecode.wicket.jquery.ui.widget.progressbar.ProgressBar; -import io.ucoin.ucoinj.core.model.ProgressionModel; -import org.apache.wicket.ajax.AbstractAjaxTimerBehavior; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.panel.FeedbackPanel; -import org.apache.wicket.markup.html.panel.Panel; -import org.apache.wicket.model.IModel; -import org.apache.wicket.model.PropertyModel; -import org.apache.wicket.util.time.Duration; - - -public class ProgressionPanel extends Panel { - private static final long serialVersionUID = 1L; - - private final AbstractAjaxTimerBehavior timer; - private final ProgressBar progressBar; - private final FeedbackPanel feedback; - private final Label taskLabel; - - private boolean stopped = false; - - public ProgressionPanel(String id, IModel<ProgressionModel> model) { - super(id, model); - - // Timer - timer = new AbstractAjaxTimerBehavior(Duration.ONE_SECOND) { - private static final long serialVersionUID = 1L; - - @Override - protected void onTimer(AjaxRequestTarget target) { - if (stopped) { - ProgressionPanel.this.stop(target); - return; - } - ProgressionModel progressionModel = getModelObject(); - if (progressionModel != null) { - synchronized (progressionModel) { - if (progressionModel.getStatus() == ProgressionModel.Status.FAILED || - progressionModel.getStatus() == ProgressionModel.Status.STOPPED) { - error(progressionModel.getMessage()); - } else { - info(progressionModel.getMessage()); - } - } - } - progressBar.refresh(target); - target.add(feedback, progressBar, taskLabel); - } - }; - add(timer); - - // Job label - taskLabel = new Label("taskLabel", new PropertyModel<String>(model, "task")); - taskLabel.setOutputMarkupId(true); - add(taskLabel); - - // ProgressBar - this.progressBar = new ProgressBar("progress", new PropertyModel<Integer>(model, "current")) { - - private static final long serialVersionUID = 1L; - - @Override - protected void onComplete(AjaxRequestTarget target) - { - timer.stop(target); // wicket6 - getFeedbackMessages().clear(); - - ProgressionPanel.this.onComplete(target); - - } - }; - // progressBar.add(new AjaxSelfUpdatingTimerBehavior(Duration.ONE_SECOND)); - progressBar.setOutputMarkupId(true); - progressBar.setVisibilityAllowed(true); - add(progressBar); - - // FeedbackPanel - feedback = new JQueryFeedbackPanel("feedback", this); - feedback.setOutputMarkupId(true); - add(feedback); - - } - - @Override - protected void onConfigure() { - super.onConfigure(); - - ProgressionModel progressionModel = getModelObject(); - if (progressionModel != null) { - synchronized (progressionModel) { - if (progressionModel.getStatus() == ProgressionModel.Status.FAILED || - progressionModel.getStatus() == ProgressionModel.Status.STOPPED) { - error(progressionModel.getMessage()); - } - else { - info(progressionModel.getMessage()); - } - } - } - } - - public void setModelObject(ProgressionModel progressionModel) { - if (getDefaultModelObject() != progressionModel) { - setDefaultModelObject(progressionModel); - } - } - - public void setModel(IModel<ProgressionModel> model) { - setDefaultModel(model); - } - - public void restart(AjaxRequestTarget target) { - stopped = false; - if (timer.isStopped()) { - timer.restart(target); - } - } - - public void stop(AjaxRequestTarget target) { - if (!timer.isStopped()) { - timer.stop(target); - } - stopped = true; - } - - public void onComplete(AjaxRequestTarget target) { - // could be override by subclass - } - - public IModel<ProgressionModel> getModel() { - @SuppressWarnings("unchecked") - IModel<ProgressionModel> result = (IModel<ProgressionModel>) getDefaultModel(); - return result; - } - - public ProgressionModel getModelObject() { - return (ProgressionModel)getDefaultModelObject(); - } - - /* -- Internal methods -- */ - - - -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfiguration.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfiguration.java deleted file mode 100644 index 7dcd51c4..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfiguration.java +++ /dev/null @@ -1,197 +0,0 @@ -package io.ucoin.ucoinj.web.config; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.config.ConfigurationOption; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; -import org.nuiton.config.ApplicationConfig; -import org.nuiton.util.version.Version; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer; - -import javax.naming.InitialContext; -import javax.naming.NamingException; -import java.io.File; -import java.util.Locale; -import java.util.Properties; - -public class WebConfiguration extends PropertyPlaceholderConfigurer { - - private static final String CONFIG_FILE_NAME = "ucoinj-web.config"; - - private static final String CONFIG_FILE_ENV_PROPERTY = CONFIG_FILE_NAME; - - private static final String CONFIG_FILE_JNDI_NAME = "java:comp/env/" + CONFIG_FILE_NAME; - - /* Logger */ - private static final Logger log = LoggerFactory.getLogger(WebConfiguration.class); - - private static WebConfiguration instance; - - public static WebConfiguration instance() { - return instance; - } - - static { - String configFile = getWebConfigFile(); - if (log.isDebugEnabled()) { - log.debug(String.format("Loading configuration from file [%s]", configFile)); - } - if (new File(configFile).exists() == false) { - log.warn(String.format("Configuration file not found [%s]. Make sure the path is correct.", configFile)); - } - instance = new WebConfiguration(configFile); - } - - private Configuration delegate; - - public WebConfiguration(String file, String... args) { - delegate = new Configuration(file, args); - Configuration.setInstance(delegate); - - io.ucoin.ucoinj.elasticsearch.config.Configuration esConfig = new io.ucoin.ucoinj.elasticsearch.config.Configuration(getApplicationConfig()); - io.ucoin.ucoinj.elasticsearch.config.Configuration.setInstance(esConfig); - - // Init Crypto (NaCL lib...) - initCrypto(); - } - - public Version getVersion() { - return delegate.getVersion(); - } - - public Locale getI18nLocale() { - return delegate.getI18nLocale(); - } - - public ApplicationConfig getApplicationConfig() { - return delegate.getApplicationConfig(); - } - - public String getVersionAsString() { - return getVersion().toString(); - } - - public String getUserPubkey() { - String pubkey = getApplicationConfig().getOption(WebConfigurationOption.USER_PUBKEY.getKey()); - if (StringUtils.isBlank(pubkey)) { - return null; - } - - // Compute the key (from salt/password) - pubkey = computeUserPubkey(); - if (StringUtils.isBlank(pubkey)) { - return null; - } - - // Store computed pubkey back into config - getApplicationConfig().setOption(WebConfigurationOption.USER_PUBKEY.getKey(), pubkey); - return pubkey; - } - - public String getNodeHost() { - return delegate.getNodeHost(); - } - - public int getNodePort() { - return delegate.getNodePort(); - } - - /* -- Internal methods -- */ - protected static String getWebConfigFile() { - // Could override config file name (useful for dev) - String configFile = CONFIG_FILE_NAME; - if (System.getProperty(CONFIG_FILE_ENV_PROPERTY) != null) { - configFile = System.getProperty(CONFIG_FILE_ENV_PROPERTY); - configFile = configFile.replaceAll("\\\\", "/"); - } - else { - try { - InitialContext ic = new InitialContext(); - String jndiPathToConfFile = (String) ic.lookup(CONFIG_FILE_JNDI_NAME); - if (StringUtils.isNotBlank(jndiPathToConfFile)) { - configFile = jndiPathToConfFile; - } - } catch (NamingException e) { - log.warn(String.format("Error while reading JNDI initial context. Skip configuration path override, from context [%s]", CONFIG_FILE_JNDI_NAME)); - } - } - - return configFile; - } - - protected void initCrypto() { - if (log.isInfoEnabled()) { - log.info("Starts Sodium (NaCL) library"); - } - - try { - // This call will load the sodium library - ServiceLocator.instance().getCryptoService(); - } catch (Throwable e) { - throw new TechnicalException("Crypto lib (NaCL) initialization failed. Make sure sodium has been installed (or add library into a ./lib directory).", e); - } - } - - /** - * Compute the user pubkey, from salt+password in config. - * If salt or password are missed, return null - * @return - */ - protected String computeUserPubkey() { - String salt = getApplicationConfig().getOption(WebConfigurationOption.USER_SALT.getKey()); - String password = getApplicationConfig().getOption(WebConfigurationOption.USER_PASSWORD.getKey()); - if (io.ucoin.ucoinj.core.util.StringUtils.isNotBlank(salt) - && io.ucoin.ucoinj.core.util.StringUtils.isNotBlank(password)) { - byte[] pubKey = ServiceLocator.instance().getCryptoService().getKeyPair(salt, password).getPubKey(); - return CryptoUtils.encodeBase58(pubKey); - } - else { - return null; - } - } - - @Override - protected String resolvePlaceholder(String placeholder, Properties props) { - if (getApplicationConfig() == null) { - throw new TechnicalException( - "delegate.getApplicationConfig() must not be null. Please initialize Configuration instance with a not null applicationConfig BEFORE starting Spring."); - } - - // Try to resolve placeholder from application configuration - String optionValue = getApplicationConfig().getOption(placeholder); - if (optionValue != null) { - return optionValue; - } - - // If not found in configuration, delegate to the default Spring mecanism - return super.resolvePlaceholder(placeholder, props); - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationOption.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationOption.java deleted file mode 100644 index 4ff05152..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationOption.java +++ /dev/null @@ -1,159 +0,0 @@ -package io.ucoin.ucoinj.web.config; - -/* - * #%L - * Tutti :: Persistence - * $Id: TuttiConfigurationOption.java 1441 2013-12-09 20:13:47Z tchemit $ - * $HeadURL: http://svn.forge.codelutin.com/svn/tutti/trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java $ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.nuiton.config.ConfigOptionDef; -import org.nuiton.util.Version; - -import java.io.File; -import java.net.URL; -import java.util.Locale; - -import static org.nuiton.i18n.I18n.n; - -/** - * All application configuration options. - * - * @author Benoit Lavenier <benoit.lavenier@e-is.pro> - * @since 1.0 - */ -public enum WebConfigurationOption implements ConfigOptionDef { - - // ------------------------------------------------------------------------// - // -- READ-WRITE OPTIONS ---------------------------------------------------// - // ------------------------------------------------------------------------// - - SECURITY_TYPE( - "ucoinj.security.type", - n("ucoinj.config.option.security.type.description"), - "pubkey", - String.class, - false), - - USER_SALT( - "ucoinj.salt", - n("ucoinj.config.option.salt.description"), - "", - String.class, - false), - - USER_PASSWORD( - "ucoinj.password", - n("ucoinj.config.option.password.description"), - "", - String.class, - false), - - USER_PUBKEY( - "ucoinj.pubkey", - n("ucoinj.config.option.pubkey.description"), - "", - String.class, - false), - ; - - /** Configuration key. */ - private final String key; - - /** I18n key of option description */ - private final String description; - - /** Type of option */ - private final Class<?> type; - - /** Default value of option. */ - private String defaultValue; - - /** Flag to not keep option value on disk */ - private boolean isTransient; - - /** Flag to not allow option value modification */ - private boolean isFinal; - - WebConfigurationOption(String key, - String description, - String defaultValue, - Class<?> type, - boolean isTransient) { - this.key = key; - this.description = description; - this.defaultValue = defaultValue; - this.type = type; - this.isTransient = isTransient; - this.isFinal = isTransient; - } - - WebConfigurationOption(String key, - String description, - String defaultValue, - Class<?> type) { - this(key, description, defaultValue, type, true); - } - - @Override - public String getKey() { - return key; - } - - @Override - public Class<?> getType() { - return type; - } - - @Override - public String getDescription() { - return description; - } - - @Override - public String getDefaultValue() { - return defaultValue; - } - - @Override - public boolean isTransient() { - return isTransient; - } - - @Override - public boolean isFinal() { - return isFinal; - } - - @Override - public void setDefaultValue(String defaultValue) { - this.defaultValue = defaultValue; - } - - @Override - public void setTransient(boolean newValue) { - // not used - } - - @Override - public void setFinal(boolean newValue) { - // not used - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationProvider.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationProvider.java deleted file mode 100644 index b53a225e..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationProvider.java +++ /dev/null @@ -1,63 +0,0 @@ -package io.ucoin.ucoinj.web.config; - -/* - * #%L - * Tutti :: Persistence - * $Id: TuttiConfigurationProvider.java 1418 2013-12-01 21:18:22Z tchemit $ - * $HeadURL: http://svn.forge.codelutin.com/svn/tutti/trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationProvider.java $ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import io.ucoin.ucoinj.elasticsearch.config.ConfigurationAction; -import io.ucoin.ucoinj.elasticsearch.config.ConfigurationOption; -import org.nuiton.config.ApplicationConfigProvider; -import org.nuiton.config.ConfigActionDef; -import org.nuiton.config.ConfigOptionDef; - -import java.util.Locale; - -import static org.nuiton.i18n.I18n.l; - -/** - * Config provider (for site generation). - * - * @author Benoit Lavenier <benoit.lavenier@e-is.pro> - */ -public class WebConfigurationProvider implements ApplicationConfigProvider { - - @Override - public String getName() { - return "ucoinj-web"; - } - - @Override - public String getDescription(Locale locale) { - return l(locale, "ucoinj-web.config"); - } - - @Override - public ConfigOptionDef[] getOptions() { - return WebConfigurationOption.values(); - } - - @Override - public ConfigActionDef[] getActions() { - return new ConfigActionDef[0]; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/model/WicketProgressionModel.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/model/WicketProgressionModel.java deleted file mode 100644 index ef718da5..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/model/WicketProgressionModel.java +++ /dev/null @@ -1,45 +0,0 @@ -package io.ucoin.ucoinj.web.model; - -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import org.apache.wicket.model.LoadableDetachableModel; - -public class WicketProgressionModel extends LoadableDetachableModel<io.ucoin.ucoinj.core.model.ProgressionModel> { - - private static final long serialVersionUID = 1L; - - private final String jobId; - - public WicketProgressionModel(String jobId) { - this.jobId = jobId; - } - - @Override - protected io.ucoin.ucoinj.core.model.ProgressionModel load() { - io.ucoin.ucoinj.core.model.ProgressionModel object = ServiceLocator.instance().getExecutorService().getProgressionByJobId(jobId); - return object; - } - - -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.html deleted file mode 100644 index 3dd8b4a5..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.html +++ /dev/null @@ -1,70 +0,0 @@ -<!-- - #%L - UCoin Java Client :: Web - %% - Copyright (C) 2014 - 2015 EIS - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> - <title wicket:id="pageTitle">uCoinj :: Web</title> - - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <meta wicket:id="contentLanguage" http-equiv="Content-Language" content=""> - <meta name="format-detection" content="telephone=no"> - <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1"> - <meta name="apple-mobile-web-app-capable" content="yes"> - <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> - <meta name="msapplication-tap-highlight" content="no"> - <meta charset=utf-8 /> - - <link rel="shortcut icon" href="favicon.ico"> - - <link type="text/css" rel="stylesheet" href="css/jquery-mobile/jquery.mobile-1.4.5.min.css"> - <link type="text/css" rel="stylesheet" href="css/ucoinj/jquery.mobile.override.css"> - <link type="text/css" rel="stylesheet" href="css/ucoinj/ucoinj.css"/> - - <script src="js/jquery-2.1.4.min.js"></script> - <script src="js/jquery.mobile-1.4.5.min.js"></script> - <script src="js/scrypt-em.js"></script> - <script src="js/nacl_factory.js"></script> - <script src="js/base58.js"></script> - <script src="js/base64.js"></script> - <script src="js/ucoinj.js"></script> - <script src="js/app.js"></script> - - <wicket:header-items/> - -</head> -<body class="ui-mobile-viewport ui-overlay-a"> - <div data-role="page" data-theme="a"> - <div wicket:id="feedback"></div> - - <div role="main" class="ui-content"> - <wicket:child /> - </div> - - <div data-role="footer" data-position="fixed" data-theme="d"> - <!-- TODO fix this (bad URL when in /currency/metab_brouzouf) - <wicket:link> - <a href="home/HomePage.html" data-icon="home" class="ui-btn-right"><wicket:message key="base.homeLink">[home]</wicket:message></a> - </wicket:link>--> - <h1><wicket:message key="base.footer"><span wicket:id="version">[version]</span></wicket:message></h1> - </div> - </div> -</body> -</html> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.java deleted file mode 100644 index cf097cc3..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.java +++ /dev/null @@ -1,88 +0,0 @@ -package io.ucoin.ucoinj.web.pages; - -/* - * #%L - * SIH-Adagio Extractor web UI - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import com.googlecode.wicket.jquery.ui.panel.JQueryFeedbackPanel; -import io.ucoin.ucoinj.web.application.Application; -import io.ucoin.ucoinj.web.application.WebSession; -import io.ucoin.ucoinj.web.config.WebConfiguration; -import org.apache.wicket.AttributeModifier; -import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.WebPage; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.panel.FeedbackPanel; -import org.apache.wicket.model.StringResourceModel; -import org.apache.wicket.request.mapper.parameter.PageParameters; - -public class BasePage extends WebPage { - - private static final long serialVersionUID = 2589483412605551035L; - - private FeedbackPanel feedback = null; - - public BasePage(final PageParameters parameters) { - WebSession session = (WebSession)getSession(); - - // page title - add(new Label("pageTitle", new StringResourceModel("base.pageTitle", this, null))); - - // contentLanguage - WebMarkupContainer contentLanguage = new WebMarkupContainer("contentLanguage"); - contentLanguage.add(new AttributeModifier("content", session.getLocale().toString())); - add(contentLanguage); - - feedback = new JQueryFeedbackPanel("feedback"); - feedback.setOutputMarkupId(true); - add(feedback); - - // In NOT compact mode : update version - String version = getConfiguration().getVersionAsString(); - if (version == null) { - version = ""; - } - add(new Label("version", version)); - } - - - public final WebSession getWebSession() { - return (WebSession)getSession(); - } - - public final Application getWebApplication() { - return (Application)getApplication(); - } - - public final WebConfiguration getConfiguration() { - return getWebApplication().getConfiguration(); - } - - - public void setUseGlobalFeedback(boolean useGlobalFeedback) { - feedback.setVisibilityAllowed(useGlobalFeedback); - } - - protected FeedbackPanel getFeedbackPanel() { - return feedback; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.html deleted file mode 100644 index 2b20feaf..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.html +++ /dev/null @@ -1,53 +0,0 @@ -<!-- - #%L - SIH-Adagio :: UI for Core Allegro - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2012 - 2014 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html - xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Job manager</title> -</head> -<body> - <wicket:extend> - - <!-- Import --> - <div class="subtitle"> - <wicket:message key="jobmanager.jobs"> - <span wicket:id="jobCount">[jobCount]</span> - </wicket:message> - </div> - <p> - <ul> - <li class="jm-list" wicket:id="jobList"> - <div class="jm-user"> - <wicket:message key="jobmanager.issuer"> - <span wicket:id="issuer">[issuer]</span> - </wicket:message> - </div> - <div class="jm-progressbar" wicket:id="progress">[progress]</div> - </li> - </ul> - </p> - </wicket:extend> -</body> -</html> diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.java deleted file mode 100644 index a1ca2dec..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.java +++ /dev/null @@ -1,102 +0,0 @@ -package io.ucoin.ucoinj.web.pages.admin; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.web.components.progressionModel.ProgressionPanel; -import io.ucoin.ucoinj.web.model.WicketProgressionModel; -import io.ucoin.ucoinj.web.pages.BasePage; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.task.JobVO; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.AjaxSelfUpdatingTimerBehavior; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.list.ListItem; -import org.apache.wicket.markup.html.list.ListView; -import org.apache.wicket.model.IModel; -import org.apache.wicket.model.LoadableDetachableModel; -import org.apache.wicket.model.PropertyModel; -import org.apache.wicket.model.StringResourceModel; -import org.apache.wicket.request.mapper.parameter.PageParameters; -import org.apache.wicket.util.time.Duration; - -import java.util.List; - -public class JobManagerPage extends BasePage { - - private static final long serialVersionUID = 1L; - - public JobManagerPage(PageParameters pageParameters) { - super(pageParameters); - - // Create models (list of progressionModel) - LoadableDetachableModel<List<JobVO>> jobListModel = new LoadableDetachableModel<List<JobVO>>() { - private static final long serialVersionUID = 1L; - - @Override - protected List<JobVO> load() { - return ServiceLocator.instance().getExecutorService().getAllJobs(); - } - }; - - add(new Label("jobCount", new PropertyModel<Integer>(jobListModel, "size"))); - - // List of import jobs - ListView<JobVO> jobListView = new ListView<JobVO>("jobList", jobListModel) { - private static final long serialVersionUID = 1L; - - @Override - protected void populateItem(ListItem<JobVO> item) { - // User infos - item.add(new Label("issuer", new PropertyModel<Integer>(item.getModel(), "issuer"))); - - // Progress bar - String jobId = item.getModelObject().getId(); - ProgressionPanel progressionPanel = new ProgressionPanel("progress", new WicketProgressionModel(jobId)) { - private static final long serialVersionUID = 1L; - - @Override - public void onComplete(AjaxRequestTarget target) { - stop(target); - } - }; - progressionPanel.setOutputMarkupId(true); - progressionPanel.setOutputMarkupPlaceholderTag(true); - item.add(progressionPanel); - } - }; - jobListView.setOutputMarkupId(true); - add(jobListView); - - add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(5))); - } - - /* -- internal methods -- */ - - protected IModel<String> getPageTitleModel() { - return new StringResourceModel("jobmanager.title", this, null); - } - -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.html deleted file mode 100644 index d271bbdd..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.html +++ /dev/null @@ -1,40 +0,0 @@ -<!-- - #%L - SIH-Adagio :: UI for Core Allegro - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2012 - 2014 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html - xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Tools</title> -</head> -<body> - <wicket:extend> - <div wicket:id="progress"></div> - - <form wicket:id="form"> - <a href="#" data-role="button" data-icon="refresh" data-iconpos="left" wicket:id="startIndexLastBlocksButton"><wicket:message key="tools.startIndexLastBlocks">[tools.startIndexLastBlocks]</wicket:message></a> - - </form> - </wicket:extend> -</body> -</html> diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.java deleted file mode 100644 index 4fa9d979..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.java +++ /dev/null @@ -1,197 +0,0 @@ -package io.ucoin.ucoinj.web.pages.admin; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.core.model.ProgressionModelImpl; -import io.ucoin.ucoinj.web.components.progressionModel.ProgressionPanel; -import io.ucoin.ucoinj.web.model.WicketProgressionModel; -import io.ucoin.ucoinj.web.pages.BasePage; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.model.ProgressionModel; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.task.Job; -import org.apache.commons.lang3.StringUtils; -import org.apache.wicket.ajax.AbstractAjaxTimerBehavior; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.markup.html.form.AjaxButton; -import org.apache.wicket.markup.html.form.Form; -import org.apache.wicket.model.CompoundPropertyModel; -import org.apache.wicket.model.IModel; -import org.apache.wicket.model.Model; -import org.apache.wicket.model.StringResourceModel; -import org.apache.wicket.request.mapper.parameter.PageParameters; -import org.apache.wicket.util.time.Duration; - -public class ToolsPage extends BasePage { - private static final long serialVersionUID = 1L; - - private final ProgressionPanel progressionPanel; - - private boolean isIndexingLastBlocksRunning; - - private AbstractAjaxTimerBehavior selfUpdatingTimer; - - private WicketProgressionModel progressionModel; - - public ToolsPage(final PageParameters parameters) { - super(parameters); - - IModel<ToolsPage> model = new CompoundPropertyModel<ToolsPage>(this); - - isIndexingLastBlocksRunning = false; - - // Progression panel - progressionModel = new WicketProgressionModel(getSession().getId()); - progressionPanel = new ProgressionPanel("progress", progressionModel) { - private static final long serialVersionUID = 1L; - @Override - protected void onConfigure() { - super.onConfigure(); - setVisibilityAllowed(isIndexingLastBlocksRunning); - } - - @Override - public void onComplete(AjaxRequestTarget target) { - ToolsPage.this.onIndexLastBlocksComplete(target); - } - }; - progressionPanel.setOutputMarkupId(true); - progressionPanel.setOutputMarkupPlaceholderTag(true); - add(progressionPanel); - - Form<ToolsPage> form = new Form<ToolsPage>("form", model); - form.setOutputMarkupId(true); - add(form); - - AjaxButton startIndexLastBlocksButton = new AjaxButton("startIndexLastBlocksButton", form) { - private static final long serialVersionUID = 1L; - - @Override - protected void onAfterSubmit(AjaxRequestTarget target, Form<?> form) { - super.onAfterSubmit(target, form); - startIndexLastBlocks(target); - } - }; - form.add(startIndexLastBlocksButton); - - // auto refresh - selfUpdatingTimer = new AbstractAjaxTimerBehavior(Duration.seconds(5)) { - @Override - protected void onTimer(AjaxRequestTarget target) { - //String message = new StringResourceModel("tools.refreshLastUpdateDate.done", ToolsPage.this, new Model<ToolsPage>(ToolsPage.this)).getString(); - stop(target); - - //info(message); - target.add(ToolsPage.this); - } - }; - selfUpdatingTimer.stop(null); - add(selfUpdatingTimer); - } - - @Override - protected void onConfigure() { - super.onConfigure(); - ProgressionModel progression = progressionModel.getObject(); - - if (progression != null) { - // Refresh fields - isIndexingLastBlocksRunning = progression != null && (progression.getStatus() == ProgressionModel.Status.WAITING_EXECUTION - || progression.getStatus() == ProgressionModel.Status.RUNNING); - if (isIndexingLastBlocksRunning) { - getFeedbackPanel().setVisibilityAllowed(false); - } - } - else { - isIndexingLastBlocksRunning = false; - } - } - - /* -- internal methods -- */ - - protected IModel<String> getPageTitleModel() { - return new StringResourceModel("tools.title", this, null); - } - - protected void startIndexLastBlocks(AjaxRequestTarget target) { - isIndexingLastBlocksRunning = true; - final ProgressionModel progressionModel = new ProgressionModelImpl(); - Runnable runnable = new Runnable() { - @Override - public void run() { - Peer peer = checkConfigAndGetPeer(Configuration.instance()); - if (peer != null) { - try { - ServiceLocator.instance().getBlockIndexerService().indexLastBlocks(peer, progressionModel); - } - catch(Exception e) { - } - finally { - isIndexingLastBlocksRunning = false; - } - } - - } - }; - - ServiceLocator.instance().getExecutorService().execute(runnable, - getWebSession().getId(), - "admin", - getWebSession().getLocale(), - progressionModel); - - //progressionPanel.setModel(new Model<>(progressionModel)); - progressionPanel.setDefaultModelObject(progressionModel); - progressionPanel.restart(target); - - // Mask feedback panel, to avoid multiple message) - getFeedbackPanel().setVisibilityAllowed(false); - - target.add(ToolsPage.this); - } - - protected Peer checkConfigAndGetPeer(Configuration config) { - if (StringUtils.isBlank(config.getNodeHost())) { - return null; - } - if (config.getNodePort() <= 0) { - return null; - } - - Peer peer = new Peer(config.getNodeHost(), config.getNodePort()); - return peer; - } - - - protected void onIndexLastBlocksComplete(AjaxRequestTarget target) { - // Restore the UI - progressionPanel.setVisibilityAllowed(false); - getFeedbackPanel().setVisibilityAllowed(true); - - target.add(this); - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.html deleted file mode 100644 index 8f148496..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.html +++ /dev/null @@ -1,69 +0,0 @@ -<!-- - #%L - UCoin Java Client :: Web - %% - Copyright (C) 2014 - 2015 EIS - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title>Home</title> - <wicket:head> - <style type="text/css"> - </style> - </wicket:head> -</head> -<body> -<wicket:extend> - - <div class="container"> - <span class="ui-page-theme-b"> - <wicket:message key="home.headerTitle">[home.headerTitle]</wicket:message> - </span> - <form wicket:id="searchForm"> - <div class="inline-form"> - <div class="wrapper"> - <div class="content"> - <input type="text" data-clear-btn="true" data-type="search" name="search-text" id="search-text" value="" wicket:id="searchText" wicket:message="placeholder:home.search.hint"> - </div> - </div> - <div class="right"> - <input data-icon="search" data-inline="true" data-mini="true" name="search" type="submit" - wicket:message="value:home.searchButton" wicket:id="searchButton"/> - </div> - <div class="footer"/> - </div> - <br/> - <div wicket:id="feedback" style="width: 360px;"></div> - </form> - </div> - - <div wicket:id="resultParent" class="resultContainer"> - <ul data-role="listview" data-inset="true" class="ui-listview ui-listview-inset ui-corner-all ui-shadow"> - <li data-role="list-divider" role="heading" class="ui-li-divider ui-bar-inherit ui-first-child"> - <wicket:message key="home.result.divider.currency">[home.result.divider.currency]</wicket:message> - </li> - <li wicket:id="resultItems"> - <a href="#" class="ui-btn ui-btn-icon-right ui-icon-carat-r" wicket:id="openCurrencyLink"><span wicket:id="currencyName"/></a> - </li> - <!-- class="ui-btn ui-btn-icon-right ui-icon-carat-r" --> - </ul> - </div> -</wicket:extend> -</body> -</html> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.java deleted file mode 100644 index 2c7c9635..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.java +++ /dev/null @@ -1,244 +0,0 @@ -package io.ucoin.ucoinj.web.pages.home; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -//import com.googlecode.wicket.jquery.ui.form.autocomplete.AutoCompleteTextField; - -import com.googlecode.wicket.jquery.ui.panel.JQueryFeedbackPanel; -import io.ucoin.ucoinj.elasticsearch.model.SearchResult; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.web.pages.BasePage; -import io.ucoin.ucoinj.web.pages.registry.CurrencyPage; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior; -import org.apache.wicket.ajax.markup.html.form.AjaxButton; -import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteTextField; -import org.apache.wicket.extensions.ajax.markup.html.autocomplete.IAutoCompleteRenderer; -import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.form.Button; -import org.apache.wicket.markup.html.form.Form; -import org.apache.wicket.markup.html.link.BookmarkablePageLink; -import org.apache.wicket.markup.html.list.ListItem; -import org.apache.wicket.markup.html.list.ListView; -import org.apache.wicket.markup.html.panel.FeedbackPanel; -import org.apache.wicket.model.PropertyModel; -import org.apache.wicket.model.util.ListModel; -import org.apache.wicket.request.Response; -import org.apache.wicket.request.mapper.parameter.PageParameters; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -public class HomePage extends BasePage { - private static final Logger log = LoggerFactory.getLogger(HomePage.class); - private static final long serialVersionUID = 1L; - - private Form<HomePage> form; - private AutoCompleteTextField<String> searchTextField; - private String searchQuery = ""; - private WebMarkupContainer resultParent; - private ListView<SearchResult> resultListView; - - public HomePage(final PageParameters parameters) { - super(parameters); - setUseGlobalFeedback(false); - - form = new Form<HomePage>("searchForm"); - form.setOutputMarkupId(true); - add(form); - - // FeedbackPanel - final FeedbackPanel feedback = new JQueryFeedbackPanel("feedback"); - feedback.setOutputMarkupId(true); - form.add(feedback); - - IAutoCompleteRenderer autoCompleteRenderer = new IAutoCompleteRenderer<String>() { - private static final long serialVersionUID = 1L; - - public void renderHeader(Response response) { - response.write("<ul>"); - } - - public void render(String choice, Response response, String criteria) { - response.write("<li textvalue=\"" + choice + "\""); - response.write(">"); - - // Put the substring after the criteria in bold - if (choice.startsWith(criteria) && choice.length() > criteria.length()) { - choice = criteria + "<b>" + choice.substring(criteria.length()) + "</b>"; - } - - response.write(choice); - response.write("</li>"); - } - - public void renderFooter(Response response, int count) { - response.write("</ul>"); - } - }; - - // Search text - searchTextField = new AutoCompleteTextField<String>("searchText", new PropertyModel<String>(this, "searchQuery"), autoCompleteRenderer) { - private static final long serialVersionUID = 1L; - - @Override - protected Iterator<String> getChoices(String input) { - return doSuggestions(input).iterator(); - } - }; - searchTextField.add(new AjaxFormComponentUpdatingBehavior("keyup") - { - @Override - protected void onUpdate(AjaxRequestTarget target){ - // do search - searchTextField.updateModel(); - } - - @Override - protected void onError(AjaxRequestTarget target, RuntimeException e){ - // Here the Component's model object will remain unchanged, - // so that it doesn't hold invalid input - } - }); - searchTextField.setRequired(true); - form.add(searchTextField); - - // Submit button - { - Button searchButton = new AjaxButton("searchButton") { - - @Override - protected void onSubmit(AjaxRequestTarget target, Form<?> form) { - // do search - doSearch(target, searchQuery); - - // Force to hide autocomplete choices - target.appendJavaScript( - "$('div.wicket-aa-container').hide();" - + "$('#"+searchTextField.getMarkupId()+"').attr('autocomplete', 'off');"); - } - }; - searchButton.setDefaultFormProcessing(false); - searchButton.setOutputMarkupId(true); - form.add(searchButton); - form.setDefaultButton(searchButton); - } - - //form.add(new AjaxFormValidatingBehavior("keyup", Duration.ONE_SECOND)); - - - // Search result - { - // Parent container - resultParent = new WebMarkupContainer("resultParent"); - resultParent.setOutputMarkupId(true); - resultParent.setOutputMarkupPlaceholderTag(true); - resultParent.setVisible(false); - add(resultParent); - - // History items - { - resultListView = new ListView<SearchResult>("resultItems", new ListModel<SearchResult>()) { - protected void populateItem(ListItem<SearchResult> item) { - SearchResult result = item.getModelObject(); - - // link - PageParameters pageParameters = new PageParameters(); - pageParameters.add(CurrencyPage.CURRENCY_PARAMETER, result.getId()); - BookmarkablePageLink link = new BookmarkablePageLink("openCurrencyLink", CurrencyPage.class, pageParameters); - item.add(link); - - // Currency name - Label label = new Label("currencyName", result.getValue()); - label.setEscapeModelStrings(false); - label.setOutputMarkupPlaceholderTag(false); - link.add(label); - } - }; - resultListView.setReuseItems(true); - resultListView.setOutputMarkupId(true); - resultParent.add(resultListView); - } - } - } - - /** -- Internal methods -- */ - - protected void doSearch(AjaxRequestTarget target, final String searchQuery) { - - if (StringUtils.isBlank(searchQuery)) { - resultListView.removeAll(); - resultListView.setVisibilityAllowed(false); - resultParent.setVisible(false); - } - else { - - RegistryCurrencyIndexerService service = ServiceLocator.instance().getRegistryCurrencyIndexerService(); - List<SearchResult> result = service.searchCurrenciesAsVO(searchQuery); - - if (CollectionUtils.isNotEmpty(result)) { - resultListView.removeAll(); - resultParent.setVisible(true); - resultParent.modelChanged(); - resultListView.setVisibilityAllowed(true); - resultListView.setDefaultModelObject(result); - resultListView.modelChanged(); - - } else { - resultListView.removeAll(); - resultListView.setVisibilityAllowed(false); - resultParent.setVisible(false); - } - } - // submit actual list after reordering - form.process(null); - - target.add(resultParent); - } - - protected List<String> doSuggestions(final String input) { - List<String> suggestions; - if (StringUtils.isEmpty(input)){ - suggestions = Collections.<String>emptyList(); - } - else { - RegistryCurrencyIndexerService service = ServiceLocator.instance().getRegistryCurrencyIndexerService(); - suggestions = service.getSuggestions(input); - - if (CollectionUtils.isEmpty(suggestions)) { - suggestions = Collections.<String>emptyList(); - } - } - - return suggestions; - } - -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.html deleted file mode 100644 index 4f3e000f..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.html +++ /dev/null @@ -1,89 +0,0 @@ -<!-- - #%L - UCoin Java Client :: Web - %% - Copyright (C) 2014 - 2015 EIS - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> - <!--<wicket:head> - <script type="text/javascript"> - function submitLogin(event, app) { - var salt = $('#localSalt').val(); - var password = $('#localPassword').val(); - var challengeMessage = $('#challengeMessage').val(); - - if (salt === "" || password === "" || challengeMessage === "") { - event.preventDefault(); - return; - } - - var challengeMessage = $('#challengeMessage').val(); - app.connect(salt, password); - var sign = app.sign(challengeMessage); - - $('#username').val(app.wallet.pubkey); - $('#password').val(sign + '|' + challengeMessage); - $('#form').submit(); - } - - $( document ).ready(function() { - var app = uCoinj(document); - - $('#localPassword').keypress(function( event ) { - if (event.which == 13 ) { - submitLogin(event, app); - } - }); - - $('#loginButton').click(function(event) { - submitLogin(event); - }); - - - }); - </script> - </wicket:head>--> -</head> -<body> -<wicket:extend> - - <label for="localSalt"><wicket:message key="login.salt"/></label> - <input id="localSalt" name="localSalt" type="text" data-clear-btn="true" value="" /> - - <label for="localPassword"><wicket:message key="login.password"/></label> - <input id="localPassword" name="localPassword" type="password" data-clear-btn="true" value="" - onkeypress="javascript:if(event.which==13){app.login(event);}"/> - - <input type="hidden" wicket:id="challengeMessage"/> - - <form wicket:id="form" id="form" method="POST" action="/j_spring_security_check"> - - <input type="hidden" id="username" name="username"/> - <input type="hidden" id="password" name="password"/> - - <label for="submitButton" id="error">[error]</label> - <input id="submitButton" name="submitButton" - data-icon="check" type="button" data-theme="b" - wicket:message="value:login.button" - onclick="javascript:app.login(event);"/> - </form> -</wicket:extend> -</body> -</html> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.java deleted file mode 100644 index 6913a654..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.java +++ /dev/null @@ -1,68 +0,0 @@ -package io.ucoin.ucoinj.web.pages.login; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.web.application.Application; -import io.ucoin.ucoinj.web.application.WebSession; -import io.ucoin.ucoinj.web.pages.BasePage; -import io.ucoin.ucoinj.web.security.SecurityContextHelper; -import io.ucoin.ucoinj.web.service.ServiceLocator; -import org.apache.wicket.markup.ComponentTag; -import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.form.Form; -import org.apache.wicket.request.mapper.parameter.PageParameters; -import org.slf4j.LoggerFactory; - -public class LoginPage extends BasePage { - - public LoginPage(final PageParameters parameters) { - super(parameters); - - if (SecurityContextHelper.isAuthenticateNotAnonymous()) { - setResponsePage(Application.get().getHomePage()); - return; - } - WebSession sesion = getWebSession(); - LoggerFactory.getLogger(LoginPage.class).info(""+ sesion.isSignedIn()); - - // Challenge message - WebMarkupContainer challengeMessageField = new WebMarkupContainer("challengeMessage") { - @Override - protected void onComponentTag(ComponentTag tag) { - super.onComponentTag(tag); - - tag.put("value", ServiceLocator.instance().getChallengeMessageStore().createNewChallenge()); - } - }; - challengeMessageField.setMarkupId("challengeMessage"); - challengeMessageField.setOutputMarkupId(true); - add(challengeMessageField); - - Form form = new Form("form"); - form.setMarkupId("form"); - form.setOutputMarkupId(true); - add(form); - } - -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.html deleted file mode 100644 index 5ae3942b..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.html +++ /dev/null @@ -1,46 +0,0 @@ -<!-- - #%L - UCoin Java Client :: Web - %% - Copyright (C) 2014 - 2015 EIS - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -</head> -<body> -<wicket:extend> - - - <!-- container --> - <div data-role="content" class="ui-content" data-theme="f"> - - <!-- currency_name --> - <div name="currency_name" id="currency_name" data-role="appery_label"> - <label wicket:id="currencyName"/> - </div> - - <!-- member_count --> - <div name="member_count" id="member_count" data-role="appery_label"> - Label - </div> - </div> - -</wicket:extend> -</body> -</html> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.java deleted file mode 100644 index ca863107..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.java +++ /dev/null @@ -1,56 +0,0 @@ -package io.ucoin.ucoinj.web.pages.registry; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.core.client.model.elasticsearch.Currency; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.web.pages.BasePage; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.model.CompoundPropertyModel; -import org.apache.wicket.model.LoadableDetachableModel; -import org.apache.wicket.request.mapper.parameter.PageParameters; -import org.apache.wicket.util.string.StringValue; - -public class CurrencyPage extends BasePage { - - public final static String CURRENCY_PARAMETER = "currencyName"; - - public CurrencyPage(final PageParameters parameters) { - super(parameters); - - StringValue parameCurrencyName = parameters.get(CURRENCY_PARAMETER); - final String currencyName = parameCurrencyName.toString(); - - setDefaultModel(new CompoundPropertyModel<Currency>(new LoadableDetachableModel<Currency>() { - @Override - protected Currency load() { - return ServiceLocator.instance().getRegistryCurrencyIndexerService().getCurrencyById(currencyName); - } - })); - - add(new Label("currencyName")); - - //add(new Label("memberCount")); - } -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.html deleted file mode 100644 index 6e2cdab1..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.html +++ /dev/null @@ -1,43 +0,0 @@ -<!-- - #%L - UCoin Java Client :: Web - %% - Copyright (C) 2014 - 2015 EIS - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -</head> -<body> -<wicket:extend> - - <form action="http://localhost:8080/rest/currency/add" method="get"> - <label for="text-pubkey"><wicket:message key="currency.register.pubkey"/></label> - <input type="text" data-clear-btn="true" name="pubkey" id="text-pubkey" value=""/> - - <label for="text-currency"><wicket:message key="currency.register.currencyJson"/></label> - <input type="text" data-clear-btn="true" name="currency" id="text-currency" value=""/> - - <label for="text-sig"><wicket:message key="currency.register.signature"/></label> - <input type="text" data-clear-btn="true" name="sig" id="text-sig" value=""/> - <input type="submit"/> - </form> - -</wicket:extend> -</body> -</html> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.java deleted file mode 100644 index 96fe1c29..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.java +++ /dev/null @@ -1,33 +0,0 @@ -package io.ucoin.ucoinj.web.pages.registry; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.web.pages.BasePage; -import org.apache.wicket.request.mapper.parameter.PageParameters; - -public class CurrencyRegistryPage extends BasePage { - public CurrencyRegistryPage(final PageParameters parameters) { - super(parameters); - } -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.html deleted file mode 100644 index da3a4a96..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.html +++ /dev/null @@ -1,33 +0,0 @@ -<!-- - #%L - UCoin Java Client :: Web - %% - Copyright (C) 2014 - 2015 EIS - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Home</title> -</head> -<body> -<wicket:extend> - <label for="text-3">Text input: data-clear-btn="true"</label> - <input type="text" data-clear-btn="true" name="text-3" id="text-3" value=""> -</wicket:extend> -</body> -</html> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.java deleted file mode 100644 index 0514e796..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.java +++ /dev/null @@ -1,34 +0,0 @@ -package io.ucoin.ucoinj.web.pages.wallet; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.web.pages.BasePage; -import org.apache.wicket.request.mapper.parameter.PageParameters; - -public class WalletPage extends BasePage { - - public WalletPage(final PageParameters parameters) { - super(parameters); - } -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/CurrencyRestController.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/CurrencyRestController.java deleted file mode 100644 index 1150c9d2..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/CurrencyRestController.java +++ /dev/null @@ -1,89 +0,0 @@ -package io.ucoin.ucoinj.web.rest; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.core.client.model.elasticsearch.Currency; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidSignatureException; -import io.ucoin.ucoinj.web.application.WebSession; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/currency") -public class CurrencyRestController { - - // Logger - private static final Logger log = LoggerFactory.getLogger(CurrencyRestController.class); - - @RequestMapping(value="/{currencyId}", method = RequestMethod.GET) - public @ResponseBody Currency getCurrencyById(@PathVariable(value="currencyId") String currencyId) { - RegistryCurrencyIndexerService service = ServiceLocator.instance().getRegistryCurrencyIndexerService(); - return service.getCurrencyById(currencyId); - } - - @ResponseStatus(value= org.springframework.http.HttpStatus.OK, reason="Currency successfully register") - @RequestMapping(value="/add", method = RequestMethod.POST) - public String registerNewCurrency(@RequestParam("pubkey") String pubkey, @RequestParam("currency") String jsonCurrency, @RequestParam("sig") String signature) throws InvalidSignatureException { - if (log.isDebugEnabled()) { - log.debug(String.format("Asking to add new currency:\n - pubkey: %s\n - currency: %s\n - signature: %s", pubkey, jsonCurrency, signature)); - } - - RegistryCurrencyIndexerService service = ServiceLocator.instance().getRegistryCurrencyIndexerService(); - service.registerCurrency(pubkey, jsonCurrency, signature); - - /*CryptoService cryptoService = ServiceLocator.instance().getCryptoService(); - - if (!cryptoService.verify(jsonCurrency, signature, pubkey)) { - String currencyName = GsonUtils.getValueFromJSONAsString(jsonCurrency, "currencyName"); - log.warn(String.format("Currency not added, because bad signature. currency [%s]", currencyName)); - throw new InvalidSignatureException("Bad signature"); - } - - Currency currency = null; - try { - currency = gson.fromJson(jsonCurrency, Currency.class); - Preconditions.checkNotNull(currency); - Preconditions.checkNotNull(currency.getCurrencyName()); - } catch(Throwable t) { - log.error("Error while reading currency JSON: " + jsonCurrency); - return "Parse error. Currency not readable."; - } - - CurrencyIndexerService service = ServiceLocator.instance().getCurrencyIndexerService(); - service.saveCurrency(currency, pubkey); - */ - - return "Currency added"; - } - - /* -- Internal methods -- */ - - protected WebSession getWebSession() { - WebSession session = (WebSession) WebSession.get(); - return session; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/RestResponseEntityExceptionHandler.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/RestResponseEntityExceptionHandler.java deleted file mode 100644 index 3da68b0f..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/RestResponseEntityExceptionHandler.java +++ /dev/null @@ -1,93 +0,0 @@ -package io.ucoin.ucoinj.web.rest; - -/* - * #%L - * Reef DB :: Quadrige2 Synchro server - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2014 - 2015 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import io.ucoin.ucoinj.core.exception.BusinessException; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidSignatureException; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.ControllerAdvice; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.context.request.WebRequest; -import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; - -@ControllerAdvice -public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler { - /* Logger */ - private static final Log log = LogFactory.getLog(RestResponseEntityExceptionHandler.class); - - public RestResponseEntityExceptionHandler() { - super(); - } - - /** - * Transform an exception on bad ... TODO doc - */ - @ExceptionHandler(value = { TechnicalException.class }) - protected ResponseEntity<Object> handleTechnicalException(RuntimeException ex, WebRequest request) { - String message = "internal technical error (TODO i18n)"; - if (log.isDebugEnabled()) { - log.debug(message); - } - return handleExceptionInternal(ex, message, new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR, request); - } - - @ExceptionHandler(value = {BusinessException.class }) - protected ResponseEntity<Object> handleBusinessException(RuntimeException ex, WebRequest request) { - String message = "internal business error (TODO i18n)"; - if (log.isDebugEnabled()) { - log.debug(message); - } - return handleExceptionInternal(ex, message, new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR, request); - } - - @ExceptionHandler(value = {InvalidSignatureException.class }) - protected ResponseEntity<Object> handleInvalidSignatureExceptionk(RuntimeException ex, WebRequest request) { - String message = "Bad signature (not correspond to given pubkey)"; - if (log.isDebugEnabled()) { - log.debug(message); - } - return handleExceptionInternal(ex, message, new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR, request); - } - - - /* -- protected methods -- */ - - private Throwable getCause(Throwable e, Class... classes) { - for (Class clazz: classes) { - if (clazz.isInstance(e)) { - return e; - } - } - if (e.getCause() != null) { - return getCause(e.getCause(), classes); - } - return null; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/SecurityContextHelper.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/SecurityContextHelper.java deleted file mode 100644 index a06e2192..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/SecurityContextHelper.java +++ /dev/null @@ -1,80 +0,0 @@ -package io.ucoin.ucoinj.web.security; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.springframework.security.core.Authentication; -import org.springframework.security.core.context.SecurityContextHolder; - -public class SecurityContextHelper { - - public static final String USER_ANONYMOUS = "anonymousUser"; - - public static String getPrincipalPubkey() { - String pubkey = getPrincipal(); - if (pubkey == null) { - return null; - } - if (USER_ANONYMOUS.equals(pubkey)) { - return null; - } - return pubkey; - } - - public static String getPrincipal() { - Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); - if (authentication == null || authentication.getPrincipal() == null) { - return null; - } - Object principal = authentication.getPrincipal(); - if (principal instanceof String) { - return (String) principal; - } else { - return null; - } - } - - /** - * @return - */ - public static boolean isAuthenticateNotAnonymous() { - return getPrincipalPubkey() != null; - } - - /** - * @return - */ - public static boolean isAuthenticate() { - return getPrincipal() != null; - } - - - /** - * @return - */ - public static boolean isAuthenticateAnonymous() { - return getPrincipalPubkey() == null; - } - -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjGrantedAuthority.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjGrantedAuthority.java deleted file mode 100644 index 57d61e9e..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjGrantedAuthority.java +++ /dev/null @@ -1,32 +0,0 @@ -package io.ucoin.ucoinj.web.security; - -/* - * #%L - * Reef DB :: Quadrige2 Synchro server - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2014 - 2015 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -public enum UcoinjGrantedAuthority { - - ROLE_ADMIN, - ROLE_USER -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetails.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetails.java deleted file mode 100644 index ed93c50b..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetails.java +++ /dev/null @@ -1,43 +0,0 @@ -package io.ucoin.ucoinj.web.security; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import org.springframework.security.core.userdetails.UserDetails; - -/** - * - * @author Ludovic Pecquot <ludovic.pecquot@e-is.pro> - */ -public interface UcoinjUserDetails extends UserDetails { - - /** - * return the user pubkey - * - * @return user pubkey - */ - String getPubkey(); - -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetailsImpl.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetailsImpl.java deleted file mode 100644 index fceeebbb..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetailsImpl.java +++ /dev/null @@ -1,117 +0,0 @@ -package io.ucoin.ucoinj.web.security; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.SimpleGrantedAuthority; - -import java.util.Collection; -import java.util.List; -import java.util.Set; - -/** - * - * @author Benoit Lavenier <benoit.lavenier@e-is.pro> - * @since 1.0 - */ -public class UcoinjUserDetailsImpl implements UcoinjUserDetails { - - private static final long serialVersionUID = 1L; - - private String pubkey; - - private String password = ""; - - private Collection<? extends GrantedAuthority> authorities; - - public UcoinjUserDetailsImpl(String pubkey, boolean isAdmin) { - this.pubkey = pubkey; - this.password = ""; - this.authorities = isAdmin - ? createAllAuthorities() - : createAuthorities(Sets.newHashSet(UcoinjGrantedAuthority.ROLE_USER.name())); - } - - @Override - public String getPubkey() { - return pubkey; - } - - @Override - public Collection<? extends GrantedAuthority> getAuthorities() { - return authorities; - } - - @Override - public String getPassword() { - return password; - } - - @Override - public String getUsername() { - return pubkey; - } - - @Override - public boolean isAccountNonExpired() { - return true; - } - - @Override - public boolean isAccountNonLocked() { - return true; - } - - @Override - public boolean isCredentialsNonExpired() { - return true; - } - - @Override - public boolean isEnabled() { - return true; - } - - /* -- Internal methods -- */ - - protected Collection<? extends GrantedAuthority> createAllAuthorities() { - List<SimpleGrantedAuthority> authorities = Lists.newArrayList( - new SimpleGrantedAuthority(UcoinjGrantedAuthority.ROLE_ADMIN.name()), - new SimpleGrantedAuthority(UcoinjGrantedAuthority.ROLE_USER.name()) - ); - return authorities; - } - - protected Collection<? extends GrantedAuthority> createAuthorities(Set<String> roles) { - List<SimpleGrantedAuthority> authorities = Lists.newArrayListWithExpectedSize(roles.size()); - for (String role: roles) { - authorities.add(new SimpleGrantedAuthority(role)); - } - return authorities; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStore.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStore.java deleted file mode 100644 index 92a41d6e..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStore.java +++ /dev/null @@ -1,41 +0,0 @@ -package io.ucoin.ucoinj.web.security.keypair; - -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -/** - * Created by blavenie on 06/01/16. - */ -public interface ChallengeMessageStore { - /** - * Validate a given challenge - * @return - */ - boolean validateChallenge(String challenge); - - /** - * Compute a new challenge message, and remember it to validate it later. - * @return - */ - String createNewChallenge(); - -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStoreImpl.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStoreImpl.java deleted file mode 100644 index 187daaf3..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStoreImpl.java +++ /dev/null @@ -1,101 +0,0 @@ -package io.ucoin.ucoinj.web.security.keypair; - -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Preconditions; -import com.google.common.cache.CacheBuilder; -import com.google.common.cache.CacheLoader; -import com.google.common.cache.LoadingCache; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.util.Assert; - -import java.util.concurrent.TimeUnit; - -/** - * Created by blavenie on 06/01/16. - */ -public class ChallengeMessageStoreImpl implements ChallengeMessageStore, InitializingBean{ - - - private String prefix; - private long validityDurationInSeconds; - private LoadingCache<String, String> chalengeMessageCache; - - public ChallengeMessageStoreImpl() { - } - - @Override - public void afterPropertiesSet() throws Exception { - Assert.notNull(this.prefix, "An not null prefix must be set"); - Assert.isTrue(this.validityDurationInSeconds > 0, "An validityDurationInSeconds must be set (and not equals to zero)"); - this.chalengeMessageCache = initGeneratedMessageCache(); - } - - public void setPrefix(String prefix) { - this.prefix = prefix; - } - - public void setValidityDurationInSeconds(long validityDurationInSeconds) { - this.validityDurationInSeconds = validityDurationInSeconds; - } - - @Override - public boolean validateChallenge(String challenge) { - Preconditions.checkArgument(StringUtils.isNotBlank(challenge)); - - String storedChallenge = chalengeMessageCache.getIfPresent(challenge); - - // if no value in cache => maybe challenge expired - return ObjectUtils.equals(storedChallenge, challenge); - } - - @Override - public String createNewChallenge() { - String challenge = newChallenge(); - chalengeMessageCache.put(challenge, challenge); - return newChallenge(); - } - - - - /* -- internal methods -- */ - - protected String newChallenge() { - return String.valueOf(prefix + System.currentTimeMillis() * System.currentTimeMillis()); - } - - - protected LoadingCache<String, String> initGeneratedMessageCache() { - return CacheBuilder.newBuilder() - .expireAfterWrite(validityDurationInSeconds, TimeUnit.SECONDS) - .build(new CacheLoader<String, String>() { - @Override - public String load(String challenge) throws Exception { - // not used. Filled manually - return null; - } - }); - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationProvider.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationProvider.java deleted file mode 100644 index 4c029f71..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationProvider.java +++ /dev/null @@ -1,118 +0,0 @@ -package io.ucoin.ucoinj.web.security.keypair; - -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.web.service.ServiceLocator; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.security.authentication.AccountStatusUserDetailsChecker; -import org.springframework.security.authentication.AuthenticationProvider; -import org.springframework.security.authentication.BadCredentialsException; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.AuthenticationException; -import org.springframework.security.core.userdetails.AuthenticationUserDetailsService; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UserDetailsChecker; -import org.springframework.util.Assert; - -/** - * Created by blavenie on 06/01/16. - */ -public class PubkeyAuthenticationProvider implements AuthenticationProvider, InitializingBean{ - - private AuthenticationUserDetailsService authenticationUserDetailsService; - private UserDetailsChecker userDetailsChecker = new AccountStatusUserDetailsChecker(); - private CryptoService cryptoService; - private ChallengeMessageStore challengeMessageStore; - - public PubkeyAuthenticationProvider() { - } - - public void afterPropertiesSet() throws Exception { - Assert.notNull(this.authenticationUserDetailsService, "An authenticationUserDetailsService must be set"); - cryptoService = cryptoService == null ? ServiceLocator.instance().getCryptoService() : cryptoService; - Assert.notNull(this.cryptoService, "An cryptoService must be set"); - Assert.notNull(this.challengeMessageStore, "An challengeMessageStore must be set"); - } - - public Authentication authenticate(Authentication authentication) throws AuthenticationException { - if(!this.supports(authentication.getClass())) { - return null; - } else if(authentication instanceof UsernamePasswordAuthenticationToken) { - UsernamePasswordAuthenticationToken token = (UsernamePasswordAuthenticationToken)authentication; - if (token.getPrincipal() == null || token.getCredentials() == null) { - throw new BadCredentialsException("Invalid authentication token. Missing principal or credentials"); - } - String pubkey = token.getPrincipal().toString(); - - checkSignature(token.getPrincipal().toString(), token.getCredentials().toString()); - PubkeyAuthenticationToken result = new PubkeyAuthenticationToken(pubkey); - - UserDetails userDetails = authenticationUserDetailsService.loadUserDetails(result); - if (userDetails != null) { - this.userDetailsChecker.check(userDetails); - result = new PubkeyAuthenticationToken(pubkey, userDetails.getAuthorities()); - result.setAuthenticated(true); - result.setDetails(userDetails); - } - return result; - } - throw new BadCredentialsException("Failed to authenticate this token. Unknown token class."); - } - - public void setAuthenticationUserDetailsService(AuthenticationUserDetailsService authenticationUserDetailsService) { - this.authenticationUserDetailsService = authenticationUserDetailsService; - } - - public void setCryptoService(CryptoService cryptoService) { - this.cryptoService = cryptoService; - } - - public void setChallengeMessageStore(ChallengeMessageStore challengeMessageStore) { - this.challengeMessageStore = challengeMessageStore; - } - - public boolean supports(Class<? extends Object> authentication) { - return UsernamePasswordAuthenticationToken.class.isAssignableFrom(authentication); - } - - /*-- internal method --*/ - - private boolean checkSignature(String pubkey, String sm) throws BadCredentialsException{ - - if (sm.indexOf('|') == -1) { - throw new BadCredentialsException("Invalid password. Must be <signature>|<message>"); - } - String signature = sm.substring(0, sm.indexOf('|')); - String message = sm.substring(sm.indexOf('|')+1); - - boolean valid = challengeMessageStore.validateChallenge(message) - && cryptoService.verify(message, signature, pubkey); - if (!valid) { - throw new BadCredentialsException("Invalid signature. Not signed by this pubkey or message to signed expired."); - } - - return true; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationToken.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationToken.java deleted file mode 100644 index 25d584a5..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationToken.java +++ /dev/null @@ -1,65 +0,0 @@ -package io.ucoin.ucoinj.web.security.keypair; - -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.springframework.security.authentication.AbstractAuthenticationToken; -import org.springframework.security.core.GrantedAuthority; - -import java.util.Collection; - -/** - * Created by blavenie on 06/01/16. - */ -public class PubkeyAuthenticationToken extends AbstractAuthenticationToken { - - private final String pubkey; - - public PubkeyAuthenticationToken(String pubkey) { - super(null); - this.pubkey = pubkey; - } - - public PubkeyAuthenticationToken(String pubkey, Collection<? extends GrantedAuthority> authorities) { - super(authorities); - this.pubkey = pubkey; - } - - @Override - public Object getCredentials() { - return null; - } - - @Override - public Object getDetails() { - return pubkey; - } - - @Override - public Object getPrincipal() { - return pubkey; - } - - public String getPubkey() { - return pubkey; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyUserDetailsServiceImpl.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyUserDetailsServiceImpl.java deleted file mode 100644 index ebc230a3..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyUserDetailsServiceImpl.java +++ /dev/null @@ -1,56 +0,0 @@ -package io.ucoin.ucoinj.web.security.keypair; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.web.config.WebConfiguration; -import io.ucoin.ucoinj.web.security.UcoinjUserDetailsImpl; -import org.springframework.context.annotation.Lazy; -import org.springframework.security.core.userdetails.AuthenticationUserDetailsService; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -/** - * - * @author Benoit Lavenier - */ -@Service("pubkeyAuthenticationUserDetailsService") -@Lazy -public class PubkeyUserDetailsServiceImpl implements AuthenticationUserDetailsService<PubkeyAuthenticationToken> { - - @Resource - WebConfiguration config; - - public UserDetails loadUserDetails(PubkeyAuthenticationToken pubkeyAuthentication) throws UsernameNotFoundException { - String pubkey = pubkeyAuthentication.getPubkey(); - boolean isAdmin = ObjectUtils.equals(pubkey, config.getUserPubkey()); - - return new UcoinjUserDetailsImpl(pubkey, isAdmin); - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/service/ServiceLocator.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/service/ServiceLocator.java deleted file mode 100644 index 05f1c2e0..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/service/ServiceLocator.java +++ /dev/null @@ -1,87 +0,0 @@ -package io.ucoin.ucoinj.web.service; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import com.google.common.base.Preconditions; -import io.ucoin.ucoinj.web.security.keypair.ChallengeMessageStore; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; - -import javax.servlet.ServletContext; - -public class ServiceLocator extends io.ucoin.ucoinj.elasticsearch.service.ServiceLocator { - - - private static ServiceLocator instance; - static { - initDefault(); - } - - public static void initDefault(ServletContext servletContext) { - if (instance != null) { - instance.setServletContext(servletContext); - } - else { - instance = new ServiceLocator(servletContext); - io.ucoin.ucoinj.elasticsearch.service.ServiceLocator.setInstance(instance); - } - } - - public static void initDefault() { - instance = new ServiceLocator(); - io.ucoin.ucoinj.elasticsearch.service.ServiceLocator.setInstance(instance); - } - - public static ServiceLocator instance() { - return instance; - } - - private WebApplicationContext appContext; - - public ServiceLocator() { - } - public ServiceLocator(ServletContext servletContext) { - setServletContext(servletContext); - } - - public ChallengeMessageStore getChallengeMessageStore() { - return getBean("challengeMessageStore", ChallengeMessageStore.class); - } - - /* -- internal methods -- */ - - protected <T> T getBean(String name, Class<T> type) { - Preconditions.checkNotNull(appContext, "no application context initaitliszed. Please call initDefault(ServletContext) before getting beans."); - return appContext.getBean(name, type); - } - - - protected void setServletContext(ServletContext servletContext) { - Preconditions.checkNotNull(servletContext); - appContext = WebApplicationContextUtils.getWebApplicationContext(servletContext); - } - -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/util/GsonHttpMessageConverter.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/util/GsonHttpMessageConverter.java deleted file mode 100644 index 3193499c..00000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/util/GsonHttpMessageConverter.java +++ /dev/null @@ -1,45 +0,0 @@ -package io.ucoin.ucoinj.web.util; - -/* - * #%L - * Reef DB :: Quadrige2 Synchro server - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2014 - 2015 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; - -/** - * Override default converter to use specific gson configuration :<ul> - * <li>multimap support</li> - * <li>date pattern</li> - * <li>...</li> - * </ul> - * @see fr.ifremer.quadrige2.core.dao.technical.gson.GsonUtils - */ -public class GsonHttpMessageConverter extends org.springframework.http.converter.json.GsonHttpMessageConverter { - - public GsonHttpMessageConverter() { - super(); - setGson(GsonUtils.newBuilder().create()); - } - -} diff --git a/ucoinj-ui-wicket/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean b/ucoinj-ui-wicket/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean deleted file mode 100644 index ed53f719..00000000 --- a/ucoinj-ui-wicket/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean +++ /dev/null @@ -1,14 +0,0 @@ -io.ucoin.ucoinj.core.service.Ed25519CryptoServiceImpl -io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.NetworkRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.WotRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.TransactionRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.HttpServiceImpl -io.ucoin.ucoinj.core.client.service.DataContext -io.ucoin.ucoinj.core.client.service.local.PeerServiceImpl -io.ucoin.ucoinj.core.client.service.local.CurrencyServiceImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryCurrencyDaoImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryPeerDaoImpl -io.ucoin.ucoinj.elasticsearch.service.ElasticSearchService -io.ucoin.ucoinj.elasticsearch.service.currency.CurrencyIndexerService -io.ucoin.ucoinj.elasticsearch.service.currency.BlockIndexerService diff --git a/ucoinj-ui-wicket/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider b/ucoinj-ui-wicket/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider deleted file mode 100644 index dbdf0b12..00000000 --- a/ucoinj-ui-wicket/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider +++ /dev/null @@ -1 +0,0 @@ -io.ucoin.ucoinj.web.config.WebConfigurationProvider diff --git a/ucoinj-ui-wicket/src/main/resources/applicationContext-conf.xml b/ucoinj-ui-wicket/src/main/resources/applicationContext-conf.xml deleted file mode 100644 index 57a90d60..00000000 --- a/ucoinj-ui-wicket/src/main/resources/applicationContext-conf.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - SIH-Adagio Core for Allegro - $Id: applicationContext-conf.xml 12102 2014-05-28 21:04:57Z bl05b3e $ - $HeadURL: https://forge.ifremer.fr/svn/sih-adagio/trunk/adagio/core-allegro/src/main/resources/applicationContext-conf.xml $ - %% - Copyright (C) 2012 - 2013 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> - - <!-- replace value like '${xx}' with value from configuration --> - <bean id="webConfiguration" class="io.ucoin.ucoinj.web.config.WebConfiguration" - factory-method="instance" - lazy-init="false"> - <property name="ignoreUnresolvablePlaceholders" value="true"/> - <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/> - </bean> - - <bean id="esConfig" class="io.ucoin.ucoinj.elasticsearch.config.Configuration" - factory-method="instance" - lazy-init="false"> - </bean> - - <bean id="serviceLocator" class="io.ucoin.ucoinj.web.service.ServiceLocator" - factory-method="instance" - lazy-init="false"> - </bean> - -</beans> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/resources/applicationContext-rest-servlet.xml b/ucoinj-ui-wicket/src/main/resources/applicationContext-rest-servlet.xml deleted file mode 100644 index 6a0d1733..00000000 --- a/ucoinj-ui-wicket/src/main/resources/applicationContext-rest-servlet.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - Reef DB :: Quadrige2 Synchro server - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2014 - 2015 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:context="http://www.springframework.org/schema/context" - xmlns:mvc="http://www.springframework.org/schema/mvc" - xsi:schemaLocation="http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-4.0.xsd - http://www.springframework.org/schema/context - http://www.springframework.org/schema/context/spring-context-4.0.xsd - http://www.springframework.org/schema/mvc - http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> - - <context:component-scan base-package="io.ucoin.ucoinj.web.rest" /> - - <mvc:annotation-driven> - <mvc:message-converters> - <bean class="io.ucoin.ucoinj.web.util.GsonHttpMessageConverter"/> - </mvc:message-converters> - </mvc:annotation-driven> - - <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> - <property name="maxUploadSize" value="268435456"/> <!-- 256 megs --> - </bean> -</beans> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/resources/applicationContext-security-pubkey.xml b/ucoinj-ui-wicket/src/main/resources/applicationContext-security-pubkey.xml deleted file mode 100644 index 64301bbf..00000000 --- a/ucoinj-ui-wicket/src/main/resources/applicationContext-security-pubkey.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - SIH-Adagio :: UI for Core Allegro - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2012 - 2014 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:security="http://www.springframework.org/schema/security" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-4.0.xsd - http://www.springframework.org/schema/security - http://www.springframework.org/schema/security/spring-security-4.0.xsd"> - - <security:authentication-manager alias="authenticationManager"> - <security:authentication-provider ref="pubkeyAuthenticationProvider" /> - </security:authentication-manager> - - - <bean id="challengeMessageStore" - class="io.ucoin.ucoinj.web.security.keypair.ChallengeMessageStoreImpl"> - <property name="validityDurationInSeconds" value="60"/> <!-- challenge will expired after 60 sec --> - <property name="prefix" value="ucoinj-web-challenge-"/> - </bean> - - <bean id="pubkeyUserDetailsService" - class="io.ucoin.ucoinj.web.security.keypair.PubkeyUserDetailsServiceImpl"> - </bean> - - <bean id="pubkeyAuthenticationProvider" - class="io.ucoin.ucoinj.web.security.keypair.PubkeyAuthenticationProvider"> - <property name="authenticationUserDetailsService" ref="pubkeyUserDetailsService" /> - <property name="challengeMessageStore" ref="challengeMessageStore" /> - </bean> - -</beans> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/resources/applicationContext-security.xml b/ucoinj-ui-wicket/src/main/resources/applicationContext-security.xml deleted file mode 100644 index b75e6f28..00000000 --- a/ucoinj-ui-wicket/src/main/resources/applicationContext-security.xml +++ /dev/null @@ -1,85 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - SIH-Adagio :: UI for Core Allegro - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2012 - 2014 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:security="http://www.springframework.org/schema/security" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-4.0.xsd - http://www.springframework.org/schema/security - http://www.springframework.org/schema/security/spring-security-4.0.xsd"> - - <security:global-method-security - secured-annotations="enabled"> - <security:protect-pointcut access="ROLE_USER,ROLE_ADMIN" expression="execution(* io.ucoin.ucoinj.*.*(..))"/> - </security:global-method-security> - - <!-- Spring REST service --> - <security:http pattern="/service/**" create-session="always"> - <!-- Currency add: need auth --> - <security:intercept-url pattern="/service/currency/add" access="isAuthenticated()" /> - - <!-- Auth: need auth --> - <security:intercept-url pattern="/service/auth" access="isAuthenticated()" /> - - <!-- Other URL (version, etc.): no security --> - <security:intercept-url pattern="/service/**" access="permitAll" /> - - <security:http-basic /> - <security:csrf disabled="true"/> - </security:http> - - <!-- Web: Basic ressources (CSS, images) - no security --> - <security:http pattern="/images/**" security="none" /> - <security:http pattern="/css/**" security="none" /> - <security:http pattern="/js/**" security="none" /> - <security:http pattern="/wicket/**" security="none" /> - <security:http pattern="/*.css" security="none" /> - <security:http pattern="/*.ico" security="none" /> - - <!-- Web: wicket pages --> - <security:http auto-config="true"> - <security:intercept-url pattern="/" access="permitAll"/> - - <security:intercept-url pattern="/login" access="permitAll"/> - <security:intercept-url pattern="/home" access="permitAll"/> - <security:intercept-url pattern="/home2" access="permitAll"/> - <security:intercept-url pattern="/currency" access="permitAll"/> - <security:intercept-url pattern="/service" access="hasAnyRole('USER','ADMIN')"/> - <security:intercept-url pattern="/admin/**" access="hasAnyRole('ADMIN')" /> - <security:intercept-url pattern="/service/api" access="hasAnyRole('ADMIN')" /> - <security:intercept-url pattern="/**" access="hasAnyRole('USER','ADMIN')" /> - - <security:anonymous granted-authority="ROLE_ANONYMOUS" username="anonymousUser"/> - - <security:form-login login-page="/login" - default-target-url="/home" - authentication-failure-url="/login?error=true"/> - - <security:logout invalidate-session="true" logout-url="/logout" logout-success-url="/" /> - - <security:csrf disabled="true"/> - </security:http> - -</beans> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/resources/applicationContext-wicket.xml b/ucoinj-ui-wicket/src/main/resources/applicationContext-wicket.xml deleted file mode 100644 index 2f2c59bc..00000000 --- a/ucoinj-ui-wicket/src/main/resources/applicationContext-wicket.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - SIH-Adagio :: UI for Core Allegro - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2012 - 2014 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:context="http://www.springframework.org/schema/context" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd - http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"> - - <!-- mount application as bean --> - <context:component-scan base-package="io.ucoin.ucoinj.web.application"> - <context:include-filter type="annotation" expression="org.springframework.stereotype.Component"/> - </context:component-scan> - - <!-- load security services --> - <context:component-scan base-package="io.ucoin.ucoinj.web.security"> - <context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/> - </context:component-scan> - -</beans> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/resources/uiBeanRefFactory.xml b/ucoinj-ui-wicket/src/main/resources/uiBeanRefFactory.xml deleted file mode 100644 index 9aa8dd76..00000000 --- a/ucoinj-ui-wicket/src/main/resources/uiBeanRefFactory.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - SIH-Adagio :: UI for Core Allegro - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2012 - 2014 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> - - <!-- Allow properties substitutions --> - <import resource="applicationContext-conf.xml" /> - - <bean id="beanRefFactory" class="org.springframework.context.support.ClassPathXmlApplicationContext"> - <constructor-arg> - <list> - <value>classpath:applicationContext-conf.xml</value> - <value>classpath:applicationContext-wicket.xml</value> - <value>classpath:applicationContext-security.xml</value> - <value>classpath:applicationContext-security-${ucoinj.security.type}.xml</value> - </list> - </constructor-arg> - </bean> -</beans> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/META-INF/MANIFEST.MF b/ucoinj-ui-wicket/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 254272e1..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Class-Path: - diff --git a/ucoinj-ui-wicket/src/main/webapp/META-INF/context.xml b/ucoinj-ui-wicket/src/main/webapp/META-INF/context.xml deleted file mode 100644 index e1a07e77..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/META-INF/context.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Context path="/adagio-extractor"> - - -</Context> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/WEB-INF/classes/TOTO.txt b/ucoinj-ui-wicket/src/main/webapp/WEB-INF/classes/TOTO.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/ucoinj-ui-wicket/src/main/webapp/WEB-INF/urlrewrite.xml b/ucoinj-ui-wicket/src/main/webapp/WEB-INF/urlrewrite.xml deleted file mode 100644 index 257c44cc..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/WEB-INF/urlrewrite.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - #%L - Reef DB :: Quadrige2 Synchro server - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2014 - 2015 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN" - "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd"> -<!-- - - Configuration file for UrlRewriteFilter - http://www.tuckey.org/urlrewrite/ - ---> -<urlrewrite> - - <rule> - <from>^/install/$</from> - <to type="redirect">%{context-path}/install</to> - </rule> - - <rule> - <from>^/download/install/$</from> - <to type="redirect">%{context-path}/install</to> - </rule> - - <rule> - <from>^/download/install$</from> - <to type="redirect">%{context-path}/install</to> - </rule> - - <rule> - <from>^/install/(.+)$</from> - <to type="redirect">%{context-path}/download/install/$1</to> - </rule> - - <rule> - <from>^/download/import/\?file=(.*)$</from> - <to type="redirect">%{context-path}/download/import/$1</to> - </rule> - - <!--rule> - <from>/download/(.*)</from> - <to type="redirect">%{context-path}/download?file=$2</to> - </rule - - <outbound-rule> - <from>/download/import[?]file=(.*)</from> - <to>/download/import/$1</to> - </outbound-rule>--> - -</urlrewrite> - diff --git a/ucoinj-ui-wicket/src/main/webapp/WEB-INF/web.xml b/ucoinj-ui-wicket/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 5d3af834..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,118 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" - version="2.5"> - - <display-name>uCoinj :: Web ${project.version}</display-name> - - <context-param> - <param-name>webAppRootKey</param-name> - <param-value>ucoinj-web</param-value> - </context-param> - - <!-- Configuration de la beanFactory => pour utiliser celle du fichier beanRefFactory.xml - => nécessaire pour que ServiceLocation.getContext() fonctionne correctement - cf doc : http://techo-ecco.com/blog/spring-application-context-hierarchy-and-contextsingletonbeanfactorylocator/ --> - <context-param> - <param-name>contextConfigLocation</param-name> - <param-value></param-value> - </context-param> - <context-param> - <param-name>parentContextKey</param-name> - <param-value>beanRefFactory</param-value> - </context-param> - <context-param> - <param-name>locatorFactorySelector</param-name> - <param-value>uiBeanRefFactory.xml</param-value> - </context-param> - - <!-- This listener will load other application context file in addition to applicationContext-rest-servlet.xml --> - <listener> - <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> - </listener> - - <!-- URL rewriter filter - <filter> - <filter-name>UrlRewriteFilter</filter-name> - <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> - </filter> - <filter-mapping> - <filter-name>UrlRewriteFilter</filter-name> - <url-pattern>/install/*</url-pattern> - <dispatcher>REQUEST</dispatcher> - <dispatcher>FORWARD</dispatcher> - </filter-mapping>--> - - <!-- Spring Security --> - <filter> - <filter-name>springSecurityFilterChain</filter-name> - <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> - </filter> - <filter-mapping> - <filter-name>springSecurityFilterChain</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - - <!-- Wicket filter --> - <filter> - <filter-name>wicketFilter</filter-name> - <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> - - <init-param> - <param-name>applicationFactoryClassName</param-name> - <param-value>org.apache.wicket.spring.SpringWebApplicationFactory</param-value> - </init-param> - <init-param> - <param-name>applicationBean</param-name> - <param-value>wicketApplication</param-value> - </init-param> - <!-- CONFIGURATION DU RUNTIME WICKET --> - <init-param> - <param-name>configuration</param-name> - <param-value>${wicket.configuration}</param-value> - </init-param> - </filter> - <filter-mapping> - <filter-name>wicketFilter</filter-name> - <url-pattern>/*</url-pattern> - <dispatcher>REQUEST</dispatcher> - <dispatcher>ERROR</dispatcher> - </filter-mapping> - - <!-- Spring Servlet, for REST services --> - <servlet> - <servlet-name>springServlet</servlet-name> - <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> - <load-on-startup>1</load-on-startup> - <init-param> - <param-name>contextConfigLocation</param-name> - <param-value>classpath:applicationContext-rest-servlet.xml</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>springServlet</servlet-name> - <url-pattern>/service/*</url-pattern> - </servlet-mapping> - - <error-page> - <error-code>401</error-code> - <location>/loginfailed.html</location> - </error-page> - <error-page> - <error-code>403</error-code> - <location>/accessdenied.html</location> - </error-page> - <error-page> - <error-code>404</error-code> - <location>/notfound.html</location> - </error-page> - - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> - - <session-config> - <session-timeout>60</session-timeout> - </session-config> - -</web-app> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/ajax-loader.gif b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/ajax-loader.gif deleted file mode 100644 index 57f5624e7bce9ace2e91c342025a91eae38fbbf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6242 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 DX3o&U diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/action-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/action-black.png deleted file mode 100644 index 15e8e48f1361dc5e33734cd5f9e3b6a26ee57941..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkS@1i(`nz>Er|jzB5coW^6_W>J{wRj!b%z!SXQOA*WN1<1lYPp{YU~ z-x2u>PwJTprI`7A%N+i&b}x)DJ;b0du%F?Pyh9B8kw-0axR`%B{E_Tf%gM^O>)2ff znLaTK<B5wFGfqFYv%+aRW2EjbH)W+otgGGFc4extPF^p_@Xs%7>2%GTdw~vN@O1Ta JS?83{1OTBuLGl0q diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/action-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/action-white.png deleted file mode 100644 index 9f31c01db81f8e8995a8353e5ebfdd10de699e5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkS+~i(`nz>Er|jra%Ax*NX{kHk`oq&-s9%!Za0kWeywWB<~VOiHwG> z)r=pD6#g}+{TJ@IEK!iLiTRQK|BcKcy&mTtu|5)a_`}@sx*<Yleegt+XUred6}BCd zwumr!$M&dT%Ym7k-F!33H)PJ~Rxgo$khL+xL`g(9!c<6j{*{X!Tnjvu86@^ks8npt Rdkb_BgQu&X%Q~loCIAb&N`?Rc diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/alert-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/alert-black.png deleted file mode 100644 index 0a34a9921a143627fb46cc6cf89c91794e7836ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx`u57sn8b)5!@3c=t5k=x%g5z;<MN!w)rq&65^w6zTZyT&THmmP*49 z;Yr8*0}PuI7(<#R1)?2pe&)<HVt-U0aMa*~yjEJ9x3IFne3v4nO~?KRSi0p%2~QCD z+irE4%U4G(R#;!a-aWX5*S>vKYjd7Xm(PMaH}UsPnL*5t;v+<6Bo}IN{AWoDop5Ze ii-n+Ue(C~i1_qlso)vEte6@fsWbkzLb6Mw<&;$T2MNQTK diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/alert-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/alert-white.png deleted file mode 100644 index d44e25b4fb5c4a07682fbf9784256552946c2f03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx{(b7sn8b(|gZv<ZW^gX?VE!Lf<^r5~k)Of+ZZWhg5+?lcJ2H_=4q^ z51oJ3<Dua3I6n5?Uj3ci3)OQr@FgD-F^@5nWd3gVw%%3p72BGLf0@n;KGAse)1+lu zg;TQHxleXe9(<~c=k6-^6u<Lx-GNo6x3>j$ohlH$q-Im5qx)$7ZP|MneeTB(ZF;=2 i;JD5LlYK^i_KN42<|X=BZ&L<3kipZ{&t;ucLK6TMa#;2N diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-black.png deleted file mode 100644 index 797ab9b65f7dd2935b11aea7d81d29f939cea179..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprDDTi(`nz>Ewh1eE$|FE;_iv&CAp*A<%=ve8S?LjWV;PPZX9hFKozE ka2GZ^%gdwE#8xwl!F9IJ?s&h)5<vY7p00i_>zopr0Ojx{>;M1& diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-l-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-l-black.png deleted file mode 100644 index 07018838490d10f5d38e94982c15d7bd604483c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEIxi(`nz>Er|jITHs%PlhEA?M2KdEbh!Wd&A_QsTq*P*nXA8)G$F% z#Y>oZ))U4gQ^N-V9w8i)mU7NN#@zC#>y=s16Zbi@7*~tOt*=<#5)U+#!PC{xWt~$( F6976_F2w)< diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-l-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-l-white.png deleted file mode 100644 index 4234114fd7c83fef6c220f537a4c1682789bb853..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprF5}i(`nz>9rT5xfm2USRDHAUEDKMG14V9ub;L4kfVu`fzqTcFI3vH zF7Y1P(9HGai&*4g6Dt?loPGhR1#OC38kpigaIsEUy#JTo$4qze^#989YEOSC=>;0i N;OXk;vd$@?2>|})G*AEl diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-r-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-r-black.png deleted file mode 100644 index 33cd363184b1be9baa07752529ff43fecfb24a9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprE6ti(`nz>Er~51~v^f&IXe|?T^@sOeQXoob5I%Gf%<Y*hkjWO!>6% y+c(S^HIx4M1SlKM`q;!=vU#G8z0l&9_6!A+;@0OsJrWEwjKR~@&t;ucLK6V!xGYux diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-r-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-r-white.png deleted file mode 100644 index 3db6ebdf98a3d9113b695e8a2e27d256a93509a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEg(i(`nz>EwilrvLx{n>QFRYcj0jWRp5^(Pc}Tn#`lGE;oA)hs`lt z+#$SLa#^3s?1@i33%@a@@U5&nwtk|-*%qhY47E8br~8j&FflUJe{7$6?$jobZ492S KelF{r5}E*H7B+JL diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-white.png deleted file mode 100644 index 0fcdb6c36b08ab39deed3105f8f3f32ed3249f69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprE;@i(`nz>Ewh1O#c=$vLzi{;pSz^bX5A^WIm}A7w<Uqo#lOEvAZ$g ofXRe4obAup*n${BjQxBW6nDFyW0F!i4>W?o)78&qol`;+0E|Q@{{R30 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-l-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-l-black.png deleted file mode 100644 index 93a248ecd963693eb3bcdb30e34967a1d50f2f02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprE;@i(`nz>Ewh1yiyV;7!-W}pS=2IehiFiF^HU{aoJ;AuqKyG*P`Y{ hEDnK_l(i-@GZZuV>^`t_77x$}22WQ%mvv4FO#slwDVqQQ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-l-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-l-white.png deleted file mode 100644 index 3c8b133574759a973b92141a0357ea62ffda0c7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprD<ni(`nz>7|z(xfl$1m=4<5+TV}!&RiMzp7~(JSB?v&ycZb6qz=lS w{NN(AXJNd~6vy9JR?K-Jdy!$$$(73S7WdrGJ*f!V4>XCv)78&qol`;+0Le8j0ssI2 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-r-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-r-black.png deleted file mode 100644 index b5f5d49ae50b958e94b5e830483b9107efcf96d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEOzi(`nz>Ewh1{8ADpSpJ{9`e%O3Sr8>Z|Ji?)M{Gr=hfFW~CNm#x kbiVu|V?p$!!z(!%p6&M8efwlp0nh*jPgg&ebxsLQ07Wk@`v3p{ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-r-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-r-white.png deleted file mode 100644 index bf316061908654cd2612750f19c86e1cb8727dca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprDnfi(`nz>AjaW@-i53Fgv>aKRdUnOUc86>wbK5XT~HK3(do=#cQPW r)<k?RNPOgb;&x%(`GdDk$6jPS;O%~{UUW?|&=dwwS3j3^P6<r_RaPxG diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-black.png deleted file mode 100644 index f9e15daa7c9125d7e4f673cf783f922a8245db58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEOzi(`nz>Ewh1yiyBhs4!gmAm1f@;-brzw47NSS;v-hE>BA`Nz71l m6?RNttgRx|leNS}nL)(RXZM!Nn^pl0VDNPHb6Mw<&;$Ss?k4#F diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-l-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-l-black.png deleted file mode 100644 index b518a1df5c9154f7301970ab4e4d5fb984f8b834..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEU#i(`nz>EwijgdhGac?k!YPFy<TuuiQ;ir+whA!PeR6?-`a^^n9# zyhpN*sd-FEi>b>{P(P5dY^Fx<i&>r5TGmLe<78N?AGdzV_KQ=21~PcM`njxgN@xNA D%2+PL diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-l-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-l-white.png deleted file mode 100644 index 71adaa1ec525436b986db137f2db1e0b5997d3b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprE&>i(`nz>Es{&G8qXD>?xT_PReDzEGBXZ2iP+bl|Ach9Q;<8IsD{x z$vmd!F(oagPT^Kskg4&*%O_5p;4s=du`#A0t(e(z*27s0EW0{p{wVzZ0cb3Pr>mdK II;Vst0FZJp^8f$< diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-r-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-r-black.png deleted file mode 100644 index 375b09792600b9fa6d171a2ff73d07a85fd2a6e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEU#i(`nz>AmL-`4|*9m=D;^UH;KHwo^=p$1Jglo8gWjgSUp%Y$w*~ zAM>T%?bA+Z&rnpZm7H6wEAssI3Y(9e64L^Y7~Lvb6}SH193D@gfefCmelF{r5}E)> CXDqb< diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-r-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-r-white.png deleted file mode 100644 index 45b518de8b1973db73d67b95f672023d299601bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprE^_i(`nz>AmL<@-irJIA82Lmys8?zRg2Z?oW6PW24B)1%i2&5}~qf zT~B^({`j(=X{`{KNM+vQKY1;FHg0!2r9^KybKcHi_OqN<JN?BkRiKd!p00i_>zopr E0IK6LE&u=k diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-white.png deleted file mode 100644 index 18afaa11e1fb7045112145754a74a80c630c8e47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprECvi(`nz>Ewh1jQ{@szt3=pX9>d!HHi!bcj3ZWg&Bv|&umb8GpqAT q%c_|!zASTlnLIlC0(+-qurOTDb3Z2~_h>565C%_IKbLh*2~7Y-0xO&V diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/audio-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/audio-black.png deleted file mode 100644 index b7901c506bc878488f7e6f0a98d81d91c764990b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx{+c7sn8b)2){by_y{b+8!Q{QOME{<mT2c?w)f%i=!+|Q6Wj#AVE_s zvq(hxx5&$;C=Ri>14{xs7pR;SIlZg?-}+hk>2Yag5~p@~K4O!*7`iz6kJ>+$`w@v- zIHOV(WFDFpT@MZ5nzvZ|qnzD`X66}c4t(bh#kan1-5=f%w4v2<--ce<KM$AkwG{3t zJ+wdhX2ANjtBx$|Ymay!?EB`}it`4YhlGBJ?33Ro|4;9&jZQ=Qj*bd@v8_EzH4pw| xlzFUMG(EIlE-k@&*B|MPOB~Cd@LTwDU+YQ_KCJE(w*=@x22WQ%mvv4FO#my}bHe}t diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/audio-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/audio-white.png deleted file mode 100644 index 34082825cdd0f6191bf4f30428164e9d4e1b9831..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx_-(7sn8b(^D^P)N=_GIQCIkKjCF+phn1^R`q~Rm*ux|lon0g(HSHn zb<bt-{iNNzT%Cuw7dVD(`V>54>f>F{+t$y@fA*(X&3JN9bHS9O#ybv$WeN8gp8O+q zujb_%-bu|9;}6DO;q$s+-XZ%%Dei#sy^T{0zC;HXh}7BF=>N&Qv_|vBQQ^3Y2W9LE zZga8K$nEU?z%TKib<Yp;j#Qh+tea=_hvf^g%@8^8`omu!RR3wUimgC;x1j#91;<`o zD~}ZAOA!4Ycw0NxKUDf$)t^tBk22LnSby@)d6sX-_@Vh4Q{b^%KY;#Z@O1TaS?83{ F1OT2pe`^2$ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/back-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/back-black.png deleted file mode 100644 index b58685d087ff2f0385a8c82abf2b61ca6f9c4c4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkTMBi(`nz>Ewh1EWA7^3=@|9f0Fgff1R4ZKjtIr8-G{`_%kH2Cz&Q4 zPH%{qJ|QhkVH#VKxI!N5qvZh~{T<f$dOav${1~<3PFl^mV{9r5r0ge4y*l(HE2kyv zj`te20Ees0AMIDTg*!=!H13e-c<*G|U@}c8S-42%9!nB`(%c_B9n+aM>I)bz^k!n{ YzGAezZOYj<KxZ*{y85}Sb4q9e0O@5-1poj5 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/back-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/back-white.png deleted file mode 100644 index 856d515a7e17c0bfe0430a58a865859f79afd7e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx`7=7sn8b)5!@A%>V!Y&reVgZ7^Z{Sii|+;u66~VUa(KkFGn^$aJVP zY-HXjwXxCIVU4$kv9^FW^G0rg?MxqoSNu>{xTa=R(BKr~ut#iFrLkZ7V}a=nS$}-8 zR&Y;Vy-{#gq5eiG2gXqTBmWmj#d2l_usljq*vEa9;ZlTGkMD^GY68^)uaBfV>=Egx fZJfawE61>3nCEum{m8RG*D-jy`njxgN@xNA7Pd{! diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bars-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bars-black.png deleted file mode 100644 index f3e99e678478403328879da830ad2f635b1d9130..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprD$ki(`nz>Er|njsl^M|C2lX8%*TXogW9b1=?TYn4@^TU%jnOp7E_j Wpvb-XSzm!V7(8A5T-G@yGywp+Q6U`w diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bars-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bars-white.png deleted file mode 100644 index 84059c63e650cea8d2b9d8797e4333385095281f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEFwi(`nz>Ewh3)<6FL|9|rTl4fCr-s2}PR7^>{(r@zVv1HNTilmGm af((1k`KU8aS-T9ViNVv=&t;ucLK6T(2q@tI diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bullets-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bullets-black.png deleted file mode 100644 index 10a2f1cc67f9ce00a2cd4e98b580dc0b70d3f730..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEOzi(`nz>Er|njsl^M{>2~v3m;IISTL(kDbvQU<=A4L#dS*rEtrdq mh30G6&vPjL+<EY&J44DMr&h;R)3*Q(VDNPHb6Mw<&;$S>m?%L2 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bullets-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bullets-white.png deleted file mode 100644 index 49971a164ad8a3c98bf54ce7335fc76582e4a455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprDnfi(`nz>Ewh3)<6FL|L>__*LO^v#jim`j{VVM52=3Pg&#EzuaM7t ra@;t<eDSBwPmeiG?B_|$sbgXI8z{L)t7T^w&=dwwS3j3^P6<r_fh8<~ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/calendar-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/calendar-black.png deleted file mode 100644 index c4a643c70188af028dce70840319ab7fa0d0a3ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprDDTi(`nz>EslLhRF_p_&anZH#8eN{9*6Vb&zpW_;=ocO(IE3Qe*2x k6*E^U_qkmsm-#3&?8#JN-+cJ+W}tosPgg&ebxsLQ0HJ6ldjJ3c diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/calendar-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/calendar-white.png deleted file mode 100644 index e5b7b9f22077147cfbc8edce56b1514ab083819f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprE0ri(`nz>EwilrvLx{&u4k`n8$)4;2n>^d<QWFZXVU%6y_9RkEF?K h3$LuK$WaVeW_a0fHiN${HW{dy!PC{xWt~$(699(6C4>L~ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/camera-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/camera-black.png deleted file mode 100644 index 6a029ea0eef23f5669df2000f7d232e05d4b9aac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx_)&7sn8b)5!@7lmgfvNh#ztBnd=|&UVsMIOh`dL!{&X;)lmQK1Dj5 z;k>j%vfIh2LfGT6yp9lmV+E7IcgLGAJ}KBrG_f~Ch`g$qu-T>Ihk{tC1QT1vId;p_ z6C`?d9R6^3{ul0u?A%%?EL3kRAT7N3qrfD2;{|V&Z<zc$s`P`S<M%?v-xA>~@|2Y2 p9M7>YXL>TlnIru`5MLw%1IO{&YR|^CDnNHKc)I$ztaD0e0sv-GQ7Hfb diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/camera-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/camera-white.png deleted file mode 100644 index 7f00e232b01225a9cbd5a0840138de70407843a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx|6j7sn8b)5!@7#D4t$zu!vWIzu6|Nb`+VH$;jU3)LnaTK?bgV6w_j z9ffBsnRouoFWJDk<RiaWXS;(9W5@3WIVB(38M_}aDu}gO$v@E%RIuw<$1&TD+2naX zQ<8I%$tH%6`YQkY71C6%9rN}0^VK28r{|cnN8Oo*P5lX%e~5QKb9cDI&wKOu4yRIK r$&WkamP{1ZeJXHB^1&2mJq8ATx#*p1bGc^$9m?S8>gTe~DWM4fQ1n-u diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-d-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-d-black.png deleted file mode 100644 index 0653b692f0e5682a109ea6ef8968b045fd63793f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkSe=i(`nz>8lqExtI(E94?kiiC)hw-CMtY`GnNqmEsrF8dDVvZ~ats zol&WI=>FEj8<X=7EsNPUqwx63#&Z>q!aj(uugR)7l)SaPk<pvkeM>@oo9P{w>^V$* x87pcXj>N7g;js9+;L;4oQ~b48e{lc0A-z1o=wbl>Y!RU444$rjF6*2UngI0wNNoTB diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-d-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-d-white.png deleted file mode 100644 index 9e7e9e98a8a6727d71e6859db2228d2326722b28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkTSDi(`n!#H$x<`3@QIuw9t5Od%+&?%n>wngLgR4zS93YcJBsJ$zz& z<hRYL?H}R~$}Ml($-Qgmjl=`O&qYg)O7oX6mfsKgSn_h}*}F_i$5dk+mHCP{cZCOT zvs4n@;ZpdLQT3ji<U8&;W`S+}!X7VX2Q=0@>;7agWETDN$M3B>&<PBlu6{1-oD!M< DCbmb= diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-l-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-l-black.png deleted file mode 100644 index c8c495d3c032061164d44fa72159c1f7615f6bef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkRQfi(`nz>Ewh1{3VS)Yy?&tOknuZ@WWK#Kl`KQ4r{ztsR`8aA363U z!${HXvUHH?%gesPu2O}WW~!?1CYaVMgnrI8Ih$5;{m+amU%HGZGBafCG`b=BW;4(t O1_n=8KbLh*2~7aJ`Ziqv diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-l-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-l-white.png deleted file mode 100644 index af941a03022b9a94ab4942adbae028a3d05a8c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkT14i(`nz>Ewh1%>VxXU(bEyd1FLtV+2FU8ulaW|2rQDRtQrK73SE( zo|If<GE-pjOWu{UzPw!AsnlCxGJBFx`H5Nf6IT5+ot0+1E4$7otLo^?6O7Zu#h7O- S>`ww3&*16m=d#Wzp$P!^WjMnC diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-r-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-r-black.png deleted file mode 100644 index 1343997bc6f4421714ec0e27972ce71d50231fdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkS1zi(`nz>Ewh1EUz4D<T|!WcrZvg{E_MS&-~F_;hI|5Vo8DehAfrH z&6cL7`xk|5=2M+j+IjWI#E@v+6BkoDT_>9v&a#^*B`fwMgNe~pq0Y<i$YGQD%2Q4- YR^Bzb&=GX?7SI+3Pgg&ebxsLQ07$qu)&Kwi diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-r-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-r-white.png deleted file mode 100644 index f377fd8479d3605d2041e59e3b62e775a1c2d38f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkRupi(`nz>Er|l=KufyhqFKW?6BsjgARk%HHJse|0_OF704D|eUYcb z{*ODuB$L^}!JoCgOkW2qiku$NEAP2Ubj5)t8Q*CUCYi#EUkZC(WGua>KIyT*3J>0n j`IBTmddxa6==FrbD^K*db!=81&^`uFS3j3^P6<r_w?RH+ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-u-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-u-black.png deleted file mode 100644 index a1a5ab6f9391883553ab79c0b687102302b47ca5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkSJ(i(`nz>Ewh3j2GIICYkPSOtK9!{o9_j$mI3H%%+Fef0(>>6g?oa zzdb4C?5-mjMvO_p3jZ3sH|z2F8Z@l?DeCjN(q>jcrX9Ob2;-yW6($E8Btt$YuaGkc lU`<L^T6Bsh^0ELULr$yF)tds+jX)b2JYD@<);T3K0RU1DK1Tom diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-u-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-u-white.png deleted file mode 100644 index 5b2deba37b2ce8269eb76a3b539ee2dbb2635086..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkSV-i(`nz>Ewh3W<UP_-*3k;dGSkLk=GMfak6n_vuQe9W?^1mnAMh5 z)w|?}t%!2=HC4CCoC33%KC-Ww<;asWYXXn!^*>x|Bt7OFU&`74tXRQORH3fRTX<5M t@rq~16>JS0Llw-_lvbU2Fslvd!Uq?{7#2O)!~?XM!PC{xWt~$(698*>KU)9* diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/check-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/check-black.png deleted file mode 100644 index 2cf2fc6abcde05d2f7db52465a8935d18a5188e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprE&>i(`nz>Ewh3%oz<ylN^)<{<kMBGBsDsREjb-^Oca2Uf|c%n3iOE zP-WJMi!J=-54a5%nF@a54^+J2)~6=%Lcv{_r)1*d&I|?yo@I{Tm3Mr-12mSw)78&q Iol`;+0COxZQUCw| diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/check-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/check-white.png deleted file mode 100644 index b9f558c9af4f90b5dea8fe251bf026d7e2c072b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprD_pi(`nz>8%$Gxfm1$oCEviVkaE+KAv_|&`~I{-u$Sxk>+1n&j~Hv zM(F{859RVMaP8-{ywl(1_LObzp_j>0Lf<^(*O+nr*cy1?tec-~SB0V2g1oaJlNmf+ L{an^LB{Ts5g#a=G diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/clock-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/clock-black.png deleted file mode 100644 index 0c38d91e3d217375cf09084b5f85f301bd6b4c01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx_Np7sn8b)4h`txtbgVTHEVd#XY`gMK0%P@e33zX;{Q3tawp&Ref9R z5w17>w{BN(2fs<;w<|ebx%=^%t{QDN=>k^&pa#>9Ba00y8jc;7U7{C!wng_vv!3UH zzWZ6ZeOEn$x89VLxmtB@jx<N>{}lgAn^dz>d)Bt}W<<ozE<A9<^~TP&|BsEN{CZep z!eu|cUUDyfT}#t$l}qasi;IgNH6A=Ee@t?|y#JAhW;r|kxt~p0klws<7lY((ae?4_ zaj^{--}h;@zusN6^mK}7(T+4f(US**rl)^lW0CQH|FHt(VFm_IS3j3^P6<r_!drP+ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/clock-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/clock-white.png deleted file mode 100644 index bf5a877e9999af6c10c34341dc250caa9b538ca0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx`}E7sn8b)4h{oxtan5THEIx;Z@ltx;B)>Y4r+$D2KrA&W;TJo3j(8 zH#SvyS}Pylabv61hlS;H?9<nEEZn41oxpnTfuqp|mVGx`_>~K^Z<n%8)LpUQuoTMy zMa3H*qCfJbRhKU9ocM-=@0jJX^Q;wz>Q`x*?pkqWLvCgq2m3;<e;jWv*9iIfJ-xxS zvc+ur^J@27QzhQ}-<C2;<9yowz<5FaD$(y-`k!uJR`brZ`~1^YkMysmeL3m4-OTM6 z>y4r+y^G(<j<HIZ8N0>g&HmJ{pnT)<(^vCKo~W>XF0a1AZ5lCSOWdzRps-=^boFyt I=akR{01tJ3761SM diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/cloud-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/cloud-black.png deleted file mode 100644 index 7c50e3724e787999546f35ee9093d269973415cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkSG&i(`nz>Er|n9tVjI;l>?eUfhC<HHA9tnLpO6{1NPM{*bwe_0j%} zSqVSP1!h0Kw1c}{P2wN>k@XEX<Rd3r3)Cww5NwM-WD+W{lCf<+gQ2>|<7gq%rVnlt zj+Lim{NcP5;n#Mo)S!NsgYuq6jyar1WWM-MXLxZlj`>XjV-3&+44$rjF6*2Ung9f4 BLw^7O diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/cloud-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/cloud-white.png deleted file mode 100644 index 6bbe75210a4371d8b47cc8a6ecb76270c7abc921..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkRroi(`nz>Er~7f)D@y*C#6Yu{?^>&~@oq=ArQKkGyCN%OioBSvieA z-q*i*U@kEG@ueNF?dv}9cf>PpwBMvwuJG^Me2Wi4%T_+J&wRiwP~2p)@2|hr4US7c z`gnTn9i>j6ys(4snZI~Oi@89fapR2Uf1bh&Yc<#JKev6&YM}iLp00i_>zopr06lC< A@c;k- diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/comment-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/comment-black.png deleted file mode 100644 index 8de9ce841f47399d651ba373e4535a2f274b1cc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprE^_i(`nz>Ewij1P+!*(;fcI_xQur@mJF03d>=A$%Q<V7=@W<CWI(6 z_O3s9fxWA`KubYYa1TRLe97d5NxVy}8g+bmmSiw7oDtXkG<)}%1fY=&p00i_>zopr E00uEFR{#J2 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/comment-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/comment-white.png deleted file mode 100644 index 5ff59e34f9d0eb69a162db8b68c92f9edc730d62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprDhdi(`nz>Es{(|JN%B?Em9$Q^9)VACF2_Q{!}=|0h`%OJy$oC@T3Y zuEFHj<QW`s3>)>CjT|QBBq*>>SjxF-Vumk6?9qx%HnVuo0!?G^boFyt=akR{00TQN A;{X5v diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/delete-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/delete-black.png deleted file mode 100644 index 94a5b9f57974d7f743fc6af408d457abfbb57119..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEg(i(`nz>Er~51~!djtQ$@>v;1=|Wajgg_;jM_hRNe8$JIW{pUnLK zQL@MTU_H}1#i(NDeG`-;g>OnpXFRoE<UA#zWWrpA6MjW0sznTqQwo>9-m>Ek&|n5n LS3j3^P6<r_3;;Cv diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/delete-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/delete-white.png deleted file mode 100644 index ff984a9afb63c983f05533fe121281daff10d6e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkTD8i(`nz>7|nbxegd`IG;UveeRu$zHZuXZqNE3WOw;8cNcv(v~Ear zP3=pqI5N|?Tf5I>i_Wq+4bpD<lCz>CZC6h!-?HfXoc>2=xBPd?3_U6H)A|X+iHX6^ ab&OW73Cx}!Tkis`VeoYIb6Mw<&;$U)B|Osr diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/edit-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/edit-black.png deleted file mode 100644 index ab390d7a170003eab1834a240f2bdc876bc16a45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEU#i(`nz>Er|jITHs%PlhEA?M2Kdte&WG_QW~mTVXj|(jFIGCVl=l zc~#+r>>veqVGflEi#b`uKm?zIsk*~lUl9g|s*AQE#V$g>fCe&ny85}Sb4q9e0B^%8 Ap#T5? diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/edit-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/edit-white.png deleted file mode 100644 index ae657a02d60f665d3aa6ef959cb8577ba96787b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprDVZi(`nz>Er|jp+Eos?`Le0^k59|HMrog&h5~wiF4hzti2&3^hI54 zx!~J9|5Y+&{>&2bxW;mIhQlVc6~|arvYWDO7_Rbcifp`*!oeVsty!iae$EMKE`z75 KpUXO@geCyiE;2p< diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/eye-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/eye-black.png deleted file mode 100644 index d7cc1d06931dc19f5a9208b2f07b0ecf163e4412..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx|sz7sn8b)5!@E83#Cy1Ul3RbnJKf$hbm6S<hD}!1aG&!h|^%yVNWd z_OXY4VD8x57{So-bHN+=fSuI=TN4iOAGto!=iISJvt(3$z7DYES$$!S3PWg(P)EPA zWZ#-JRbjEq{}nI(pTNY+yujL2yn7at%Fpb8{mHy@VpcRV1^C);WaZ=O5bo&vdt(u^ oC8LWI?+>P<><f~5m}i?YUOaBsc8%dr7tomup00i_>zopr0Oxg61ONa4 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/eye-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/eye-white.png deleted file mode 100644 index c05bd0d8acdc575aeff54977026d9bff306e4fb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx}H@7sn8b)5!@E0U!SVuXj`EV|vu=@JF<Z-{Gi4VdkU;twXF1MUP(0 zdeZPiF61D;!a24iMulh1o9Z2&I%GXbnDwLaht;H$HzQ&uH>>amo#q#cX?>=`xZ=@d zhZ>oa1t}XQadwygSG;Ioro7F;u{=vp%#_vR({+cs<DwQj1DIJC%&JRb;hVJb5zC@v td$*DWstq117~>cGU<m0cOqi_B@F6d-(cwh*CZJOpJYD@<);T3K0RTA+Sgrs7 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forbidden-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forbidden-black.png deleted file mode 100644 index 75098251be0dfff41e11f96e03b20daa1c67f9f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx{|g7sn8b)2)*n`I-y_T<-_nOy)=rJZu=T<1^142IoCIiBFFOH*`K% z*d$<n<!pY?>?HL}r{9%xXWF;kKhdcDfyM3sk4=MHl)<?JEHkE>GNy7weL2i~gIRhl z^98Ty7>n;lybe+;R!sWGWOQZnSreBBe!o~H6GP&p8v8F*J((A1@AAOqd49@H?tjhO zt!7`G({o3eN&MVAx7lV1ZT$DY#{Pc1LTLk|TSEHLOO*_B?|5GcewY%~FuA^X<->Kh qI}KTGo-nx+H|@OE=CaewKbS%S;|@+_eXj=e7=x#)pUXO@geCy!#BwbF diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forbidden-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forbidden-white.png deleted file mode 100644 index bf135930f01a908ad207282f578124ec38c81105..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx`x67sn8b)2){b^A0(Pv^>=1v=w}$qxeWd@6uDAI}9REjXJb^{Th{@ z%4mo<9G;%GK_~gJhxSeDe}C_tyB!pDh-dzfqmt@>9x!jdq`v2ILIitA?FCi&nun~5 z*I1f;)Z?A=?bg&RpDL@UWB(6tdE#^3>nn4GbbYK)%NFyU?2k?Fty8g;I4aX(c<$du zl}~JY*dJ?FFP~(2aL?syygf(1?oHXT;U(u{?)vAIS7ncXV&ti|i9frllyRG9{v2c7 zsHu7tum9~lRnWd=e`C}Kk?c1GK95Ype5)_oGj{UotN)rg0q8>pPgg&ebxsLQ0580H AGynhq diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forward-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forward-black.png deleted file mode 100644 index bcc46226e3c5ac3c504e2da089dd891cb84eb0bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkTMBi(`nz>Er|jJ`;lpoc|`T{%LPGOSYkcNkE?c(RGJE?4HVDXR91) z*n9=edKLvrci20s&SNUn7TC?O(L`YLqs_V6AxXLd#gl|A;ulO3TH?m;vshr|!M*&e zHckxb%?s%L->`$PBhuqy4BJ%>qX&8d;>;VFHqNqb_@NfHN04_$!wvq9=}aGuW4aic XmKm+)k7&LGbQXiBtDnm{r-UW|*xX2q diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forward-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forward-white.png deleted file mode 100644 index fa80f3677ec180fd4cf5fe60bbb4fea1db542109..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx{(b7sn8b({nE>@;fGqusyI=UNOn{Vs2e?g4$1Gvx|0)-_>0LLq+Qy z1T<%LJ`=2YxM}CR^83H$rKek~pY~!=TrKpzWz`0W<Ob1iJ03kWeklE=@PoZ#f7Ono zk9t(wUMvXQk}KWKJ8NlwbG6QG&-W(|hP~QZE~ppuP~(vLvlYu9M79(h61lsnq9^%Z krsnMI8410o*Y6bn^MvRA8(U|4paU5^UHx3vIVCg!0L#@}xBvhE diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/gear-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/gear-black.png deleted file mode 100644 index b6b37b4f499f9eb80f8299d78b92f6369bfd5214..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx^^f7sn8b)2)*nxeht-xGvv%ch!a1z!fh9T>|wLJ9Y>;PS>qqh%I^O zdAH*d^Odfv_8+tpIV37R+*X<FV|46=8H0X6<36zm+<O^~1)7*SR(!uwyrGPLgQt8z zb5m5%h4jdiUEypM3PD!gFS3*B#k#yyJsicitn~i%Zh<O$p<wP(ucJOciYG|;`QKZ< zTBU5xj8n@eglTuqlTH?H*SUWq%<~RsE!*N}$^~tcH`?C*CTR0=x8-hg?$mOre1nPA zJx7^$Xs@+9GB5dhX8e&E)u&vi3jg;#c<Il^7XCZ;)-GqQVZ1iO{ccG5<~u;YGI+ZB KxvX<aXaWGIdU?SB diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/gear-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/gear-white.png deleted file mode 100644 index 72c9767a20dd25b35e23272a2cb51d2e6e03d74e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx^~h7sn8b)4i8`{g@m@TpxDv2ESqTXsZ68{zA=%qfl_d4hD9sg7sd9 zn520AT2{XD4t6}h;_~*q^1Z>KUaT>XgsXi{YkugkJXZ1fG`HK1!<)jI<f4z~D8Jr# z;%McbKizWIcUt(>zuMr`?P*g!G511>VCAyV)PJR?;tjPE^)H8YJ#RMsEp*Cwve!o0 zH7~iAE&OvOY<|$cp6>SvCKERIz1<pk%k^8|=08WP|37Y+9TRg*QuafjX3izn3W;+Y t4~WhRn3tYaP#v=B#EjOrcl$dS;{(%~N>(QeRRaCS;OXk;vd$@?2>?V)c(nik diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/grid-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/grid-black.png deleted file mode 100644 index aee31601c1287cdb68bc465dfac35d4becf1ce79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprDhdi(`nz>Ewij1Pjh1{}=wSU}jP1p4-qh*HQd;e_N-Ra`fXum2-hB zlyZ{PH*`#7Zwq)ZN5M#8g}6m}2WN+(j0M9X-u87q>z924n#SPi>gTe~DWM4fag8kt diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/grid-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/grid-white.png deleted file mode 100644 index 19652cdb8f4ecedd3f8676e29039438f1ae0985d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEIxi(`nz>Es{(|NlSvpQB(7Bgcg!ehx>^DRdh)d9bM*;9xn@VQ4sk z(?QB#;bXsJW=@j&#*T@MZD9}Qs2C}%5VuI@U_BzhFT+r<cJIcIy*nNP4Q23j^>bP0 Hl+XkKKq@gX diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/heart-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/heart-black.png deleted file mode 100644 index fda9f924877666b8f83063a2c83d88bda474c2a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx_iw7sn8b({nG_@-aF}ust{~8q?BsOf{qB#_Yhg1+2DT<D5MA&yHAV zFllS#@9%2)pU>LN)IY4A{AS{V7LMi%8fS!#NU$ci@vINpek1hE=7bn6zS&jZo^M^2 zR`8xNzu*lczrkBZ_51UCtrtWnI>$sW$lmdLGUp|!DPrL|>5Y4sYz?kYFrCLbC3$7) jqK4u%C1;lL?Pau|RR7{u_ih`Y`xrc3{an^LB{Ts5!P-|h diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/heart-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/heart-white.png deleted file mode 100644 index ba7a949e33e4800538660675cc8b94cf8d3f693e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx_Ko7sn8b({nHE<vnB|&~Q;(f{|^Zub5{mOB3U!P^Y6D0h^eZFF10G zJh^Bg^yt3LOR3xQbz)sy5_(k2ZY(;c;5+wR*~_yQK_L&`+|)X|*tqL}+rH90Ki|#{ ze(=M+f@4d4OYZ(TF|PY>swrnJY8U)w?^4b4Sk5cP&P9C6M=q_Hc$e^ykDSY1$Sv~x m!_+NOKEsvojA3ngJ+qRJqrc#UpZ|ewWbkzLb6Mw<&;$S&bXE`m diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/home-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/home-black.png deleted file mode 100644 index 6b4e5f35aef0a787439eb31b69b584cd795a2a87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprD1Pi(`nz>Ewh1yiyBhs4!gmAm1f@;-brzw47NSS;v-hE>BA`Nz71l p6%L!-d9{Uc#iEHKI}=w6GL(NwTB;hbBo1f>gQu&X%Q~loCIG$0DVhKP diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/home-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/home-white.png deleted file mode 100644 index c1f8feda6bbfd4d223326cf9133fcd4972cd8700..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprDPXi(`nz>Ewh1jQ{@szt3=pX9>d!HHi!bcj3ZWg&Bv|&umb8GpqAT u%c_|!zB9~(S2NF+*Szl0b*JDO2g56o`DMEvD$N0!!{F)a=d#Wzp$P!yq%GP2 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/info-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/info-black.png deleted file mode 100644 index 46ee7e3b95ab0e611ab1b0c99f549d66e7c15645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx_)&7sn8b(@QUTa~*OJXnFWvjBRf_%X>wZJ$^3z=^f%98FzWzDN*2? z?675l+2zmY7w`IcjV(RqBj0w5#9SwKn~VNG8nxI<Pae}fm9kd)@a)dnUT=(Emy0~| z|LY|0Dv+7DM&?GxlV6e+;njaxx7jy{U%az4L09dOp|Bs<{S8uFp=k_7?>6}RuU)h= q_<}AwuhycSzAE3l6kdJ&{D7I4qn#(9Q!E_lP6kg`KbLh*2~7Z_6Inq3 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/info-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/info-white.png deleted file mode 100644 index af8346f1467b23c53d0e42c63ee6662242328e28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx|6j7sn8b(@QV;avd@daCmsf>0-6VM>(g1uQjS{y!U#9UI?`}Uz{;l z?+W{7&rg$ndTQz?^x5|9aNTkvG0bSgv7;90S7u(}=hF+|z4mLl%*#~$&<M5H>OS6A zzUbZ->a9o)aB~Y@RDA4-;KyInZ~Rk`^Wym)T^MZ8{czb?&nJA7kGsvSY3Pw#{cvq5 sPkGNf=c<XzZ!9`!`l#Wo@!kh~AKt|TE0%9706LVx)78&qol`;+003`b1poj5 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/location-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/location-black.png deleted file mode 100644 index 4cd89986764e80e27ab3eea18c7623d038e07759..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx|^*7sn8b(^DrHavgFIVO{>2CGSm+YHpQntDKg)U|^@>)by@J8M_+H z{C~XoHCgt@**CM(9!{6ZXyB`0GTo5SAhUyc{rcU!M|<1c6&QjSOtP*_Tpnnkcfxkh zhgE@TF>2)>4>h}q8U%-&e!I6o_~(rCYxfo~ZJD^@>TGXGPH#5@_A248MT>9DEbwM( l<>VH!d_5_W@pOHEzIltKo*-}A2cQ!fJYD@<);T3K0RXgmRC@pb diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/location-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/location-white.png deleted file mode 100644 index f6eeacd73cc73cdbfb18ba8f5f408aa2d6972bbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx{hT7sn8b(^D@R@-YUAv|YR&*|_j>SJ-*2h$&M$6r4k@wFs0<TD<cp z_v44!|97gdpD`uw5QFud!oy;JL$od&t$wc5H$9=3EBDIAT(1vu?xEX4H^zE@5OJTI z^ZH1c&cRTbt1sAY9owdJaOHVluMMrv%vKA&zMXzX>VZxzx2=uQ7YF^nLSmA0md779 oXg>VK|3>osf4s>(cD40PGrjcOGasLu0(2yUr>mdKI;Vst017N!9{>OV diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/lock-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/lock-black.png deleted file mode 100644 index bf947e81d792a3504200b26a39ba2fcc602d1a20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkSV-i(`nz>Ewh1EC(HGBs%sxe^gZ9OHp8`YW!i(cc;}m*dXK}zrs1T zBu0g2&70~Sp8naGX~Q%1%rT|u%u}s9d>@yuSi&G?S-0X&c#c$J-9gq3r~a!8UUpl| uDKLBT;)@a;z9%o<U^x2avd8QIR)+tf<!xbhqOCxi89ZJ6T-G@yGywpVL_$vh diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/lock-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/lock-white.png deleted file mode 100644 index aa60e236e1012d7b319394a574a210332830bf43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkSe=i(`nz>Er|l=Kufy^RqoV?C?jni=VMjf!U5B<ic-x^B0GfYD%nn zz%G!^ypciRv*S(s1x5dEn8>wxr6o^1-FQm&$g+>tAwdk?GWH?ww9R@G8jk;;@#()O wi^=5-rX$auWSFoe1s9o^IT-#mxuh1tc!iyh$K2=@JJ50lPgg&ebxsLQ0JDigY5)KL diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/mail-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/mail-black.png deleted file mode 100644 index cb67c0e26b80ec0c16696f406f6a022b39c9c8cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkRxqi(`nz>Er|n4guaH@{K?2C;m_l;b#^X&}RA=sAST3MZ@8%K@4k> zu0k5yBQ}M9&92NIYvfkBNv~qp`6${Uyufce)1%)Wv)(aoR1MK%T=mVKdDcnp1?L_x zKT-`i!!8=#uuSZ5q`~sT3}-U`b7s1fS#7!;V4&<{zOte7&WZFS2_puE->n{vqW?U% Q1Kq>m>FVdQ&MBb@0Hb_HQ2+n{ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/mail-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/mail-white.png deleted file mode 100644 index 06a60839d239dd1cfeb46a8d13eb00f474e385bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkS+~i(`nz>Ewh3)<6FLuQw5>|Ko4Nu(Fpe^9fUutAd?Zi`oP!)(LVG zj;(fB!+PY5!ySer^&2u6I<Gok&1n8&;GnvXsgUW)%P@x;dC$wX3fo#vsXAQ!m+oL( z$#~^ujl&+6uAd8%xF?7jB@~L?c<Ir&oLBU>zlZXjmnZy`!;~Ej7^GhEF}O6a-xR;s R{srhD22WQ%mvv4FO#rWdOYr~z diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/minus-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/minus-black.png deleted file mode 100644 index 97589d7cfb70eb7ee6fbd69648e56d55c5902812..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprDwii(`nz>Er|n){2AmMjrz%S#T9FFf27OKba|z+X_^{;OXk;vd$@? F2>`U_8Eyao diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/minus-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/minus-white.png deleted file mode 100644 index 874eaf37890e0049b66191217bdb1d944c9210f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprDwii(`m|e{zBZ>yCr<Mh62fS#T9FGu#TkulWAj)gM3=44$rjF6*2U FngGm}8-M@+ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/navigation-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/navigation-black.png deleted file mode 100644 index 17abd7b7433d4303c87ef4b7ea3baf401544476b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx_iw7sn8b)5!@7m<5;~#VE}4?nzQpC}Vvj>hOoT<3DpDpB?WfhdT^M z_!o2~{;(F{UZnku;gN^JJ>Db#FPI$oP?W;k=3v9xasOdJPfzRx+g!FI7ad~wk9ary zU=i5wdYPrjOnIYX=bNsophXW<LN3QEOjCA!9JJzC>=L&s=8$BTl~TzI8jtv`aw}Gt h=acu#<cJz0gVk02>la=b1OVN~;OXk;vd$@?2>^+%QO5uP diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/navigation-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/navigation-white.png deleted file mode 100644 index 195388d0c674eebcb65fd7d768c469711e8f8e83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx|Ur7sn8b)5!@7On?0Uzh6M$In&3OBoSlAjoJe186L_1S5#o1&sM3B z$MA^#f8fD#1u>WKGmJ+jI_#0|`2Y7f-!$cH1C~dc4u9U+Cq8I;mualf$M&d7A&%*Y zdczOhS!xqDOLp>lri5RaEX1n5aMnMjjWU{2)16G;DVbi9ULd9HaaDquSEVe-bQbf+ gl%mVa70oOe!o}J7qI%ZP20D+y)78&qol`;+04k+TO8@`> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/phone-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/phone-black.png deleted file mode 100644 index 6d0a09cdfb3cbb4fca6cfd3e58766c743cac8863..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx_2i7sn8b)5!@y!1RdKp@yZSQqqGV(4j`G<3IC9!yuFWjE}Bn%&P3T z_=9&<B5%m&d<8RAx5t?)+yvrSkH{Ud+A8DuST%^LUH+B-jAsc!CdZXB|1ceSwj^U- z|B|1~0?~_4W-}U^oAu^6?2-2T%&*|rb}G`@Sw3CqA=4vUk6DR~+hjE7^*_4Av#C;X zR@##awvGG`KNm9z?03D)<DDqX!8(IMAe`Z&<%;?7hZk`(EXuJvv`cAO4bbfjp00i_ I>zopr0I0cI-~a#s diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/phone-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/phone-white.png deleted file mode 100644 index 773b60233cb15da7a1020414b1364fa114d4687e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx_oy7sn8b)5$;n|F;(w&}Vq0>~Q9^gARjMAJe1F{}mrdT%6U&b)Vs5 zmdRP0BN>0#u5Msk_0wEnw$S2_U+P&RSdYjZvDzx*`B*iGsa^h+zXXSxYq8FxWBLv` zeqGOgdd#wC*l0RykC;Gl^5qk3M|Mv%`Ool3WW^j)lP??9g%&7?3%vi?&!xxsv1mz! zU6;4<iD#|<4G&7GoNfQ`(~_~{{-Vsbr5ie1n0y#Iv>SfNTsgl!@ggh3!ji!Ke+&{A Q1KrQy>FVdQ&MBb@05n!*00000 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/plus-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/plus-black.png deleted file mode 100644 index 08547279df5a0f720d6e298611f3a6947225c290..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEX$i(`nz>Ewh1eE$|FE;?9n`Nw=8n<*xJY78<`jBUH(7xqt6QUoew N@O1TaS?83{1OU`n9#sGU diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/plus-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/plus-white.png deleted file mode 100644 index 7b484187a63abb44b261a3426f60c8171c02b54d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprD+mi(`nz>Ewh1O#c=$vLziXxcp<jkHHj^J~f6rQjGpxbrU3>wYUIP OGI+ZBxvX<aXaWG*_#SBh diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/power-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/power-black.png deleted file mode 100644 index bb95411b77c41ebf7fff5502340b1d9ccf8b500e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx`l27sn8b)5!@3c)u}y%wsb;P_LoJ;nes;Okj5M#SHEv+Z!zeVkavJ z)VFH!99?86cIqF~k)jh)%N<n19v8l1)2LV4bnJJ4W3r9Z*#&>BPe}cDV2%8ck<$99 zUOD>@lc<Q3&~A<+&nNy+3NW2N!Bnn^OHHBEkkL?C$X;|+n*63?E-M~zXK*ZL7FDR@ z4HfRzIoOl(T3SJ`k!=d6z;x!1)+_GBt?&+LP!N!J;Swp~xpbso`>TQDTqdu@=NDFp h3%D=-IlYE~!Tg!iuD+tfeLx>Ec)I$ztaD0e0sxS$VY~nU diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/power-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/power-white.png deleted file mode 100644 index 8852da1a20070e815be83df8894ecd34bb9ad5f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx^~h7sn8b)5!@382|nMzhAtg+;{@lKW9cmF6YJ{Vgj=lXR`!tbEuK- zV7_Ro$@DRN#jOAxspN%s^c{5C*A#MvB$?_hXPPO!z)5(b>AiL?smB*H*hF_VuldLy zGJ&<<Eo{Yw{FL7K1x-#KN#cz^Y=q)jRy`Bmbj&&6Ad8BjnnIe(qvcLl-#A~J!6911 z$d#xQxRmM0`h{6Z6IEwS%&BEQqPn1gDM?sCkNr`3fMq~dl9PF;KnMT7<Gc>DeiSa1 rQ_Dzs&-Unfz#i_7#S{N}3o<ZlUY9%fLr<75&~FT$u6{1-oD!M<E|_R) diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/recycle-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/recycle-black.png deleted file mode 100644 index dabed38b27e9d3d679a98d1159c47c50a55c5127..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx{(b7sn8b)5!@7j4Zg1*f;)QpAyS)<js+cKmDxnY)O(%Qhys}aChu% zydmDP-q|$XX}hIJS0Q7a%2`$e$3TTT)}xD9Vi+$~NU3d*Iw`;UL&lTFRX^KwelTmD z=yg{P<38uaTJtgE$g8DFD~`Rs&~Sj&fN3Ig$9jd#Z_U3rTbwzL&efTeR^lU2;4t~R iWX6le51gyi(imPD8<%WW{vio;AcLo?pUXO@geCw(zEbD_ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/recycle-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/recycle-white.png deleted file mode 100644 index 42c37b66eecb1a768fb74f21a68a6f5d2621e1f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx}H@7sn8b)5!@7)PDT`|36aUALkMK1#g@b($w9Q%?cztQaLieFem9L zJY!3WSJ=mQwTAO(nu5AW%SVYL{Y!Q-sA+H=S-&7+N`tn;0~4PF(@FMW4=<iz4*kp< z`GGxTf^@%|5BCB`KBj#YCP`JCCp4O}SXdeC<<72X<akoR@KIFdY+ZnTV*$s)9g|%z s^)PjK8p>RFQpzS$6;RW(>ZK$@>VA#hStl+(1Ui+$)78&qol`;+0Q6^6Q~&?~ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/refresh-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/refresh-black.png deleted file mode 100644 index fb19712aac4448e45b4d585cb6c4116a688fbd02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx{YQ7sn8b)5!@Atd|__a2^S7_@OTFpW%_W!yT?8LLRSPO*B2q^if>l zUq5p_(<2XsJhn&n2EK+4fB07=hzdkA8cK^qGk=USaXuiW+W5mbM4_M2{6_z}jk2dA zo85zr&7{{mSWdGrF-`iYAMu!9qrJD$#bMjA(*eELmSp8LXT^B8M8zwlwH2x?oXCAC zrpY~6G~}#f%0Z4LEE^a*-ZsvV?vib+;0}4GFTlQVwglS|`41|V6JiYXo_8=73Jc6{ jUv^tRpiDW0kB=cP!dEEn#)>4Mrx-k4{an^LB{Ts5Znj~c diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/refresh-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/refresh-white.png deleted file mode 100644 index fdd59adb9774476597d60c40a2890c0bbe561fb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx}8=7sn8b)5!@AO#lD?pU(EkPhlU^5&Om;>;myjkHQqDIRu6GuhA6i z*#GA^uN`Bdihw!uNBJ4cBozL!hi>5NSlcjzw`*-<h3+iHdWTsmjX#V-6#5z28BV=* zzkY-7>6(L!S4z(A4PPMREi+4M;}7vQAK9lIKIXu+z~yo33b*Va(`}BX>r|cA>I)bj zwwQF`1Z$&^&8$@mviOv^-4s+CcpY;1kK74(!*L{fK~a691;^bZ1`7Wg)K4}(X)3gI r=joW;@WaOBZe8Oh$3o4vHDU~HAE#b_VSb|x=rsmUS3j3^P6<r_R7PyY diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/search-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/search-black.png deleted file mode 100644 index 02b66cf24fb1c0d094535f8cf13eddd49a861c7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx`r47sn8b(^D_{Yaa;|Irh=t%UDGEmta@#qCITh($z~-vX#%i{=hcn z<{9o8Q*3W`CncsV)Oo|MTK_4(xZrnby|DjXE8Fuw=e@I?9)ERXt8&a^mfJI~IA7jz zB>kC9f+hRai=E5(!VJ1y-?aX3X*Jq0)8X*UgJ(~CKYh@VWwq#eiKEhSkIL+KaTV-4 z&X>0+{n_mo&gQQ=xmL6(y~^W~bGy5O!Q7xB_|Ec!7VjQu>Gr7J&U;|GY3rRUsy1$i zt@A#{{5o&k^W=f$7U2iX$0LrrRy^PMbj>fr)`ds3|8YH^a>)AMN~YZsf0$fP+c!Gj SkJShIn8DN4&t;ucLK6Uebcjm; diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/search-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/search-white.png deleted file mode 100644 index 274517d360b4fbe92fa20c9d71535aa6bbe5003f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx|Rq7sn8b(^D^=*J=$EY5SO8^l7O<fm5K5$WtkwDV;lmide1Y&Ne7y z?&{>8FlnXH)N>CcEQ|u!^c+sz|6m;1eE0gjB;NbaYs21dU9H7tYGrX;w(7>wl2EBL zkKF3!ZJ0JWi)WF^0jp;ldmf*N-*`o2yKtt-<{t__JcZ}5-q5gF-0Qz*vERYmj_&<; z9@tqGXI2P4^m3Fs<Xv(sXoK*>Ovg7Y?@bSi$T7<$8SN|+mp^D$93B2qrd8kO!P<}W zYkQtQVU<xmWUjZd_4SE$7xZE`v`Y4<+&nV>$)Q6b_g4QiR(zlQgI)4`Q$qHHKa+vp OW$<+Mb6Mw<&;$UIeSoC^ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/shop-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/shop-black.png deleted file mode 100644 index c2f3719c368082f44b0327ba686537948e6b0a3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkRQfi(`nz>Ewh1EN>iaSUc`Be{|QFEgLH+EY`c%L5KCoD~B~qM~ocq z9Clz~xT(^1gngsEz~YbghDkjYB9EDSZv4q;bv@Ix%uI;Y&GeF!GDGD%Zile%lNf<! OGkCiCxvX<aXaWHALNXfw diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/shop-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/shop-white.png deleted file mode 100644 index 96de9757036c891aba08a8e93b3fa29a3c1493ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprF5}i(`nz>Er|l=Kufyr?WrOboe9JVefSF4NnV0$U`dyG3KN|g?kJ~ zCU;)s*yPF6$#3+4*-+}gurk|p1=a_bGCEz?S{h27+*TO!xFM5;VTPBCm!a@}F`&^5 Mp00i_>zopr0Nh(Jo&W#< diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/star-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/star-black.png deleted file mode 100644 index 381e1f285354018bc559afb742032e51b50cd73e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KpkSw`i(`nz>Ewh1ygdtNq!@5_q)%GaDc)hv{83%unWAg5mB9b@M<zig z^IR`guuWgYqVTV4$pitmmA&nm*O(rycFEYq6xz+SqoIOP&iC`etPM=5Hd0eRvU-Wh z_0IfZlGmVB#eL*qz#lQKZF1Aq#4=j)S(7|f3I(dA1?pQ?9b{l*QL^S;)n>%N@cM;) VqomF4^FT*2c)I$ztaD0e0sxeqNTdJ& diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/star-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/star-white.png deleted file mode 100644 index bf6c4abbbea9ce6a4b9845c7281e69b9af457990..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx{JL7sn8b)5!@382|nMpU-oMX9?4SWswdxlS6#>IQ)_9uxB*n*Oa>a zU)e!QQ|i1@rcJYVAd^7-Uw<2hmA&nm*O(rycFEYq6x5w(EH0pbU~#6M2d`eb_T!5y zdh`P}eaJX-WO*TT$i-*{zV=7k12%r$VY1Odxkg*STdC8V>7$v#KaQYg-^GmkPOzP9 eykZc*#gKE~t)sqt$vU9p7(8A5T-G@yGywoigHHGW diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/tag-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/tag-black.png deleted file mode 100644 index d6f65d1b291355f1e3cd42b7d2c2d47a5474394a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprE6ti(`nz>EwijgdhE^<^}?c|0b`NTy}w{L)YUXPcX}+6xXh^|2q#v yn40%wsp<AfYj{fVK2dWmIqQ<`bggG0C&Q!<$z08r((FLP7(8A5T-G@yGywn*@hcSo diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/tag-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/tag-white.png deleted file mode 100644 index fc0df96c5eddd517ed739cdc3972ebd203495974..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprE6ti(`nz>Es{%vL*%sO#cg;*^*3WF>YkNIBTLvqe-M-?&tbP4$Nk~ yyo+afb|f>+;#BKl+cZf@?Cg<Dr^`JHIT>o>w;$fMSNuKDFa}RoKbLh*2~7a~t}KZF diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/user-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/user-black.png deleted file mode 100644 index 1a0cb07718e6c966ca1a075296f5f8c568f6a8e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx|^*7sn8b)5!@3SaclruyoWjf8<p7mZ~6>!uYXX<qv<y+s=y>BEHHT z>($*JtLsR`3tn2%<tlt;r`8XXYmY8)9J>0$M2q>Ow9c$Jrj1I9&(|GXR48fKn9On{ zexgY&Tas<k<0AG+$9jK=6fqQ92<S6B>b?-de3>IDp5alYgACV^HwM0)4u6>ZGZsC5 k?jUpCp^2@;XPz5_=)R-}8tVdX1D(j=>FVdQ&MBb@06$1kZvX%Q diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/user-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/user-white.png deleted file mode 100644 index f843f6f88d13c1e2d63cb15233af73095e9e0ee9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+Kpx|^*7sn8b({nFb^Eo<-G(6N)$#K4*m2-e=$|8}qx*cmfoI->y-fVC= zsb#ZBY1QmI{?3mIV}<K$_dR)Xrsabe*9?V&Qfmc-f5mxU>}k}Ve>VAnC9_=p!dY*E zLOwsZ@SUx4LsKxD)q+3ScO%*69Ftkz_*!_^0=eJQPOI-YA+58p*>KzU_|F;#*_5{g n)+~_w_UQIP=|4B`e_)f2KQQ6`$2qfsPGs<O^>bP0l+XkKR*7A+ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/video-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/video-black.png deleted file mode 100644 index 97e74d40f3ad5d0db12f8ca9b5fb810c6fc30008..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprEg(i(`nz>Er|n4groM`i(#A`TlTq{N0#&WI1PB{Gykc2?|caJj&U> z{8t@gOR?K1C4GT+(N4EbbGrmB)^}X^!W3QdL%73xf?9kVBRj+KZv~3nbJE>`1~YiN L`njxgN@xNAlRz=P diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/video-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/video-white.png deleted file mode 100644 index cbe8bdea12953877fd0210dc1cbe23ae6762a3c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!1) zj({-ZRBb+KprDVZi(`nz>7y4<b22FKuv|3JNOGUHIy1?JQ|V*%g`M^skrSUYGM?xO zJ`i2dmbKG3@WvWf2KNn%ly59D|L`m1wdJmdlT6#=b7nHA-`C#u@7jqE)f-m;&1LX( L^>bP0l+XkK&j&V6 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-black.svg deleted file mode 100644 index ae0670ab..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M9,5v3l5-4L9,0v3c0,0-5,0-5,7C6,5,9,5,9,5z M11,12H2V5h1l2-2H0v11h13V7l-2,2V12z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-white.svg deleted file mode 100644 index 381b002c..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M9,5v3l5-4L9,0v3c0,0-5,0-5,7C6,5,9,5,9,5z M11,12H2V5h1l2-2H0v11h13V7l-2,2V12z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-black.svg deleted file mode 100644 index e1cf40cf..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-black.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M7,0L0,12h14L7,0z M7,11c-0.553,0-1-0.447-1-1s0.447-1,1-1c0.553,0,1,0.447,1,1S7.553,11,7,11z M7,8C6.447,8,6,7.553,6,7V5 - c0-0.553,0.447-1,1-1c0.553,0,1,0.447,1,1v2C8,7.553,7.553,8,7,8z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-white.svg deleted file mode 100644 index 69d8c0aa..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-white.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M7,0L0,12h14L7,0z M7,11c-0.553,0-1-0.447-1-1s0.447-1,1-1c0.553,0,1,0.447,1,1S7.553,11,7,11z M7,8 - C6.447,8,6,7.553,6,7V5c0-0.553,0.447-1,1-1c0.553,0,1,0.447,1,1v2C8,7.553,7.553,8,7,8z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-black.svg deleted file mode 100644 index 7a8b7de3..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="9,7 9,0 5,0 5,7 0,7 7,14 14,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-black.svg deleted file mode 100644 index 8c8d3057..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,3 11,0 3.5,7.5 0,4 0,14 10,14 6.5,10.5 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-white.svg deleted file mode 100644 index f7379cd7..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="14,3 11,0 3.5,7.5 0,4 0,14 10,14 6.5,10.5 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-black.svg deleted file mode 100644 index 95861e05..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="10.5,7.5 3,0 0,3 7.5,10.5 4,14 14,14 14,4 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-white.svg deleted file mode 100644 index 7874ca89..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="10.5,7.5 3,0 0,3 7.5,10.5 4,14 14,14 14,4 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-white.svg deleted file mode 100644 index f80ad1bc..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="9,7 9,0 5,0 5,7 0,7 7,14 14,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-black.svg deleted file mode 100644 index 0190649d..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="7,5 7,0 0,7 7,14 7,9 14,9 14,5 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-white.svg deleted file mode 100644 index d9de81d3..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="7,5 7,0 0,7 7,14 7,9 14,9 14,5 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-black.svg deleted file mode 100644 index 7853c5f3..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,7 7,0 7,5 0,5 0,9 7,9 7,14 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-white.svg deleted file mode 100644 index 8c28fc7a..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="14,7 7,0 7,5 0,5 0,9 7,9 7,14 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-black.svg deleted file mode 100644 index abf9d90d..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="7,0 0,7 5,7 5,14 9,14 9,7 14,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-black.svg deleted file mode 100644 index 08b5c6d5..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,11 6.5,3.5 10,0 0,0 0,10 3.5,6.5 11,14 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-white.svg deleted file mode 100644 index 234471ea..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="14,11 6.5,3.5 10,0 0,0 0,10 3.5,6.5 11,14 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-black.svg deleted file mode 100644 index db1536d5..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,0 4,0 7.5,3.5 0,11 3,14 10.5,6.5 14,10 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-white.svg deleted file mode 100644 index 5a510f2f..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="14,0 4,0 7.5,3.5 0,11 3,14 10.5,6.5 14,10 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-white.svg deleted file mode 100644 index 7e2aeb22..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="7,0 0,7 5,7 5,14 9,14 9,7 14,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-black.svg deleted file mode 100644 index f3651d78..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-black.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14.018px" height="14px" viewBox="0 0 14.018 14" style="enable-background:new 0 0 14.018 14;" xml:space="preserve"> -<path d="M1,4C0.447,4,0,4.447,0,5v4c0,0.553,0.447,1,1,1h1l4,4V0L2,4H1z M10.346,7c0-1.699-1.042-3.154-2.546-3.867L6.982,4.68 - C7.885,5.107,8.51,5.98,8.51,7S7.885,8.893,6.982,9.32L7.8,10.867C9.304,10.154,10.346,8.699,10.346,7z M9.447,0.017L8.618,1.586 - C10.723,2.584,12.182,4.621,12.182,7s-1.459,4.416-3.563,5.414l0.829,1.569c2.707-1.283,4.57-3.925,4.57-6.983 - S12.154,1.3,9.447,0.017z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-white.svg deleted file mode 100644 index a6896994..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-white.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14.018px" height="14px" viewBox="0 0 14.018 14" style="enable-background:new 0 0 14.018 14;" xml:space="preserve"> -<path fill="#FFF" d="M1,4C0.447,4,0,4.447,0,5v4c0,0.553,0.447,1,1,1h1l4,4V0L2,4H1z M10.346,7c0-1.699-1.042-3.154-2.546-3.867L6.982,4.68 - C7.885,5.107,8.51,5.98,8.51,7S7.885,8.893,6.982,9.32L7.8,10.867C9.304,10.154,10.346,8.699,10.346,7z M9.447,0.017L8.618,1.586 - C10.723,2.584,12.182,4.621,12.182,7s-1.459,4.416-3.563,5.414l0.829,1.569c2.707-1.283,4.57-3.925,4.57-6.983 - S12.154,1.3,9.447,0.017z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-black.svg deleted file mode 100644 index 0b281e87..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M5,3V0L1,4l4,4V5c0,0,6,0,6,3s-5,4-5,4v2c0,0,7-1,7-6C13,4,8,3,5,3z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-white.svg deleted file mode 100644 index c13ff0a2..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M5,3V0L1,4l4,4V5c0,0,6,0,6,3s-5,4-5,4v2c0,0,7-1,7-6C13,4,8,3,5,3z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-black.svg deleted file mode 100644 index 86b42c90..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-black.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M1,4h12c0.553,0,1-0.447,1-1s-0.447-1-1-1H1C0.447,2,0,2.447,0,3S0.447,4,1,4z M13,6H1C0.447,6,0,6.447,0,7 - c0,0.553,0.447,1,1,1h12c0.553,0,1-0.447,1-1C14,6.447,13.553,6,13,6z M13,10H1c-0.553,0-1,0.447-1,1s0.447,1,1,1h12 - c0.553,0,1-0.447,1-1S13.553,10,13,10z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-white.svg deleted file mode 100644 index 035c2995..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-white.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M1,4h12c0.553,0,1-0.447,1-1s-0.447-1-1-1H1C0.447,2,0,2.447,0,3S0.447,4,1,4z M13,6H1 - C0.447,6,0,6.447,0,7c0,0.553,0.447,1,1,1h12c0.553,0,1-0.447,1-1C14,6.447,13.553,6,13,6z M13,10H1c-0.553,0-1,0.447-1,1 - s0.447,1,1,1h12c0.553,0,1-0.447,1-1S13.553,10,13,10z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-black.svg deleted file mode 100644 index cd961935..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-black.svg +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M5,4h8c0.553,0,1-0.447,1-1s-0.447-1-1-1H5C4.447,2,4,2.447,4,3S4.447,4,5,4z M13,6H5C4.447,6,4,6.447,4,7 - c0,0.553,0.447,1,1,1h8c0.553,0,1-0.447,1-1C14,6.447,13.553,6,13,6z M13,10H5c-0.553,0-1,0.447-1,1s0.447,1,1,1h8 - c0.553,0,1-0.447,1-1S13.553,10,13,10z M1,2C0.447,2,0,2.447,0,3s0.447,1,1,1s1-0.447,1-1S1.553,2,1,2z M1,6C0.447,6,0,6.447,0,7 - c0,0.553,0.447,1,1,1s1-0.447,1-1C2,6.447,1.553,6,1,6z M1,10c-0.553,0-1,0.447-1,1s0.447,1,1,1s1-0.447,1-1S1.553,10,1,10z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-white.svg deleted file mode 100644 index 4655f15a..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-white.svg +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M5,4h8c0.553,0,1-0.447,1-1s-0.447-1-1-1H5C4.447,2,4,2.447,4,3S4.447,4,5,4z M13,6H5 - C4.447,6,4,6.447,4,7c0,0.553,0.447,1,1,1h8c0.553,0,1-0.447,1-1C14,6.447,13.553,6,13,6z M13,10H5c-0.553,0-1,0.447-1,1 - s0.447,1,1,1h8c0.553,0,1-0.447,1-1S13.553,10,13,10z M1,2C0.447,2,0,2.447,0,3s0.447,1,1,1s1-0.447,1-1S1.553,2,1,2z M1,6 - C0.447,6,0,6.447,0,7c0,0.553,0.447,1,1,1s1-0.447,1-1C2,6.447,1.553,6,1,6z M1,10c-0.553,0-1,0.447-1,1s0.447,1,1,1s1-0.447,1-1 - S1.553,10,1,10z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-black.svg deleted file mode 100644 index 5c3aeded..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-black.svg +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M0,8h2V6H0V8z M3,8h2V6H3V8z M6,8h2V6H6V8z M9,8h2V6H9V8z M12,8h2V6h-2V8z M0,11h2V9H0V11z M3,11h2V9H3V11z M6,11h2V9H6V11z - M9,11h2V9H9V11z M12,11h2V9h-2V11z M0,14h2v-2H0V14z M3,14h2v-2H3V14z M6,14h2v-2H6V14z M9,14h2v-2H9V14z M12,1 - c0-0.553-0.447-1-1-1s-1,0.447-1,1H4c0-0.553-0.447-1-1-1S2,0.447,2,1H0v4h14V1H12z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-white.svg deleted file mode 100644 index 177dab9f..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-white.svg +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M0,8h2V6H0V8z M3,8h2V6H3V8z M6,8h2V6H6V8z M9,8h2V6H9V8z M12,8h2V6h-2V8z M0,11h2V9H0V11z M3,11h2V9H3V11z M6,11h2V9H6V11z - M9,11h2V9H9V11z M12,11h2V9h-2V11z M0,14h2v-2H0V14z M3,14h2v-2H3V14z M6,14h2v-2H6V14z M9,14h2v-2H9V14z M12,1 - c0-0.553-0.447-1-1-1s-1,0.447-1,1H4c0-0.553-0.447-1-1-1S2,0.447,2,1H0v4h14V1H12z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-black.svg deleted file mode 100644 index 58a3182c..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-black.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M12,2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652,0-1.202,0.419-1.408,1H2c-1.104,0-2,0.896-2,2v6c0,1.104,0.896,2,2,2 - h10c1.104,0,2-0.896,2-2v-6C14,3.396,13.104,2.5,12,2.5z M7,10.5c-1.657,0-3-1.344-3-3c0-1.657,1.343-3,3-3s3,1.343,3,3 - C10,9.156,8.657,10.5,7,10.5z M7,5.5c-1.104,0-2,0.896-2,2c0,1.104,0.896,2,2,2c1.104,0,2-0.896,2-2C9,6.396,8.104,5.5,7,5.5z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-white.svg deleted file mode 100644 index 78c620e3..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-white.svg +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M12,2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652,0-1.202,0.419-1.408,1H2c-1.104,0-2,0.896-2,2 - v6c0,1.104,0.896,2,2,2h10c1.104,0,2-0.896,2-2v-6C14,3.396,13.104,2.5,12,2.5z M7,10.5c-1.657,0-3-1.344-3-3c0-1.657,1.343-3,3-3 - s3,1.343,3,3C10,9.156,8.657,10.5,7,10.5z M7,5.5c-1.104,0-2,0.896-2,2c0,1.104,0.896,2,2,2c1.104,0,2-0.896,2-2 - C9,6.396,8.104,5.5,7,5.5z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-black.svg deleted file mode 100644 index 03dc0798..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="11.949,3.404 7,8.354 2.05,3.404 -0.071,5.525 7,12.596 14.07,5.525 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-white.svg deleted file mode 100644 index 21ea91fe..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="11.949,3.404 7,8.354 2.05,3.404 -0.071,5.525 7,12.596 14.07,5.525 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-black.svg deleted file mode 100644 index bc853bcf..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="10.596,11.949 5.646,7 10.596,2.05 8.475,-0.071 1.404,7 8.475,14.07 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-white.svg deleted file mode 100644 index d9a6ce74..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="10.596,11.949 5.646,7 10.596,2.05 8.475,-0.071 1.404,7 8.475,14.07 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-black.svg deleted file mode 100644 index 594cfa26..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="3.404,2.051 8.354,7 3.404,11.95 5.525,14.07 12.596,7 5.525,-0.071 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-white.svg deleted file mode 100644 index d384145c..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="3.404,2.051 8.354,7 3.404,11.95 5.525,14.07 12.596,7 5.525,-0.071 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-black.svg deleted file mode 100644 index 7647d06b..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="2.051,10.596 7,5.646 11.95,10.596 14.07,8.475 7,1.404 -0.071,8.475 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-white.svg deleted file mode 100644 index cdbc1cfd..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="2.051,10.596 7,5.646 11.95,10.596 14.07,8.475 7,1.404 -0.071,8.475 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-black.svg deleted file mode 100644 index a4b86634..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,4 11,1 5.003,6.997 3,5 0,8 4.966,13 4.983,12.982 5,13 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-white.svg deleted file mode 100644 index 7afefd50..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="14,4 11,1 5.003,6.997 3,5 0,8 4.966,13 4.983,12.982 5,13 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-black.svg deleted file mode 100644 index c68abefb..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-black.svg +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M7,0C3.134,0,0,3.134,0,7s3.134,7,7,7s7-3.134,7-7S10.866,0,7,0z M7,12c-2.762,0-5-2.238-5-5s2.238-5,5-5s5,2.238,5,5 - S9.762,12,7,12z M9,6H8V4c0-0.553-0.447-1-1-1S6,3.447,6,4v3c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1S9.553,6,9,6z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-white.svg deleted file mode 100644 index 55892385..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-white.svg +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M7,0C3.134,0,0,3.134,0,7s3.134,7,7,7s7-3.134,7-7S10.866,0,7,0z M7,12c-2.762,0-5-2.238-5-5s2.238-5,5-5s5,2.238,5,5 - S9.762,12,7,12z M9,6H8V4c0-0.553-0.447-1-1-1S6,3.447,6,4v3c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1S9.553,6,9,6z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-black.svg deleted file mode 100644 index ddfbde51..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-black.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M14,9.5c0-0.793-0.465-1.473-1.134-1.795C12.949,7.484,13,7.249,13,7c0-1.104-0.896-2-2-2c-0.158,0-0.311,0.023-0.457,0.058 - C9.816,3.549,8.286,2.5,6.5,2.5c-2.33,0-4.224,1.777-4.454,4.046C0.883,6.76,0,7.773,0,9c0,1.381,1.119,2.5,2.5,2.5h10v-0.07 - C13.361,11.206,14,10.432,14,9.5z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-white.svg deleted file mode 100644 index d5b07940..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-white.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M14,9.5c0-0.793-0.465-1.473-1.134-1.795C12.949,7.484,13,7.249,13,7c0-1.104-0.896-2-2-2 - c-0.158,0-0.311,0.023-0.457,0.058C9.816,3.549,8.286,2.5,6.5,2.5c-2.33,0-4.224,1.777-4.454,4.046C0.883,6.76,0,7.773,0,9 - c0,1.381,1.119,2.5,2.5,2.5h10v-0.07C13.361,11.206,14,10.432,14,9.5z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-black.svg deleted file mode 100644 index 485fcc86..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M12,0H2C0.896,0,0,0.896,0,2v7c0,1.104,0.896,2,2,2h1v3l3-3h6c1.104,0,2-0.896,2-2V2C14,0.896,13.104,0,12,0z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-white.svg deleted file mode 100644 index 8d188db6..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M12,0H2C0.896,0,0,0.896,0,2v7c0,1.104,0.896,2,2,2h1v3l3-3h6c1.104,0,2-0.896,2-2V2C14,0.896,13.104,0,12,0z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-black.svg deleted file mode 100644 index 74d99888..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,3 11,0 7,4 3,0 0,3 4,7 0,11 3,14 7,10 11,14 14,11 10,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-white.svg deleted file mode 100644 index a6cc735c..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="14,3 11,0 7,4 3,0 0,3 4,7 0,11 3,14 7,10 11,14 14,11 10,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-black.svg deleted file mode 100644 index d908f9d9..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M1,10l-1,4l4-1l7-7L8,3L1,10z M11,0L9,2l3,3l2-2L11,0z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-white.svg deleted file mode 100644 index a88643df..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M1,10l-1,4l4-1l7-7L8,3L1,10z M11,0L9,2l3,3l2-2L11,0z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-black.svg deleted file mode 100644 index d55bc65d..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-black.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M7,2C3,2,0,7,0,7s3,5,7,5s7-5,7-5S11,2,7,2z M7,10c-1.657,0-3-1.344-3-3c0-1.657,1.343-3,3-3s3,1.343,3,3 - C10,8.656,8.657,10,7,10z M7,6C6.448,6,6,6.447,6,7c0,0.553,0.448,1,1,1s1-0.447,1-1C8,6.447,7.552,6,7,6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-white.svg deleted file mode 100644 index f95ad50a..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-white.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M7,2C3,2,0,7,0,7s3,5,7,5s7-5,7-5S11,2,7,2z M7,10c-1.657,0-3-1.344-3-3c0-1.657,1.343-3,3-3 - s3,1.343,3,3C10,8.656,8.657,10,7,10z M7,6C6.448,6,6,6.447,6,7c0,0.553,0.448,1,1,1s1-0.447,1-1C8,6.447,7.552,6,7,6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-black.svg deleted file mode 100644 index fe831bc6..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-black.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M12.601,11.187C13.476,10.018,14,8.572,14,7c0-3.866-3.134-7-7-7C5.428,0,3.982,0.524,2.813,1.399L2.757,1.343L2.053,2.048 - L2.048,2.053L1.343,2.758l0.056,0.056C0.524,3.982,0,5.428,0,7c0,3.866,3.134,7,7,7c1.572,0,3.018-0.524,4.187-1.399l0.056,0.057 - l0.705-0.705l0.005-0.005l0.705-0.705L12.601,11.187z M7,2c2.761,0,5,2.238,5,5c0,1.019-0.308,1.964-0.832,2.754L4.246,2.832 - C5.036,2.308,5.981,2,7,2z M7,12c-2.761,0-5-2.238-5-5c0-1.019,0.308-1.964,0.832-2.754l6.922,6.922C8.964,11.692,8.019,12,7,12z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-white.svg deleted file mode 100644 index 710ac395..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-white.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M12.601,11.187C13.476,10.018,14,8.572,14,7c0-3.866-3.134-7-7-7C5.428,0,3.982,0.524,2.813,1.399L2.757,1.343L2.053,2.048 - L2.048,2.053L1.343,2.758l0.056,0.056C0.524,3.982,0,5.428,0,7c0,3.866,3.134,7,7,7c1.572,0,3.018-0.524,4.187-1.399l0.056,0.057 - l0.705-0.705l0.005-0.005l0.705-0.705L12.601,11.187z M7,2c2.761,0,5,2.238,5,5c0,1.019-0.308,1.964-0.832,2.754L4.246,2.832 - C5.036,2.308,5.981,2,7,2z M7,12c-2.761,0-5-2.238-5-5c0-1.019,0.308-1.964,0.832-2.754l6.922,6.922C8.964,11.692,8.019,12,7,12z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-black.svg deleted file mode 100644 index b0001d97..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M13,4L9,0v3C6,3,1,4,1,8c0,5,7,6,7,6v-2c0,0-5-1-5-4s6-3,6-3v3L13,4z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-white.svg deleted file mode 100644 index e1f3a6a0..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M13,4L9,0v3C6,3,1,4,1,8c0,5,7,6,7,6v-2c0,0-5-1-5-4s6-3,6-3v3L13,4z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-black.svg deleted file mode 100644 index 4f397c5f..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-black.svg +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M13.621,5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82 - c-0.079-0.153-0.073-0.337,0.017-0.486l0.549-0.915c0.118-0.196,0.088-0.448-0.075-0.61l-0.862-0.863 - c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916,0.55C9.844,2.182,9.659,2.188,9.506,2.109C9.244,1.975,8.97,1.861,8.686,1.77 - c-0.165-0.052-0.29-0.187-0.332-0.354L8.095,0.379C8.039,0.156,7.839,0,7.609,0H6.391c-0.229,0-0.43,0.156-0.485,0.379L5.646,1.415 - C5.604,1.582,5.479,1.718,5.313,1.77c-0.284,0.092-0.559,0.206-0.82,0.34C4.339,2.188,4.155,2.182,4.007,2.093L3.092,1.544 - c-0.196-0.118-0.448-0.087-0.61,0.075L1.619,2.481C1.457,2.644,1.426,2.896,1.544,3.093l0.549,0.914 - c0.089,0.148,0.095,0.332,0.017,0.486C1.975,4.755,1.861,5.029,1.77,5.314c-0.053,0.164-0.188,0.29-0.354,0.332L0.379,5.905 - C0.156,5.961,0,6.161,0,6.391v1.219c0,0.229,0.156,0.43,0.379,0.485l1.036,0.26C1.582,8.396,1.717,8.521,1.77,8.687 - c0.092,0.284,0.205,0.559,0.34,0.82C2.188,9.66,2.182,9.844,2.093,9.993l-0.549,0.915c-0.118,0.195-0.087,0.448,0.075,0.61 - l0.862,0.862c0.162,0.163,0.414,0.193,0.61,0.075l0.915-0.549c0.148-0.089,0.332-0.095,0.486-0.017 - c0.262,0.135,0.536,0.248,0.82,0.34c0.165,0.053,0.291,0.187,0.332,0.354l0.259,1.036C5.96,13.844,6.16,14,6.39,14h1.22 - c0.229,0,0.43-0.156,0.485-0.379l0.259-1.036c0.042-0.167,0.168-0.302,0.333-0.354c0.284-0.092,0.559-0.205,0.82-0.34 - c0.154-0.078,0.338-0.072,0.486,0.017l0.914,0.549c0.197,0.118,0.449,0.088,0.611-0.074l0.862-0.863 - c0.163-0.162,0.193-0.415,0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263,0.248-0.536,0.339-0.82 - c0.053-0.165,0.188-0.291,0.355-0.333l1.036-0.259C13.844,8.039,14,7.839,14,7.609V6.39C14,6.16,13.844,5.96,13.621,5.904z M7,10 - c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S8.657,10,7,10z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-white.svg deleted file mode 100644 index 3a5668fc..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-white.svg +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M13.621,5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82 - c-0.079-0.153-0.073-0.337,0.017-0.486l0.549-0.915c0.118-0.196,0.088-0.448-0.075-0.61l-0.862-0.863 - c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916,0.55C9.844,2.182,9.659,2.188,9.506,2.109C9.244,1.975,8.97,1.861,8.686,1.77 - c-0.165-0.052-0.29-0.187-0.332-0.354L8.095,0.379C8.039,0.156,7.839,0,7.609,0H6.391c-0.229,0-0.43,0.156-0.485,0.379L5.646,1.415 - C5.604,1.582,5.479,1.718,5.313,1.77c-0.284,0.092-0.559,0.206-0.82,0.34C4.339,2.188,4.155,2.182,4.007,2.093L3.092,1.544 - c-0.196-0.118-0.448-0.087-0.61,0.075L1.619,2.481C1.457,2.644,1.426,2.896,1.544,3.093l0.549,0.914 - c0.089,0.148,0.095,0.332,0.017,0.486C1.975,4.755,1.861,5.029,1.77,5.314c-0.053,0.164-0.188,0.29-0.354,0.332L0.379,5.905 - C0.156,5.961,0,6.161,0,6.391v1.219c0,0.229,0.156,0.43,0.379,0.485l1.036,0.26C1.582,8.396,1.717,8.521,1.77,8.687 - c0.092,0.284,0.205,0.559,0.34,0.82C2.188,9.66,2.182,9.844,2.093,9.993l-0.549,0.915c-0.118,0.195-0.087,0.448,0.075,0.61 - l0.862,0.862c0.162,0.163,0.414,0.193,0.61,0.075l0.915-0.549c0.148-0.089,0.332-0.095,0.486-0.017 - c0.262,0.135,0.536,0.248,0.82,0.34c0.165,0.053,0.291,0.187,0.332,0.354l0.259,1.036C5.96,13.844,6.16,14,6.39,14h1.22 - c0.229,0,0.43-0.156,0.485-0.379l0.259-1.036c0.042-0.167,0.168-0.302,0.333-0.354c0.284-0.092,0.559-0.205,0.82-0.34 - c0.154-0.078,0.338-0.072,0.486,0.017l0.914,0.549c0.197,0.118,0.449,0.088,0.611-0.074l0.862-0.863 - c0.163-0.162,0.193-0.415,0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263,0.248-0.536,0.339-0.82 - c0.053-0.165,0.188-0.291,0.355-0.333l1.036-0.259C13.844,8.039,14,7.839,14,7.609V6.39C14,6.16,13.844,5.96,13.621,5.904z M7,10 - c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S8.657,10,7,10z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-black.svg deleted file mode 100644 index e692e1f8..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-black.svg +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M3,0H1C0.447,0,0,0.447,0,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V1C4,0.447,3.553,0,3,0z M8,0H6 - C5.447,0,5,0.447,5,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V1C9,0.447,8.553,0,8,0z M13,0h-2c-0.553,0-1,0.447-1,1v2 - c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V1C14,0.447,13.553,0,13,0z M3,5H1C0.447,5,0,5.447,0,6v2c0,0.553,0.447,1,1,1h2 - c0.553,0,1-0.447,1-1V6C4,5.447,3.553,5,3,5z M8,5H6C5.447,5,5,5.447,5,6v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V6 - C9,5.447,8.553,5,8,5z M13,5h-2c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V6C14,5.447,13.553,5,13,5z M3,10 - H1c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1v-2C4,10.447,3.553,10,3,10z M8,10H6c-0.553,0-1,0.447-1,1v2 - c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1v-2C9,10.447,8.553,10,8,10z M13,10h-2c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1h2 - c0.553,0,1-0.447,1-1v-2C14,10.447,13.553,10,13,10z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-white.svg deleted file mode 100644 index 5cfaa7c1..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-white.svg +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M3,0H1C0.447,0,0,0.447,0,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V1C4,0.447,3.553,0,3,0z M8,0H6 - C5.447,0,5,0.447,5,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V1C9,0.447,8.553,0,8,0z M13,0h-2c-0.553,0-1,0.447-1,1v2 - c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V1C14,0.447,13.553,0,13,0z M3,5H1C0.447,5,0,5.447,0,6v2c0,0.553,0.447,1,1,1h2 - c0.553,0,1-0.447,1-1V6C4,5.447,3.553,5,3,5z M8,5H6C5.447,5,5,5.447,5,6v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V6 - C9,5.447,8.553,5,8,5z M13,5h-2c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V6C14,5.447,13.553,5,13,5z M3,10 - H1c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1v-2C4,10.447,3.553,10,3,10z M8,10H6c-0.553,0-1,0.447-1,1v2 - c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1v-2C9,10.447,8.553,10,8,10z M13,10h-2c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1h2 - c0.553,0,1-0.447,1-1v-2C14,10.447,13.553,10,13,10z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-black.svg deleted file mode 100644 index f4946b01..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M7,1.958c-2-3-7-2.128-7,1.872c0,3,4,7,4,7s2.417,2.48,3,3c0.583-0.52,3-3,3-3s4-4,4-7C14-0.169,9-1.042,7,1.958z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-white.svg deleted file mode 100644 index 190ebef4..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-white.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M7,1.872c-2-3-7-2-7,2c0,3,4,7,4,7s2.417,2.479,3,3c0.583-0.521,3-3,3-3s4-4,4-7 - C14-0.128,9-1.128,7,1.872z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-black.svg deleted file mode 100644 index a4950a37..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="7,0 0,7 2,7 2,14 5,14 5,9 9,9 9,14 12,14 12,7 14,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-white.svg deleted file mode 100644 index b7c1a611..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="7,0 0,7 2,7 2,14 5,14 5,9 9,9 9,14 12,14 12,7 14,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-black.svg deleted file mode 100644 index 151cfa2b..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-black.svg +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M7,0C3.134,0,0,3.134,0,7s3.134,7,7,7s7-3.134,7-7S10.866,0,7,0z M7,2c0.552,0,1,0.447,1,1S7.552,4,7,4S6,3.553,6,3 - S6.448,2,7,2z M9,11H5v-1h1V6H5V5h3v5h1V11z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-white.svg deleted file mode 100644 index dd0f885b..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-white.svg +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M7,0C3.134,0,0,3.134,0,7s3.134,7,7,7s7-3.134,7-7S10.866,0,7,0z M7,2c0.552,0,1,0.447,1,1S7.552,4,7,4S6,3.553,6,3 - S6.448,2,7,2z M9,11H5v-1h1V6H5V5h3v5h1V11z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-black.svg deleted file mode 100644 index 4a29d739..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-black.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M7,0C4.791,0,3,1.791,3,4c0,2,4,10,4,10s4-8,4-10C11,1.791,9.209,0,7,0z M7,6C5.896,6,5,5.104,5,4s0.896-2,2-2 - c1.104,0,2,0.896,2,2S8.104,6,7,6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-white.svg deleted file mode 100644 index 2b6ac8a0..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-white.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M7,0C4.791,0,3,1.791,3,4c0,2,4,10,4,10s4-8,4-10C11,1.791,9.209,0,7,0z M7,6C5.896,6,5,5.104,5,4 - s0.896-2,2-2c1.104,0,2,0.896,2,2S8.104,6,7,6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-black.svg deleted file mode 100644 index 0a005ea4..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-black.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M12,6V5c0-2.762-2.238-5-5-5C4.239,0,2,2.238,2,5v1H1v8h12V6H12z M7.5,9.848V12h-1V9.848C6.207,9.673,6,9.366,6,9 - c0-0.553,0.448-1,1-1s1,0.447,1,1C8,9.366,7.793,9.673,7.5,9.848z M10,6H4V5c0-1.657,1.343-3,3-3s3,1.343,3,3V6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-white.svg deleted file mode 100644 index b1e042ca..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-white.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M12,6V5c0-2.762-2.238-5-5-5C4.239,0,2,2.238,2,5v1H1v8h12V6H12z M7.5,9.848V12h-1V9.848 - C6.207,9.673,6,9.366,6,9c0-0.553,0.448-1,1-1s1,0.447,1,1C8,9.366,7.793,9.673,7.5,9.848z M10,6H4V5c0-1.657,1.343-3,3-3 - s3,1.343,3,3V6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-black.svg deleted file mode 100644 index 635c6159..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M0,3.75V12h14V3.75L7,9L0,3.75z M14,2H0l7,5L14,2z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-white.svg deleted file mode 100644 index 547f512c..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M0,3.75V12h14V3.75L7,9L0,3.75z M14,2H0l7,5L14,2z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-black.svg deleted file mode 100644 index a20df147..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<rect y="5" width="14" height="4"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-white.svg deleted file mode 100644 index 8063cdc3..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<rect y="5" style="fill:#FFFFFF;" width="14" height="4"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-black.svg deleted file mode 100644 index 6867808a..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="13,1 0,6 7,7 8,14 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-white.svg deleted file mode 100644 index 0d3115f9..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="13,1 0,6 7,7 8,14 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-black.svg deleted file mode 100644 index cf84c78d..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-black.svg +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M6.949,9.182C6.175,8.549,5.281,7.697,4.507,6.736C3.963,6.063,3.483,5.355,3.979,4.858l-3.482-3.48 - c-0.508,0.634-1.633,3.654,3.188,8.598c5.08,5.211,8.356,4.097,8.92,3.511l-3.396-3.399C8.734,10.561,8.123,10.139,6.949,9.182z - M13.83,11.512v-0.004c0,0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754,0.002L9.465,9.823l3.402,3.407 - c0,0,0.963-0.961,0.961-0.961l0.002-0.002C14.053,12.049,14.031,11.713,13.83,11.512z M5.202,3.636V3.634 - c0.222-0.222,0.2-0.557,0-0.758V2.873c0,0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753,0.001L0.761,1.113L4.24,4.595 - C4.241,4.596,5.202,3.637,5.202,3.636z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-white.svg deleted file mode 100644 index 825425eb..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-white.svg +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="-0.01 0.008 14 14" style="enable-background:new -0.01 0.008 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M6.939,9.189C6.165,8.557,5.271,7.705,4.497,6.744C3.953,6.071,3.473,5.363,3.969,4.866l-3.482-3.48 - C-0.021,2.02-1.146,5.04,3.675,9.984c5.08,5.211,8.356,4.097,8.92,3.511l-3.396-3.4C8.725,10.568,8.113,10.146,6.939,9.189z - M13.82,11.519v-0.004c0,0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754,0.002L9.455,9.831l3.403,3.407 - c0,0,0.962-0.96,0.961-0.961l0.002-0.001C14.043,12.056,14.021,11.721,13.82,11.519z M5.192,3.644V3.642 - c0.222-0.222,0.2-0.557,0-0.758V2.881c0,0-2.726-2.725-2.727-2.726C2.255-0.055,1.92-0.05,1.712,0.156L0.751,1.121l3.479,3.482 - C4.231,4.604,5.192,3.645,5.192,3.644z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-black.svg deleted file mode 100644 index 2e268b01..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,5 9,5 9,0 5,0 5,5 0,5 0,9 5,9 5,14 9,14 9,9 14,9 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-white.svg deleted file mode 100644 index 488129f0..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="14,5 9,5 9,0 5,0 5,5 0,5 0,9 5,9 5,14 9,14 9,9 14,9 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-black.svg deleted file mode 100644 index 461ea1f9..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-black.svg +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M11.243,2.408c-0.392-0.401-1.024-0.401-1.415,0c-0.391,0.401-0.391,1.054,0,1.455C10.584,4.642,11,5.675,11,6.773 - s-0.416,2.133-1.172,2.91c-1.512,1.558-4.145,1.558-5.656,0C3.416,8.904,3,7.872,3,6.773C3,5.673,3.416,4.64,4.172,3.863 - c0.39-0.401,0.39-1.054,0-1.455c-0.391-0.401-1.024-0.401-1.415,0C1.624,3.574,1,5.125,1,6.773c0,1.647,0.624,3.199,1.757,4.365 - c1.134,1.166,2.64,1.809,4.243,1.809c1.604,0,3.109-0.645,4.243-1.811C12.376,9.975,13,8.423,13,6.773 - C13,5.125,12.376,3.574,11.243,2.408z M7,8.053c0.553,0,1-0.445,1-1v-6c0-0.553-0.447-1-1-1c-0.553,0-1,0.447-1,1v6 - C6,7.604,6.447,8.053,7,8.053z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-white.svg deleted file mode 100644 index 5c82ba73..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-white.svg +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M11.243,2.408c-0.392-0.401-1.024-0.401-1.415,0c-0.391,0.401-0.391,1.054,0,1.455 - C10.584,4.642,11,5.675,11,6.773s-0.416,2.133-1.172,2.91c-1.512,1.558-4.145,1.558-5.656,0C3.416,8.904,3,7.872,3,6.773 - C3,5.673,3.416,4.64,4.172,3.863c0.39-0.401,0.39-1.054,0-1.455c-0.391-0.401-1.024-0.401-1.415,0C1.624,3.574,1,5.125,1,6.773 - c0,1.647,0.624,3.199,1.757,4.365c1.134,1.166,2.64,1.809,4.243,1.809c1.604,0,3.109-0.645,4.243-1.811 - C12.376,9.975,13,8.423,13,6.773C13,5.125,12.376,3.574,11.243,2.408z M7,8.053c0.553,0,1-0.445,1-1v-6c0-0.553-0.447-1-1-1 - c-0.553,0-1,0.447-1,1v6C6,7.604,6.447,8.053,7,8.053z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-black.svg deleted file mode 100644 index 25078b7d..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-black.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M3,7h1L2,4L0,7h1c0,3.313,2.687,6,6,6c0.702,0,1.374-0.127,2-0.35v-2.205C8.41,10.789,7.732,11,7,11C4.791,11,3,9.209,3,7z - M13,7c0-3.313-2.688-6-6-6C6.298,1,5.626,1.127,5,1.349v2.206C5.59,3.211,6.268,3,7,3c2.209,0,4,1.791,4,4h-1l2,3l2-3H13z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-white.svg deleted file mode 100644 index 8a9f5e77..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-white.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M3,7h1L2,4L0,7h1c0,3.313,2.687,6,6,6c0.702,0,1.374-0.127,2-0.35v-2.205C8.41,10.789,7.732,11,7,11 - C4.791,11,3,9.209,3,7z M13,7c0-3.313-2.688-6-6-6C6.298,1,5.626,1.127,5,1.349v2.206C5.59,3.211,6.268,3,7,3c2.209,0,4,1.791,4,4 - h-1l2,3l2-3H13z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-black.svg deleted file mode 100644 index 16c978c4..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-black.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14.001px" height="14.002px" viewBox="0 0 14.001 14.002" style="enable-background:new 0 0 14.001 14.002;" - xml:space="preserve"> -<path d="M14.001,6.001v-6l-2.06,2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994,2.872,0.153,0.939,3.501 - c-1.933,3.348-0.786,7.629,2.562,9.562c3.348,1.933,7.629,0.785,9.562-2.562l-1.732-1c-1.381,2.392-4.438,3.211-6.83,1.83 - s-3.211-4.438-1.83-6.83s4.438-3.211,6.83-1.83c0.389,0.225,0.718,0.506,1.02,0.81l-2.52,2.52H14.001z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-white.svg deleted file mode 100644 index fa370e69..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-white.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14.001px" height="14.002px" viewBox="0 0 14.001 14.002" style="enable-background:new 0 0 14.001 14.002;" - xml:space="preserve"> -<path fill="#FFF" d="M14.001,6.001v-6l-2.06,2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994,2.872,0.153,0.939,3.501 - c-1.933,3.348-0.786,7.629,2.562,9.562c3.348,1.933,7.629,0.785,9.562-2.562l-1.732-1c-1.381,2.392-4.438,3.211-6.83,1.83 - s-3.211-4.438-1.83-6.83s4.438-3.211,6.83-1.83c0.389,0.225,0.718,0.506,1.02,0.81l-2.52,2.52H14.001z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-black.svg deleted file mode 100644 index 229b2218..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-black.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M10.171,8.766c0.617-0.888,0.979-1.964,0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5,2.463-5.5,5.5s2.463,5.5,5.5,5.5 - c1.152,0,2.223-0.355,3.104-0.962l3.684,3.683l1.414-1.414L10.171,8.766z M5.649,9.14c-1.933,0-3.5-1.567-3.5-3.5 - c0-1.933,1.567-3.5,3.5-3.5c1.933,0,3.5,1.567,3.5,3.5C9.149,7.572,7.582,9.14,5.649,9.14z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-white.svg deleted file mode 100644 index a54a52a0..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-white.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M10.171,8.766c0.617-0.888,0.979-1.964,0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5,2.463-5.5,5.5 - s2.463,5.5,5.5,5.5c1.152,0,2.223-0.355,3.104-0.962l3.684,3.683l1.414-1.414L10.171,8.766z M5.649,9.14c-1.933,0-3.5-1.567-3.5-3.5 - c0-1.933,1.567-3.5,3.5-3.5c1.933,0,3.5,1.567,3.5,3.5C9.149,7.572,7.582,9.14,5.649,9.14z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-black.svg deleted file mode 100644 index ba541b46..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-black.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M10,4V3c0-1.657-1.343-3-3-3S4,1.343,4,3v1H1v10h12V4H10z M4.5,6C4.224,6,4,5.776,4,5.5S4.224,5,4.5,5S5,5.224,5,5.5 - S4.776,6,4.5,6z M5,3c0-1.104,0.896-2,2-2c1.104,0,2,0.896,2,2v1H5V3z M9.5,6C9.225,6,9,5.776,9,5.5S9.225,5,9.5,5S10,5.224,10,5.5 - S9.775,6,9.5,6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-white.svg deleted file mode 100644 index 3acf9e85..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-white.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M10,4V3c0-1.657-1.343-3-3-3S4,1.343,4,3v1H1v10h12V4H10z M4.5,6C4.224,6,4,5.776,4,5.5 - S4.224,5,4.5,5S5,5.224,5,5.5S4.776,6,4.5,6z M5,3c0-1.104,0.896-2,2-2c1.104,0,2,0.896,2,2v1H5V3z M9.5,6C9.225,6,9,5.776,9,5.5 - S9.225,5,9.5,5S10,5.224,10,5.5S9.775,6,9.5,6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-black.svg deleted file mode 100644 index 43076c08..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,5 9,5 7,0 5,5 0,5 4,8 2.625,13 7,10 11.375,13 10,8 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-white.svg deleted file mode 100644 index e0cc53d6..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="14,5 9,5 7,0 5,5 0,5 4,8 2.625,13 7,10 11.375,13 10,8 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-black.svg deleted file mode 100644 index bd11ae67..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M5,0H0v5l9,9l5-5L5,0z M3,4C2.447,4,2,3.553,2,3s0.447-1,1-1s1,0.447,1,1S3.553,4,3,4z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-white.svg deleted file mode 100644 index 7cd4a50a..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M5,0H0v5l9,9l5-5L5,0z M3,4C2.447,4,2,3.553,2,3s0.447-1,1-1s1,0.447,1,1S3.553,4,3,4z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-black.svg deleted file mode 100644 index 7530c987..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-black.svg +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M8.851,10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383,8.49,9.738,7.621,9.891,6.465C10.493,6.355,10.5,5.967,10.5,5.5 - c0-0.437-0.008-0.804-0.502-0.94C9.999,4.539,10,4.521,10,4.5c0-2.103-1-4-2-4C8,0.5,7.5,0,6.5,0C5,0,4,1.877,4,4.5 - c0,0.021,0.001,0.039,0.002,0.06C3.508,4.696,3.5,5.063,3.5,5.5c0,0.467,0.007,0.855,0.609,0.965 - C4.262,7.621,4.617,8.49,5.303,8.997c0.047,0.341,0.026,0.704-0.153,1.104C1.503,10.503,0,12,0,12v2h14v-2 - C14,12,12.497,10.503,8.851,10.101z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-white.svg deleted file mode 100644 index 5528c2e9..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-white.svg +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M8.851,10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383,8.49,9.738,7.621,9.891,6.465C10.493,6.355,10.5,5.967,10.5,5.5 - c0-0.437-0.008-0.804-0.502-0.94C9.999,4.539,10,4.521,10,4.5c0-2.103-1-4-2-4C8,0.5,7.5,0,6.5,0C5,0,4,1.877,4,4.5 - c0,0.021,0.001,0.039,0.002,0.06C3.508,4.696,3.5,5.063,3.5,5.5c0,0.467,0.007,0.855,0.609,0.965 - C4.262,7.621,4.617,8.49,5.303,8.997c0.047,0.341,0.026,0.704-0.153,1.104C1.503,10.503,0,12,0,12v2h14v-2 - C14,12,12.497,10.503,8.851,10.101z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-black.svg deleted file mode 100644 index 9474acd4..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 -2 14 14" style="enable-background:new 0 -2 14 14;" xml:space="preserve"> -<path d="M8,0H2C0.896,0,0,0.896,0,2v6c0,1.104,0.896,2,2,2h6c1.104,0,2-0.896,2-2V5V2C10,0.896,9.104,0,8,0z M10,5l4,4V1L10,5z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-white.svg deleted file mode 100644 index 36198685..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-white.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 -2 14 14" style="enable-background:new 0 -2 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M8,0H2C0.896,0,0,0.896,0,2v6c0,1.104,0.896,2,2,2h6c1.104,0,2-0.896,2-2V5V2C10,0.896,9.104,0,8,0z - M10,5l4,4V1L10,5z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.css deleted file mode 100644 index 9ba6fa73..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.css +++ /dev/null @@ -1,4737 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -/* SVG icons */ -.ui-icon-action:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-alert:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-audio:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-back:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-bars:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-bullets:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-calendar:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-camera:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-check:after, -/* Used ui-checkbox-on twice to increase specificity. If active state has background-image for gradient this rule overrides. */ -html .ui-btn.ui-checkbox-on.ui-checkbox-on:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-clock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-cloud:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-comment:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-delete:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-edit:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-eye:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-forbidden:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-forward:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-gear:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-grid:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-heart:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-home:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-info:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-location:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-lock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-mail:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-minus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-navigation:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-phone:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-plus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-power:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-recycle:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-refresh:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-search:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-shop:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-star:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-tag:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-user:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-video:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); -} -/* Alt icons */ -.ui-alt-icon.ui-icon-action:after, -.ui-alt-icon .ui-icon-action:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-alert:after, -.ui-alt-icon .ui-icon-alert:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d:after, -.ui-alt-icon .ui-icon-arrow-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-l:after, -.ui-alt-icon .ui-icon-arrow-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-r:after, -.ui-alt-icon .ui-icon-arrow-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u:after, -.ui-alt-icon .ui-icon-arrow-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-audio:after, -.ui-alt-icon .ui-icon-audio:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-back:after, -.ui-alt-icon .ui-icon-back:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-bars:after, -.ui-alt-icon .ui-icon-bars:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-bullets:after, -.ui-alt-icon .ui-icon-bullets:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-calendar:after, -.ui-alt-icon .ui-icon-calendar:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-camera:after, -.ui-alt-icon .ui-icon-camera:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-d:after, -.ui-alt-icon .ui-icon-carat-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-l:after, -.ui-alt-icon .ui-icon-carat-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-r:after, -.ui-alt-icon .ui-icon-carat-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-u:after, -.ui-alt-icon .ui-icon-carat-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-check:after, -.ui-alt-icon .ui-icon-check:after, -html .ui-alt-icon.ui-btn.ui-checkbox-on:after, -html .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-clock:after, -.ui-alt-icon .ui-icon-clock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-cloud:after, -.ui-alt-icon .ui-icon-cloud:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-comment:after, -.ui-alt-icon .ui-icon-comment:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-delete:after, -.ui-alt-icon .ui-icon-delete:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-edit:after, -.ui-alt-icon .ui-icon-edit:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-eye:after, -.ui-alt-icon .ui-icon-eye:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-forbidden:after, -.ui-alt-icon .ui-icon-forbidden:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-forward:after, -.ui-alt-icon .ui-icon-forward:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-gear:after, -.ui-alt-icon .ui-icon-gear:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-grid:after, -.ui-alt-icon .ui-icon-grid:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-heart:after, -.ui-alt-icon .ui-icon-heart:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-home:after, -.ui-alt-icon .ui-icon-home:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-info:after, -.ui-alt-icon .ui-icon-info:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-location:after, -.ui-alt-icon .ui-icon-location:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-lock:after, -.ui-alt-icon .ui-icon-lock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-mail:after, -.ui-alt-icon .ui-icon-mail:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-minus:after, -.ui-alt-icon .ui-icon-minus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-navigation:after, -.ui-alt-icon .ui-icon-navigation:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-phone:after, -.ui-alt-icon .ui-icon-phone:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-plus:after, -.ui-alt-icon .ui-icon-plus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-power:after, -.ui-alt-icon .ui-icon-power:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-recycle:after, -.ui-alt-icon .ui-icon-recycle:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-refresh:after, -.ui-alt-icon .ui-icon-refresh:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-search:after, -.ui-alt-icon .ui-icon-search:after, -.ui-input-search:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-shop:after, -.ui-alt-icon .ui-icon-shop:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-star:after, -.ui-alt-icon .ui-icon-star:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-tag:after, -.ui-alt-icon .ui-icon-tag:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-user:after, -.ui-alt-icon .ui-icon-user:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-video:after, -.ui-alt-icon .ui-icon-video:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); -} -/* PNG icons */ -.ui-nosvg .ui-icon-action:after { - background-image: url(images/icons-png/action-white.png); -} -.ui-nosvg .ui-icon-alert:after { - background-image: url(images/icons-png/alert-white.png); -} -.ui-nosvg .ui-icon-arrow-d-l:after { - background-image: url(images/icons-png/arrow-d-l-white.png); -} -.ui-nosvg .ui-icon-arrow-d-r:after { - background-image: url(images/icons-png/arrow-d-r-white.png); -} -.ui-nosvg .ui-icon-arrow-d:after { - background-image: url(images/icons-png/arrow-d-white.png); -} -.ui-nosvg .ui-icon-arrow-l:after { - background-image: url(images/icons-png/arrow-l-white.png); -} -.ui-nosvg .ui-icon-arrow-r:after { - background-image: url(images/icons-png/arrow-r-white.png); -} -.ui-nosvg .ui-icon-arrow-u-l:after { - background-image: url(images/icons-png/arrow-u-l-white.png); -} -.ui-nosvg .ui-icon-arrow-u-r:after { - background-image: url(images/icons-png/arrow-u-r-white.png); -} -.ui-nosvg .ui-icon-arrow-u:after { - background-image: url(images/icons-png/arrow-u-white.png); -} -.ui-nosvg .ui-icon-audio:after { - background-image: url(images/icons-png/audio-white.png); -} -.ui-nosvg .ui-icon-back:after { - background-image: url(images/icons-png/back-white.png); -} -.ui-nosvg .ui-icon-bars:after { - background-image: url(images/icons-png/bars-white.png); -} -.ui-nosvg .ui-icon-bullets:after { - background-image: url(images/icons-png/bullets-white.png); -} -.ui-nosvg .ui-icon-calendar:after { - background-image: url(images/icons-png/calendar-white.png); -} -.ui-nosvg .ui-icon-camera:after { - background-image: url(images/icons-png/camera-white.png); -} -.ui-nosvg .ui-icon-carat-d:after { - background-image: url(images/icons-png/carat-d-white.png); -} -.ui-nosvg .ui-icon-carat-l:after { - background-image: url(images/icons-png/carat-l-white.png); -} -.ui-nosvg .ui-icon-carat-r:after { - background-image: url(images/icons-png/carat-r-white.png); -} -.ui-nosvg .ui-icon-carat-u:after { - background-image: url(images/icons-png/carat-u-white.png); -} -.ui-nosvg .ui-icon-check:after, -html.ui-nosvg .ui-btn.ui-checkbox-on:after { - background-image: url(images/icons-png/check-white.png); -} -.ui-nosvg .ui-icon-clock:after { - background-image: url(images/icons-png/clock-white.png); -} -.ui-nosvg .ui-icon-cloud:after { - background-image: url(images/icons-png/cloud-white.png); -} -.ui-nosvg .ui-icon-comment:after { - background-image: url(images/icons-png/comment-white.png); -} -.ui-nosvg .ui-icon-delete:after { - background-image: url(images/icons-png/delete-white.png); -} -.ui-nosvg .ui-icon-edit:after { - background-image: url(images/icons-png/edit-white.png); -} -.ui-nosvg .ui-icon-eye:after { - background-image: url(images/icons-png/eye-white.png); -} -.ui-nosvg .ui-icon-forbidden:after { - background-image: url(images/icons-png/forbidden-white.png); -} -.ui-nosvg .ui-icon-forward:after { - background-image: url(images/icons-png/forward-white.png); -} -.ui-nosvg .ui-icon-gear:after { - background-image: url(images/icons-png/gear-white.png); -} -.ui-nosvg .ui-icon-grid:after { - background-image: url(images/icons-png/grid-white.png); -} -.ui-nosvg .ui-icon-heart:after { - background-image: url(images/icons-png/heart-white.png); -} -.ui-nosvg .ui-icon-home:after { - background-image: url(images/icons-png/home-white.png); -} -.ui-nosvg .ui-icon-info:after { - background-image: url(images/icons-png/info-white.png); -} -.ui-nosvg .ui-icon-location:after { - background-image: url(images/icons-png/location-white.png); -} -.ui-nosvg .ui-icon-lock:after { - background-image: url(images/icons-png/lock-white.png); -} -.ui-nosvg .ui-icon-mail:after { - background-image: url(images/icons-png/mail-white.png); -} -.ui-nosvg .ui-icon-minus:after { - background-image: url(images/icons-png/minus-white.png); -} -.ui-nosvg .ui-icon-navigation:after { - background-image: url(images/icons-png/navigation-white.png); -} -.ui-nosvg .ui-icon-phone:after { - background-image: url(images/icons-png/phone-white.png); -} -.ui-nosvg .ui-icon-plus:after { - background-image: url(images/icons-png/plus-white.png); -} -.ui-nosvg .ui-icon-power:after { - background-image: url(images/icons-png/power-white.png); -} -.ui-nosvg .ui-icon-recycle:after { - background-image: url(images/icons-png/recycle-white.png); -} -.ui-nosvg .ui-icon-refresh:after { - background-image: url(images/icons-png/refresh-white.png); -} -.ui-nosvg .ui-icon-search:after { - background-image: url(images/icons-png/search-white.png); -} -.ui-nosvg .ui-icon-shop:after { - background-image: url(images/icons-png/shop-white.png); -} -.ui-nosvg .ui-icon-star:after { - background-image: url(images/icons-png/star-white.png); -} -.ui-nosvg .ui-icon-tag:after { - background-image: url(images/icons-png/tag-white.png); -} -.ui-nosvg .ui-icon-user:after { - background-image: url(images/icons-png/user-white.png); -} -.ui-nosvg .ui-icon-video:after { - background-image: url(images/icons-png/video-white.png); -} -/* Alt icons */ -.ui-nosvg .ui-alt-icon.ui-icon-action:after, -.ui-nosvg .ui-alt-icon .ui-icon-action:after { - background-image: url(images/icons-png/action-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-alert:after, -.ui-nosvg .ui-alt-icon .ui-icon-alert:after { - background-image: url(images/icons-png/alert-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-d:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-d:after { - background-image: url(images/icons-png/arrow-d-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url(images/icons-png/arrow-d-l-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url(images/icons-png/arrow-d-r-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-l:after { - background-image: url(images/icons-png/arrow-l-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-r:after { - background-image: url(images/icons-png/arrow-r-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-u:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-u:after { - background-image: url(images/icons-png/arrow-u-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url(images/icons-png/arrow-u-l-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url(images/icons-png/arrow-u-r-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-audio:after, -.ui-nosvg .ui-alt-icon .ui-icon-audio:after { - background-image: url(images/icons-png/audio-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-back:after, -.ui-nosvg .ui-alt-icon .ui-icon-back:after { - background-image: url(images/icons-png/back-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-bars:after, -.ui-nosvg .ui-alt-icon .ui-icon-bars:after { - background-image: url(images/icons-png/bars-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-bullets:after, -.ui-nosvg .ui-alt-icon .ui-icon-bullets:after { - background-image: url(images/icons-png/bullets-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-calendar:after, -.ui-nosvg .ui-alt-icon .ui-icon-calendar:after { - background-image: url(images/icons-png/calendar-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-camera:after, -.ui-nosvg .ui-alt-icon .ui-icon-camera:after { - background-image: url(images/icons-png/camera-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-d:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-d:after { - background-image: url(images/icons-png/carat-d-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-l:after { - background-image: url(images/icons-png/carat-l-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-r:after { - background-image: url(images/icons-png/carat-r-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-u:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-u:after { - background-image: url(images/icons-png/carat-u-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-check:after, -.ui-nosvg .ui-alt-icon .ui-icon-check:after, -.ui-nosvg .ui-alt-icon.ui-btn.ui-checkbox-on:after, -.ui-nosvg .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url(images/icons-png/check-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-clock:after, -.ui-nosvg .ui-alt-icon .ui-icon-clock:after { - background-image: url(images/icons-png/clock-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-cloud:after, -.ui-nosvg .ui-alt-icon .ui-icon-cloud:after { - background-image: url(images/icons-png/cloud-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-comment:after, -.ui-nosvg .ui-alt-icon .ui-icon-comment:after { - background-image: url(images/icons-png/comment-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-delete:after, -.ui-nosvg .ui-alt-icon .ui-icon-delete:after { - background-image: url(images/icons-png/delete-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-edit:after, -.ui-nosvg .ui-alt-icon .ui-icon-edit:after { - background-image: url(images/icons-png/edit-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-eye:after, -.ui-nosvg .ui-alt-icon .ui-icon-eye:after { - background-image: url(images/icons-png/eye-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-forbidden:after, -.ui-nosvg .ui-alt-icon .ui-icon-forbidden:after { - background-image: url(images/icons-png/forbidden-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-forward:after, -.ui-nosvg .ui-alt-icon .ui-icon-forward:after { - background-image: url(images/icons-png/forward-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-gear:after, -.ui-nosvg .ui-alt-icon .ui-icon-gear:after { - background-image: url(images/icons-png/gear-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-grid:after, -.ui-nosvg .ui-alt-icon .ui-icon-grid:after { - background-image: url(images/icons-png/grid-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-heart:after, -.ui-nosvg .ui-alt-icon .ui-icon-heart:after { - background-image: url(images/icons-png/heart-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-home:after, -.ui-nosvg .ui-alt-icon .ui-icon-home:after { - background-image: url(images/icons-png/home-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-info:after, -.ui-nosvg .ui-alt-icon .ui-icon-info:after { - background-image: url(images/icons-png/info-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-location:after, -.ui-nosvg .ui-alt-icon .ui-icon-location:after { - background-image: url(images/icons-png/location-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-lock:after, -.ui-nosvg .ui-alt-icon .ui-icon-lock:after { - background-image: url(images/icons-png/lock-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-mail:after, -.ui-nosvg .ui-alt-icon .ui-icon-mail:after { - background-image: url(images/icons-png/mail-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-minus:after, -.ui-nosvg .ui-alt-icon .ui-icon-minus:after { - background-image: url(images/icons-png/minus-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-navigation:after, -.ui-nosvg .ui-alt-icon .ui-icon-navigation:after { - background-image: url(images/icons-png/navigation-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-phone:after, -.ui-nosvg .ui-alt-icon .ui-icon-phone:after { - background-image: url(images/icons-png/phone-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-plus:after, -.ui-nosvg .ui-alt-icon .ui-icon-plus:after { - background-image: url(images/icons-png/plus-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-power:after, -.ui-nosvg .ui-alt-icon .ui-icon-power:after { - background-image: url(images/icons-png/power-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-recycle:after, -.ui-nosvg .ui-alt-icon .ui-icon-recycle:after { - background-image: url(images/icons-png/recycle-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-refresh:after, -.ui-nosvg .ui-alt-icon .ui-icon-refresh:after { - background-image: url(images/icons-png/refresh-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-search:after, -.ui-nosvg .ui-alt-icon .ui-icon-search:after, -.ui-nosvg .ui-input-search:after { - background-image: url(images/icons-png/search-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-shop:after, -.ui-nosvg .ui-alt-icon .ui-icon-shop:after { - background-image: url(images/icons-png/shop-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-star:after, -.ui-nosvg .ui-alt-icon .ui-icon-star:after { - background-image: url(images/icons-png/star-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-tag:after, -.ui-nosvg .ui-alt-icon .ui-icon-tag:after { - background-image: url(images/icons-png/tag-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-user:after, -.ui-nosvg .ui-alt-icon .ui-icon-user:after { - background-image: url(images/icons-png/user-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-video:after, -.ui-nosvg .ui-alt-icon .ui-icon-video:after { - background-image: url(images/icons-png/video-black.png); -} -/* Globals */ -/* Font ------------------------------------------------------------------------------------------------------------*/ -html { - font-size: 100%; -} -body, -input, -select, -textarea, -button, -.ui-btn { - font-size: 1em; - line-height: 1.3; - font-family: sans-serif /*{global-font-family}*/; -} -legend, -.ui-input-text input, -.ui-input-search input { - color: inherit; - text-shadow: inherit; -} -/* Form labels (overrides font-weight bold in bars, and mini font-size) */ -.ui-mobile label, -div.ui-controlgroup-label { - font-weight: normal; - font-size: 16px; -} -/* Separators ------------------------------------------------------------------------------------------------------------*/ -/* Field contain separator (< 28em) */ -.ui-field-contain { - border-bottom-color: #828282; - border-bottom-color: rgba(0,0,0,.15); - border-bottom-width: 1px; - border-bottom-style: solid; -} -/* Table opt-in classes: strokes between each row, and alternating row stripes */ -/* Classes table-stroke and table-stripe are deprecated in 1.4. */ -.table-stroke thead th, -.table-stripe thead th, -.table-stripe tbody tr:last-child { - border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.1); -} -.table-stroke tbody th, -.table-stroke tbody td { - border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.05); -} -.table-stripe.table-stroke tbody tr:last-child th, -.table-stripe.table-stroke tbody tr:last-child td { - border-bottom: 0; -} -.table-stripe tbody tr:nth-child(odd) td, -.table-stripe tbody tr:nth-child(odd) th { - background-color: #eeeeee; /* non-RGBA fallback */ - background-color: rgba(0,0,0,.04); -} -/* Buttons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn, -label.ui-btn { - font-weight: bold; - border-width: 1px; - border-style: solid; -} -.ui-btn { - text-decoration: none !important; -} -.ui-btn-active { - cursor: pointer; -} -/* Corner rounding ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-btn-corner-all deprecated in 1.4 */ -.ui-corner-all { - -webkit-border-radius: .3125em /*{global-radii-blocks}*/; - border-radius: .3125em /*{global-radii-blocks}*/; -} -/* Buttons */ -.ui-btn-corner-all, -.ui-btn.ui-corner-all, -/* Slider track */ -.ui-slider-track.ui-corner-all, -/* Flipswitch */ -.ui-flipswitch.ui-corner-all, -/* Count bubble */ -.ui-li-count { - -webkit-border-radius: .3125em /*{global-radii-buttons}*/; - border-radius: .3125em /*{global-radii-buttons}*/; -} -/* Icon-only buttons */ -.ui-btn-icon-notext.ui-btn-corner-all, -.ui-btn-icon-notext.ui-corner-all { - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Radius clip workaround for cleaning up corner trapping */ -.ui-btn-corner-all, -.ui-corner-all { - -webkit-background-clip: padding; - background-clip: padding-box; -} -/* Popup arrow */ -.ui-popup.ui-corner-all > .ui-popup-arrow-guide { - left: .6em /*{global-radii-blocks}*/; - right: .6em /*{global-radii-blocks}*/; - top: .6em /*{global-radii-blocks}*/; - bottom: .6em /*{global-radii-blocks}*/; -} -/* Shadow ------------------------------------------------------------------------------------------------------------*/ -.ui-shadow { - -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; -} -.ui-shadow-inset { - -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; -} -.ui-overlay-shadow { - -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); - -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); - box-shadow: 0 0 12px rgba(0,0,0,.6); -} -/* Icons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; - background-position: center center; - background-repeat: no-repeat; - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Alt icons */ -.ui-alt-icon.ui-btn:after, -.ui-alt-icon .ui-btn:after, -html .ui-alt-icon.ui-checkbox-off:after, -html .ui-alt-icon.ui-radio-off:after, -html .ui-alt-icon .ui-checkbox-off:after, -html .ui-alt-icon .ui-radio-off:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.15) /*{global-icon-disc}*/; -} -/* No disc */ -.ui-nodisc-icon.ui-btn:after, -.ui-nodisc-icon .ui-btn:after { - background-color: transparent; -} -/* Icon shadow */ -.ui-shadow-icon.ui-btn:after, -.ui-shadow-icon .ui-btn:after { - -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; -} -/* Checkbox and radio */ -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after, -.ui-btn.ui-radio-off:after, -.ui-btn.ui-radio-on:after { - display: block; - width: 18px; - height: 18px; - margin: -9px 2px 0 2px; -} -.ui-checkbox-off:after, -.ui-btn.ui-radio-off:after { - filter: Alpha(Opacity=30); - opacity: .3; -} -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after { - -webkit-border-radius: .1875em; - border-radius: .1875em; -} -.ui-btn.ui-checkbox-off:after { - background-color: #666; - background-color: rgba(0,0,0,.3); -} -.ui-radio .ui-btn.ui-radio-on:after { - background-image: none; - background-color: #fff; - width: 8px; - height: 8px; - border-width: 5px; - border-style: solid; -} -.ui-alt-icon.ui-btn.ui-radio-on:after, -.ui-alt-icon .ui-btn.ui-radio-on:after { - background-color: #000; -} -/* Loader */ -.ui-icon-loading { - background: url(images/ajax-loader.gif); - background-size: 2.875em 2.875em; -} -/* Swatches */ -/* A ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-a, -.ui-page-theme-a .ui-bar-inherit, -html .ui-bar-a .ui-bar-inherit, -html .ui-body-a .ui-bar-inherit, -html body .ui-group-theme-a .ui-bar-inherit { - background-color: #e9e9e9 /*{a-bar-background-color}*/; - border-color: #ddd /*{a-bar-border}*/; - color: #333 /*{a-bar-color}*/; - text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #eee /*{a-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-a { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-a, -.ui-page-theme-a, -.ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9 /*{a-page-background-color}*/; - border-color: #bbb /*{a-page-border}*/; - color: #333 /*{a-page-color}*/; - text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #f3f3f3 /*{a-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-a, -.ui-page-theme-a .ui-body-inherit, -html .ui-bar-a .ui-body-inherit, -html .ui-body-a .ui-body-inherit, -html body .ui-group-theme-a .ui-body-inherit, -html .ui-panel-page-container-a { - background-color: #fff /*{a-body-background-color}*/; - border-color: #ddd /*{a-body-border}*/; - color: #333 /*{a-body-color}*/; - text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #f3f3f3 /*{a-body-shadow-color}*/; -} -.ui-body-a { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-a a, -html .ui-bar-a a, -html .ui-body-a a, -html body .ui-group-theme-a a { - color: #3388cc /*{a-link-color}*/; - font-weight: bold; -} -.ui-page-theme-a a:visited, -html .ui-bar-a a:visited, -html .ui-body-a a:visited, -html body .ui-group-theme-a a:visited { - color: #3388cc /*{a-link-visited}*/; -} -.ui-page-theme-a a:hover, -html .ui-bar-a a:hover, -html .ui-body-a a:hover, -html body .ui-group-theme-a a:hover { - color: #005599 /*{a-link-hover}*/; -} -.ui-page-theme-a a:active, -html .ui-bar-a a:active, -html .ui-body-a a:active, -html body .ui-group-theme-a a:active { - color: #005599 /*{a-link-active}*/; -} -/* Button up */ -.ui-page-theme-a .ui-btn, -html .ui-bar-a .ui-btn, -html .ui-body-a .ui-btn, -html body .ui-group-theme-a .ui-btn, -html head + body .ui-btn.ui-btn-a, -/* Button visited */ -.ui-page-theme-a .ui-btn:visited, -html .ui-bar-a .ui-btn:visited, -html .ui-body-a .ui-btn:visited, -html body .ui-group-theme-a .ui-btn:visited, -html head + body .ui-btn.ui-btn-a:visited { - background-color: #f6f6f6 /*{a-bup-background-color}*/; - border-color: #ddd /*{a-bup-border}*/; - color: #333 /*{a-bup-color}*/; - text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-a .ui-btn:hover, -html .ui-bar-a .ui-btn:hover, -html .ui-body-a .ui-btn:hover, -html body .ui-group-theme-a .ui-btn:hover, -html head + body .ui-btn.ui-btn-a:hover { - background-color: #ededed /*{a-bhover-background-color}*/; - border-color: #ddd /*{a-bhover-border}*/; - color: #333 /*{a-bhover-color}*/; - text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-a .ui-btn:active, -html .ui-bar-a .ui-btn:active, -html .ui-body-a .ui-btn:active, -html body .ui-group-theme-a .ui-btn:active, -html head + body .ui-btn.ui-btn-a:active { - background-color: #e8e8e8 /*{a-bdown-background-color}*/; - border-color: #ddd /*{a-bdown-border}*/; - color: #333 /*{a-bdown-color}*/; - text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-a .ui-btn.ui-btn-active, -html .ui-bar-a .ui-btn.ui-btn-active, -html .ui-body-a .ui-btn.ui-btn-active, -html body .ui-group-theme-a .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-a.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-a .ui-checkbox-on:after, -html .ui-bar-a .ui-checkbox-on:after, -html .ui-body-a .ui-checkbox-on:after, -html body .ui-group-theme-a .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-a:after, -/* Active flipswitch background */ -.ui-page-theme-a .ui-flipswitch-active, -html .ui-bar-a .ui-flipswitch-active, -html .ui-body-a .ui-flipswitch-active, -html body .ui-group-theme-a .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-a .ui-slider-track .ui-btn-active, -html .ui-bar-a .ui-slider-track .ui-btn-active, -html .ui-body-a .ui-slider-track .ui-btn-active, -html body .ui-group-theme-a .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-a .ui-btn-active { - background-color: #3388cc /*{a-active-background-color}*/; - border-color: #3388cc /*{a-active-border}*/; - color: #fff /*{a-active-color}*/; - text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-a .ui-radio-on:after, -html .ui-bar-a .ui-radio-on:after, -html .ui-body-a .ui-radio-on:after, -html body .ui-group-theme-a .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-a:after { - border-color: #3388cc /*{a-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-a .ui-btn:focus, -html .ui-bar-a .ui-btn:focus, -html .ui-body-a .ui-btn:focus, -html body .ui-group-theme-a .ui-btn:focus, -html head + body .ui-btn.ui-btn-a:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-a .ui-focus, -html .ui-bar-a .ui-focus, -html .ui-body-a .ui-focus, -html body .ui-group-theme-a .ui-focus, -html head + body .ui-btn-a.ui-focus, -html head + body .ui-body-a.ui-focus { - -webkit-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - -moz-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; -} -/* B ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-b, -.ui-page-theme-b .ui-bar-inherit, -html .ui-bar-b .ui-bar-inherit, -html .ui-body-b .ui-bar-inherit, -html body .ui-group-theme-b .ui-bar-inherit { - background-color: #1d1d1d /*{b-bar-background-color}*/; - border-color: #1b1b1b /*{b-bar-border}*/; - color: #fff /*{b-bar-color}*/; - text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #111 /*{b-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-b { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-b, -.ui-page-theme-b, -.ui-page-theme-b .ui-panel-wrapper { - background-color: #252525 /*{b-page-background-color}*/; - border-color: #454545 /*{b-page-border}*/; - color: #fff /*{b-page-color}*/; - text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #111 /*{b-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-b, -.ui-page-theme-b .ui-body-inherit, -html .ui-bar-b .ui-body-inherit, -html .ui-body-b .ui-body-inherit, -html body .ui-group-theme-b .ui-body-inherit, -html .ui-panel-page-container-b { - background-color: #2a2a2a /*{b-body-background-color}*/; - border-color: #1d1d1d /*{b-body-border}*/; - color: #fff /*{b-body-color}*/; - text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #111 /*{b-body-shadow-color}*/; -} -.ui-body-b { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-b a, -html .ui-bar-b a, -html .ui-body-b a, -html body .ui-group-theme-b a { - color: #22aadd /*{b-link-color}*/; - font-weight: bold; -} -.ui-page-theme-b a:visited, -html .ui-bar-b a:visited, -html .ui-body-b a:visited, -html body .ui-group-theme-b a:visited { - color: #22aadd /*{b-link-visited}*/; -} -.ui-page-theme-b a:hover, -html .ui-bar-b a:hover, -html .ui-body-b a:hover, -html body .ui-group-theme-b a:hover { - color: #0088bb /*{b-link-hover}*/; -} -.ui-page-theme-b a:active, -html .ui-bar-b a:active, -html .ui-body-b a:active, -html body .ui-group-theme-b a:active { - color: #0088bb /*{b-link-active}*/; -} -/* Button up */ -.ui-page-theme-b .ui-btn, -html .ui-bar-b .ui-btn, -html .ui-body-b .ui-btn, -html body .ui-group-theme-b .ui-btn, -html head + body .ui-btn.ui-btn-b, -/* Button visited */ -.ui-page-theme-b .ui-btn:visited, -html .ui-bar-b .ui-btn:visited, -html .ui-body-b .ui-btn:visited, -html body .ui-group-theme-b .ui-btn:visited, -html head + body .ui-btn.ui-btn-b:visited { - background-color: #333 /*{b-bup-background-color}*/; - border-color: #1f1f1f /*{b-bup-border}*/; - color: #fff /*{b-bup-color}*/; - text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111 /*{b-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-b .ui-btn:hover, -html .ui-bar-b .ui-btn:hover, -html .ui-body-b .ui-btn:hover, -html body .ui-group-theme-b .ui-btn:hover, -html head + body .ui-btn.ui-btn-b:hover { - background-color: #373737 /*{b-bhover-background-color}*/; - border-color: #1f1f1f /*{b-bhover-border}*/; - color: #fff /*{b-bhover-color}*/; - text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111 /*{b-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-b .ui-btn:active, -html .ui-bar-b .ui-btn:active, -html .ui-body-b .ui-btn:active, -html body .ui-group-theme-b .ui-btn:active, -html head + body .ui-btn.ui-btn-b:active { - background-color: #404040 /*{b-bdown-background-color}*/; - border-color: #1f1f1f /*{b-bdown-border}*/; - color: #fff /*{b-bdown-color}*/; - text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111 /*{b-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-b .ui-btn.ui-btn-active, -html .ui-bar-b .ui-btn.ui-btn-active, -html .ui-body-b .ui-btn.ui-btn-active, -html body .ui-group-theme-b .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-b.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-b .ui-checkbox-on:after, -html .ui-bar-b .ui-checkbox-on:after, -html .ui-body-b .ui-checkbox-on:after, -html body .ui-group-theme-b .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-b:after, -/* Active flipswitch background */ -.ui-page-theme-b .ui-flipswitch-active, -html .ui-bar-b .ui-flipswitch-active, -html .ui-body-b .ui-flipswitch-active, -html body .ui-group-theme-b .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-b .ui-slider-track .ui-btn-active, -html .ui-bar-b .ui-slider-track .ui-btn-active, -html .ui-body-b .ui-slider-track .ui-btn-active, -html body .ui-group-theme-b .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-b .ui-btn-active { - background-color: #22aadd /*{b-active-background-color}*/; - border-color: #22aadd /*{b-active-border}*/; - color: #fff /*{b-active-color}*/; - text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-b .ui-radio-on:after, -html .ui-bar-b .ui-radio-on:after, -html .ui-body-b .ui-radio-on:after, -html body .ui-group-theme-b .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-b:after { - border-color: #22aadd /*{b-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-b .ui-btn:focus, -html .ui-bar-b .ui-btn:focus, -html .ui-body-b .ui-btn:focus, -html body .ui-group-theme-b .ui-btn:focus, -html head + body .ui-btn.ui-btn-b:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-b .ui-focus, -html .ui-bar-b .ui-focus, -html .ui-body-b .ui-focus, -html body .ui-group-theme-b .ui-focus, -html head + body .ui-btn-b.ui-focus, -html head + body .ui-body-b.ui-focus { - -webkit-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - -moz-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; -} -/* Structure */ -/* Disabled ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ -.ui-disabled, -.ui-state-disabled, -button[disabled], -.ui-select .ui-btn.ui-state-disabled { - filter: Alpha(Opacity=30); - opacity: .3; - cursor: default !important; - pointer-events: none; -} -/* Focus state outline ------------------------------------------------------------------------------------------------------------*/ -.ui-btn:focus, -.ui-btn.ui-focus { - outline: 0; -} -/* Unset box-shadow in browsers that don't do it right */ -.ui-noboxshadow .ui-shadow, -.ui-noboxshadow .ui-shadow-inset, -.ui-noboxshadow .ui-overlay-shadow, -.ui-noboxshadow .ui-shadow-icon.ui-btn:after, -.ui-noboxshadow .ui-shadow-icon .ui-btn:after, -.ui-noboxshadow .ui-focus, -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow input:focus, -.ui-noboxshadow .ui-panel { - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow .ui-focus { - outline-width: 1px; - outline-style: auto; -} -/* Some unsets */ -.ui-mobile, -.ui-mobile body { - height: 99.9%; -} -.ui-mobile fieldset, -.ui-page { - padding: 0; - margin: 0; -} -.ui-mobile a img, -.ui-mobile fieldset { - border-width: 0; -} -/* Fixes for fieldset issues on IE10 and FF (see #6077) */ -.ui-mobile fieldset { - min-width: 0; -} -@-moz-document url-prefix() { - .ui-mobile fieldset { - display: table-column; - vertical-align: middle; - } -} -/* Viewport */ -.ui-mobile-viewport { - margin: 0; - overflow-x: visible; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust:none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -/* Issue #2066 */ -body.ui-mobile-viewport, -div.ui-mobile-viewport { - overflow-x: hidden; -} -/* "page" containers - full-screen views, one should always be in view post-pageload */ -.ui-mobile [data-role=page], -.ui-mobile [data-role=dialog], -.ui-page { - top: 0; - left: 0; - width: 100%; - min-height: 100%; - position: absolute; - display: none; - border: 0; -} -/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */ -.ui-page { - outline: none; -} -.ui-mobile .ui-page-active { - display: block; - overflow: visible; - overflow-x: hidden; -} -@media screen and (orientation: portrait) { - .ui-mobile .ui-page { - min-height: 420px; - } -} -@media screen and (orientation: landscape) { - .ui-mobile .ui-page { - min-height: 300px; - } -} -/* Fouc */ -.ui-mobile-rendering > * { - visibility: hidden; -} -/* Non-js content hiding */ -.ui-nojs { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Loading screen */ -.ui-loading .ui-loader { - display: block; -} -.ui-loader { - display: none; - z-index: 9999999; - position: fixed; - top: 50%; - left: 50%; - border:0; -} -.ui-loader-default { - background: none; - filter: Alpha(Opacity=18); - opacity: .18; - width: 2.875em; - height: 2.875em; - margin-left: -1.4375em; - margin-top: -1.4375em; -} -.ui-loader-verbose { - width: 12.5em; - filter: Alpha(Opacity=88); - opacity: .88; - box-shadow: 0 1px 1px -1px #fff; - height: auto; - margin-left: -6.875em; - margin-top: -2.6875em; - padding: .625em; -} -.ui-loader-default h1 { - font-size: 0; - width: 0; - height: 0; - overflow: hidden; -} -.ui-loader-verbose h1 { - font-size: 1em; - margin: 0; - text-align: center; -} -.ui-loader .ui-icon-loading { - background-color: #000; - display: block; - margin: 0; - width: 2.75em; - height: 2.75em; - padding: .0625em; - -webkit-border-radius: 2.25em; - border-radius: 2.25em; -} -.ui-loader-verbose .ui-icon-loading { - margin: 0 auto .625em; - filter: Alpha(Opacity=75); - opacity: .75; -} -.ui-loader-textonly { - padding: .9375em; - margin-left: -7.1875em; -} -.ui-loader-textonly .ui-icon-loading { - display: none; -} -.ui-loader-fakefix { - position: absolute; -} -/* Headers, content panels */ -.ui-bar, -.ui-body { - position: relative; - padding: .4em 1em; - overflow: hidden; - display: block; - clear: both; -} -.ui-bar h1, -.ui-bar h2, -.ui-bar h3, -.ui-bar h4, -.ui-bar h5, -.ui-bar h6 { - margin: 0; - padding: 0; - font-size: 1em; - display: inline-block; -} -.ui-header, -.ui-footer { - border-width: 1px 0; - border-style: solid; - position: relative; -} -.ui-header:empty, -.ui-footer:empty { - min-height: 2.6875em; -} -.ui-header .ui-title, -.ui-footer .ui-title { - font-size: 1em; - min-height: 1.1em; - text-align: center; - display: block; - margin: 0 30%; - padding: .7em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - outline: 0 !important; -} -.ui-footer .ui-title { - margin: 0 1em; -} -.ui-content { - border-width: 0; - overflow: visible; - overflow-x: hidden; - padding: 1em; -} -/* Corner styling for dialogs and popups */ -.ui-corner-all > .ui-header:first-child, -.ui-corner-all > .ui-content:first-child, -.ui-corner-all > .ui-footer:first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-corner-all > .ui-header:last-child, -.ui-corner-all > .ui-content:last-child, -.ui-corner-all > .ui-footer:last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -/* Buttons and icons */ -.ui-btn { - font-size: 16px; - margin: .5em 0; - padding: .7em 1em; - display: block; - position: relative; - text-align: center; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.ui-btn-icon-notext, -.ui-header button.ui-btn.ui-btn-icon-notext, -.ui-footer button.ui-btn.ui-btn-icon-notext { - padding: 0; - width: 1.75em; - height: 1.75em; - text-indent: -9999px; - white-space: nowrap !important; -} -.ui-mini { - font-size: 12.5px; -} -.ui-mini .ui-btn { - font-size: inherit; -} -/* Make buttons in toolbars default to mini and inline. */ -.ui-header .ui-btn, -.ui-footer .ui-btn { - font-size: 12.5px; - display: inline-block; - vertical-align: middle; -} -.ui-header .ui-controlgroup .ui-btn-icon-notext, -.ui-footer .ui-controlgroup .ui-btn-icon-notext { - font-size: 12.5px; -} -/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right { - font-size: 12.5px; -} -.ui-mini.ui-btn-icon-notext, -.ui-mini .ui-btn-icon-notext, -.ui-header .ui-btn-icon-notext, -.ui-footer .ui-btn-icon-notext { - font-size: 16px; - padding: 0; -} -.ui-btn-inline { - display: inline-block; - vertical-align: middle; - margin-right: .625em; -} -.ui-btn-icon-left { - padding-left: 2.5em; -} -.ui-btn-icon-right { - padding-right: 2.5em; -} -.ui-btn-icon-top { - padding-top: 2.5em; -} -.ui-btn-icon-bottom { - padding-bottom: 2.5em; -} -.ui-header .ui-btn-icon-top, -.ui-footer .ui-btn-icon-top, -.ui-header .ui-btn-icon-bottom, -.ui-footer .ui-btn-icon-bottom { - padding-left: .3125em; - padding-right: .3125em; -} -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - content: ""; - position: absolute; - display: block; - width: 22px; - height: 22px; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-left:after, -.ui-btn-icon-right:after { - top: 50%; - margin-top: -11px; -} -.ui-btn-icon-left:after { - left: .5625em; -} -.ui-btn-icon-right:after { - right: .5625em; -} -.ui-mini.ui-btn-icon-left:after, -.ui-mini .ui-btn-icon-left:after, -.ui-header .ui-btn-icon-left:after, -.ui-footer .ui-btn-icon-left:after { - left: .37em; -} -.ui-mini.ui-btn-icon-right:after, -.ui-mini .ui-btn-icon-right:after, -.ui-header .ui-btn-icon-right:after, -.ui-footer .ui-btn-icon-right:after { - right: .37em; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after { - left: 50%; - margin-left: -11px; -} -.ui-btn-icon-top:after { - top: .5625em; -} -.ui-btn-icon-bottom:after { - top: auto; - bottom: .5625em; -} -/* Buttons in header position classes */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right, -.ui-btn-left > [class*="ui-"], -.ui-btn-right > [class*="ui-"] { - margin: 0; -} -.ui-btn-left, -.ui-btn-right { - position: absolute; - top: .24em; -} -.ui-btn-left { - left: .4em; -} -.ui-btn-right { - right: .4em; -} -.ui-btn-icon-notext.ui-btn-left { - top: .3125em; - left: .3125em; -} -.ui-btn-icon-notext.ui-btn-right { - top: .3125em; - right: .3125em; -} -/* Button elements */ -button.ui-btn, -.ui-controlgroup-controls button.ui-btn-icon-notext { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - width: 100%; -} -button.ui-btn-inline, -.ui-header button.ui-btn, -.ui-footer button.ui-btn { - width: auto; -} -/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */ -button.ui-btn::-moz-focus-inner { - border: 0; -} -button.ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - width: 1.75em; -} -/* Form labels */ -.ui-mobile label, -.ui-controlgroup-label { - display: block; - margin: 0 0 .4em; -} -/* Accessible content hiding */ -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-hide-label > label, -.ui-hide-label .ui-controlgroup-label, -.ui-hide-label .ui-rangeslider label, -.ui-hidden-accessible { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Used for hiding elements by the filterable widget. You can also use this class to hide list items or buttons in controlgroups; this ensures correct corner styling. */ -.ui-screen-hidden { - display: none !important; -} -/* Transitions originally inspired by those from jQtouch, nice work, folks */ -.ui-mobile-viewport-transitioning, -.ui-mobile-viewport-transitioning .ui-page { - width: 100%; - height: 100%; - overflow: hidden; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.ui-page-pre-in { - opacity: 0; -} -.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.out { - -webkit-animation-timing-function: ease-in; - -webkit-animation-duration: 225ms; - -moz-animation-timing-function: ease-in; - -moz-animation-duration: 225ms; - animation-timing-function: ease-in; - animation-duration: 225ms; -} -@-webkit-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-moz-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-webkit-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@-moz-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -.fade.out { - opacity: 0; - -webkit-animation-duration: 125ms; - -webkit-animation-name: fadeout; - -moz-animation-duration: 125ms; - -moz-animation-name: fadeout; - animation-duration: 125ms; - animation-name: fadeout; -} -.fade.in { - opacity: 1; - -webkit-animation-duration: 225ms; - -webkit-animation-name: fadein; - -moz-animation-duration: 225ms; - -moz-animation-name: fadein; - animation-duration: 225ms; - animation-name: fadein; -} -.pop { - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -.pop.in { - -webkit-transform: scale(1); - -webkit-animation-name: popin; - -webkit-animation-duration: 350ms; - -moz-transform: scale(1); - -moz-animation-name: popin; - -moz-animation-duration: 350ms; - transform: scale(1); - animation-name: popin; - animation-duration: 350ms; - opacity: 1; -} -.pop.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; - opacity: 0; -} -.pop.in.reverse { - -webkit-animation-name: fadein; - -moz-animation-name: fadein; - animation-name: fadein; -} -.pop.out.reverse { - -webkit-transform: scale(.8); - -webkit-animation-name: popout; - -moz-transform: scale(.8); - -moz-animation-name: popout; - transform: scale(.8); - animation-name: popout; -} -@-webkit-keyframes popin { - from { - -webkit-transform: scale(.8); - opacity: 0; - } - to { - -webkit-transform: scale(1); - opacity: 1; - } -} -@-moz-keyframes popin { - from { - -moz-transform: scale(.8); - opacity: 0; - } - to { - -moz-transform: scale(1); - opacity: 1; - } -} -@keyframes popin { - from { - transform: scale(.8); - opacity: 0; - } - to { - transform: scale(1); - opacity: 1; - } -} -@-webkit-keyframes popout { - from { - -webkit-transform: scale(1); - opacity: 1; - } - to { - -webkit-transform: scale(.8); - opacity: 0; - } -} -@-moz-keyframes popout { - from { - -moz-transform: scale(1); - opacity: 1; - } - to { - -moz-transform: scale(.8); - opacity: 0; - } -} -@keyframes popout { - from { - transform: scale(1); - opacity: 1; - } - to { - transform: scale(.8); - opacity: 0; - } -} -/* keyframes for slidein from sides */ -@-webkit-keyframes slideinfromright { - from { -webkit-transform: translate3d(100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromright { - from { -moz-transform: translateX(100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromright { - from { transform: translateX(100%); } - to { transform: translateX(0); } -} -@-webkit-keyframes slideinfromleft { - from { -webkit-transform: translate3d(-100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromleft { - from { -moz-transform: translateX(-100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromleft { - from { transform: translateX(-100%); } - to { transform: translateX(0); } -} -/* keyframes for slideout to sides */ -@-webkit-keyframes slideouttoleft { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(-100%,0,0); } -} -@-moz-keyframes slideouttoleft { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(-100%); } -} -@keyframes slideouttoleft { - from { transform: translateX(0); } - to { transform: translateX(-100%); } -} -@-webkit-keyframes slideouttoright { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(100%,0,0); } -} -@-moz-keyframes slideouttoright { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(100%); } -} -@keyframes slideouttoright { - from { transform: translateX(0); } - to { transform: translateX(100%); } -} -.slide.out, .slide.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.slide.out { - -webkit-transform: translate3d(-100%,0,0); - -webkit-animation-name: slideouttoleft; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - transform: translateX(-100%); - animation-name: slideouttoleft; -} -.slide.in { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromright; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromright; - transform: translateX(0); - animation-name: slideinfromright; -} -.slide.out.reverse { - -webkit-transform: translate3d(100%,0,0); - -webkit-animation-name: slideouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - transform: translateX(100%); - animation-name: slideouttoright; -} -.slide.in.reverse { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromleft; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromleft; - transform: translateX(0); - animation-name: slideinfromleft; -} -.slidefade.out { - -webkit-transform: translateX(-100%); - -webkit-animation-name: slideouttoleft; - -webkit-animation-duration: 225ms; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - -moz-animation-duration: 225ms; - transform: translateX(-100%); - animation-name: slideouttoleft; - animation-duration: 225ms; -} -.slidefade.in { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -.slidefade.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: slideouttoright; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - -moz-animation-duration: 200ms; - transform: translateX(100%); - animation-name: slideouttoright; - animation-duration: 200ms; -} -.slidefade.in.reverse { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -/* slide down */ -.slidedown.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slidedown.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfromtop; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfromtop; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfromtop; - animation-duration: 250ms; -} -.slidedown.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slidedown.out.reverse { - -webkit-transform: translateY(-100%); - -webkit-animation-name: slideouttotop; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(-100%); - -moz-animation-name: slideouttotop; - -moz-animation-duration: 200ms; - transform: translateY(-100%); - animation-name: slideouttotop; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfromtop { - from { -webkit-transform: translateY(-100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfromtop { - from { -moz-transform: translateY(-100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfromtop { - from { transform: translateY(-100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttotop { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(-100%); } -} -@-moz-keyframes slideouttotop { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(-100%); } -} -@keyframes slideouttotop { - from { transform: translateY(0); } - to { transform: translateY(-100%); } -} -/* slide up */ -.slideup.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slideup.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfrombottom; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfrombottom; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfrombottom; - animation-duration: 250ms; -} -.slideup.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slideup.out.reverse { - -webkit-transform: translateY(100%); - -webkit-animation-name: slideouttobottom; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(100%); - -moz-animation-name: slideouttobottom; - -moz-animation-duration: 200ms; - transform: translateY(100%); - animation-name: slideouttobottom; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfrombottom { - from { -webkit-transform: translateY(100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfrombottom { - from { -moz-transform: translateY(100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfrombottom { - from { transform: translateY(100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttobottom { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(100%); } -} -@-moz-keyframes slideouttobottom { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(100%); } -} -@keyframes slideouttobottom { - from { transform: translateY(0); } - to { transform: translateY(100%); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-flip { - -webkit-perspective: 1000; - -moz-perspective: 1000; - perspective: 1000; - position: absolute; -} -.flip { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - backface-visibility: hidden; - transform: translateX(0); -} -.flip.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 175ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 175ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 175ms; -} -.flip.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 225ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 225ms; - animation-name: flipintoright; - animation-duration: 225ms; -} -.flip.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.flip.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-turn { - -webkit-perspective: 200px; - -moz-perspective: 200px; - -ms-perspective: 200px; - perspective: 200px; - position: absolute; -} -.turn { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -webkit-transform-origin: 0; - - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - -moz-transform-origin: 0; - - backface-visibility :hidden; - transform: translateX(0); - transform-origin: 0; -} -.turn.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 125ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 125ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 125ms; -} -.turn.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 250ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 250ms; - animation-name: flipintoright; - animation-duration: 250ms; - -} -.turn.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.turn.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* flow transition */ -.flow { - -webkit-transform-origin: 50% 30%; - -webkit-box-shadow: 0 0 20px rgba(0,0,0,.4); - -moz-transform-origin: 50% 30%; - -moz-box-shadow: 0 0 20px rgba(0,0,0,.4); - transform-origin: 50% 30%; - box-shadow: 0 0 20px rgba(0,0,0,.4); -} -.ui-dialog.flow { - -webkit-transform-origin: none; - -webkit-box-shadow: none; - -moz-transform-origin: none; - -moz-box-shadow: none; - transform-origin: none; - box-shadow: none; -} -.flow.out { - -webkit-transform: translateX(-100%) scale(.7); - -webkit-animation-name: flowouttoleft; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(-100%) scale(.7); - -moz-animation-name: flowouttoleft; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(-100%) scale(.7); - animation-name: flowouttoleft; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.in { - -webkit-transform: translateX(0) scale(1); - -webkit-animation-name: flowinfromright; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(0) scale(1); - -moz-animation-name: flowinfromright; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(0) scale(1); - animation-name: flowinfromright; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: flowouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: flowouttoright; - transform: translateX(100%); - animation-name: flowouttoright; -} -.flow.in.reverse { - -webkit-animation-name: flowinfromleft; - -moz-animation-name: flowinfromleft; - animation-name: flowinfromleft; -} -@-webkit-keyframes flowouttoleft { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(-100%) scale(.7); } -} -@-moz-keyframes flowouttoleft { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(-100%) scale(.7); } -} -@keyframes flowouttoleft { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(-100%) scale(.7); } -} -@-webkit-keyframes flowouttoright { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(100%) scale(.7); } -} -@-moz-keyframes flowouttoright { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(100%) scale(.7); } -} -@keyframes flowouttoright { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(100%) scale(.7); } -} -@-webkit-keyframes flowinfromleft { - 0% { -webkit-transform: translateX(-100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromleft { - 0% { -moz-transform: translateX(-100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromleft { - 0% { transform: translateX(-100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -@-webkit-keyframes flowinfromright { - 0% { -webkit-transform: translateX(100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromright { - 0% { -moz-transform: translateX(100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromright { - 0% { transform: translateX(100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -.ui-field-contain, -.ui-mobile fieldset.ui-field-contain { - display: block; - position: relative; - overflow: visible; - clear: both; - padding: .8em 0; -} -.ui-field-contain > label ~ [class*="ui-"], -.ui-field-contain .ui-controlgroup-controls { - margin: 0; -} -.ui-field-contain:last-child { - border-bottom-width: 0; -} -@media (min-width: 28em) { - .ui-field-contain, - .ui-mobile fieldset.ui-field-contain { - padding: 0; - margin: 1em 0; - border-bottom-width: 0; - } - .ui-field-contain:before, - .ui-field-contain:after { - content: ""; - display: table; - } - .ui-field-contain:after { - clear: both; - } - .ui-field-contain > label, - .ui-field-contain .ui-controlgroup-label, - .ui-field-contain > .ui-rangeslider > label { - float: left; - width: 20%; - margin: .5em 2% 0 0; - } - .ui-popup .ui-field-contain > label, - .ui-popup .ui-field-contain .ui-controlgroup-label, - .ui-popup .ui-field-contain > .ui-rangeslider > label { - float: none; - width: auto; - margin: 0 0 .4em; - } - .ui-field-contain > label ~ [class*="ui-"], - .ui-field-contain .ui-controlgroup-controls { - float: left; - width: 78%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - /* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ - .ui-hide-label > label ~ [class*="ui-"], - .ui-hide-label .ui-controlgroup-controls, - .ui-popup .ui-field-contain > label ~ [class*="ui-"], - .ui-popup .ui-field-contain .ui-controlgroup-controls { - float: none; - width: 100%; - } - .ui-field-contain > label ~ .ui-btn-inline { - width: auto; - margin-right: .625em; - } - .ui-field-contain > label ~ .ui-btn-inline.ui-btn-icon-notext { - width: 1.75em; - } -} -/* content configurations. */ -.ui-grid-a, -.ui-grid-b, -.ui-grid-c, -.ui-grid-d, -.ui-grid-solo { - overflow: hidden; -} -.ui-block-a, -.ui-block-b, -.ui-block-c, -.ui-block-d, -.ui-block-e { - margin: 0; - padding: 0; - border: 0; - float: left; - min-height: 1px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -/* force new row */ -.ui-block-a { - clear: left; -} -ul.ui-grid-a, -ul.ui-grid-b, -ul.ui-grid-c, -ul.ui-grid-d, -ul.ui-grid-solo, -li.ui-block-a, -li.ui-block-b, -li.ui-block-c, -li.ui-block-d, -li.ui-block-e { - margin-left: 0; - margin-right: 0; - padding: 0; - list-style: none; -} -/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */ -[class*="ui-block-"] > button.ui-btn { - margin-right: 0; - margin-left: 0; -} -[class*="ui-block-"] > .ui-btn, -[class*="ui-block-"] > .ui-select, -[class*="ui-block-"] > .ui-checkbox, -[class*="ui-block-"] > .ui-radio, -[class*="ui-block-"] > button.ui-btn-inline, -[class*="ui-block-"] > button.ui-btn-icon-notext, -.ui-header [class*="ui-block-"] > button.ui-btn, -.ui-footer [class*="ui-block-"] > button.ui-btn { - margin-right: .3125em; - margin-left: .3125em; -} -.ui-grid-a > .ui-block-a, -.ui-grid-a > .ui-block-b { - /* width: 49.95%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 50%; -} -.ui-grid-b > .ui-block-a, -.ui-grid-b > .ui-block-b, -.ui-grid-b > .ui-block-c { - /* width: 33.25%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 33.333%; -} -.ui-grid-c > .ui-block-a, -.ui-grid-c > .ui-block-b, -.ui-grid-c > .ui-block-c, -.ui-grid-c > .ui-block-d { - /* width: 24.925%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 25%; -} -.ui-grid-d > .ui-block-a, -.ui-grid-d > .ui-block-b, -.ui-grid-d > .ui-block-c, -.ui-grid-d > .ui-block-d, -.ui-grid-d > .ui-block-e { - /* width: 19.925%; IE7 */ - width: 20%; -} -.ui-grid-solo > .ui-block-a { - width: 100%; - float: none; -} -/* preset breakpoint to switch to stacked grid styles below 35em (560px) */ -@media (max-width: 35em) { - .ui-responsive > .ui-block-a, - .ui-responsive > .ui-block-b, - .ui-responsive > .ui-block-c, - .ui-responsive > .ui-block-d, - .ui-responsive > .ui-block-e { - width: 100%; - float: none; - } -} -/* fixed page header & footer configuration */ -.ui-header-fixed, -.ui-footer-fixed { - left: 0; - right: 0; - width: 100%; - position: fixed; - z-index: 1000; -} -.ui-header-fixed { - top: -1px; - padding-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden { - top: 0; - padding-top: 0; -} -.ui-header-fixed .ui-btn-left, -.ui-header-fixed .ui-btn-right { - margin-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden .ui-btn-left, -.ui-header-fixed.ui-fixed-hidden .ui-btn-right { - margin-top: 0; -} -.ui-footer-fixed { - bottom: -1px; - padding-bottom: 1px; -} -.ui-footer-fixed.ui-fixed-hidden { - bottom: 0; - padding-bottom: 0; -} -.ui-header-fullscreen, -.ui-footer-fullscreen { - filter: Alpha(Opacity=90); - opacity: .9; -} -/* updatePagePadding() will update the padding to actual height of header and footer. */ -.ui-page-header-fixed { - padding-top: 2.8125em; -} -.ui-page-footer-fixed { - padding-bottom: 2.8125em; -} -.ui-page-header-fullscreen > .ui-content, -.ui-page-footer-fullscreen > .ui-content { - padding: 0; -} -.ui-fixed-hidden { - position: absolute; -} -/* Tap toggle: hide external fixed footer. See issue #6604 */ -.ui-footer-fixed.ui-fixed-hidden { - display: none; -} -.ui-page .ui-footer-fixed.ui-fixed-hidden { - display: block -} -.ui-page-header-fullscreen .ui-fixed-hidden, -.ui-page-footer-fullscreen .ui-fixed-hidden { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-header-fixed .ui-btn, -.ui-footer-fixed .ui-btn { - z-index: 10; -} -/* workarounds for other widgets */ -.ui-android-2x-fixed .ui-li-has-thumb { - -webkit-transform: translate3d(0,0,0); -} -.ui-navbar { - max-width: 100%; -} -.ui-navbar ul:before, -.ui-navbar ul:after { - content: ""; - display: table; -} -.ui-navbar ul:after { - clear: both; -} -.ui-navbar ul { - list-style: none; - margin: 0; - padding: 0; - position: relative; - display: block; - border: 0; - max-width: 100%; - overflow: visible; -} -.ui-navbar li .ui-btn { - font-size: 12.5px; - display: block; - margin: 0; - border-right-width: 0; -} -.ui-header .ui-navbar li button.ui-btn, -.ui-footer .ui-navbar li button.ui-btn { - margin: 0; - width: 100%; -} -.ui-navbar .ui-btn:focus { - z-index: 1; -} -/* fixes gaps caused by subpixel problem */ -.ui-navbar li:last-child .ui-btn { - margin-right: -4px; -} -.ui-navbar li:last-child .ui-btn:after { - margin-right: 4px; -} -.ui-content .ui-navbar li:last-child .ui-btn, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn { - border-right-width: 1px; - margin-right: 0; -} -.ui-content .ui-navbar li:last-child .ui-btn:after, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after { - margin-right: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn { - border-right-width: 1px; - margin-right: -1px; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after { - margin-right: 1px; -} -.ui-navbar .ui-grid-duo .ui-btn { - border-top-width: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -.ui-header .ui-navbar .ui-btn, -.ui-footer .ui-navbar .ui-btn { - border-top-width: 0; - border-bottom-width: 0; -} -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 0; -} -.ui-header .ui-title ~ .ui-navbar .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -/* Hide the native input element */ -.ui-input-btn input { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; - border: 0; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - background: #fff; - background: rgba(255,255,255,0); - filter: Alpha(Opacity=0); - opacity: .1; - font-size: 1px; - text-indent: -9999px; - z-index: 2; -} -/* Fixes IE/WP filter alpha opacity bugs */ -.ui-input-btn.ui-state-disabled input { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible { - margin: 0 -1em; -} -.ui-collapsible-inset, -.ui-collapsible-set { - margin: .5em 0; -} -.ui-collapsible-heading { - display: block; - margin: 0; - padding: 0; - position: relative; -} -.ui-collapsible-heading .ui-btn { - text-align: left; - margin: 0; - border-left-width: 0; - border-right-width: 0; -} -.ui-collapsible-heading .ui-btn-icon-top, -.ui-collapsible-heading .ui-btn-icon-bottom { - text-align: center; -} -.ui-collapsible-inset .ui-collapsible-heading .ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn { - border-top-width: 0; -} -.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn { - border-top-width: 1px; -} -.ui-collapsible-heading-status { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible-content { - display: block; - margin: 0; - padding: .5em 1em; -} -.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 0; - border-right-width: 0; - border-top-width: 0; - border-bottom-width: 1px; - border-style: solid; -} -.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 1px; - border-right-width: 1px; -} -.ui-collapsible-inset .ui-collapsible-content { - margin: 0; -} -.ui-collapsible-content-collapsed { - display: none; -} -.ui-collapsible-set > .ui-collapsible.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-collapsible-heading, -.ui-collapsible-heading > .ui-btn { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-collapsible-content, -.ui-collapsible-set .ui-collapsible.ui-last-child { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -.ui-collapsible-set .ui-collapsible { - margin: -1px -1em 0; -} -.ui-collapsible-set .ui-collapsible-inset { - margin: -1px 0 0; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - margin-top: 0; -} -.ui-controlgroup, -fieldset.ui-controlgroup { - padding: 0; - margin: .5em 0; -} -.ui-field-contain .ui-controlgroup, -.ui-field-contain fieldset.ui-controlgroup { - margin: 0; -} -.ui-mini .ui-controlgroup-label { - font-size: 16px; -} -.ui-controlgroup.ui-mini .ui-btn-icon-notext, -.ui-controlgroup .ui-mini.ui-btn-icon-notext { - font-size: inherit; -} -.ui-controlgroup-controls .ui-btn, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-select { - margin: 0; -} -.ui-controlgroup-controls .ui-btn:focus, -.ui-controlgroup-controls .ui-btn.ui-focus { - z-index: 1; -} -.ui-controlgroup-controls li { - list-style: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls { - display: inline-block; - vertical-align: middle; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:before, -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - content: ""; - display: table; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - clear: both; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select { - float: left; - clear: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn, -.ui-controlgroup-controls .ui-btn-icon-notext { - width: auto; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext { - width: 1.5em; -} - .ui-controlgroup-controls .ui-btn-icon-notext { - height: auto; - padding: .7em 1em; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn { - border-bottom-width: 0; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child { - border-bottom-width: 1px; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn { - border-right-width: 0; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child { - border-right-width: 1px; -} -.ui-controlgroup-controls .ui-btn-corner-all, -.ui-controlgroup-controls .ui-btn.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-controlgroup-controls, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-select, -.ui-controlgroup-controls li { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-last-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-controls a.ui-shadow:not(:focus), -.ui-controlgroup-controls button.ui-shadow:not(:focus), -.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) { - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} -/* Fixes legend not wrapping on IE10 */ -.ui-controlgroup-label legend { - max-width: 100%; -} -.ui-controlgroup-controls > label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-dialog { - background: none !important; /* this is to ensure that dialog theming does not apply (by default at least) on the page div */ -} -.ui-dialog-contain { - width: 92.5%; - max-width: 500px; - margin: 10% auto 1em auto; - padding: 0; - position: relative; - top: -1em; -} -.ui-dialog-contain > .ui-header, -.ui-dialog-contain > .ui-content, -.ui-dialog-contain > .ui-footer { - display: block; - position: relative; - width: auto; - margin: 0; -} -.ui-dialog-contain > .ui-header { - overflow: hidden; - z-index: 10; - padding: 0; - border-top-width: 0; -} -.ui-dialog-contain > .ui-footer { - z-index: 10; - padding: 0 1em; - border-bottom-width: 0; -} -.ui-popup-open .ui-header-fixed, -.ui-popup-open .ui-footer-fixed { - position: absolute !important; /* See issues #4816, #4844 and #4874 and popup.js */ -} -.ui-popup-screen { - background-image: url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); /* Necessary to set some form of background to ensure element is clickable in IE6/7. While legacy IE won't understand the data-URI'd image, it ensures no additional requests occur in all other browsers with little overhead. */ - top: 0; - left: 0; - right: 0; - bottom: 1px; - position: absolute; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 1099; -} -.ui-popup-screen.in { - opacity: 0.5; - filter: Alpha(Opacity=50); -} -.ui-popup-screen.out { - opacity: 0; - filter: Alpha(Opacity=0); -} -.ui-popup-container { - z-index: 1100; - display: inline-block; - position: absolute; - padding: 0; - outline: 0; -} -.ui-popup { - position: relative; -} -.ui-popup.ui-body-inherit { - border-width: 1px; - border-style: solid; -} -.ui-popup-hidden { - left: 0; - top: 0; - position: absolute !important; - visibility: hidden; -} -.ui-popup-truncate { - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-popup.ui-content, -.ui-popup .ui-content { - overflow: visible; -} -.ui-popup > .ui-header { - border-top-width: 0; -} -.ui-popup > .ui-footer { - border-bottom-width: 0; -} -.ui-popup > p, -.ui-popup > h1, -.ui-popup > h2, -.ui-popup > h3, -.ui-popup > h4, -.ui-popup > h5, -.ui-popup > h6 { - margin: .5em .4375em; -} -.ui-popup > span { - display: block; - margin: .5em .4375em; -} -.ui-popup-container .ui-content > p, -.ui-popup-container .ui-content > h1, -.ui-popup-container .ui-content > h2, -.ui-popup-container .ui-content > h3, -.ui-popup-container .ui-content > h4, -.ui-popup-container .ui-content > h5, -.ui-popup-container .ui-content > h6 { - margin: .5em 0; -} -.ui-popup-container .ui-content > span { - margin: 0; -} -.ui-popup-container .ui-content > p:first-child, -.ui-popup-container .ui-content > h1:first-child, -.ui-popup-container .ui-content > h2:first-child, -.ui-popup-container .ui-content > h3:first-child, -.ui-popup-container .ui-content > h4:first-child, -.ui-popup-container .ui-content > h5:first-child, -.ui-popup-container .ui-content > h6:first-child { - margin-top: 0; -} -.ui-popup-container .ui-content > p:last-child, -.ui-popup-container .ui-content > h1:last-child, -.ui-popup-container .ui-content > h2:last-child, -.ui-popup-container .ui-content > h3:last-child, -.ui-popup-container .ui-content > h4:last-child, -.ui-popup-container .ui-content > h5:last-child, -.ui-popup-container .ui-content > h6:last-child { - margin-bottom: 0; -} -.ui-popup > img { - max-width: 100%; - max-height: 100%; - vertical-align: middle; -} -.ui-popup:not(.ui-content) > img:only-child, -.ui-popup:not(.ui-content) > .ui-btn-left:first-child + img:last-child, -.ui-popup:not(.ui-content) > .ui-btn-right:first-child + img:last-child { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-popup iframe { - vertical-align: middle; -} -.ui-popup > .ui-btn-left, -.ui-popup > .ui-btn-right { - position: absolute; - top: -11px; - margin: 0; - z-index: 1101; -} -.ui-popup > .ui-btn-left { - left: -11px; -} -.ui-popup > .ui-btn-right { - right: -11px; -} -/* Dimensions related to the popup arrow ------------------------------------------------------------------------------------------------------------*/ -/* desired triangle height: 10px */ -/** - * guide for the arrow - its width, height, and offset are theme-dependent and - * should be expessed as left, right, top, bottom, so that the element bearing - * such a class becomes stretched inside its parent position: relative element. - * The left/top/right/bottom specified below should reflect the corresponding - * border radii and so it leaves room for the shadow: - * ..--------------------.. - * ." ^ top ". - * / v \ - * | +------------------+ | - * | | | | - * | left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The idea is that the top/left of the arrow container box does not move to a - * coordinate smaller than the top/left of the guide and the right/bottom of - * the arrow container box does not move to a coordinate larger than the - * bottom/right of the guide. This will help us avoid the following situation: - * ..--------------------.. - * ." ^ top ". - * /|/ v \ - * / | +------------------+ | - * \ | | | | - * \| left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The arrow should not receive a top/left coordinate such that it is too close - * to one of the corners, because then at first the shadow of the arrow and, - * given a coordinate even closer to the corner, even the body of the arrow will - * "stick out" of the corner of the popup. The guide provides a hint to the - * arrow positioning code as to which range of values is acceptable for the - * arrow container's top/left coordinate. - **/ -.ui-popup-arrow-container { - width: 20px; - height: 20px; -} -/* aside from the "infinities" (-1000,2000), triangle height is used */ -.ui-popup-arrow-container.ui-popup-arrow-l { - left: -10px; - clip: rect(-1000px,10px,2000px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-t { - top: -10px; - clip: rect(-1000px,2000px,10px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-r { - right: -10px; - clip: rect(-1000px,2000px,2000px,10px); -} -.ui-popup-arrow-container.ui-popup-arrow-b { - bottom: -10px; - clip: rect(10px,2000px,1000px,-1000px); -} -/** - * For each side, the arrow is twice the desired size and its corner is aligned - * with the edge of the container: - * - * /\ /\ +----+ /\ - * / \ / \ | /\ |top / \ - * +----+ \ / +----+ +-->|/ \| / \ - * left| / | \ / | \ |right | | | / \ - * |/ | \ / | \| | /| |\ / \ - * |\ | / \ | /| | / +----+ \ \ +----+ / - * | \ | / \ | / | | \ / \| |/ - * +----+ / \ +----+ | \ / | | - * ^ \ / \ / ^ | \ / +->|\ /| - * | \/ \/ | | \ / | | \/ |bottom - * | | | \/ | +----+ - * +-------------------+--------+-----------+ - * | - * arrow container - * (clips arrow) - **/ -.ui-popup-arrow-container .ui-popup-arrow { - /* (4*desired triangle height)/sqrt(2) - does not account for border - centred within the outer rectangle */ - width: 28.284271247px; - height: 28.284271247px; - border-width: 1px; - border-style: solid; -} -.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow { - left: -4.142135623px; - top: 5.857864376px; -} -.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow { - left: -4.142135623px; - top: -14.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow { - left: 5.857864376px; - top: -4.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow { - left: -14.142135623px; - top: -4.142135623px; -} -/* Fix rotation center for oldIE - see http://www.useragentman.com/IETransformsTranslator/ */ -.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -7.0710678118654755px; -} -.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -4.142135623730951px; -} - -.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow { - margin-left: -7.0710678118654755px; - margin-top: -5.857864376269049px; -} -.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow { - margin-left: -4.142135623730951px; - margin-top: -5.857864376269049px; -} -/* structure */ -.ui-popup > .ui-popup-arrow-guide { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - visibility: hidden; -} -.ui-popup-arrow-container { - position: absolute; -} -.ui-popup-arrow { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - overflow: hidden; - box-sizing: border-box; -} -.ui-popup-arrow-container.ie .ui-popup-arrow { - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')"; - filter: progid:DXImageTransform.Microsoft.Matrix( - M11=0.7071067811865474, - M12=-0.7071067811865477, - M21=0.7071067811865477, - M22=0.7071067811865474, - SizingMethod='auto expand'); -} -.ui-checkbox, -.ui-radio { - margin: .5em 0; - position: relative; -} -.ui-checkbox .ui-btn, -.ui-radio .ui-btn { - margin: 0; - text-align: left; - white-space: normal; /* Nowrap + ellipsis doesn't work on label. Issue #1419. */ - z-index: 2; -} -.ui-controlgroup .ui-checkbox .ui-btn.ui-focus, -.ui-controlgroup .ui-radio .ui-btn.ui-focus { - z-index: 3; -} -.ui-checkbox .ui-btn-icon-top, -.ui-radio .ui-btn-icon-top, -.ui-checkbox .ui-btn-icon-bottom, -.ui-radio .ui-btn-icon-bottom { - text-align: center; -} -.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after, -.ui-controlgroup-horizontal .ui-radio .ui-btn:after { - content: none; - display: none; -} -/* Native input positioning */ -.ui-checkbox input, -.ui-radio input { - position: absolute; - left: .466em; - top: 50%; - width: 22px; - height: 22px; - margin: -11px 0 0 0; - outline: 0 !important; - z-index: 1; -} -.ui-controlgroup-horizontal .ui-checkbox input, -.ui-controlgroup-horizontal .ui-radio input { - left: 50%; - margin-left: -9px; -} -.ui-checkbox input:disabled, -.ui-radio input:disabled { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select { - margin-top: .5em; - margin-bottom: .5em; /* no shorthand for margin because it would override margin-right for inline selects */ - position: relative; -} -.ui-select > select { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select .ui-btn { - margin: 0; - opacity: 1; /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including "inherit") without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */ -} -.ui-select .ui-btn select { - position: absolute; - top: 0; - left: 0; - width: 100%; - min-height: 1.5em; - min-height: 100%; - height: 3em; - max-height: 100%; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 2; -} -@-moz-document url-prefix() { - .ui-select .ui-btn select { - opacity: 0.0001; - } -} -/* Display none because of issues with IE/WP's filter alpha opacity */ -.ui-select .ui-state-disabled select { - display: none; -} -/* Because we add all classes of the select and option elements to the span... */ -.ui-select span.ui-state-disabled { - filter: Alpha(Opacity=100); - opacity: 1; -} -.ui-select .ui-btn.ui-select-nativeonly { - border-radius: 0; - border: 0; -} -.ui-select .ui-btn.ui-select-nativeonly select { - opacity: 1; - text-indent: 0; - display: block; -} -/* ui-li-count is styled in the listview CSS. We set padding and offset here because select supports icon position while listview doesn't. */ -.ui-select .ui-li-has-count.ui-btn { - padding-right: 2.8125em; -} -.ui-select .ui-li-has-count.ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-select .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -/* We set the rules for the span as well to fix an issue on Chrome with text-overflow ellipsis for the button in combination with text-align center. */ -.ui-select .ui-btn > span:not(.ui-li-count) { - display: block; - text-overflow: ellipsis; - overflow: hidden !important; - white-space: nowrap; -} -.ui-selectmenu.ui-popup { - min-width: 11em; -} -.ui-selectmenu .ui-dialog-contain { - overflow: hidden; -} -.ui-selectmenu .ui-header { - margin: 0; - padding: 0; - border-width: 0; -} -.ui-selectmenu.ui-dialog .ui-header { - z-index: 1; - position: relative; -} -.ui-selectmenu.ui-popup .ui-header { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ -.ui-selectmenu.ui-popup .ui-header h1:after { - content: '.'; - visibility: hidden; -} -.ui-selectmenu .ui-header .ui-title { - margin: 0 2.875em; -} -.ui-selectmenu.ui-dialog .ui-content { - overflow: visible; - z-index: 1; -} -.ui-selectmenu .ui-selectmenu-list { - margin: 0; - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-header:not(.ui-screen-hidden) + .ui-selectmenu-list { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; -} -.ui-header.ui-screen-hidden + .ui-selectmenu-list li.ui-first-child .ui-btn { - border-top-width: 0; -} -.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn { - border-bottom-width: 0; -} -.ui-selectmenu .ui-btn.ui-li-divider { - cursor: default; -} -.ui-selectmenu .ui-selectmenu-placeholder { - display: none; -} -.ui-listview, -.ui-listview > li { - margin: 0; - padding: 0; - list-style: none; -} -.ui-content .ui-listview, -.ui-panel-inner > .ui-listview { - margin: -1em; -} -.ui-content .ui-listview-inset, -.ui-panel-inner > .ui-listview-inset { - margin: 1em 0; -} -.ui-collapsible-content > .ui-listview { - margin: -.5em -1em; -} -.ui-collapsible-content > .ui-listview-inset { - margin: .5em 0; -} -.ui-listview > li { - display: block; - position: relative; - overflow: visible; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - margin: 0; - display: block; - position: relative; - text-align: left; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li > .ui-btn:focus { - z-index: 1; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - border-width: 1px 0 0 0; - border-style: solid; -} -.ui-listview-inset > .ui-li-static, -.ui-listview-inset > .ui-li-divider, -.ui-listview-inset > li > a.ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-listview > .ui-li-static.ui-last-child, -.ui-listview > .ui-li-divider.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - border-bottom-width: 1px; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 0; -} -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child, -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child > a.ui-btn { - border-bottom-width: 0; -} -.ui-listview > li.ui-first-child, -.ui-listview > li.ui-first-child > a.ui-btn { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-listview > li.ui-li-has-alt > a.ui-btn { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -.ui-listview > li.ui-first-child > a.ui-btn + a.ui-btn { - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-listview > li.ui-last-child > a.ui-btn + a.ui-btn { - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-listview > li.ui-first-child img:first-child:not(.ui-li-icon) { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child img:first-child:not(.ui-li-icon) { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-listview > .ui-li-static { - padding: .7em 1em; -} -.ui-listview > .ui-li-divider { - padding: .5em 1.143em; - font-size: 14px; - font-weight: bold; - cursor: default; - outline: 0; /* Dividers in custom selectmenus have tabindex */ -} -.ui-listview > .ui-li-has-count > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-count, -.ui-listview > .ui-li-divider.ui-li-has-count { - padding-right: 2.8125em; -} -.ui-listview > .ui-li-has-count > .ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-listview > .ui-li-has-thumb > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-thumb { - min-height: 3.625em; - padding-left: 6.25em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-icon { - min-height: 1.25em; - padding-left: 2.5em; -} -/* Used by both listview and custom multiple select button */ -.ui-li-count { - position: absolute; - font-size: 12.5px; - font-weight: bold; - text-align: center; - border-width: 1px; - border-style: solid; - padding: 0 .48em; - line-height: 1.6em; - min-height: 1.6em; - min-width: .64em; - right: .8em; - top: 50%; - margin-top: -.88em; -} -.ui-listview .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -.ui-listview .ui-li-has-thumb > img:first-child, -.ui-listview .ui-li-has-thumb > .ui-btn > img:first-child, -.ui-listview .ui-li-has-thumb .ui-li-thumb { - position: absolute; - left: 0; - top: 0; - max-height: 5em; - max-width: 5em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > img:first-child, -.ui-listview > .ui-li-has-icon > .ui-btn > img:first-child { - position: absolute; - left: .625em; - top: .9em; - max-height: 1em; - max-width: 1em; -} -.ui-listview > li h1, -.ui-listview > li h2, -.ui-listview > li h3, -.ui-listview > li h4, -.ui-listview > li h5, -.ui-listview > li h6 { - font-size: 1em; - font-weight: bold; - display: block; - margin: .45em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li p { - font-size: .75em; - font-weight: normal; - display: block; - margin: .6em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview .ui-li-aside { - position: absolute; - top: 1em; - right: 3.333em; - margin: 0; - text-align: right; -} -.ui-listview > li.ui-li-has-alt > .ui-btn { - margin-right: 2.5em; - border-right-width: 0; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn { - position: absolute; - width: 2.5em; - height: 100%; - min-height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-left-width: 1px; - top: 0; - right: 0; - margin: 0; - padding: 0; - z-index: 2; -} -.ui-listview-inset > li.ui-li-has-alt > .ui-btn + .ui-btn { - border-right-width: 1px; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn:focus { - z-index: 3; -} -ol.ui-listview, -ol.ui-listview > .ui-li-divider { - counter-reset: listnumbering; -} -ol.ui-listview > li > .ui-btn, -ol.ui-listview > li.ui-li-static { - vertical-align: middle; -} -ol.ui-listview > li > .ui-btn:first-child:before, -ol.ui-listview > li.ui-li-static:before, -ol.ui-listview > li.ui-field-contain > label:before, -ol.ui-listview > li.ui-field-contain > .ui-controlgroup-label:before { - display: inline-block; - font-size: .9em; - font-weight: normal; - padding-right: .3em; - min-width: 1.4em; - line-height: 1.5; - vertical-align: middle; - counter-increment: listnumbering; - content: counter(listnumbering) "."; -} -ol.ui-listview > li.ui-field-contain:before { - content: none; - display: none; -} -ol.ui-listview > li h1:first-child, -ol.ui-listview > li h2:first-child, -ol.ui-listview > li h3:first-child, -ol.ui-listview > li h4:first-child, -ol.ui-listview > li h5:first-child, -ol.ui-listview > li h6:first-child, -ol.ui-listview > li p:first-child, -ol.ui-listview > li img:first-child + * { - display: inline-block; - vertical-align: middle; -} -ol.ui-listview > li h1:first-child ~ *, -ol.ui-listview > li h2:first-child ~ *, -ol.ui-listview > li h3:first-child ~ *, -ol.ui-listview > li h4:first-child ~ *, -ol.ui-listview > li h5:first-child ~ *, -ol.ui-listview > li h6:first-child ~ *, -ol.ui-listview > li p:first-child ~ *, -ol.ui-listview > li img:first-child + * ~ * { - margin-top: 0; - text-indent: 2.04em; /* (1.4em + .3em) * .9em / .75em */ -} -html .ui-filterable + .ui-listview, -html .ui-filterable.ui-listview { - margin-top: .5em; -} -.ui-collapsible-content > form.ui-filterable { - margin-top: -.5em; -} -.ui-collapsible-content > .ui-input-search.ui-filterable { - margin-top: 0; -} -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 1px; -} -div.ui-slider { - height: 30px; - margin: .5em 0; - padding: 0; - -ms-touch-action: pan-y pinch-zoom double-tap-zoom; -} -div.ui-slider:before, -div.ui-slider:after { - content: ""; - display: table; -} -div.ui-slider:after { - clear: both; -} -input.ui-slider-input { - display: block; - float: left; - font-size: 14px; - font-weight: bold; - margin: 0; - padding: 4px; - width: 40px; - height: 20px; - line-height: 20px; - border-width: 1px; - border-style: solid; - outline: 0; - text-align: center; - vertical-align: text-bottom; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-slider-input::-webkit-outer-spin-button, -.ui-slider-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -.ui-slider-track { - position: relative; - overflow: visible; - border-width: 1px; - border-style: solid; - height: 15px; - margin: 0 15px 0 68px; - top: 6px; -} -.ui-slider-track.ui-mini { - height: 12px; - top: 8px; -} -.ui-slider-track .ui-slider-bg { - height: 100%; -} -/* High level of specificity to override button margins in grids */ -.ui-slider-track .ui-btn.ui-slider-handle { - position: absolute; - z-index: 1; - top: 50%; - width: 28px; - height: 28px; - margin: -15px 0 0 -15px; - outline: 0; - padding: 0; -} -.ui-slider-track.ui-mini .ui-slider-handle { - height: 14px; - width: 14px; - margin: -8px 0 0 -8px; -} -select.ui-slider-switch { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -div.ui-slider-switch { - display: inline-block; - height: 32px; - width: 5.8em; - top: 0; -} -/* reset the clearfix */ -div.ui-slider-switch:before, -div.ui-slider-switch:after { - display: none; - clear: none; -} -div.ui-slider-switch.ui-mini { - height: 29px; - top: 0; -} -.ui-slider-inneroffset { - margin: 0 16px; - position: relative; - z-index: 1; -} -.ui-slider-switch.ui-mini .ui-slider-inneroffset { - margin: 0 15px 0 14px; -} -.ui-slider-switch .ui-btn.ui-slider-handle { - margin: 1px 0 0 -15px; -} -.ui-slider-switch.ui-mini .ui-slider-handle { - width: 25px; - height: 25px; - margin: 1px 0 0 -13px; - padding: 0; -} -.ui-slider-handle-snapping { - -webkit-transition: left 70ms linear; - -moz-transition: left 70ms linear; - transition: left 70ms linear; -} -.ui-slider-switch .ui-slider-label { - position: absolute; - text-align: center; - width: 100%; - overflow: hidden; - font-size: 16px; - top: 0; - line-height: 2; - min-height: 100%; - white-space: nowrap; - cursor: pointer; -} -.ui-slider-switch.ui-mini .ui-slider-label { - font-size: 14px; -} -.ui-slider-switch .ui-slider-label-a { - z-index: 1; - left: 0; - text-indent: -1.5em; -} -.ui-slider-switch .ui-slider-label-b { - z-index: 0; - right: 0; - text-indent: 1.5em; -} -/* The corner radii for ui-slider-switch/track can be specified in theme CSS. The bg and handle inherits. */ -.ui-slider-track .ui-slider-bg, -.ui-slider-switch .ui-slider-label, -.ui-slider-switch .ui-slider-inneroffset, -.ui-slider-handle { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-field-contain div.ui-slider-switch { - margin: 0; -} -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-field-contain div.ui-slider-switch, -.ui-field-contain.ui-hide-label div.ui-slider-switch, -html .ui-popup .ui-field-contain div.ui-slider-switch { - display: inline-block; - width: 5.8em; -} -/* slider tooltip ------------------------------------------------------------------------------------------------------------*/ -.ui-slider-popup { - width: 64px; - height: 64px; - font-size: 36px; - padding-top: 14px; - opacity: 0.8; -} -.ui-slider-popup { - position: absolute !important; - text-align: center; - z-index: 100; -} -.ui-slider-track .ui-btn.ui-slider-handle { - font-size: .9em; - line-height: 30px; -} -.ui-rangeslider { - margin: .5em 0; -} -.ui-rangeslider:before, -.ui-rangeslider:after { - content: ""; - display: table; -} -.ui-rangeslider:after { - clear: both; -} -.ui-rangeslider .ui-slider-input.ui-rangeslider-last { - float: right; -} -.ui-rangeslider .ui-rangeslider-sliders { - position: relative; - overflow: visible; - height: 30px; - margin: 0 68px; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track { - position: absolute; - top: 6px; - right: 0; - left: 0; - margin: 0; -} -.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track { - top: 8px; -} -.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg { - display: none; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - background-color: transparent; - background: none; - border-width: 0; - height: 0; -} -/* this makes ie6 and ie7 set height to 0 to fix z-index problem */ -html >/**/body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 15px; - border-width: 1px; -} -html >/**/body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 12px; -} -/* Hide the second label (the first is moved outside the div) */ -div.ui-rangeslider label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-field-contain .ui-rangeslider input.ui-slider-input, -.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input, -.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders, -.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders { - margin-top: 0; - margin-bottom: 0; -} -.ui-input-text, -.ui-input-search { - margin: .5em 0; - border-width: 1px; - border-style: solid; -} -.ui-mini { - margin: .446em; -} -.ui-input-text input, -.ui-input-search input, -textarea.ui-input-text { - padding: .4em; - line-height: 1.4em; - display: block; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - outline: 0; -} -.ui-input-text input, -.ui-input-search input { - margin: 0; - min-height: 2.2em; - text-align: left; /* Opera aligns type="date" right by default */ - border: 0; - background: transparent none; - -webkit-appearance: none; - -webkit-border-radius: inherit; - border-radius: inherit; -} -textarea.ui-input-text { - overflow: auto; - resize: vertical; -} -.ui-mini .ui-input-text input, -.ui-mini .ui-input-search input, -.ui-input-text.ui-mini input, -.ui-input-search.ui-mini input, -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - font-size: 14px; -} -/* Same margin for mini textareas as other mini sized widgets (12.5/14 * 0.5em) */ -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - margin: .446em 0; -} -.ui-input-has-clear, -.ui-input-search { - position: relative; -} -/* Padding on the div instead of input because of browser spinners etc. */ -.ui-input-has-clear { - padding-right: 2.375em; -} -.ui-mini.ui-input-has-clear { - padding-right: 2.923em; -} -.ui-input-has-clear input { - padding-right: 0; - /* Autofill on Chrome has bg color so we unset corners right as well. */ - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -/* Search icon */ -.ui-input-search input { - padding-left: 1.75em; -} -.ui-input-search:after { - position: absolute; - left: .3125em; - top: 50%; - margin-top: -7px; - content: ""; - background-position: center center; - background-repeat: no-repeat; - width: 14px; - height: 14px; - filter: Alpha(Opacity=50); - opacity: .5; -} -.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear, -.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear { - position: absolute; - right: 0; - top: 50%; - margin: -14px .3125em 0; - border: 0; - background-color: transparent; -} -.ui-input-search .ui-input-clear-hidden, -.ui-input-text .ui-input-clear-hidden { - display: none; -} -/* Resolves issue #5166: Added to support issue introduced in Firefox 15. We can likely remove this in the future. */ -.ui-input-text input::-moz-placeholder, -.ui-input-search input::-moz-placeholder, -textarea.ui-input-text::-moz-placeholder { - color: #aaa; -} -/* Same for IE10 */ -.ui-input-text input:-ms-input-placeholder, -.ui-input-search input:-ms-input-placeholder, -textarea.ui-input-text:-ms-input-placeholder { - color: #aaa; -} -/* Resolves issue #5131: Width of textinput depends on its type, -for Android 4.1 */ -.ui-input-text input[type=number]::-webkit-outer-spin-button { - margin: 0; -} -/* Resolves issue #5756: Textinput in IE10 has a default clear button */ -.ui-input-text input::-ms-clear, -.ui-input-search input::-ms-clear { - display: none; -} -.ui-input-text input:focus, -.ui-input-search input:focus { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -textarea.ui-input-text.ui-textinput-autogrow { - overflow: hidden; -} -.ui-textinput-autogrow-resize { - -webkit-transition: height 0.25s; - -o-transition: height 0.25s; - -moz-transition: height 0.25s; - transition: height 0.25s; -} -.ui-flipswitch { - display: inline-block; - vertical-align: middle; - width: 5.875em; /* Override this and padding-left in next rule if you use labels other than "on/off" and need more space */ - height: 1.875em; - border-width: 1px; - border-style: solid; - margin: .5em 0; - overflow: hidden; - -webkit-transition-property: padding, width, background-color, color, border-color; - -moz-transition-property: padding, width, background-color, color, border-color; - -o-transition-property: padding, width, background-color, color, border-color; - transition-property: padding, width, background-color, color, border-color; - -webkit-transition-duration: 100ms; - -moz-transition-duration: 100ms; - -o-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; -} -.ui-flipswitch.ui-flipswitch-active { - padding-left: 4em; /* Override this and width in previous rule if you use labels other than "on/off" and need more space */ - width: 1.875em; -} -.ui-flipswitch-input { - position: absolute; - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); - border: 0; - outline: 0; - filter: Alpha(Opacity=0); - opacity: 0; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on, -.ui-flipswitch .ui-flipswitch-off { - float: left; - height: 1.75em; - margin: .0625em; - line-height: 1.65em; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on { - width: 1.75em; - padding: 0; - text-indent: -2.6em; /* Override this to center text if you use a label other than "on" */ - text-align: left; - border-width: 1px; - border-style: solid; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-radius: inherit; - overflow: visible; - color: inherit; - text-shadow: inherit; -} -.ui-flipswitch .ui-flipswitch-off { - padding: 1px; - text-indent: 1em; /* Override this to center text if you use a label other than "off" */ -} -/* Override field container CSS to prevent the flipswitch from becomming full width */ -html .ui-field-contain > label + .ui-flipswitch, -html .ui-popup .ui-field-contain > label + .ui-flipswitch { - display: inline-block; - width: 5.875em; /* If you override the width for .ui-flipswitch you should repeat the same value here */ - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-field-contain .ui-flipswitch.ui-flipswitch-active, -.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active { - width: 1.875em; -} -.ui-table { - border: 0; - border-collapse: collapse; - padding: 0; - width: 100%; -} -.ui-table th, -.ui-table td { - line-height: 1.5em; - text-align: left; - padding: .4em .5em; - vertical-align:top; -} -.ui-table th .ui-btn, -.ui-table td .ui-btn { - line-height: normal; -} -.ui-table th { - font-weight: bold; -} -.ui-table caption { - text-align: left; - margin-bottom: 1.4em; - opacity: .5; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-columntoggle-btn { - float: right; - margin-bottom: .8em; -} -/* Remove top/bottom margins around the fieldcontain on check list */ -.ui-table-columntoggle-popup fieldset { - margin:0; -} -.ui-table-columntoggle { - clear: both; -} -/* Hide all prioritized columns by default */ -@media only all { - th.ui-table-priority-6, - td.ui-table-priority-6, - th.ui-table-priority-5, - td.ui-table-priority-5, - th.ui-table-priority-4, - td.ui-table-priority-4, - th.ui-table-priority-3, - td.ui-table-priority-3, - th.ui-table-priority-2, - td.ui-table-priority-2, - th.ui-table-priority-1, - td.ui-table-priority-1 { - display: none; - } -} -/* Preset breakpoints if ".ui-responsive" class added to table */ -/* Show priority 1 at 320px (20em x 16px) */ -@media screen and (min-width: 20em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-1, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-1 { - display: table-cell; - } -} -/* Show priority 2 at 480px (30em x 16px) */ -@media screen and (min-width: 30em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-2, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-2 { - display: table-cell; - } -} -/* Show priority 3 at 640px (40em x 16px) */ -@media screen and (min-width: 40em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-3, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-3 { - display: table-cell; - } -} -/* Show priority 4 at 800px (50em x 16px) */ -@media screen and (min-width: 50em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-4, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-4 { - display: table-cell; - } -} -/* Show priority 5 at 960px (60em x 16px) */ -@media screen and (min-width: 60em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-5, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-5 { - display: table-cell; - } -} -/* Show priority 6 at 1,120px (70em x 16px) */ -@media screen and (min-width: 70em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-6, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-6 { - display: table-cell; - } -} -/* Unchecked manually: Always hide */ -.ui-table-columntoggle th.ui-table-cell-hidden, -.ui-table-columntoggle td.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden { - display: none; -} -/* Checked manually: Always show */ -.ui-table-columntoggle th.ui-table-cell-visible, -.ui-table-columntoggle td.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible { - display: table-cell; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-reflow td .ui-table-cell-label, -.ui-table-reflow th .ui-table-cell-label { - display: none; -} -/* Mobile first styles: Begin with the stacked presentation at narrow widths */ -@media only all { - /* Hide the table headers */ - .ui-table-reflow thead td, - .ui-table-reflow thead th { - display: none; - } - /* Show the table cells as a block level element */ - .ui-table-reflow td, - .ui-table-reflow th { - text-align: left; - display: block; - } - /* Add a fair amount of top margin to visually separate each row when stacked */ - .ui-table-reflow tbody th { - margin-top: 3em; - } - /* Make the label elements a percentage width */ - .ui-table-reflow td .ui-table-cell-label, - .ui-table-reflow th .ui-table-cell-label { - padding: .4em; - min-width: 30%; - display: inline-block; - margin: -.4em 1em -.4em -.4em; - } - /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ - .ui-table-reflow th .ui-table-cell-label-top, - .ui-table-reflow td .ui-table-cell-label-top { - display: block; - padding: .4em 0; - margin: .4em 0; - text-transform: uppercase; - font-size: .9em; - font-weight: normal; - } -} -/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ -@media ( min-width: 35em ) { - /* Show the table header rows */ - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th, - .ui-table-reflow.ui-responsive tbody th, - .ui-table-reflow.ui-responsive tbody td, - .ui-table-reflow.ui-responsive thead td, - .ui-table-reflow.ui-responsive thead th { - display: table-cell; - margin: 0; - } - /* Hide the labels in each cell */ - .ui-table-reflow.ui-responsive td .ui-table-cell-label, - .ui-table-reflow.ui-responsive th .ui-table-cell-label { - display: none; - } -} -/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ -/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ -@media ( max-width: 35em ) { - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - clear: left; - } -} -/* Panel */ -.ui-panel { - width: 17em; - min-height: 100%; - max-height: none; - border-width: 0; - position: absolute; - top: 0; - display: block; -} -.ui-panel-closed { - width: 0; - max-height: 100%; - overflow: hidden; - visibility: hidden; - left: 0; - clip: rect(1px,1px,1px,1px); -} -.ui-panel-fixed { - position: fixed; - bottom: -1px; /* Fixes gap on Chrome for Android */ - padding-bottom: 1px; -} -.ui-panel-display-reveal { - z-index: 1; -} -.ui-panel-display-push { - z-index: 999; -} -.ui-panel-display-overlay { - z-index: 1001; /* Fixed toolbars have z-index 1000 */ -} -.ui-panel-inner { - padding: 1em; -} -/* Container, page and wrapper */ -.ui-panel-page-container { - overflow-x: visible; -} -.ui-panel-page-container-themed .ui-page-active { - background: none; -} -.ui-panel-wrapper { - position: relative; - min-height: inherit; - border: 0; - overflow-x: hidden; - z-index: 999; -} -/* Fixed toolbars */ -.ui-panel-fixed-toolbar { - overflow-x: hidden; -} -/* Dismiss */ -.ui-panel-dismiss { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - z-index: 1002; - display: none; -} -.ui-panel-dismiss-open { - display: block; -} -/* Animate class is added to panel, wrapper and fixed toolbars */ -.ui-panel-animate { - -webkit-transition: -webkit-transform 300ms ease; - -webkit-transition-duration: 300ms; - -moz-transition: -moz-transform 300ms ease; - transition: transform 300ms ease; -} -/* Fix for Windows Phone issue #6349: unset the transition for transforms in case of fixed toolbars. */ -@media screen and ( max-device-width: 768px ) { - .ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: none; - } - /* We need a transitionend event ... */ - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: -ms-transform 1ms; - -ms-transform: rotate(0deg); - } -} -/* Hardware acceleration for smoother transitions on WebKit browsers */ -.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal) { - -webkit-backface-visibility: hidden; - -webkit-transform: translate3d(0,0,0); -} -/* Panel positioning (for overlay and push) */ -/* Panel left closed */ -.ui-panel-position-left { - left: -17em; -} -/* Panel left closed animated */ -.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-left.ui-panel-display-push { - left: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Panel left open */ -.ui-panel-position-left.ui-panel-display-reveal, /* Unset "panel left closed" for reveal */ -.ui-panel-open.ui-panel-position-left { - left: 0; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Panel right closed */ -.ui-panel-position-right { - right: -17em; -} -/* Panel right closed animated */ -.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-right.ui-panel-display-push { - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-position-right.ui-panel-display-reveal, /* Unset "panel right closed" for reveal */ -.ui-panel-position-right.ui-panel-open { - right: 0; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Wrapper and fixed toolbars positioning (for reveal and push) */ -/* Panel left open */ -.ui-panel-page-content-position-left { - left: 17em; - right: -17em; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-page-content-position-left { - left: 0; - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-page-content-position-right { - left: -17em; - right: 17em; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-page-content-position-right { - left: 0; - right: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Dismiss model open */ -.ui-panel-dismiss-open.ui-panel-dismiss-position-left { - left: 17em; -} -.ui-panel-dismiss-open.ui-panel-dismiss-position-right { - right: 17em; -} -/* Shadows and borders */ -.ui-panel-display-reveal { - -webkit-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - box-shadow: inset -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-reveal { - -webkit-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - box-shadow: inset 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-display-overlay { - -webkit-box-shadow: 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: 5px 0 5px rgba(0,0,0,.15); - box-shadow: 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-overlay { - -webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: -5px 0 5px rgba(0,0,0,.15); - box-shadow: -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - border-right-width: 1px; - margin-right: -1px; -} -.ui-panel-page-content-position-left.ui-panel-page-content-display-push { - margin-left: 1px; - width: auto; -} -.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - border-left-width: 1px; - margin-left: -1px; -} -.ui-panel-page-content-position-right.ui-panel-page-content-display-push { - margin-right: 1px; - width: auto; -} -/* Responsive: wrap on wide viewports once open */ -@media (min-width:55em) { - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left { - margin-right: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right { - margin-left: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open { - width: auto; - } - .ui-responsive-panel .ui-panel-dismiss-display-push, - .ui-responsive-panel.ui-page-active ~ .ui-panel-dismiss-display-push { - display: none; - } -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.min.css deleted file mode 100644 index 480ee012..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -.ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-check:after,html .ui-btn.ui-checkbox-on.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-action:after,.ui-alt-icon .ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-alert:after,.ui-alt-icon .ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d:after,.ui-alt-icon .ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-l:after,.ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-r:after,.ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-l:after,.ui-alt-icon .ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-r:after,.ui-alt-icon .ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u:after,.ui-alt-icon .ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-l:after,.ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-r:after,.ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-audio:after,.ui-alt-icon .ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-back:after,.ui-alt-icon .ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bars:after,.ui-alt-icon .ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bullets:after,.ui-alt-icon .ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-calendar:after,.ui-alt-icon .ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-camera:after,.ui-alt-icon .ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-d:after,.ui-alt-icon .ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-l:after,.ui-alt-icon .ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-r:after,.ui-alt-icon .ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-u:after,.ui-alt-icon .ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-check:after,.ui-alt-icon .ui-icon-check:after,html .ui-alt-icon.ui-btn.ui-checkbox-on:after,html .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-clock:after,.ui-alt-icon .ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-cloud:after,.ui-alt-icon .ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-comment:after,.ui-alt-icon .ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-delete:after,.ui-alt-icon .ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-edit:after,.ui-alt-icon .ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-eye:after,.ui-alt-icon .ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forbidden:after,.ui-alt-icon .ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forward:after,.ui-alt-icon .ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-gear:after,.ui-alt-icon .ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-grid:after,.ui-alt-icon .ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-heart:after,.ui-alt-icon .ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-home:after,.ui-alt-icon .ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-info:after,.ui-alt-icon .ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-location:after,.ui-alt-icon .ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-lock:after,.ui-alt-icon .ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-mail:after,.ui-alt-icon .ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-minus:after,.ui-alt-icon .ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-navigation:after,.ui-alt-icon .ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-phone:after,.ui-alt-icon .ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-plus:after,.ui-alt-icon .ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-power:after,.ui-alt-icon .ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-recycle:after,.ui-alt-icon .ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-refresh:after,.ui-alt-icon .ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-search:after,.ui-alt-icon .ui-icon-search:after,.ui-input-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-shop:after,.ui-alt-icon .ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-star:after,.ui-alt-icon .ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-tag:after,.ui-alt-icon .ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-user:after,.ui-alt-icon .ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-video:after,.ui-alt-icon .ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}.ui-nosvg .ui-icon-action:after{background-image:url(images/icons-png/action-white.png)}.ui-nosvg .ui-icon-alert:after{background-image:url(images/icons-png/alert-white.png)}.ui-nosvg .ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-white.png)}.ui-nosvg .ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-white.png)}.ui-nosvg .ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-white.png)}.ui-nosvg .ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-white.png)}.ui-nosvg .ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-white.png)}.ui-nosvg .ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-white.png)}.ui-nosvg .ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-white.png)}.ui-nosvg .ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-white.png)}.ui-nosvg .ui-icon-audio:after{background-image:url(images/icons-png/audio-white.png)}.ui-nosvg .ui-icon-back:after{background-image:url(images/icons-png/back-white.png)}.ui-nosvg .ui-icon-bars:after{background-image:url(images/icons-png/bars-white.png)}.ui-nosvg .ui-icon-bullets:after{background-image:url(images/icons-png/bullets-white.png)}.ui-nosvg .ui-icon-calendar:after{background-image:url(images/icons-png/calendar-white.png)}.ui-nosvg .ui-icon-camera:after{background-image:url(images/icons-png/camera-white.png)}.ui-nosvg .ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-white.png)}.ui-nosvg .ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-white.png)}.ui-nosvg .ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-white.png)}.ui-nosvg .ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-white.png)}.ui-nosvg .ui-icon-check:after,html.ui-nosvg .ui-btn.ui-checkbox-on:after{background-image:url(images/icons-png/check-white.png)}.ui-nosvg .ui-icon-clock:after{background-image:url(images/icons-png/clock-white.png)}.ui-nosvg .ui-icon-cloud:after{background-image:url(images/icons-png/cloud-white.png)}.ui-nosvg .ui-icon-comment:after{background-image:url(images/icons-png/comment-white.png)}.ui-nosvg .ui-icon-delete:after{background-image:url(images/icons-png/delete-white.png)}.ui-nosvg .ui-icon-edit:after{background-image:url(images/icons-png/edit-white.png)}.ui-nosvg .ui-icon-eye:after{background-image:url(images/icons-png/eye-white.png)}.ui-nosvg .ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-white.png)}.ui-nosvg .ui-icon-forward:after{background-image:url(images/icons-png/forward-white.png)}.ui-nosvg .ui-icon-gear:after{background-image:url(images/icons-png/gear-white.png)}.ui-nosvg .ui-icon-grid:after{background-image:url(images/icons-png/grid-white.png)}.ui-nosvg .ui-icon-heart:after{background-image:url(images/icons-png/heart-white.png)}.ui-nosvg .ui-icon-home:after{background-image:url(images/icons-png/home-white.png)}.ui-nosvg .ui-icon-info:after{background-image:url(images/icons-png/info-white.png)}.ui-nosvg .ui-icon-location:after{background-image:url(images/icons-png/location-white.png)}.ui-nosvg .ui-icon-lock:after{background-image:url(images/icons-png/lock-white.png)}.ui-nosvg .ui-icon-mail:after{background-image:url(images/icons-png/mail-white.png)}.ui-nosvg .ui-icon-minus:after{background-image:url(images/icons-png/minus-white.png)}.ui-nosvg .ui-icon-navigation:after{background-image:url(images/icons-png/navigation-white.png)}.ui-nosvg .ui-icon-phone:after{background-image:url(images/icons-png/phone-white.png)}.ui-nosvg .ui-icon-plus:after{background-image:url(images/icons-png/plus-white.png)}.ui-nosvg .ui-icon-power:after{background-image:url(images/icons-png/power-white.png)}.ui-nosvg .ui-icon-recycle:after{background-image:url(images/icons-png/recycle-white.png)}.ui-nosvg .ui-icon-refresh:after{background-image:url(images/icons-png/refresh-white.png)}.ui-nosvg .ui-icon-search:after{background-image:url(images/icons-png/search-white.png)}.ui-nosvg .ui-icon-shop:after{background-image:url(images/icons-png/shop-white.png)}.ui-nosvg .ui-icon-star:after{background-image:url(images/icons-png/star-white.png)}.ui-nosvg .ui-icon-tag:after{background-image:url(images/icons-png/tag-white.png)}.ui-nosvg .ui-icon-user:after{background-image:url(images/icons-png/user-white.png)}.ui-nosvg .ui-icon-video:after{background-image:url(images/icons-png/video-white.png)}.ui-nosvg .ui-alt-icon.ui-icon-action:after,.ui-nosvg .ui-alt-icon .ui-icon-action:after{background-image:url(images/icons-png/action-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-alert:after,.ui-nosvg .ui-alt-icon .ui-icon-alert:after{background-image:url(images/icons-png/alert-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-audio:after,.ui-nosvg .ui-alt-icon .ui-icon-audio:after{background-image:url(images/icons-png/audio-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-back:after,.ui-nosvg .ui-alt-icon .ui-icon-back:after{background-image:url(images/icons-png/back-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-bars:after,.ui-nosvg .ui-alt-icon .ui-icon-bars:after{background-image:url(images/icons-png/bars-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-bullets:after,.ui-nosvg .ui-alt-icon .ui-icon-bullets:after{background-image:url(images/icons-png/bullets-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-calendar:after,.ui-nosvg .ui-alt-icon .ui-icon-calendar:after{background-image:url(images/icons-png/calendar-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-camera:after,.ui-nosvg .ui-alt-icon .ui-icon-camera:after{background-image:url(images/icons-png/camera-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-d:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-l:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-r:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-u:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-check:after,.ui-nosvg .ui-alt-icon .ui-icon-check:after,.ui-nosvg .ui-alt-icon.ui-btn.ui-checkbox-on:after,.ui-nosvg .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url(images/icons-png/check-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-clock:after,.ui-nosvg .ui-alt-icon .ui-icon-clock:after{background-image:url(images/icons-png/clock-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-cloud:after,.ui-nosvg .ui-alt-icon .ui-icon-cloud:after{background-image:url(images/icons-png/cloud-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-comment:after,.ui-nosvg .ui-alt-icon .ui-icon-comment:after{background-image:url(images/icons-png/comment-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-delete:after,.ui-nosvg .ui-alt-icon .ui-icon-delete:after{background-image:url(images/icons-png/delete-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-edit:after,.ui-nosvg .ui-alt-icon .ui-icon-edit:after{background-image:url(images/icons-png/edit-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-eye:after,.ui-nosvg .ui-alt-icon .ui-icon-eye:after{background-image:url(images/icons-png/eye-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-forbidden:after,.ui-nosvg .ui-alt-icon .ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-forward:after,.ui-nosvg .ui-alt-icon .ui-icon-forward:after{background-image:url(images/icons-png/forward-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-gear:after,.ui-nosvg .ui-alt-icon .ui-icon-gear:after{background-image:url(images/icons-png/gear-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-grid:after,.ui-nosvg .ui-alt-icon .ui-icon-grid:after{background-image:url(images/icons-png/grid-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-heart:after,.ui-nosvg .ui-alt-icon .ui-icon-heart:after{background-image:url(images/icons-png/heart-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-home:after,.ui-nosvg .ui-alt-icon .ui-icon-home:after{background-image:url(images/icons-png/home-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-info:after,.ui-nosvg .ui-alt-icon .ui-icon-info:after{background-image:url(images/icons-png/info-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-location:after,.ui-nosvg .ui-alt-icon .ui-icon-location:after{background-image:url(images/icons-png/location-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-lock:after,.ui-nosvg .ui-alt-icon .ui-icon-lock:after{background-image:url(images/icons-png/lock-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-mail:after,.ui-nosvg .ui-alt-icon .ui-icon-mail:after{background-image:url(images/icons-png/mail-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-minus:after,.ui-nosvg .ui-alt-icon .ui-icon-minus:after{background-image:url(images/icons-png/minus-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-navigation:after,.ui-nosvg .ui-alt-icon .ui-icon-navigation:after{background-image:url(images/icons-png/navigation-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-phone:after,.ui-nosvg .ui-alt-icon .ui-icon-phone:after{background-image:url(images/icons-png/phone-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-plus:after,.ui-nosvg .ui-alt-icon .ui-icon-plus:after{background-image:url(images/icons-png/plus-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-power:after,.ui-nosvg .ui-alt-icon .ui-icon-power:after{background-image:url(images/icons-png/power-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-recycle:after,.ui-nosvg .ui-alt-icon .ui-icon-recycle:after{background-image:url(images/icons-png/recycle-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-refresh:after,.ui-nosvg .ui-alt-icon .ui-icon-refresh:after{background-image:url(images/icons-png/refresh-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-search:after,.ui-nosvg .ui-alt-icon .ui-icon-search:after,.ui-nosvg .ui-input-search:after{background-image:url(images/icons-png/search-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-shop:after,.ui-nosvg .ui-alt-icon .ui-icon-shop:after{background-image:url(images/icons-png/shop-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-star:after,.ui-nosvg .ui-alt-icon .ui-icon-star:after{background-image:url(images/icons-png/star-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-tag:after,.ui-nosvg .ui-alt-icon .ui-icon-tag:after{background-image:url(images/icons-png/tag-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-user:after,.ui-nosvg .ui-alt-icon .ui-icon-user:after{background-image:url(images/icons-png/user-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-video:after,.ui-nosvg .ui-alt-icon .ui-icon-video:after{background-image:url(images/icons-png/video-black.png)}html{font-size:100%}body,input,select,textarea,button,.ui-btn{font-size:1em;line-height:1.3;font-family:sans-serif}legend,.ui-input-text input,.ui-input-search input{color:inherit;text-shadow:inherit}.ui-mobile label,div.ui-controlgroup-label{font-weight:400;font-size:16px}.ui-field-contain{border-bottom-color:#828282;border-bottom-color:rgba(0,0,0,.15);border-bottom-width:1px;border-bottom-style:solid}.table-stroke thead th,.table-stripe thead th,.table-stripe tbody tr:last-child{border-bottom:1px solid #d6d6d6;border-bottom:1px solid rgba(0,0,0,.1)}.table-stroke tbody th,.table-stroke tbody td{border-bottom:1px solid #e6e6e6;border-bottom:1px solid rgba(0,0,0,.05)}.table-stripe.table-stroke tbody tr:last-child th,.table-stripe.table-stroke tbody tr:last-child td{border-bottom:0}.table-stripe tbody tr:nth-child(odd) td,.table-stripe tbody tr:nth-child(odd) th{background-color:#eee;background-color:rgba(0,0,0,.04)}.ui-btn,label.ui-btn{font-weight:700;border-width:1px;border-style:solid}.ui-btn{text-decoration:none!important}.ui-btn-active{cursor:pointer}.ui-corner-all{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-corner-all,.ui-btn.ui-corner-all,.ui-slider-track.ui-corner-all,.ui-flipswitch.ui-corner-all,.ui-li-count{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-icon-notext.ui-btn-corner-all,.ui-btn-icon-notext.ui-corner-all{-webkit-border-radius:1em;border-radius:1em}.ui-btn-corner-all,.ui-corner-all{-webkit-background-clip:padding;background-clip:padding-box}.ui-popup.ui-corner-all>.ui-popup-arrow-guide{left:.6em;right:.6em;top:.6em;bottom:.6em}.ui-shadow{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);-moz-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15)}.ui-shadow-inset{-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.ui-overlay-shadow{-webkit-box-shadow:0 0 12px rgba(0,0,0,.6);-moz-box-shadow:0 0 12px rgba(0,0,0,.6);box-shadow:0 0 12px rgba(0,0,0,.6)}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{background-color:#666;background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;-webkit-border-radius:1em;border-radius:1em}.ui-alt-icon.ui-btn:after,.ui-alt-icon .ui-btn:after,html .ui-alt-icon.ui-checkbox-off:after,html .ui-alt-icon.ui-radio-off:after,html .ui-alt-icon .ui-checkbox-off:after,html .ui-alt-icon .ui-radio-off:after{background-color:#666;background-color:rgba(0,0,0,.15)}.ui-nodisc-icon.ui-btn:after,.ui-nodisc-icon .ui-btn:after{background-color:transparent}.ui-shadow-icon.ui-btn:after,.ui-shadow-icon .ui-btn:after{-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after,.ui-btn.ui-radio-off:after,.ui-btn.ui-radio-on:after{display:block;width:18px;height:18px;margin:-9px 2px 0 2px}.ui-checkbox-off:after,.ui-btn.ui-radio-off:after{filter:Alpha(Opacity=30);opacity:.3}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after{-webkit-border-radius:.1875em;border-radius:.1875em}.ui-btn.ui-checkbox-off:after{background-color:#666;background-color:rgba(0,0,0,.3)}.ui-radio .ui-btn.ui-radio-on:after{background-image:none;background-color:#fff;width:8px;height:8px;border-width:5px;border-style:solid}.ui-alt-icon.ui-btn.ui-radio-on:after,.ui-alt-icon .ui-btn.ui-radio-on:after{background-color:#000}.ui-icon-loading{background:url(images/ajax-loader.gif);background-size:2.875em 2.875em}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background-color:#e9e9e9;border-color:#ddd;color:#333;text-shadow:0 1px 0 #eee;font-weight:700}.ui-bar-a{border-width:1px;border-style:solid}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background-color:#f9f9f9;border-color:#bbb;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background-color:#fff;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a{border-width:1px;border-style:solid}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#38c;font-weight:700}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-group-theme-a a:visited{color:#38c}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#059}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#059}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head+body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head+body .ui-btn.ui-btn-a:visited{background-color:#f6f6f6;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head+body .ui-btn.ui-btn-a:hover{background-color:#ededed;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:active,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head+body .ui-btn.ui-btn-a:active{background-color:#e8e8e8;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-track .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#38c;border-color:#38c;color:#fff;text-shadow:0 1px 0 #059}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#38c}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head+body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head+body .ui-btn-a.ui-focus,html head+body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #38c;-moz-box-shadow:0 0 12px #38c;box-shadow:0 0 12px #38c}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-bar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background-color:#1d1d1d;border-color:#1b1b1b;color:#fff;text-shadow:0 1px 0 #111;font-weight:700}.ui-bar-b{border-width:1px;border-style:solid}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background-color:#252525;border-color:#454545;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background-color:#2a2a2a;border-color:#1d1d1d;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b{border-width:1px;border-style:solid}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#2ad;font-weight:700}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{color:#2ad}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-b a:hover,html body .ui-group-theme-b a:hover{color:#08b}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#08b}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head+body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head+body .ui-btn.ui-btn-b:visited{background-color:#333;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head+body .ui-btn.ui-btn-b:hover{background-color:#373737;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-btn:active,html head+body .ui-btn.ui-btn-b:active{background-color:#404040;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-b .ui-btn-active{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#2ad}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head+body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head+body .ui-btn-b.ui-focus,html head+body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #2ad;-moz-box-shadow:0 0 12px #2ad;box-shadow:0 0 12px #2ad}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default!important;pointer-events:none}.ui-btn:focus,.ui-btn.ui-focus{outline:0}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui-overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto}.ui-mobile,.ui-mobile body{height:99.9%}.ui-mobile fieldset,.ui-page{padding:0;margin:0}.ui-mobile a img,.ui-mobile fieldset{border-width:0}.ui-mobile fieldset{min-width:0}@-moz-document url-prefix(){.ui-mobile fieldset{display:table-column;vertical-align:middle}}.ui-mobile-viewport{margin:0;overflow-x:visible;-webkit-text-size-adjust:100%;-ms-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body.ui-mobile-viewport,div.ui-mobile-viewport{overflow-x:hidden}.ui-mobile [data-role=page],.ui-mobile [data-role=dialog],.ui-page{top:0;left:0;width:100%;min-height:100%;position:absolute;display:none;border:0}.ui-page{outline:0}.ui-mobile .ui-page-active{display:block;overflow:visible;overflow-x:hidden}@media screen and (orientation:portrait){.ui-mobile .ui-page{min-height:420px}}@media screen and (orientation:landscape){.ui-mobile .ui-page{min-height:300px}}.ui-mobile-rendering>*{visibility:hidden}.ui-nojs{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-loading .ui-loader{display:block}.ui-loader{display:none;z-index:9999999;position:fixed;top:50%;left:50%;border:0}.ui-loader-default{background:0;filter:Alpha(Opacity=18);opacity:.18;width:2.875em;height:2.875em;margin-left:-1.4375em;margin-top:-1.4375em}.ui-loader-verbose{width:12.5em;filter:Alpha(Opacity=88);opacity:.88;box-shadow:0 1px 1px -1px #fff;height:auto;margin-left:-6.875em;margin-top:-2.6875em;padding:.625em}.ui-loader-default h1{font-size:0;width:0;height:0;overflow:hidden}.ui-loader-verbose h1{font-size:1em;margin:0;text-align:center}.ui-loader .ui-icon-loading{background-color:#000;display:block;margin:0;width:2.75em;height:2.75em;padding:.0625em;-webkit-border-radius:2.25em;border-radius:2.25em}.ui-loader-verbose .ui-icon-loading{margin:0 auto .625em;filter:Alpha(Opacity=75);opacity:.75}.ui-loader-textonly{padding:.9375em;margin-left:-7.1875em}.ui-loader-textonly .ui-icon-loading{display:none}.ui-loader-fakefix{position:absolute}.ui-bar,.ui-body{position:relative;padding:.4em 1em;overflow:hidden;display:block;clear:both}.ui-bar h1,.ui-bar h2,.ui-bar h3,.ui-bar h4,.ui-bar h5,.ui-bar h6{margin:0;padding:0;font-size:1em;display:inline-block}.ui-header,.ui-footer{border-width:1px 0;border-style:solid;position:relative}.ui-header:empty,.ui-footer:empty{min-height:2.6875em}.ui-header .ui-title,.ui-footer .ui-title{font-size:1em;min-height:1.1em;text-align:center;display:block;margin:0 30%;padding:.7em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;outline:0!important}.ui-footer .ui-title{margin:0 1em}.ui-content{border-width:0;overflow:visible;overflow-x:hidden;padding:1em}.ui-corner-all>.ui-header:first-child,.ui-corner-all>.ui-content:first-child,.ui-corner-all>.ui-footer:first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-corner-all>.ui-header:last-child,.ui-corner-all>.ui-content:last-child,.ui-corner-all>.ui-footer:last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-btn{font-size:16px;margin:.5em 0;padding:.7em 1em;display:block;position:relative;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-btn-icon-notext,.ui-header button.ui-btn.ui-btn-icon-notext,.ui-footer button.ui-btn.ui-btn-icon-notext{padding:0;width:1.75em;height:1.75em;text-indent:-9999px;white-space:nowrap!important}.ui-mini{font-size:12.5px}.ui-mini .ui-btn{font-size:inherit}.ui-header .ui-btn,.ui-footer .ui-btn{font-size:12.5px;display:inline-block;vertical-align:middle}.ui-header .ui-controlgroup .ui-btn-icon-notext,.ui-footer .ui-controlgroup .ui-btn-icon-notext{font-size:12.5px}.ui-header .ui-btn-left,.ui-header .ui-btn-right{font-size:12.5px}.ui-mini.ui-btn-icon-notext,.ui-mini .ui-btn-icon-notext,.ui-header .ui-btn-icon-notext,.ui-footer .ui-btn-icon-notext{font-size:16px;padding:0}.ui-btn-inline{display:inline-block;vertical-align:middle;margin-right:.625em}.ui-btn-icon-left{padding-left:2.5em}.ui-btn-icon-right{padding-right:2.5em}.ui-btn-icon-top{padding-top:2.5em}.ui-btn-icon-bottom{padding-bottom:2.5em}.ui-header .ui-btn-icon-top,.ui-footer .ui-btn-icon-top,.ui-header .ui-btn-icon-bottom,.ui-footer .ui-btn-icon-bottom{padding-left:.3125em;padding-right:.3125em}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{content:"";position:absolute;display:block;width:22px;height:22px}.ui-btn-icon-notext:after,.ui-btn-icon-left:after,.ui-btn-icon-right:after{top:50%;margin-top:-11px}.ui-btn-icon-left:after{left:.5625em}.ui-btn-icon-right:after{right:.5625em}.ui-mini.ui-btn-icon-left:after,.ui-mini .ui-btn-icon-left:after,.ui-header .ui-btn-icon-left:after,.ui-footer .ui-btn-icon-left:after{left:.37em}.ui-mini.ui-btn-icon-right:after,.ui-mini .ui-btn-icon-right:after,.ui-header .ui-btn-icon-right:after,.ui-footer .ui-btn-icon-right:after{right:.37em}.ui-btn-icon-notext:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after{left:50%;margin-left:-11px}.ui-btn-icon-top:after{top:.5625em}.ui-btn-icon-bottom:after{top:auto;bottom:.5625em}.ui-header .ui-btn-left,.ui-header .ui-btn-right,.ui-btn-left>[class*=ui-],.ui-btn-right>[class*=ui-]{margin:0}.ui-btn-left,.ui-btn-right{position:absolute;top:.24em}.ui-btn-left{left:.4em}.ui-btn-right{right:.4em}.ui-btn-icon-notext.ui-btn-left{top:.3125em;left:.3125em}.ui-btn-icon-notext.ui-btn-right{top:.3125em;right:.3125em}button.ui-btn,.ui-controlgroup-controls button.ui-btn-icon-notext{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;width:100%}button.ui-btn-inline,.ui-header button.ui-btn,.ui-footer button.ui-btn{width:auto}button.ui-btn::-moz-focus-inner{border:0}button.ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:1.75em}.ui-mobile label,.ui-controlgroup-label{display:block;margin:0 0 .4em}.ui-hide-label>label,.ui-hide-label .ui-controlgroup-label,.ui-hide-label .ui-rangeslider label,.ui-hidden-accessible{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-screen-hidden{display:none!important}.ui-mobile-viewport-transitioning,.ui-mobile-viewport-transitioning .ui-page{width:100%;height:100%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-page-pre-in{opacity:0}.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.out{-webkit-animation-timing-function:ease-in;-webkit-animation-duration:225ms;-moz-animation-timing-function:ease-in;-moz-animation-duration:225ms;animation-timing-function:ease-in;animation-duration:225ms}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}.fade.out{opacity:0;-webkit-animation-duration:125ms;-webkit-animation-name:fadeout;-moz-animation-duration:125ms;-moz-animation-name:fadeout;animation-duration:125ms;animation-name:fadeout}.fade.in{opacity:1;-webkit-animation-duration:225ms;-webkit-animation-name:fadein;-moz-animation-duration:225ms;-moz-animation-name:fadein;animation-duration:225ms;animation-name:fadein}.pop{-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;transform-origin:50% 50%}.pop.in{-webkit-transform:scale(1);-webkit-animation-name:popin;-webkit-animation-duration:350ms;-moz-transform:scale(1);-moz-animation-name:popin;-moz-animation-duration:350ms;transform:scale(1);animation-name:popin;animation-duration:350ms;opacity:1}.pop.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms;opacity:0}.pop.in.reverse{-webkit-animation-name:fadein;-moz-animation-name:fadein;animation-name:fadein}.pop.out.reverse{-webkit-transform:scale(.8);-webkit-animation-name:popout;-moz-transform:scale(.8);-moz-animation-name:popout;transform:scale(.8);animation-name:popout}@-webkit-keyframes popin{from{-webkit-transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@-moz-keyframes popin{from{-moz-transform:scale(.8);opacity:0}to{-moz-transform:scale(1);opacity:1}}@keyframes popin{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes popout{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@-moz-keyframes popout{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(.8);opacity:0}}@keyframes popout{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes slideinfromright{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromright{from{-moz-transform:translateX(100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromright{from{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes slideinfromleft{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromleft{from{-moz-transform:translateX(-100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromleft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@-webkit-keyframes slideouttoleft{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-100%,0,0)}}@-moz-keyframes slideouttoleft{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(-100%)}}@keyframes slideouttoleft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@-webkit-keyframes slideouttoright{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0)}}@-moz-keyframes slideouttoright{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(100%)}}@keyframes slideouttoright{from{transform:translateX(0)}to{transform:translateX(100%)}}.slide.out,.slide.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.slide.out{-webkit-transform:translate3d(-100%,0,0);-webkit-animation-name:slideouttoleft;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;transform:translateX(-100%);animation-name:slideouttoleft}.slide.in{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromright;-moz-transform:translateX(0);-moz-animation-name:slideinfromright;transform:translateX(0);animation-name:slideinfromright}.slide.out.reverse{-webkit-transform:translate3d(100%,0,0);-webkit-animation-name:slideouttoright;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;transform:translateX(100%);animation-name:slideouttoright}.slide.in.reverse{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromleft;-moz-transform:translateX(0);-moz-animation-name:slideinfromleft;transform:translateX(0);animation-name:slideinfromleft}.slidefade.out{-webkit-transform:translateX(-100%);-webkit-animation-name:slideouttoleft;-webkit-animation-duration:225ms;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;-moz-animation-duration:225ms;transform:translateX(-100%);animation-name:slideouttoleft;animation-duration:225ms}.slidefade.in{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidefade.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:slideouttoright;-webkit-animation-duration:200ms;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;-moz-animation-duration:200ms;transform:translateX(100%);animation-name:slideouttoright;animation-duration:200ms}.slidefade.in.reverse{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidedown.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slidedown.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfromtop;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfromtop;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfromtop;animation-duration:250ms}.slidedown.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slidedown.out.reverse{-webkit-transform:translateY(-100%);-webkit-animation-name:slideouttotop;-webkit-animation-duration:200ms;-moz-transform:translateY(-100%);-moz-animation-name:slideouttotop;-moz-animation-duration:200ms;transform:translateY(-100%);animation-name:slideouttotop;animation-duration:200ms}@-webkit-keyframes slideinfromtop{from{-webkit-transform:translateY(-100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfromtop{from{-moz-transform:translateY(-100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfromtop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttotop{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(-100%)}}@-moz-keyframes slideouttotop{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(-100%)}}@keyframes slideouttotop{from{transform:translateY(0)}to{transform:translateY(-100%)}}.slideup.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slideup.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfrombottom;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfrombottom;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfrombottom;animation-duration:250ms}.slideup.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slideup.out.reverse{-webkit-transform:translateY(100%);-webkit-animation-name:slideouttobottom;-webkit-animation-duration:200ms;-moz-transform:translateY(100%);-moz-animation-name:slideouttobottom;-moz-animation-duration:200ms;transform:translateY(100%);animation-name:slideouttobottom;animation-duration:200ms}@-webkit-keyframes slideinfrombottom{from{-webkit-transform:translateY(100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfrombottom{from{-moz-transform:translateY(100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfrombottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttobottom{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(100%)}}@-moz-keyframes slideouttobottom{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(100%)}}@keyframes slideouttobottom{from{transform:translateY(0)}to{transform:translateY(100%)}}.viewport-flip{-webkit-perspective:1000;-moz-perspective:1000;perspective:1000;position:absolute}.flip{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-moz-backface-visibility:hidden;-moz-transform:translateX(0);backface-visibility:hidden;transform:translateX(0)}.flip.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:175ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:175ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:175ms}.flip.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:225ms;-moz-animation-name:flipintoright;-moz-animation-duration:225ms;animation-name:flipintoright;animation-duration:225ms}.flip.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.flip.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.viewport-turn{-webkit-perspective:200px;-moz-perspective:200px;-ms-perspective:200px;perspective:200px;position:absolute}.turn{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-webkit-transform-origin:0;-moz-backface-visibility:hidden;-moz-transform:translateX(0);-moz-transform-origin:0;backface-visibility:hidden;transform:translateX(0);transform-origin:0}.turn.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:125ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:125ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:125ms}.turn.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:250ms;-moz-animation-name:flipintoright;-moz-animation-duration:250ms;animation-name:flipintoright;animation-duration:250ms}.turn.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.turn.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.flow{-webkit-transform-origin:50% 30%;-webkit-box-shadow:0 0 20px rgba(0,0,0,.4);-moz-transform-origin:50% 30%;-moz-box-shadow:0 0 20px rgba(0,0,0,.4);transform-origin:50% 30%;box-shadow:0 0 20px rgba(0,0,0,.4)}.ui-dialog.flow{-webkit-transform-origin:none;-webkit-box-shadow:none;-moz-transform-origin:none;-moz-box-shadow:none;transform-origin:none;box-shadow:none}.flow.out{-webkit-transform:translateX(-100%) scale(.7);-webkit-animation-name:flowouttoleft;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(-100%) scale(.7);-moz-animation-name:flowouttoleft;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(-100%) scale(.7);animation-name:flowouttoleft;animation-timing-function:ease;animation-duration:350ms}.flow.in{-webkit-transform:translateX(0) scale(1);-webkit-animation-name:flowinfromright;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(0) scale(1);-moz-animation-name:flowinfromright;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(0) scale(1);animation-name:flowinfromright;animation-timing-function:ease;animation-duration:350ms}.flow.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:flowouttoright;-moz-transform:translateX(100%);-moz-animation-name:flowouttoright;transform:translateX(100%);animation-name:flowouttoright}.flow.in.reverse{-webkit-animation-name:flowinfromleft;-moz-animation-name:flowinfromleft;animation-name:flowinfromleft}@-webkit-keyframes flowouttoleft{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(-100%) scale(.7)}}@-moz-keyframes flowouttoleft{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(-100%) scale(.7)}}@keyframes flowouttoleft{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(-100%) scale(.7)}}@-webkit-keyframes flowouttoright{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(100%) scale(.7)}}@-moz-keyframes flowouttoright{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(100%) scale(.7)}}@keyframes flowouttoright{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(100%) scale(.7)}}@-webkit-keyframes flowinfromleft{0%{-webkit-transform:translateX(-100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromleft{0%{-moz-transform:translateX(-100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromleft{0%{transform:translateX(-100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}@-webkit-keyframes flowinfromright{0%{-webkit-transform:translateX(100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromright{0%{-moz-transform:translateX(100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromright{0%{transform:translateX(100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}.ui-field-contain,.ui-mobile fieldset.ui-field-contain{display:block;position:relative;overflow:visible;clear:both;padding:.8em 0}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{margin:0}.ui-field-contain:last-child{border-bottom-width:0}@media (min-width:28em){.ui-field-contain,.ui-mobile fieldset.ui-field-contain{padding:0;margin:1em 0;border-bottom-width:0}.ui-field-contain:before,.ui-field-contain:after{content:"";display:table}.ui-field-contain:after{clear:both}.ui-field-contain>label,.ui-field-contain .ui-controlgroup-label,.ui-field-contain>.ui-rangeslider>label{float:left;width:20%;margin:.5em 2% 0 0}.ui-popup .ui-field-contain>label,.ui-popup .ui-field-contain .ui-controlgroup-label,.ui-popup .ui-field-contain>.ui-rangeslider>label{float:none;width:auto;margin:0 0 .4em}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{float:left;width:78%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-hide-label>label~[class*=ui-],.ui-hide-label .ui-controlgroup-controls,.ui-popup .ui-field-contain>label~[class*=ui-],.ui-popup .ui-field-contain .ui-controlgroup-controls{float:none;width:100%}.ui-field-contain>label~.ui-btn-inline{width:auto;margin-right:.625em}.ui-field-contain>label~.ui-btn-inline.ui-btn-icon-notext{width:1.75em}}.ui-grid-a,.ui-grid-b,.ui-grid-c,.ui-grid-d,.ui-grid-solo{overflow:hidden}.ui-block-a,.ui-block-b,.ui-block-c,.ui-block-d,.ui-block-e{margin:0;padding:0;border:0;float:left;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-block-a{clear:left}ul.ui-grid-a,ul.ui-grid-b,ul.ui-grid-c,ul.ui-grid-d,ul.ui-grid-solo,li.ui-block-a,li.ui-block-b,li.ui-block-c,li.ui-block-d,li.ui-block-e{margin-left:0;margin-right:0;padding:0;list-style:none}[class*=ui-block-]>button.ui-btn{margin-right:0;margin-left:0}[class*=ui-block-]>.ui-btn,[class*=ui-block-]>.ui-select,[class*=ui-block-]>.ui-checkbox,[class*=ui-block-]>.ui-radio,[class*=ui-block-]>button.ui-btn-inline,[class*=ui-block-]>button.ui-btn-icon-notext,.ui-header [class*=ui-block-]>button.ui-btn,.ui-footer [class*=ui-block-]>button.ui-btn{margin-right:.3125em;margin-left:.3125em}.ui-grid-a>.ui-block-a,.ui-grid-a>.ui-block-b{width:50%}.ui-grid-b>.ui-block-a,.ui-grid-b>.ui-block-b,.ui-grid-b>.ui-block-c{width:33.333%}.ui-grid-c>.ui-block-a,.ui-grid-c>.ui-block-b,.ui-grid-c>.ui-block-c,.ui-grid-c>.ui-block-d{width:25%}.ui-grid-d>.ui-block-a,.ui-grid-d>.ui-block-b,.ui-grid-d>.ui-block-c,.ui-grid-d>.ui-block-d,.ui-grid-d>.ui-block-e{width:20%}.ui-grid-solo>.ui-block-a{width:100%;float:none}@media (max-width:35em){.ui-responsive>.ui-block-a,.ui-responsive>.ui-block-b,.ui-responsive>.ui-block-c,.ui-responsive>.ui-block-d,.ui-responsive>.ui-block-e{width:100%;float:none}}.ui-header-fixed,.ui-footer-fixed{left:0;right:0;width:100%;position:fixed;z-index:1000}.ui-header-fixed{top:-1px;padding-top:1px}.ui-header-fixed.ui-fixed-hidden{top:0;padding-top:0}.ui-header-fixed .ui-btn-left,.ui-header-fixed .ui-btn-right{margin-top:1px}.ui-header-fixed.ui-fixed-hidden .ui-btn-left,.ui-header-fixed.ui-fixed-hidden .ui-btn-right{margin-top:0}.ui-footer-fixed{bottom:-1px;padding-bottom:1px}.ui-footer-fixed.ui-fixed-hidden{bottom:0;padding-bottom:0}.ui-header-fullscreen,.ui-footer-fullscreen{filter:Alpha(Opacity=90);opacity:.9}.ui-page-header-fixed{padding-top:2.8125em}.ui-page-footer-fixed{padding-bottom:2.8125em}.ui-page-header-fullscreen>.ui-content,.ui-page-footer-fullscreen>.ui-content{padding:0}.ui-fixed-hidden{position:absolute}.ui-footer-fixed.ui-fixed-hidden{display:none}.ui-page .ui-footer-fixed.ui-fixed-hidden{display:block}.ui-page-header-fullscreen .ui-fixed-hidden,.ui-page-footer-fullscreen .ui-fixed-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-header-fixed .ui-btn,.ui-footer-fixed .ui-btn{z-index:10}.ui-android-2x-fixed .ui-li-has-thumb{-webkit-transform:translate3d(0,0,0)}.ui-navbar{max-width:100%}.ui-navbar ul:before,.ui-navbar ul:after{content:"";display:table}.ui-navbar ul:after{clear:both}.ui-navbar ul{list-style:none;margin:0;padding:0;position:relative;display:block;border:0;max-width:100%;overflow:visible}.ui-navbar li .ui-btn{font-size:12.5px;display:block;margin:0;border-right-width:0}.ui-header .ui-navbar li button.ui-btn,.ui-footer .ui-navbar li button.ui-btn{margin:0;width:100%}.ui-navbar .ui-btn:focus{z-index:1}.ui-navbar li:last-child .ui-btn{margin-right:-4px}.ui-navbar li:last-child .ui-btn:after{margin-right:4px}.ui-content .ui-navbar li:last-child .ui-btn,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn{border-right-width:1px;margin-right:0}.ui-content .ui-navbar li:last-child .ui-btn:after,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after{margin-right:0}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn{border-right-width:1px;margin-right:-1px}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after{margin-right:1px}.ui-navbar .ui-grid-duo .ui-btn{border-top-width:0}.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-header .ui-navbar .ui-btn,.ui-footer .ui-navbar .ui-btn{border-top-width:0;border-bottom-width:0}.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:0}.ui-header .ui-title~.ui-navbar .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-input-btn input{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background:#fff;background:rgba(255,255,255,0);filter:Alpha(Opacity=0);opacity:.1;font-size:1px;text-indent:-9999px;z-index:2}.ui-input-btn.ui-state-disabled input{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible{margin:0 -1em}.ui-collapsible-inset,.ui-collapsible-set{margin:.5em 0}.ui-collapsible-heading{display:block;margin:0;padding:0;position:relative}.ui-collapsible-heading .ui-btn{text-align:left;margin:0;border-left-width:0;border-right-width:0}.ui-collapsible-heading .ui-btn-icon-top,.ui-collapsible-heading .ui-btn-icon-bottom{text-align:center}.ui-collapsible-inset .ui-collapsible-heading .ui-btn{border-right-width:1px;border-left-width:1px}.ui-collapsible-collapsed+.ui-collapsible:not(.ui-collapsible-inset)>.ui-collapsible-heading .ui-btn{border-top-width:0}.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn{border-top-width:1px}.ui-collapsible-heading-status{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible-content{display:block;margin:0;padding:.5em 1em}.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:0;border-right-width:0;border-top-width:0;border-bottom-width:1px;border-style:solid}.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:1px;border-right-width:1px}.ui-collapsible-inset .ui-collapsible-content{margin:0}.ui-collapsible-content-collapsed{display:none}.ui-collapsible-set>.ui-collapsible.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-collapsible-heading,.ui-collapsible-heading>.ui-btn{-webkit-border-radius:inherit;border-radius:inherit}.ui-collapsible-set .ui-collapsible.ui-first-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-collapsible-content,.ui-collapsible-set .ui-collapsible.ui-last-child{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-themed-content:not(.ui-collapsible-collapsed)>.ui-collapsible-heading{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-collapsible-set .ui-collapsible{margin:-1px -1em 0}.ui-collapsible-set .ui-collapsible-inset{margin:-1px 0 0}.ui-collapsible-set .ui-collapsible.ui-first-child{margin-top:0}.ui-controlgroup,fieldset.ui-controlgroup{padding:0;margin:.5em 0}.ui-field-contain .ui-controlgroup,.ui-field-contain fieldset.ui-controlgroup{margin:0}.ui-mini .ui-controlgroup-label{font-size:16px}.ui-controlgroup.ui-mini .ui-btn-icon-notext,.ui-controlgroup .ui-mini.ui-btn-icon-notext{font-size:inherit}.ui-controlgroup-controls .ui-btn,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-select{margin:0}.ui-controlgroup-controls .ui-btn:focus,.ui-controlgroup-controls .ui-btn.ui-focus{z-index:1}.ui-controlgroup-controls li{list-style:none}.ui-controlgroup-horizontal .ui-controlgroup-controls{display:inline-block;vertical-align:middle}.ui-controlgroup-horizontal .ui-controlgroup-controls:before,.ui-controlgroup-horizontal .ui-controlgroup-controls:after{content:"";display:table}.ui-controlgroup-horizontal .ui-controlgroup-controls:after{clear:both}.ui-controlgroup-horizontal .ui-controlgroup-controls>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls li>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select{float:left;clear:none}.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,.ui-controlgroup-controls .ui-btn-icon-notext{width:auto}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext{width:1.5em}.ui-controlgroup-controls .ui-btn-icon-notext{height:auto;padding:.7em 1em}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn{border-bottom-width:0}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child{border-bottom-width:1px}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn{border-right-width:0}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child{border-right-width:1px}.ui-controlgroup-controls .ui-btn-corner-all,.ui-controlgroup-controls .ui-btn.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-controlgroup-controls,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-select,.ui-controlgroup-controls li{-webkit-border-radius:inherit;border-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-last-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-controls a.ui-shadow:not(:focus),.ui-controlgroup-controls button.ui-shadow:not(:focus),.ui-controlgroup-controls div.ui-shadow:not(.ui-focus){-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ui-controlgroup-label legend{max-width:100%}.ui-controlgroup-controls>label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-dialog{background:none!important}.ui-dialog-contain{width:92.5%;max-width:500px;margin:10% auto 1em;padding:0;position:relative;top:-1em}.ui-dialog-contain>.ui-header,.ui-dialog-contain>.ui-content,.ui-dialog-contain>.ui-footer{display:block;position:relative;width:auto;margin:0}.ui-dialog-contain>.ui-header{overflow:hidden;z-index:10;padding:0;border-top-width:0}.ui-dialog-contain>.ui-footer{z-index:10;padding:0 1em;border-bottom-width:0}.ui-popup-open .ui-header-fixed,.ui-popup-open .ui-footer-fixed{position:absolute!important}.ui-popup-screen{background-image:url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");top:0;left:0;right:0;bottom:1px;position:absolute;filter:Alpha(Opacity=0);opacity:0;z-index:1099}.ui-popup-screen.in{opacity:.5;filter:Alpha(Opacity=50)}.ui-popup-screen.out{opacity:0;filter:Alpha(Opacity=0)}.ui-popup-container{z-index:1100;display:inline-block;position:absolute;padding:0;outline:0}.ui-popup{position:relative}.ui-popup.ui-body-inherit{border-width:1px;border-style:solid}.ui-popup-hidden{left:0;top:0;position:absolute!important;visibility:hidden}.ui-popup-truncate{height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-popup.ui-content,.ui-popup .ui-content{overflow:visible}.ui-popup>.ui-header{border-top-width:0}.ui-popup>.ui-footer{border-bottom-width:0}.ui-popup>p,.ui-popup>h1,.ui-popup>h2,.ui-popup>h3,.ui-popup>h4,.ui-popup>h5,.ui-popup>h6{margin:.5em .4375em}.ui-popup>span{display:block;margin:.5em .4375em}.ui-popup-container .ui-content>p,.ui-popup-container .ui-content>h1,.ui-popup-container .ui-content>h2,.ui-popup-container .ui-content>h3,.ui-popup-container .ui-content>h4,.ui-popup-container .ui-content>h5,.ui-popup-container .ui-content>h6{margin:.5em 0}.ui-popup-container .ui-content>span{margin:0}.ui-popup-container .ui-content>p:first-child,.ui-popup-container .ui-content>h1:first-child,.ui-popup-container .ui-content>h2:first-child,.ui-popup-container .ui-content>h3:first-child,.ui-popup-container .ui-content>h4:first-child,.ui-popup-container .ui-content>h5:first-child,.ui-popup-container .ui-content>h6:first-child{margin-top:0}.ui-popup-container .ui-content>p:last-child,.ui-popup-container .ui-content>h1:last-child,.ui-popup-container .ui-content>h2:last-child,.ui-popup-container .ui-content>h3:last-child,.ui-popup-container .ui-content>h4:last-child,.ui-popup-container .ui-content>h5:last-child,.ui-popup-container .ui-content>h6:last-child{margin-bottom:0}.ui-popup>img{max-width:100%;max-height:100%;vertical-align:middle}.ui-popup:not(.ui-content)>img:only-child,.ui-popup:not(.ui-content)>.ui-btn-left:first-child+img:last-child,.ui-popup:not(.ui-content)>.ui-btn-right:first-child+img:last-child{-webkit-border-radius:inherit;border-radius:inherit}.ui-popup iframe{vertical-align:middle}.ui-popup>.ui-btn-left,.ui-popup>.ui-btn-right{position:absolute;top:-11px;margin:0;z-index:1101}.ui-popup>.ui-btn-left{left:-11px}.ui-popup>.ui-btn-right{right:-11px}.ui-popup-arrow-container{width:20px;height:20px}.ui-popup-arrow-container.ui-popup-arrow-l{left:-10px;clip:rect(-1000px,10px,2000px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-t{top:-10px;clip:rect(-1000px,2000px,10px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-r{right:-10px;clip:rect(-1000px,2000px,2000px,10px)}.ui-popup-arrow-container.ui-popup-arrow-b{bottom:-10px;clip:rect(10px,2000px,1000px,-1000px)}.ui-popup-arrow-container .ui-popup-arrow{width:28.284271247px;height:28.284271247px;border-width:1px;border-style:solid}.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow{left:-4.142135623px;top:5.857864376px}.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow{left:-4.142135623px;top:-14.142135623px}.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow{left:5.857864376px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow{left:-14.142135623px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-7.0710678118654755px}.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-4.142135623730951px}.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow{margin-left:-7.0710678118654755px;margin-top:-5.857864376269049px}.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow{margin-left:-4.142135623730951px;margin-top:-5.857864376269049px}.ui-popup>.ui-popup-arrow-guide{position:absolute;left:0;right:0;top:0;bottom:0;visibility:hidden}.ui-popup-arrow-container{position:absolute}.ui-popup-arrow{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;overflow:hidden;box-sizing:border-box}.ui-popup-arrow-container.ie .ui-popup-arrow{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.7071067811865474, M12=-.7071067811865477, M21=.7071067811865477, M22=.7071067811865474, SizingMethod='auto expand')}.ui-checkbox,.ui-radio{margin:.5em 0;position:relative}.ui-checkbox .ui-btn,.ui-radio .ui-btn{margin:0;text-align:left;white-space:normal;z-index:2}.ui-controlgroup .ui-checkbox .ui-btn.ui-focus,.ui-controlgroup .ui-radio .ui-btn.ui-focus{z-index:3}.ui-checkbox .ui-btn-icon-top,.ui-radio .ui-btn-icon-top,.ui-checkbox .ui-btn-icon-bottom,.ui-radio .ui-btn-icon-bottom{text-align:center}.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after,.ui-controlgroup-horizontal .ui-radio .ui-btn:after{content:none;display:none}.ui-checkbox input,.ui-radio input{position:absolute;left:.466em;top:50%;width:22px;height:22px;margin:-11px 0 0 0;outline:0!important;z-index:1}.ui-controlgroup-horizontal .ui-checkbox input,.ui-controlgroup-horizontal .ui-radio input{left:50%;margin-left:-9px}.ui-checkbox input:disabled,.ui-radio input:disabled{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select{margin-top:.5em;margin-bottom:.5em;position:relative}.ui-select>select{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select .ui-btn{margin:0;opacity:1}.ui-select .ui-btn select{position:absolute;top:0;left:0;width:100%;min-height:1.5em;min-height:100%;height:3em;max-height:100%;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;filter:Alpha(Opacity=0);opacity:0;z-index:2}@-moz-document url-prefix(){.ui-select .ui-btn select{opacity:.0001}}.ui-select .ui-state-disabled select{display:none}.ui-select span.ui-state-disabled{filter:Alpha(Opacity=100);opacity:1}.ui-select .ui-btn.ui-select-nativeonly{border-radius:0;border:0}.ui-select .ui-btn.ui-select-nativeonly select{opacity:1;text-indent:0;display:block}.ui-select .ui-li-has-count.ui-btn{padding-right:2.8125em}.ui-select .ui-li-has-count.ui-btn-icon-right{padding-right:4.6875em}.ui-select .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-select .ui-btn>span:not(.ui-li-count){display:block;text-overflow:ellipsis;overflow:hidden!important;white-space:nowrap}.ui-selectmenu.ui-popup{min-width:11em}.ui-selectmenu .ui-dialog-contain{overflow:hidden}.ui-selectmenu .ui-header{margin:0;padding:0;border-width:0}.ui-selectmenu.ui-dialog .ui-header{z-index:1;position:relative}.ui-selectmenu.ui-popup .ui-header{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-selectmenu.ui-popup .ui-header h1:after{content:'.';visibility:hidden}.ui-selectmenu .ui-header .ui-title{margin:0 2.875em}.ui-selectmenu.ui-dialog .ui-content{overflow:visible;z-index:1}.ui-selectmenu .ui-selectmenu-list{margin:0;-webkit-border-radius:inherit;border-radius:inherit}.ui-header:not(.ui-screen-hidden)+.ui-selectmenu-list{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.ui-header.ui-screen-hidden+.ui-selectmenu-list li.ui-first-child .ui-btn{border-top-width:0}.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn{border-bottom-width:0}.ui-selectmenu .ui-btn.ui-li-divider{cursor:default}.ui-selectmenu .ui-selectmenu-placeholder{display:none}.ui-listview,.ui-listview>li{margin:0;padding:0;list-style:none}.ui-content .ui-listview,.ui-panel-inner>.ui-listview{margin:-1em}.ui-content .ui-listview-inset,.ui-panel-inner>.ui-listview-inset{margin:1em 0}.ui-collapsible-content>.ui-listview{margin:-.5em -1em}.ui-collapsible-content>.ui-listview-inset{margin:.5em 0}.ui-listview>li{display:block;position:relative;overflow:visible}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{margin:0;display:block;position:relative;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li>.ui-btn:focus{z-index:1}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{border-width:1px 0 0;border-style:solid}.ui-listview-inset>.ui-li-static,.ui-listview-inset>.ui-li-divider,.ui-listview-inset>li>a.ui-btn{border-right-width:1px;border-left-width:1px}.ui-listview>.ui-li-static.ui-last-child,.ui-listview>.ui-li-divider.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{border-bottom-width:1px}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:0}.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child,.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child>a.ui-btn{border-bottom-width:0}.ui-listview>li.ui-first-child,.ui-listview>li.ui-first-child>a.ui-btn{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-listview>li.ui-li-has-alt>a.ui-btn{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-listview>li.ui-first-child>a.ui-btn+a.ui-btn{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-listview>li.ui-last-child>a.ui-btn+a.ui-btn{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-listview>li.ui-first-child img:first-child:not(.ui-li-icon){-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child img:first-child:not(.ui-li-icon){-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset){-webkit-border-radius:inherit;border-radius:inherit}.ui-listview>.ui-li-static{padding:.7em 1em}.ui-listview>.ui-li-divider{padding:.5em 1.143em;font-size:14px;font-weight:700;cursor:default;outline:0}.ui-listview>.ui-li-has-count>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-count,.ui-listview>.ui-li-divider.ui-li-has-count{padding-right:2.8125em}.ui-listview>.ui-li-has-count>.ui-btn-icon-right{padding-right:4.6875em}.ui-listview>.ui-li-has-thumb>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-thumb{min-height:3.625em;padding-left:6.25em}.ui-listview>.ui-li-has-icon>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-icon{min-height:1.25em;padding-left:2.5em}.ui-li-count{position:absolute;font-size:12.5px;font-weight:700;text-align:center;border-width:1px;border-style:solid;padding:0 .48em;line-height:1.6em;min-height:1.6em;min-width:.64em;right:.8em;top:50%;margin-top:-.88em}.ui-listview .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-listview .ui-li-has-thumb>img:first-child,.ui-listview .ui-li-has-thumb>.ui-btn>img:first-child,.ui-listview .ui-li-has-thumb .ui-li-thumb{position:absolute;left:0;top:0;max-height:5em;max-width:5em}.ui-listview>.ui-li-has-icon>img:first-child,.ui-listview>.ui-li-has-icon>.ui-btn>img:first-child{position:absolute;left:.625em;top:.9em;max-height:1em;max-width:1em}.ui-listview>li h1,.ui-listview>li h2,.ui-listview>li h3,.ui-listview>li h4,.ui-listview>li h5,.ui-listview>li h6{font-size:1em;font-weight:700;display:block;margin:.45em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li p{font-size:.75em;font-weight:400;display:block;margin:.6em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview .ui-li-aside{position:absolute;top:1em;right:3.333em;margin:0;text-align:right}.ui-listview>li.ui-li-has-alt>.ui-btn{margin-right:2.5em;border-right-width:0}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn{position:absolute;width:2.5em;height:100%;min-height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-left-width:1px;top:0;right:0;margin:0;padding:0;z-index:2}.ui-listview-inset>li.ui-li-has-alt>.ui-btn+.ui-btn{border-right-width:1px}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn:focus{z-index:3}ol.ui-listview,ol.ui-listview>.ui-li-divider{counter-reset:listnumbering}ol.ui-listview>li>.ui-btn,ol.ui-listview>li.ui-li-static{vertical-align:middle}ol.ui-listview>li>.ui-btn:first-child:before,ol.ui-listview>li.ui-li-static:before,ol.ui-listview>li.ui-field-contain>label:before,ol.ui-listview>li.ui-field-contain>.ui-controlgroup-label:before{display:inline-block;font-size:.9em;font-weight:400;padding-right:.3em;min-width:1.4em;line-height:1.5;vertical-align:middle;counter-increment:listnumbering;content:counter(listnumbering) "."}ol.ui-listview>li.ui-field-contain:before{content:none;display:none}ol.ui-listview>li h1:first-child,ol.ui-listview>li h2:first-child,ol.ui-listview>li h3:first-child,ol.ui-listview>li h4:first-child,ol.ui-listview>li h5:first-child,ol.ui-listview>li h6:first-child,ol.ui-listview>li p:first-child,ol.ui-listview>li img:first-child+*{display:inline-block;vertical-align:middle}ol.ui-listview>li h1:first-child~*,ol.ui-listview>li h2:first-child~*,ol.ui-listview>li h3:first-child~*,ol.ui-listview>li h4:first-child~*,ol.ui-listview>li h5:first-child~*,ol.ui-listview>li h6:first-child~*,ol.ui-listview>li p:first-child~*,ol.ui-listview>li img:first-child+*~*{margin-top:0;text-indent:2.04em}html .ui-filterable+.ui-listview,html .ui-filterable.ui-listview{margin-top:.5em}.ui-collapsible-content>form.ui-filterable{margin-top:-.5em}.ui-collapsible-content>.ui-input-search.ui-filterable{margin-top:0}.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:1px}div.ui-slider{height:30px;margin:.5em 0;padding:0;-ms-touch-action:pan-y pinch-zoom double-tap-zoom}div.ui-slider:before,div.ui-slider:after{content:"";display:table}div.ui-slider:after{clear:both}input.ui-slider-input{display:block;float:left;font-size:14px;font-weight:700;margin:0;padding:4px;width:40px;height:20px;line-height:20px;border-width:1px;border-style:solid;outline:0;text-align:center;vertical-align:text-bottom;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-slider-input::-webkit-outer-spin-button,.ui-slider-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-slider-track{position:relative;overflow:visible;border-width:1px;border-style:solid;height:15px;margin:0 15px 0 68px;top:6px}.ui-slider-track.ui-mini{height:12px;top:8px}.ui-slider-track .ui-slider-bg{height:100%}.ui-slider-track .ui-btn.ui-slider-handle{position:absolute;z-index:1;top:50%;width:28px;height:28px;margin:-15px 0 0 -15px;outline:0;padding:0}.ui-slider-track.ui-mini .ui-slider-handle{height:14px;width:14px;margin:-8px 0 0 -8px}select.ui-slider-switch{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}div.ui-slider-switch{display:inline-block;height:32px;width:5.8em;top:0}div.ui-slider-switch:before,div.ui-slider-switch:after{display:none;clear:none}div.ui-slider-switch.ui-mini{height:29px;top:0}.ui-slider-inneroffset{margin:0 16px;position:relative;z-index:1}.ui-slider-switch.ui-mini .ui-slider-inneroffset{margin:0 15px 0 14px}.ui-slider-switch .ui-btn.ui-slider-handle{margin:1px 0 0 -15px}.ui-slider-switch.ui-mini .ui-slider-handle{width:25px;height:25px;margin:1px 0 0 -13px;padding:0}.ui-slider-handle-snapping{-webkit-transition:left 70ms linear;-moz-transition:left 70ms linear;transition:left 70ms linear}.ui-slider-switch .ui-slider-label{position:absolute;text-align:center;width:100%;overflow:hidden;font-size:16px;top:0;line-height:2;min-height:100%;white-space:nowrap;cursor:pointer}.ui-slider-switch.ui-mini .ui-slider-label{font-size:14px}.ui-slider-switch .ui-slider-label-a{z-index:1;left:0;text-indent:-1.5em}.ui-slider-switch .ui-slider-label-b{z-index:0;right:0;text-indent:1.5em}.ui-slider-track .ui-slider-bg,.ui-slider-switch .ui-slider-label,.ui-slider-switch .ui-slider-inneroffset,.ui-slider-handle{-webkit-border-radius:inherit;border-radius:inherit}.ui-field-contain div.ui-slider-switch{margin:0}.ui-field-contain div.ui-slider-switch,.ui-field-contain.ui-hide-label div.ui-slider-switch,html .ui-popup .ui-field-contain div.ui-slider-switch{display:inline-block;width:5.8em}.ui-slider-popup{width:64px;height:64px;font-size:36px;padding-top:14px;opacity:.8}.ui-slider-popup{position:absolute!important;text-align:center;z-index:100}.ui-slider-track .ui-btn.ui-slider-handle{font-size:.9em;line-height:30px}.ui-rangeslider{margin:.5em 0}.ui-rangeslider:before,.ui-rangeslider:after{content:"";display:table}.ui-rangeslider:after{clear:both}.ui-rangeslider .ui-slider-input.ui-rangeslider-last{float:right}.ui-rangeslider .ui-rangeslider-sliders{position:relative;overflow:visible;height:30px;margin:0 68px}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track{position:absolute;top:6px;right:0;left:0;margin:0}.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track{top:8px}.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg{display:none}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{background-color:transparent;background:0;border-width:0;height:0}html >body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{height:15px;border-width:1px}html >body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child{height:12px}div.ui-rangeslider label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-field-contain .ui-rangeslider input.ui-slider-input,.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input,.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders,.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders{margin-top:0;margin-bottom:0}.ui-input-text,.ui-input-search{margin:.5em 0;border-width:1px;border-style:solid}.ui-mini{margin:.446em}.ui-input-text input,.ui-input-search input,textarea.ui-input-text{padding:.4em;line-height:1.4em;display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:0}.ui-input-text input,.ui-input-search input{margin:0;min-height:2.2em;text-align:left;border:0;background:transparent none;-webkit-appearance:none;-webkit-border-radius:inherit;border-radius:inherit}textarea.ui-input-text{overflow:auto;resize:vertical}.ui-mini .ui-input-text input,.ui-mini .ui-input-search input,.ui-input-text.ui-mini input,.ui-input-search.ui-mini input,.ui-mini textarea.ui-input-text,textarea.ui-mini{font-size:14px}.ui-mini textarea.ui-input-text,textarea.ui-mini{margin:.446em 0}.ui-input-has-clear,.ui-input-search{position:relative}.ui-input-has-clear{padding-right:2.375em}.ui-mini.ui-input-has-clear{padding-right:2.923em}.ui-input-has-clear input{padding-right:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-input-search input{padding-left:1.75em}.ui-input-search:after{position:absolute;left:.3125em;top:50%;margin-top:-7px;content:"";background-position:center center;background-repeat:no-repeat;width:14px;height:14px;filter:Alpha(Opacity=50);opacity:.5}.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear,.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear{position:absolute;right:0;top:50%;margin:-14px .3125em 0;border:0;background-color:transparent}.ui-input-search .ui-input-clear-hidden,.ui-input-text .ui-input-clear-hidden{display:none}.ui-input-text input::-moz-placeholder,.ui-input-search input::-moz-placeholder,textarea.ui-input-text::-moz-placeholder{color:#aaa}.ui-input-text input:-ms-input-placeholder,.ui-input-search input:-ms-input-placeholder,textarea.ui-input-text:-ms-input-placeholder{color:#aaa}.ui-input-text input[type=number]::-webkit-outer-spin-button{margin:0}.ui-input-text input::-ms-clear,.ui-input-search input::-ms-clear{display:none}.ui-input-text input:focus,.ui-input-search input:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea.ui-input-text.ui-textinput-autogrow{overflow:hidden}.ui-textinput-autogrow-resize{-webkit-transition:height .25s;-o-transition:height .25s;-moz-transition:height .25s;transition:height .25s}.ui-flipswitch{display:inline-block;vertical-align:middle;width:5.875em;height:1.875em;border-width:1px;border-style:solid;margin:.5em 0;overflow:hidden;-webkit-transition-property:padding,width,background-color,color,border-color;-moz-transition-property:padding,width,background-color,color,border-color;-o-transition-property:padding,width,background-color,color,border-color;transition-property:padding,width,background-color,color,border-color;-webkit-transition-duration:100ms;-moz-transition-duration:100ms;-o-transition-duration:100ms;transition-duration:100ms;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.ui-flipswitch.ui-flipswitch-active{padding-left:4em;width:1.875em}.ui-flipswitch-input{position:absolute;height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;outline:0;filter:Alpha(Opacity=0);opacity:0}.ui-flipswitch .ui-btn.ui-flipswitch-on,.ui-flipswitch .ui-flipswitch-off{float:left;height:1.75em;margin:.0625em;line-height:1.65em}.ui-flipswitch .ui-btn.ui-flipswitch-on{width:1.75em;padding:0;text-indent:-2.6em;text-align:left;border-width:1px;border-style:solid;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:inherit;overflow:visible;color:inherit;text-shadow:inherit}.ui-flipswitch .ui-flipswitch-off{padding:1px;text-indent:1em}html .ui-field-contain>label+.ui-flipswitch,html .ui-popup .ui-field-contain>label+.ui-flipswitch{display:inline-block;width:5.875em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-field-contain .ui-flipswitch.ui-flipswitch-active,.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active{width:1.875em}.ui-table{border:0;border-collapse:collapse;padding:0;width:100%}.ui-table th,.ui-table td{line-height:1.5em;text-align:left;padding:.4em .5em;vertical-align:top}.ui-table th .ui-btn,.ui-table td .ui-btn{line-height:normal}.ui-table th{font-weight:700}.ui-table caption{text-align:left;margin-bottom:1.4em;opacity:.5}.ui-table-columntoggle-btn{float:right;margin-bottom:.8em}.ui-table-columntoggle-popup fieldset{margin:0}.ui-table-columntoggle{clear:both}@media only all{th.ui-table-priority-6,td.ui-table-priority-6,th.ui-table-priority-5,td.ui-table-priority-5,th.ui-table-priority-4,td.ui-table-priority-4,th.ui-table-priority-3,td.ui-table-priority-3,th.ui-table-priority-2,td.ui-table-priority-2,th.ui-table-priority-1,td.ui-table-priority-1{display:none}}@media screen and (min-width:20em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-1,.ui-table-columntoggle.ui-responsive td.ui-table-priority-1{display:table-cell}}@media screen and (min-width:30em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-2,.ui-table-columntoggle.ui-responsive td.ui-table-priority-2{display:table-cell}}@media screen and (min-width:40em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-3,.ui-table-columntoggle.ui-responsive td.ui-table-priority-3{display:table-cell}}@media screen and (min-width:50em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-4,.ui-table-columntoggle.ui-responsive td.ui-table-priority-4{display:table-cell}}@media screen and (min-width:60em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-5,.ui-table-columntoggle.ui-responsive td.ui-table-priority-5{display:table-cell}}@media screen and (min-width:70em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-6,.ui-table-columntoggle.ui-responsive td.ui-table-priority-6{display:table-cell}}.ui-table-columntoggle th.ui-table-cell-hidden,.ui-table-columntoggle td.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden{display:none}.ui-table-columntoggle th.ui-table-cell-visible,.ui-table-columntoggle td.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible{display:table-cell}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{display:none}@media only all{.ui-table-reflow thead td,.ui-table-reflow thead th{display:none}.ui-table-reflow td,.ui-table-reflow th{text-align:left;display:block}.ui-table-reflow tbody th{margin-top:3em}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em}.ui-table-reflow th .ui-table-cell-label-top,.ui-table-reflow td .ui-table-cell-label-top{display:block;padding:.4em 0;margin:.4em 0;text-transform:uppercase;font-size:.9em;font-weight:400}}@media (min-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th,.ui-table-reflow.ui-responsive tbody th,.ui-table-reflow.ui-responsive tbody td,.ui-table-reflow.ui-responsive thead td,.ui-table-reflow.ui-responsive thead th{display:table-cell;margin:0}.ui-table-reflow.ui-responsive td .ui-table-cell-label,.ui-table-reflow.ui-responsive th .ui-table-cell-label{display:none}}@media (max-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}}.ui-panel{width:17em;min-height:100%;max-height:none;border-width:0;position:absolute;top:0;display:block}.ui-panel-closed{width:0;max-height:100%;overflow:hidden;visibility:hidden;left:0;clip:rect(1px,1px,1px,1px)}.ui-panel-fixed{position:fixed;bottom:-1px;padding-bottom:1px}.ui-panel-display-reveal{z-index:1}.ui-panel-display-push{z-index:999}.ui-panel-display-overlay{z-index:1001}.ui-panel-inner{padding:1em}.ui-panel-page-container{overflow-x:visible}.ui-panel-page-container-themed .ui-page-active{background:0}.ui-panel-wrapper{position:relative;min-height:inherit;border:0;overflow-x:hidden;z-index:999}.ui-panel-fixed-toolbar{overflow-x:hidden}.ui-panel-dismiss{position:absolute;top:0;left:0;right:0;height:100%;z-index:1002;display:none}.ui-panel-dismiss-open{display:block}.ui-panel-animate{-webkit-transition:-webkit-transform 300ms ease;-webkit-transition-duration:300ms;-moz-transition:-moz-transform 300ms ease;transition:transform 300ms ease}@media screen and (max-device-width:768px){.ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper,.ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper,.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:none}.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:-ms-transform 1ms;-ms-transform:rotate(0deg)}}.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal){-webkit-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0)}.ui-panel-position-left{left:-17em}.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-left.ui-panel-display-push{left:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-position-left.ui-panel-display-reveal,.ui-panel-open.ui-panel-position-left{left:0}.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-position-right{right:-17em}.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-right.ui-panel-display-push{right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-position-right.ui-panel-display-reveal,.ui-panel-position-right.ui-panel-open{right:0}.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-page-content-position-left{left:17em;right:-17em}.ui-panel-animate.ui-panel-page-content-position-left{left:0;right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-page-content-position-right{left:-17em;right:17em}.ui-panel-animate.ui-panel-page-content-position-right{left:0;right:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-dismiss-open.ui-panel-dismiss-position-left{left:17em}.ui-panel-dismiss-open.ui-panel-dismiss-position-right{right:17em}.ui-panel-display-reveal{-webkit-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);box-shadow:inset -5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-reveal{-webkit-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);box-shadow:inset 5px 0 5px rgba(0,0,0,.15)}.ui-panel-display-overlay{-webkit-box-shadow:5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:5px 0 5px rgba(0,0,0,.15);box-shadow:5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-overlay{-webkit-box-shadow:-5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:-5px 0 5px rgba(0,0,0,.15);box-shadow:-5px 0 5px rgba(0,0,0,.15)}.ui-panel-open.ui-panel-position-left.ui-panel-display-push{border-right-width:1px;margin-right:-1px}.ui-panel-page-content-position-left.ui-panel-page-content-display-push{margin-left:1px;width:auto}.ui-panel-open.ui-panel-position-right.ui-panel-display-push{border-left-width:1px;margin-left:-1px}.ui-panel-page-content-position-right.ui-panel-page-content-display-push{margin-right:1px;width:auto}@media (min-width:55em){.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left{margin-right:17em}.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right{margin-left:17em}.ui-responsive-panel .ui-panel-page-content-open{width:auto}.ui-responsive-panel .ui-panel-dismiss-display-push,.ui-responsive-panel.ui-page-active~.ui-panel-dismiss-display-push{display:none}}.ui-tabs{position:relative;padding:.2em} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.css deleted file mode 100644 index 1016cb8b..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.css +++ /dev/null @@ -1,4380 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -.ui-icon-action:after { - background-image: url(images/icons-png/action-white.png); -} -.ui-icon-alert:after { - background-image: url(images/icons-png/alert-white.png); -} -.ui-icon-arrow-d-l:after { - background-image: url(images/icons-png/arrow-d-l-white.png); -} -.ui-icon-arrow-d-r:after { - background-image: url(images/icons-png/arrow-d-r-white.png); -} -.ui-icon-arrow-d:after { - background-image: url(images/icons-png/arrow-d-white.png); -} -.ui-icon-arrow-l:after { - background-image: url(images/icons-png/arrow-l-white.png); -} -.ui-icon-arrow-r:after { - background-image: url(images/icons-png/arrow-r-white.png); -} -.ui-icon-arrow-u-l:after { - background-image: url(images/icons-png/arrow-u-l-white.png); -} -.ui-icon-arrow-u-r:after { - background-image: url(images/icons-png/arrow-u-r-white.png); -} -.ui-icon-arrow-u:after { - background-image: url(images/icons-png/arrow-u-white.png); -} -.ui-icon-audio:after { - background-image: url(images/icons-png/audio-white.png); -} -.ui-icon-back:after { - background-image: url(images/icons-png/back-white.png); -} -.ui-icon-bars:after { - background-image: url(images/icons-png/bars-white.png); -} -.ui-icon-bullets:after { - background-image: url(images/icons-png/bullets-white.png); -} -.ui-icon-calendar:after { - background-image: url(images/icons-png/calendar-white.png); -} -.ui-icon-camera:after { - background-image: url(images/icons-png/camera-white.png); -} -.ui-icon-carat-d:after { - background-image: url(images/icons-png/carat-d-white.png); -} -.ui-icon-carat-l:after { - background-image: url(images/icons-png/carat-l-white.png); -} -.ui-icon-carat-r:after { - background-image: url(images/icons-png/carat-r-white.png); -} -.ui-icon-carat-u:after { - background-image: url(images/icons-png/carat-u-white.png); -} -.ui-icon-check:after, -/* Used ui-checkbox-on twice to increase specificity. If active state has background-image for gradient this rule overrides. */ -html .ui-btn.ui-checkbox-on.ui-checkbox-on:after { - background-image: url(images/icons-png/check-white.png); -} -.ui-icon-clock:after { - background-image: url(images/icons-png/clock-white.png); -} -.ui-icon-cloud:after { - background-image: url(images/icons-png/cloud-white.png); -} -.ui-icon-comment:after { - background-image: url(images/icons-png/comment-white.png); -} -.ui-icon-delete:after { - background-image: url(images/icons-png/delete-white.png); -} -.ui-icon-edit:after { - background-image: url(images/icons-png/edit-white.png); -} -.ui-icon-eye:after { - background-image: url(images/icons-png/eye-white.png); -} -.ui-icon-forbidden:after { - background-image: url(images/icons-png/forbidden-white.png); -} -.ui-icon-forward:after { - background-image: url(images/icons-png/forward-white.png); -} -.ui-icon-gear:after { - background-image: url(images/icons-png/gear-white.png); -} -.ui-icon-grid:after { - background-image: url(images/icons-png/grid-white.png); -} -.ui-icon-heart:after { - background-image: url(images/icons-png/heart-white.png); -} -.ui-icon-home:after { - background-image: url(images/icons-png/home-white.png); -} -.ui-icon-info:after { - background-image: url(images/icons-png/info-white.png); -} -.ui-icon-location:after { - background-image: url(images/icons-png/location-white.png); -} -.ui-icon-lock:after { - background-image: url(images/icons-png/lock-white.png); -} -.ui-icon-mail:after { - background-image: url(images/icons-png/mail-white.png); -} -.ui-icon-minus:after { - background-image: url(images/icons-png/minus-white.png); -} -.ui-icon-navigation:after { - background-image: url(images/icons-png/navigation-white.png); -} -.ui-icon-phone:after { - background-image: url(images/icons-png/phone-white.png); -} -.ui-icon-plus:after { - background-image: url(images/icons-png/plus-white.png); -} -.ui-icon-power:after { - background-image: url(images/icons-png/power-white.png); -} -.ui-icon-recycle:after { - background-image: url(images/icons-png/recycle-white.png); -} -.ui-icon-refresh:after { - background-image: url(images/icons-png/refresh-white.png); -} -.ui-icon-search:after { - background-image: url(images/icons-png/search-white.png); -} -.ui-icon-shop:after { - background-image: url(images/icons-png/shop-white.png); -} -.ui-icon-star:after { - background-image: url(images/icons-png/star-white.png); -} -.ui-icon-tag:after { - background-image: url(images/icons-png/tag-white.png); -} -.ui-icon-user:after { - background-image: url(images/icons-png/user-white.png); -} -.ui-icon-video:after { - background-image: url(images/icons-png/video-white.png); -} -/* Alt icons */ -.ui-alt-icon.ui-icon-action:after, -.ui-alt-icon .ui-icon-action:after { - background-image: url(images/icons-png/action-black.png); -} -.ui-alt-icon.ui-icon-alert:after, -.ui-alt-icon .ui-icon-alert:after { - background-image: url(images/icons-png/alert-black.png); -} -.ui-alt-icon.ui-icon-arrow-d:after, -.ui-alt-icon .ui-icon-arrow-d:after { - background-image: url(images/icons-png/arrow-d-black.png); -} -.ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url(images/icons-png/arrow-d-l-black.png); -} -.ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url(images/icons-png/arrow-d-r-black.png); -} -.ui-alt-icon.ui-icon-arrow-l:after, -.ui-alt-icon .ui-icon-arrow-l:after { - background-image: url(images/icons-png/arrow-l-black.png); -} -.ui-alt-icon.ui-icon-arrow-r:after, -.ui-alt-icon .ui-icon-arrow-r:after { - background-image: url(images/icons-png/arrow-r-black.png); -} -.ui-alt-icon.ui-icon-arrow-u:after, -.ui-alt-icon .ui-icon-arrow-u:after { - background-image: url(images/icons-png/arrow-u-black.png); -} -.ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url(images/icons-png/arrow-u-l-black.png); -} -.ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url(images/icons-png/arrow-u-r-black.png); -} -.ui-alt-icon.ui-icon-audio:after, -.ui-alt-icon .ui-icon-audio:after { - background-image: url(images/icons-png/audio-black.png); -} -.ui-alt-icon.ui-icon-back:after, -.ui-alt-icon .ui-icon-back:after { - background-image: url(images/icons-png/back-black.png); -} -.ui-alt-icon.ui-icon-bars:after, -.ui-alt-icon .ui-icon-bars:after { - background-image: url(images/icons-png/bars-black.png); -} -.ui-alt-icon.ui-icon-bullets:after, -.ui-alt-icon .ui-icon-bullets:after { - background-image: url(images/icons-png/bullets-black.png); -} -.ui-alt-icon.ui-icon-calendar:after, -.ui-alt-icon .ui-icon-calendar:after { - background-image: url(images/icons-png/calendar-black.png); -} -.ui-alt-icon.ui-icon-camera:after, -.ui-alt-icon .ui-icon-camera:after { - background-image: url(images/icons-png/camera-black.png); -} -.ui-alt-icon.ui-icon-carat-d:after, -.ui-alt-icon .ui-icon-carat-d:after { - background-image: url(images/icons-png/carat-d-black.png); -} -.ui-alt-icon.ui-icon-carat-l:after, -.ui-alt-icon .ui-icon-carat-l:after { - background-image: url(images/icons-png/carat-l-black.png); -} -.ui-alt-icon.ui-icon-carat-r:after, -.ui-alt-icon .ui-icon-carat-r:after { - background-image: url(images/icons-png/carat-r-black.png); -} -.ui-alt-icon.ui-icon-carat-u:after, -.ui-alt-icon .ui-icon-carat-u:after { - background-image: url(images/icons-png/carat-u-black.png); -} -.ui-alt-icon.ui-icon-check:after, -.ui-alt-icon .ui-icon-check:after, -html .ui-alt-icon.ui-btn.ui-checkbox-on:after, -html .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url(images/icons-png/check-black.png); -} -.ui-alt-icon.ui-icon-clock:after, -.ui-alt-icon .ui-icon-clock:after { - background-image: url(images/icons-png/clock-black.png); -} -.ui-alt-icon.ui-icon-cloud:after, -.ui-alt-icon .ui-icon-cloud:after { - background-image: url(images/icons-png/cloud-black.png); -} -.ui-alt-icon.ui-icon-comment:after, -.ui-alt-icon .ui-icon-comment:after { - background-image: url(images/icons-png/comment-black.png); -} -.ui-alt-icon.ui-icon-delete:after, -.ui-alt-icon .ui-icon-delete:after { - background-image: url(images/icons-png/delete-black.png); -} -.ui-alt-icon.ui-icon-edit:after, -.ui-alt-icon .ui-icon-edit:after { - background-image: url(images/icons-png/edit-black.png); -} -.ui-alt-icon.ui-icon-eye:after, -.ui-alt-icon .ui-icon-eye:after { - background-image: url(images/icons-png/eye-black.png); -} -.ui-alt-icon.ui-icon-forbidden:after, -.ui-alt-icon .ui-icon-forbidden:after { - background-image: url(images/icons-png/forbidden-black.png); -} -.ui-alt-icon.ui-icon-forward:after, -.ui-alt-icon .ui-icon-forward:after { - background-image: url(images/icons-png/forward-black.png); -} -.ui-alt-icon.ui-icon-gear:after, -.ui-alt-icon .ui-icon-gear:after { - background-image: url(images/icons-png/gear-black.png); -} -.ui-alt-icon.ui-icon-grid:after, -.ui-alt-icon .ui-icon-grid:after { - background-image: url(images/icons-png/grid-black.png); -} -.ui-alt-icon.ui-icon-heart:after, -.ui-alt-icon .ui-icon-heart:after { - background-image: url(images/icons-png/heart-black.png); -} -.ui-alt-icon.ui-icon-home:after, -.ui-alt-icon .ui-icon-home:after { - background-image: url(images/icons-png/home-black.png); -} -.ui-alt-icon.ui-icon-info:after, -.ui-alt-icon .ui-icon-info:after { - background-image: url(images/icons-png/info-black.png); -} -.ui-alt-icon.ui-icon-location:after, -.ui-alt-icon .ui-icon-location:after { - background-image: url(images/icons-png/location-black.png); -} -.ui-alt-icon.ui-icon-lock:after, -.ui-alt-icon .ui-icon-lock:after { - background-image: url(images/icons-png/lock-black.png); -} -.ui-alt-icon.ui-icon-mail:after, -.ui-alt-icon .ui-icon-mail:after { - background-image: url(images/icons-png/mail-black.png); -} -.ui-alt-icon.ui-icon-minus:after, -.ui-alt-icon .ui-icon-minus:after { - background-image: url(images/icons-png/minus-black.png); -} -.ui-alt-icon.ui-icon-navigation:after, -.ui-alt-icon .ui-icon-navigation:after { - background-image: url(images/icons-png/navigation-black.png); -} -.ui-alt-icon.ui-icon-phone:after, -.ui-alt-icon .ui-icon-phone:after { - background-image: url(images/icons-png/phone-black.png); -} -.ui-alt-icon.ui-icon-plus:after, -.ui-alt-icon .ui-icon-plus:after { - background-image: url(images/icons-png/plus-black.png); -} -.ui-alt-icon.ui-icon-power:after, -.ui-alt-icon .ui-icon-power:after { - background-image: url(images/icons-png/power-black.png); -} -.ui-alt-icon.ui-icon-recycle:after, -.ui-alt-icon .ui-icon-recycle:after { - background-image: url(images/icons-png/recycle-black.png); -} -.ui-alt-icon.ui-icon-refresh:after, -.ui-alt-icon .ui-icon-refresh:after { - background-image: url(images/icons-png/refresh-black.png); -} -.ui-alt-icon.ui-icon-search:after, -.ui-alt-icon .ui-icon-search:after, -.ui-input-search:after { - background-image: url(images/icons-png/search-black.png); -} -.ui-alt-icon.ui-icon-shop:after, -.ui-alt-icon .ui-icon-shop:after { - background-image: url(images/icons-png/shop-black.png); -} -.ui-alt-icon.ui-icon-star:after, -.ui-alt-icon .ui-icon-star:after { - background-image: url(images/icons-png/star-black.png); -} -.ui-alt-icon.ui-icon-tag:after, -.ui-alt-icon .ui-icon-tag:after { - background-image: url(images/icons-png/tag-black.png); -} -.ui-alt-icon.ui-icon-user:after, -.ui-alt-icon .ui-icon-user:after { - background-image: url(images/icons-png/user-black.png); -} -.ui-alt-icon.ui-icon-video:after, -.ui-alt-icon .ui-icon-video:after { - background-image: url(images/icons-png/video-black.png); -} -/* Globals */ -/* Font ------------------------------------------------------------------------------------------------------------*/ -html { - font-size: 100%; -} -body, -input, -select, -textarea, -button, -.ui-btn { - font-size: 1em; - line-height: 1.3; - font-family: sans-serif /*{global-font-family}*/; -} -legend, -.ui-input-text input, -.ui-input-search input { - color: inherit; - text-shadow: inherit; -} -/* Form labels (overrides font-weight bold in bars, and mini font-size) */ -.ui-mobile label, -div.ui-controlgroup-label { - font-weight: normal; - font-size: 16px; -} -/* Separators ------------------------------------------------------------------------------------------------------------*/ -/* Field contain separator (< 28em) */ -.ui-field-contain { - border-bottom-color: #828282; - border-bottom-color: rgba(0,0,0,.15); - border-bottom-width: 1px; - border-bottom-style: solid; -} -/* Table opt-in classes: strokes between each row, and alternating row stripes */ -/* Classes table-stroke and table-stripe are deprecated in 1.4. */ -.table-stroke thead th, -.table-stripe thead th, -.table-stripe tbody tr:last-child { - border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.1); -} -.table-stroke tbody th, -.table-stroke tbody td { - border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.05); -} -.table-stripe.table-stroke tbody tr:last-child th, -.table-stripe.table-stroke tbody tr:last-child td { - border-bottom: 0; -} -.table-stripe tbody tr:nth-child(odd) td, -.table-stripe tbody tr:nth-child(odd) th { - background-color: #eeeeee; /* non-RGBA fallback */ - background-color: rgba(0,0,0,.04); -} -/* Buttons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn, -label.ui-btn { - font-weight: bold; - border-width: 1px; - border-style: solid; -} -.ui-btn { - text-decoration: none !important; -} -.ui-btn-active { - cursor: pointer; -} -/* Corner rounding ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-btn-corner-all deprecated in 1.4 */ -.ui-corner-all { - -webkit-border-radius: .3125em /*{global-radii-blocks}*/; - border-radius: .3125em /*{global-radii-blocks}*/; -} -/* Buttons */ -.ui-btn-corner-all, -.ui-btn.ui-corner-all, -/* Slider track */ -.ui-slider-track.ui-corner-all, -/* Flipswitch */ -.ui-flipswitch.ui-corner-all, -/* Count bubble */ -.ui-li-count { - -webkit-border-radius: .3125em /*{global-radii-buttons}*/; - border-radius: .3125em /*{global-radii-buttons}*/; -} -/* Icon-only buttons */ -.ui-btn-icon-notext.ui-btn-corner-all, -.ui-btn-icon-notext.ui-corner-all { - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Radius clip workaround for cleaning up corner trapping */ -.ui-btn-corner-all, -.ui-corner-all { - -webkit-background-clip: padding; - background-clip: padding-box; -} -/* Popup arrow */ -.ui-popup.ui-corner-all > .ui-popup-arrow-guide { - left: .6em /*{global-radii-blocks}*/; - right: .6em /*{global-radii-blocks}*/; - top: .6em /*{global-radii-blocks}*/; - bottom: .6em /*{global-radii-blocks}*/; -} -/* Shadow ------------------------------------------------------------------------------------------------------------*/ -.ui-shadow { - -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; -} -.ui-shadow-inset { - -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; -} -.ui-overlay-shadow { - -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); - -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); - box-shadow: 0 0 12px rgba(0,0,0,.6); -} -/* Icons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; - background-position: center center; - background-repeat: no-repeat; - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Alt icons */ -.ui-alt-icon.ui-btn:after, -.ui-alt-icon .ui-btn:after, -html .ui-alt-icon.ui-checkbox-off:after, -html .ui-alt-icon.ui-radio-off:after, -html .ui-alt-icon .ui-checkbox-off:after, -html .ui-alt-icon .ui-radio-off:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.15) /*{global-icon-disc}*/; -} -/* No disc */ -.ui-nodisc-icon.ui-btn:after, -.ui-nodisc-icon .ui-btn:after { - background-color: transparent; -} -/* Icon shadow */ -.ui-shadow-icon.ui-btn:after, -.ui-shadow-icon .ui-btn:after { - -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; -} -/* Checkbox and radio */ -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after, -.ui-btn.ui-radio-off:after, -.ui-btn.ui-radio-on:after { - display: block; - width: 18px; - height: 18px; - margin: -9px 2px 0 2px; -} -.ui-checkbox-off:after, -.ui-btn.ui-radio-off:after { - filter: Alpha(Opacity=30); - opacity: .3; -} -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after { - -webkit-border-radius: .1875em; - border-radius: .1875em; -} -.ui-btn.ui-checkbox-off:after { - background-color: #666; - background-color: rgba(0,0,0,.3); -} -.ui-radio .ui-btn.ui-radio-on:after { - background-image: none; - background-color: #fff; - width: 8px; - height: 8px; - border-width: 5px; - border-style: solid; -} -.ui-alt-icon.ui-btn.ui-radio-on:after, -.ui-alt-icon .ui-btn.ui-radio-on:after { - background-color: #000; -} -/* Loader */ -.ui-icon-loading { - background: url(images/ajax-loader.gif); - background-size: 2.875em 2.875em; -} -/* Swatches */ -/* A ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-a, -.ui-page-theme-a .ui-bar-inherit, -html .ui-bar-a .ui-bar-inherit, -html .ui-body-a .ui-bar-inherit, -html body .ui-group-theme-a .ui-bar-inherit { - background-color: #e9e9e9 /*{a-bar-background-color}*/; - border-color: #ddd /*{a-bar-border}*/; - color: #333 /*{a-bar-color}*/; - text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #eee /*{a-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-a { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-a, -.ui-page-theme-a, -.ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9 /*{a-page-background-color}*/; - border-color: #bbb /*{a-page-border}*/; - color: #333 /*{a-page-color}*/; - text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #f3f3f3 /*{a-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-a, -.ui-page-theme-a .ui-body-inherit, -html .ui-bar-a .ui-body-inherit, -html .ui-body-a .ui-body-inherit, -html body .ui-group-theme-a .ui-body-inherit, -html .ui-panel-page-container-a { - background-color: #fff /*{a-body-background-color}*/; - border-color: #ddd /*{a-body-border}*/; - color: #333 /*{a-body-color}*/; - text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #f3f3f3 /*{a-body-shadow-color}*/; -} -.ui-body-a { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-a a, -html .ui-bar-a a, -html .ui-body-a a, -html body .ui-group-theme-a a { - color: #3388cc /*{a-link-color}*/; - font-weight: bold; -} -.ui-page-theme-a a:visited, -html .ui-bar-a a:visited, -html .ui-body-a a:visited, -html body .ui-group-theme-a a:visited { - color: #3388cc /*{a-link-visited}*/; -} -.ui-page-theme-a a:hover, -html .ui-bar-a a:hover, -html .ui-body-a a:hover, -html body .ui-group-theme-a a:hover { - color: #005599 /*{a-link-hover}*/; -} -.ui-page-theme-a a:active, -html .ui-bar-a a:active, -html .ui-body-a a:active, -html body .ui-group-theme-a a:active { - color: #005599 /*{a-link-active}*/; -} -/* Button up */ -.ui-page-theme-a .ui-btn, -html .ui-bar-a .ui-btn, -html .ui-body-a .ui-btn, -html body .ui-group-theme-a .ui-btn, -html head + body .ui-btn.ui-btn-a, -/* Button visited */ -.ui-page-theme-a .ui-btn:visited, -html .ui-bar-a .ui-btn:visited, -html .ui-body-a .ui-btn:visited, -html body .ui-group-theme-a .ui-btn:visited, -html head + body .ui-btn.ui-btn-a:visited { - background-color: #f6f6f6 /*{a-bup-background-color}*/; - border-color: #ddd /*{a-bup-border}*/; - color: #333 /*{a-bup-color}*/; - text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-a .ui-btn:hover, -html .ui-bar-a .ui-btn:hover, -html .ui-body-a .ui-btn:hover, -html body .ui-group-theme-a .ui-btn:hover, -html head + body .ui-btn.ui-btn-a:hover { - background-color: #ededed /*{a-bhover-background-color}*/; - border-color: #ddd /*{a-bhover-border}*/; - color: #333 /*{a-bhover-color}*/; - text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-a .ui-btn:active, -html .ui-bar-a .ui-btn:active, -html .ui-body-a .ui-btn:active, -html body .ui-group-theme-a .ui-btn:active, -html head + body .ui-btn.ui-btn-a:active { - background-color: #e8e8e8 /*{a-bdown-background-color}*/; - border-color: #ddd /*{a-bdown-border}*/; - color: #333 /*{a-bdown-color}*/; - text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-a .ui-btn.ui-btn-active, -html .ui-bar-a .ui-btn.ui-btn-active, -html .ui-body-a .ui-btn.ui-btn-active, -html body .ui-group-theme-a .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-a.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-a .ui-checkbox-on:after, -html .ui-bar-a .ui-checkbox-on:after, -html .ui-body-a .ui-checkbox-on:after, -html body .ui-group-theme-a .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-a:after, -/* Active flipswitch background */ -.ui-page-theme-a .ui-flipswitch-active, -html .ui-bar-a .ui-flipswitch-active, -html .ui-body-a .ui-flipswitch-active, -html body .ui-group-theme-a .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-a .ui-slider-track .ui-btn-active, -html .ui-bar-a .ui-slider-track .ui-btn-active, -html .ui-body-a .ui-slider-track .ui-btn-active, -html body .ui-group-theme-a .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-a .ui-btn-active { - background-color: #3388cc /*{a-active-background-color}*/; - border-color: #3388cc /*{a-active-border}*/; - color: #fff /*{a-active-color}*/; - text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-a .ui-radio-on:after, -html .ui-bar-a .ui-radio-on:after, -html .ui-body-a .ui-radio-on:after, -html body .ui-group-theme-a .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-a:after { - border-color: #3388cc /*{a-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-a .ui-btn:focus, -html .ui-bar-a .ui-btn:focus, -html .ui-body-a .ui-btn:focus, -html body .ui-group-theme-a .ui-btn:focus, -html head + body .ui-btn.ui-btn-a:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-a .ui-focus, -html .ui-bar-a .ui-focus, -html .ui-body-a .ui-focus, -html body .ui-group-theme-a .ui-focus, -html head + body .ui-btn-a.ui-focus, -html head + body .ui-body-a.ui-focus { - -webkit-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - -moz-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; -} -/* B ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-b, -.ui-page-theme-b .ui-bar-inherit, -html .ui-bar-b .ui-bar-inherit, -html .ui-body-b .ui-bar-inherit, -html body .ui-group-theme-b .ui-bar-inherit { - background-color: #1d1d1d /*{b-bar-background-color}*/; - border-color: #1b1b1b /*{b-bar-border}*/; - color: #fff /*{b-bar-color}*/; - text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #111 /*{b-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-b { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-b, -.ui-page-theme-b, -.ui-page-theme-b .ui-panel-wrapper { - background-color: #252525 /*{b-page-background-color}*/; - border-color: #454545 /*{b-page-border}*/; - color: #fff /*{b-page-color}*/; - text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #111 /*{b-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-b, -.ui-page-theme-b .ui-body-inherit, -html .ui-bar-b .ui-body-inherit, -html .ui-body-b .ui-body-inherit, -html body .ui-group-theme-b .ui-body-inherit, -html .ui-panel-page-container-b { - background-color: #2a2a2a /*{b-body-background-color}*/; - border-color: #1d1d1d /*{b-body-border}*/; - color: #fff /*{b-body-color}*/; - text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #111 /*{b-body-shadow-color}*/; -} -.ui-body-b { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-b a, -html .ui-bar-b a, -html .ui-body-b a, -html body .ui-group-theme-b a { - color: #22aadd /*{b-link-color}*/; - font-weight: bold; -} -.ui-page-theme-b a:visited, -html .ui-bar-b a:visited, -html .ui-body-b a:visited, -html body .ui-group-theme-b a:visited { - color: #22aadd /*{b-link-visited}*/; -} -.ui-page-theme-b a:hover, -html .ui-bar-b a:hover, -html .ui-body-b a:hover, -html body .ui-group-theme-b a:hover { - color: #0088bb /*{b-link-hover}*/; -} -.ui-page-theme-b a:active, -html .ui-bar-b a:active, -html .ui-body-b a:active, -html body .ui-group-theme-b a:active { - color: #0088bb /*{b-link-active}*/; -} -/* Button up */ -.ui-page-theme-b .ui-btn, -html .ui-bar-b .ui-btn, -html .ui-body-b .ui-btn, -html body .ui-group-theme-b .ui-btn, -html head + body .ui-btn.ui-btn-b, -/* Button visited */ -.ui-page-theme-b .ui-btn:visited, -html .ui-bar-b .ui-btn:visited, -html .ui-body-b .ui-btn:visited, -html body .ui-group-theme-b .ui-btn:visited, -html head + body .ui-btn.ui-btn-b:visited { - background-color: #333 /*{b-bup-background-color}*/; - border-color: #1f1f1f /*{b-bup-border}*/; - color: #fff /*{b-bup-color}*/; - text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111 /*{b-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-b .ui-btn:hover, -html .ui-bar-b .ui-btn:hover, -html .ui-body-b .ui-btn:hover, -html body .ui-group-theme-b .ui-btn:hover, -html head + body .ui-btn.ui-btn-b:hover { - background-color: #373737 /*{b-bhover-background-color}*/; - border-color: #1f1f1f /*{b-bhover-border}*/; - color: #fff /*{b-bhover-color}*/; - text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111 /*{b-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-b .ui-btn:active, -html .ui-bar-b .ui-btn:active, -html .ui-body-b .ui-btn:active, -html body .ui-group-theme-b .ui-btn:active, -html head + body .ui-btn.ui-btn-b:active { - background-color: #404040 /*{b-bdown-background-color}*/; - border-color: #1f1f1f /*{b-bdown-border}*/; - color: #fff /*{b-bdown-color}*/; - text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111 /*{b-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-b .ui-btn.ui-btn-active, -html .ui-bar-b .ui-btn.ui-btn-active, -html .ui-body-b .ui-btn.ui-btn-active, -html body .ui-group-theme-b .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-b.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-b .ui-checkbox-on:after, -html .ui-bar-b .ui-checkbox-on:after, -html .ui-body-b .ui-checkbox-on:after, -html body .ui-group-theme-b .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-b:after, -/* Active flipswitch background */ -.ui-page-theme-b .ui-flipswitch-active, -html .ui-bar-b .ui-flipswitch-active, -html .ui-body-b .ui-flipswitch-active, -html body .ui-group-theme-b .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-b .ui-slider-track .ui-btn-active, -html .ui-bar-b .ui-slider-track .ui-btn-active, -html .ui-body-b .ui-slider-track .ui-btn-active, -html body .ui-group-theme-b .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-b .ui-btn-active { - background-color: #22aadd /*{b-active-background-color}*/; - border-color: #22aadd /*{b-active-border}*/; - color: #fff /*{b-active-color}*/; - text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-b .ui-radio-on:after, -html .ui-bar-b .ui-radio-on:after, -html .ui-body-b .ui-radio-on:after, -html body .ui-group-theme-b .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-b:after { - border-color: #22aadd /*{b-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-b .ui-btn:focus, -html .ui-bar-b .ui-btn:focus, -html .ui-body-b .ui-btn:focus, -html body .ui-group-theme-b .ui-btn:focus, -html head + body .ui-btn.ui-btn-b:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-b .ui-focus, -html .ui-bar-b .ui-focus, -html .ui-body-b .ui-focus, -html body .ui-group-theme-b .ui-focus, -html head + body .ui-btn-b.ui-focus, -html head + body .ui-body-b.ui-focus { - -webkit-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - -moz-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; -} -/* Structure */ -/* Disabled ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ -.ui-disabled, -.ui-state-disabled, -button[disabled], -.ui-select .ui-btn.ui-state-disabled { - filter: Alpha(Opacity=30); - opacity: .3; - cursor: default !important; - pointer-events: none; -} -/* Focus state outline ------------------------------------------------------------------------------------------------------------*/ -.ui-btn:focus, -.ui-btn.ui-focus { - outline: 0; -} -/* Unset box-shadow in browsers that don't do it right */ -.ui-noboxshadow .ui-shadow, -.ui-noboxshadow .ui-shadow-inset, -.ui-noboxshadow .ui-overlay-shadow, -.ui-noboxshadow .ui-shadow-icon.ui-btn:after, -.ui-noboxshadow .ui-shadow-icon .ui-btn:after, -.ui-noboxshadow .ui-focus, -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow input:focus, -.ui-noboxshadow .ui-panel { - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow .ui-focus { - outline-width: 1px; - outline-style: auto; -} -/* Some unsets */ -.ui-mobile, -.ui-mobile body { - height: 99.9%; -} -.ui-mobile fieldset, -.ui-page { - padding: 0; - margin: 0; -} -.ui-mobile a img, -.ui-mobile fieldset { - border-width: 0; -} -/* Fixes for fieldset issues on IE10 and FF (see #6077) */ -.ui-mobile fieldset { - min-width: 0; -} -@-moz-document url-prefix() { - .ui-mobile fieldset { - display: table-column; - vertical-align: middle; - } -} -/* Viewport */ -.ui-mobile-viewport { - margin: 0; - overflow-x: visible; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust:none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -/* Issue #2066 */ -body.ui-mobile-viewport, -div.ui-mobile-viewport { - overflow-x: hidden; -} -/* "page" containers - full-screen views, one should always be in view post-pageload */ -.ui-mobile [data-role=page], -.ui-mobile [data-role=dialog], -.ui-page { - top: 0; - left: 0; - width: 100%; - min-height: 100%; - position: absolute; - display: none; - border: 0; -} -/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */ -.ui-page { - outline: none; -} -.ui-mobile .ui-page-active { - display: block; - overflow: visible; - overflow-x: hidden; -} -@media screen and (orientation: portrait) { - .ui-mobile .ui-page { - min-height: 420px; - } -} -@media screen and (orientation: landscape) { - .ui-mobile .ui-page { - min-height: 300px; - } -} -/* Fouc */ -.ui-mobile-rendering > * { - visibility: hidden; -} -/* Non-js content hiding */ -.ui-nojs { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Loading screen */ -.ui-loading .ui-loader { - display: block; -} -.ui-loader { - display: none; - z-index: 9999999; - position: fixed; - top: 50%; - left: 50%; - border:0; -} -.ui-loader-default { - background: none; - filter: Alpha(Opacity=18); - opacity: .18; - width: 2.875em; - height: 2.875em; - margin-left: -1.4375em; - margin-top: -1.4375em; -} -.ui-loader-verbose { - width: 12.5em; - filter: Alpha(Opacity=88); - opacity: .88; - box-shadow: 0 1px 1px -1px #fff; - height: auto; - margin-left: -6.875em; - margin-top: -2.6875em; - padding: .625em; -} -.ui-loader-default h1 { - font-size: 0; - width: 0; - height: 0; - overflow: hidden; -} -.ui-loader-verbose h1 { - font-size: 1em; - margin: 0; - text-align: center; -} -.ui-loader .ui-icon-loading { - background-color: #000; - display: block; - margin: 0; - width: 2.75em; - height: 2.75em; - padding: .0625em; - -webkit-border-radius: 2.25em; - border-radius: 2.25em; -} -.ui-loader-verbose .ui-icon-loading { - margin: 0 auto .625em; - filter: Alpha(Opacity=75); - opacity: .75; -} -.ui-loader-textonly { - padding: .9375em; - margin-left: -7.1875em; -} -.ui-loader-textonly .ui-icon-loading { - display: none; -} -.ui-loader-fakefix { - position: absolute; -} -/* Headers, content panels */ -.ui-bar, -.ui-body { - position: relative; - padding: .4em 1em; - overflow: hidden; - display: block; - clear: both; -} -.ui-bar h1, -.ui-bar h2, -.ui-bar h3, -.ui-bar h4, -.ui-bar h5, -.ui-bar h6 { - margin: 0; - padding: 0; - font-size: 1em; - display: inline-block; -} -.ui-header, -.ui-footer { - border-width: 1px 0; - border-style: solid; - position: relative; -} -.ui-header:empty, -.ui-footer:empty { - min-height: 2.6875em; -} -.ui-header .ui-title, -.ui-footer .ui-title { - font-size: 1em; - min-height: 1.1em; - text-align: center; - display: block; - margin: 0 30%; - padding: .7em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - outline: 0 !important; -} -.ui-footer .ui-title { - margin: 0 1em; -} -.ui-content { - border-width: 0; - overflow: visible; - overflow-x: hidden; - padding: 1em; -} -/* Corner styling for dialogs and popups */ -.ui-corner-all > .ui-header:first-child, -.ui-corner-all > .ui-content:first-child, -.ui-corner-all > .ui-footer:first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-corner-all > .ui-header:last-child, -.ui-corner-all > .ui-content:last-child, -.ui-corner-all > .ui-footer:last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -/* Buttons and icons */ -.ui-btn { - font-size: 16px; - margin: .5em 0; - padding: .7em 1em; - display: block; - position: relative; - text-align: center; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.ui-btn-icon-notext, -.ui-header button.ui-btn.ui-btn-icon-notext, -.ui-footer button.ui-btn.ui-btn-icon-notext { - padding: 0; - width: 1.75em; - height: 1.75em; - text-indent: -9999px; - white-space: nowrap !important; -} -.ui-mini { - font-size: 12.5px; -} -.ui-mini .ui-btn { - font-size: inherit; -} -/* Make buttons in toolbars default to mini and inline. */ -.ui-header .ui-btn, -.ui-footer .ui-btn { - font-size: 12.5px; - display: inline-block; - vertical-align: middle; -} -.ui-header .ui-controlgroup .ui-btn-icon-notext, -.ui-footer .ui-controlgroup .ui-btn-icon-notext { - font-size: 12.5px; -} -/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right { - font-size: 12.5px; -} -.ui-mini.ui-btn-icon-notext, -.ui-mini .ui-btn-icon-notext, -.ui-header .ui-btn-icon-notext, -.ui-footer .ui-btn-icon-notext { - font-size: 16px; - padding: 0; -} -.ui-btn-inline { - display: inline-block; - vertical-align: middle; - margin-right: .625em; -} -.ui-btn-icon-left { - padding-left: 2.5em; -} -.ui-btn-icon-right { - padding-right: 2.5em; -} -.ui-btn-icon-top { - padding-top: 2.5em; -} -.ui-btn-icon-bottom { - padding-bottom: 2.5em; -} -.ui-header .ui-btn-icon-top, -.ui-footer .ui-btn-icon-top, -.ui-header .ui-btn-icon-bottom, -.ui-footer .ui-btn-icon-bottom { - padding-left: .3125em; - padding-right: .3125em; -} -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - content: ""; - position: absolute; - display: block; - width: 22px; - height: 22px; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-left:after, -.ui-btn-icon-right:after { - top: 50%; - margin-top: -11px; -} -.ui-btn-icon-left:after { - left: .5625em; -} -.ui-btn-icon-right:after { - right: .5625em; -} -.ui-mini.ui-btn-icon-left:after, -.ui-mini .ui-btn-icon-left:after, -.ui-header .ui-btn-icon-left:after, -.ui-footer .ui-btn-icon-left:after { - left: .37em; -} -.ui-mini.ui-btn-icon-right:after, -.ui-mini .ui-btn-icon-right:after, -.ui-header .ui-btn-icon-right:after, -.ui-footer .ui-btn-icon-right:after { - right: .37em; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after { - left: 50%; - margin-left: -11px; -} -.ui-btn-icon-top:after { - top: .5625em; -} -.ui-btn-icon-bottom:after { - top: auto; - bottom: .5625em; -} -/* Buttons in header position classes */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right, -.ui-btn-left > [class*="ui-"], -.ui-btn-right > [class*="ui-"] { - margin: 0; -} -.ui-btn-left, -.ui-btn-right { - position: absolute; - top: .24em; -} -.ui-btn-left { - left: .4em; -} -.ui-btn-right { - right: .4em; -} -.ui-btn-icon-notext.ui-btn-left { - top: .3125em; - left: .3125em; -} -.ui-btn-icon-notext.ui-btn-right { - top: .3125em; - right: .3125em; -} -/* Button elements */ -button.ui-btn, -.ui-controlgroup-controls button.ui-btn-icon-notext { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - width: 100%; -} -button.ui-btn-inline, -.ui-header button.ui-btn, -.ui-footer button.ui-btn { - width: auto; -} -/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */ -button.ui-btn::-moz-focus-inner { - border: 0; -} -button.ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - width: 1.75em; -} -/* Form labels */ -.ui-mobile label, -.ui-controlgroup-label { - display: block; - margin: 0 0 .4em; -} -/* Accessible content hiding */ -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-hide-label > label, -.ui-hide-label .ui-controlgroup-label, -.ui-hide-label .ui-rangeslider label, -.ui-hidden-accessible { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Used for hiding elements by the filterable widget. You can also use this class to hide list items or buttons in controlgroups; this ensures correct corner styling. */ -.ui-screen-hidden { - display: none !important; -} -/* Transitions originally inspired by those from jQtouch, nice work, folks */ -.ui-mobile-viewport-transitioning, -.ui-mobile-viewport-transitioning .ui-page { - width: 100%; - height: 100%; - overflow: hidden; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.ui-page-pre-in { - opacity: 0; -} -.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.out { - -webkit-animation-timing-function: ease-in; - -webkit-animation-duration: 225ms; - -moz-animation-timing-function: ease-in; - -moz-animation-duration: 225ms; - animation-timing-function: ease-in; - animation-duration: 225ms; -} -@-webkit-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-moz-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-webkit-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@-moz-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -.fade.out { - opacity: 0; - -webkit-animation-duration: 125ms; - -webkit-animation-name: fadeout; - -moz-animation-duration: 125ms; - -moz-animation-name: fadeout; - animation-duration: 125ms; - animation-name: fadeout; -} -.fade.in { - opacity: 1; - -webkit-animation-duration: 225ms; - -webkit-animation-name: fadein; - -moz-animation-duration: 225ms; - -moz-animation-name: fadein; - animation-duration: 225ms; - animation-name: fadein; -} -.pop { - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -.pop.in { - -webkit-transform: scale(1); - -webkit-animation-name: popin; - -webkit-animation-duration: 350ms; - -moz-transform: scale(1); - -moz-animation-name: popin; - -moz-animation-duration: 350ms; - transform: scale(1); - animation-name: popin; - animation-duration: 350ms; - opacity: 1; -} -.pop.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; - opacity: 0; -} -.pop.in.reverse { - -webkit-animation-name: fadein; - -moz-animation-name: fadein; - animation-name: fadein; -} -.pop.out.reverse { - -webkit-transform: scale(.8); - -webkit-animation-name: popout; - -moz-transform: scale(.8); - -moz-animation-name: popout; - transform: scale(.8); - animation-name: popout; -} -@-webkit-keyframes popin { - from { - -webkit-transform: scale(.8); - opacity: 0; - } - to { - -webkit-transform: scale(1); - opacity: 1; - } -} -@-moz-keyframes popin { - from { - -moz-transform: scale(.8); - opacity: 0; - } - to { - -moz-transform: scale(1); - opacity: 1; - } -} -@keyframes popin { - from { - transform: scale(.8); - opacity: 0; - } - to { - transform: scale(1); - opacity: 1; - } -} -@-webkit-keyframes popout { - from { - -webkit-transform: scale(1); - opacity: 1; - } - to { - -webkit-transform: scale(.8); - opacity: 0; - } -} -@-moz-keyframes popout { - from { - -moz-transform: scale(1); - opacity: 1; - } - to { - -moz-transform: scale(.8); - opacity: 0; - } -} -@keyframes popout { - from { - transform: scale(1); - opacity: 1; - } - to { - transform: scale(.8); - opacity: 0; - } -} -/* keyframes for slidein from sides */ -@-webkit-keyframes slideinfromright { - from { -webkit-transform: translate3d(100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromright { - from { -moz-transform: translateX(100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromright { - from { transform: translateX(100%); } - to { transform: translateX(0); } -} -@-webkit-keyframes slideinfromleft { - from { -webkit-transform: translate3d(-100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromleft { - from { -moz-transform: translateX(-100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromleft { - from { transform: translateX(-100%); } - to { transform: translateX(0); } -} -/* keyframes for slideout to sides */ -@-webkit-keyframes slideouttoleft { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(-100%,0,0); } -} -@-moz-keyframes slideouttoleft { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(-100%); } -} -@keyframes slideouttoleft { - from { transform: translateX(0); } - to { transform: translateX(-100%); } -} -@-webkit-keyframes slideouttoright { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(100%,0,0); } -} -@-moz-keyframes slideouttoright { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(100%); } -} -@keyframes slideouttoright { - from { transform: translateX(0); } - to { transform: translateX(100%); } -} -.slide.out, .slide.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.slide.out { - -webkit-transform: translate3d(-100%,0,0); - -webkit-animation-name: slideouttoleft; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - transform: translateX(-100%); - animation-name: slideouttoleft; -} -.slide.in { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromright; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromright; - transform: translateX(0); - animation-name: slideinfromright; -} -.slide.out.reverse { - -webkit-transform: translate3d(100%,0,0); - -webkit-animation-name: slideouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - transform: translateX(100%); - animation-name: slideouttoright; -} -.slide.in.reverse { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromleft; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromleft; - transform: translateX(0); - animation-name: slideinfromleft; -} -.slidefade.out { - -webkit-transform: translateX(-100%); - -webkit-animation-name: slideouttoleft; - -webkit-animation-duration: 225ms; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - -moz-animation-duration: 225ms; - transform: translateX(-100%); - animation-name: slideouttoleft; - animation-duration: 225ms; -} -.slidefade.in { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -.slidefade.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: slideouttoright; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - -moz-animation-duration: 200ms; - transform: translateX(100%); - animation-name: slideouttoright; - animation-duration: 200ms; -} -.slidefade.in.reverse { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -/* slide down */ -.slidedown.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slidedown.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfromtop; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfromtop; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfromtop; - animation-duration: 250ms; -} -.slidedown.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slidedown.out.reverse { - -webkit-transform: translateY(-100%); - -webkit-animation-name: slideouttotop; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(-100%); - -moz-animation-name: slideouttotop; - -moz-animation-duration: 200ms; - transform: translateY(-100%); - animation-name: slideouttotop; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfromtop { - from { -webkit-transform: translateY(-100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfromtop { - from { -moz-transform: translateY(-100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfromtop { - from { transform: translateY(-100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttotop { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(-100%); } -} -@-moz-keyframes slideouttotop { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(-100%); } -} -@keyframes slideouttotop { - from { transform: translateY(0); } - to { transform: translateY(-100%); } -} -/* slide up */ -.slideup.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slideup.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfrombottom; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfrombottom; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfrombottom; - animation-duration: 250ms; -} -.slideup.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slideup.out.reverse { - -webkit-transform: translateY(100%); - -webkit-animation-name: slideouttobottom; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(100%); - -moz-animation-name: slideouttobottom; - -moz-animation-duration: 200ms; - transform: translateY(100%); - animation-name: slideouttobottom; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfrombottom { - from { -webkit-transform: translateY(100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfrombottom { - from { -moz-transform: translateY(100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfrombottom { - from { transform: translateY(100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttobottom { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(100%); } -} -@-moz-keyframes slideouttobottom { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(100%); } -} -@keyframes slideouttobottom { - from { transform: translateY(0); } - to { transform: translateY(100%); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-flip { - -webkit-perspective: 1000; - -moz-perspective: 1000; - perspective: 1000; - position: absolute; -} -.flip { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - backface-visibility: hidden; - transform: translateX(0); -} -.flip.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 175ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 175ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 175ms; -} -.flip.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 225ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 225ms; - animation-name: flipintoright; - animation-duration: 225ms; -} -.flip.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.flip.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-turn { - -webkit-perspective: 200px; - -moz-perspective: 200px; - -ms-perspective: 200px; - perspective: 200px; - position: absolute; -} -.turn { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -webkit-transform-origin: 0; - - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - -moz-transform-origin: 0; - - backface-visibility :hidden; - transform: translateX(0); - transform-origin: 0; -} -.turn.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 125ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 125ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 125ms; -} -.turn.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 250ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 250ms; - animation-name: flipintoright; - animation-duration: 250ms; - -} -.turn.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.turn.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* flow transition */ -.flow { - -webkit-transform-origin: 50% 30%; - -webkit-box-shadow: 0 0 20px rgba(0,0,0,.4); - -moz-transform-origin: 50% 30%; - -moz-box-shadow: 0 0 20px rgba(0,0,0,.4); - transform-origin: 50% 30%; - box-shadow: 0 0 20px rgba(0,0,0,.4); -} -.ui-dialog.flow { - -webkit-transform-origin: none; - -webkit-box-shadow: none; - -moz-transform-origin: none; - -moz-box-shadow: none; - transform-origin: none; - box-shadow: none; -} -.flow.out { - -webkit-transform: translateX(-100%) scale(.7); - -webkit-animation-name: flowouttoleft; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(-100%) scale(.7); - -moz-animation-name: flowouttoleft; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(-100%) scale(.7); - animation-name: flowouttoleft; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.in { - -webkit-transform: translateX(0) scale(1); - -webkit-animation-name: flowinfromright; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(0) scale(1); - -moz-animation-name: flowinfromright; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(0) scale(1); - animation-name: flowinfromright; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: flowouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: flowouttoright; - transform: translateX(100%); - animation-name: flowouttoright; -} -.flow.in.reverse { - -webkit-animation-name: flowinfromleft; - -moz-animation-name: flowinfromleft; - animation-name: flowinfromleft; -} -@-webkit-keyframes flowouttoleft { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(-100%) scale(.7); } -} -@-moz-keyframes flowouttoleft { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(-100%) scale(.7); } -} -@keyframes flowouttoleft { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(-100%) scale(.7); } -} -@-webkit-keyframes flowouttoright { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(100%) scale(.7); } -} -@-moz-keyframes flowouttoright { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(100%) scale(.7); } -} -@keyframes flowouttoright { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(100%) scale(.7); } -} -@-webkit-keyframes flowinfromleft { - 0% { -webkit-transform: translateX(-100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromleft { - 0% { -moz-transform: translateX(-100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromleft { - 0% { transform: translateX(-100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -@-webkit-keyframes flowinfromright { - 0% { -webkit-transform: translateX(100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromright { - 0% { -moz-transform: translateX(100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromright { - 0% { transform: translateX(100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -.ui-field-contain, -.ui-mobile fieldset.ui-field-contain { - display: block; - position: relative; - overflow: visible; - clear: both; - padding: .8em 0; -} -.ui-field-contain > label ~ [class*="ui-"], -.ui-field-contain .ui-controlgroup-controls { - margin: 0; -} -.ui-field-contain:last-child { - border-bottom-width: 0; -} -@media (min-width: 28em) { - .ui-field-contain, - .ui-mobile fieldset.ui-field-contain { - padding: 0; - margin: 1em 0; - border-bottom-width: 0; - } - .ui-field-contain:before, - .ui-field-contain:after { - content: ""; - display: table; - } - .ui-field-contain:after { - clear: both; - } - .ui-field-contain > label, - .ui-field-contain .ui-controlgroup-label, - .ui-field-contain > .ui-rangeslider > label { - float: left; - width: 20%; - margin: .5em 2% 0 0; - } - .ui-popup .ui-field-contain > label, - .ui-popup .ui-field-contain .ui-controlgroup-label, - .ui-popup .ui-field-contain > .ui-rangeslider > label { - float: none; - width: auto; - margin: 0 0 .4em; - } - .ui-field-contain > label ~ [class*="ui-"], - .ui-field-contain .ui-controlgroup-controls { - float: left; - width: 78%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - /* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ - .ui-hide-label > label ~ [class*="ui-"], - .ui-hide-label .ui-controlgroup-controls, - .ui-popup .ui-field-contain > label ~ [class*="ui-"], - .ui-popup .ui-field-contain .ui-controlgroup-controls { - float: none; - width: 100%; - } - .ui-field-contain > label ~ .ui-btn-inline { - width: auto; - margin-right: .625em; - } - .ui-field-contain > label ~ .ui-btn-inline.ui-btn-icon-notext { - width: 1.75em; - } -} -/* content configurations. */ -.ui-grid-a, -.ui-grid-b, -.ui-grid-c, -.ui-grid-d, -.ui-grid-solo { - overflow: hidden; -} -.ui-block-a, -.ui-block-b, -.ui-block-c, -.ui-block-d, -.ui-block-e { - margin: 0; - padding: 0; - border: 0; - float: left; - min-height: 1px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -/* force new row */ -.ui-block-a { - clear: left; -} -ul.ui-grid-a, -ul.ui-grid-b, -ul.ui-grid-c, -ul.ui-grid-d, -ul.ui-grid-solo, -li.ui-block-a, -li.ui-block-b, -li.ui-block-c, -li.ui-block-d, -li.ui-block-e { - margin-left: 0; - margin-right: 0; - padding: 0; - list-style: none; -} -/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */ -[class*="ui-block-"] > button.ui-btn { - margin-right: 0; - margin-left: 0; -} -[class*="ui-block-"] > .ui-btn, -[class*="ui-block-"] > .ui-select, -[class*="ui-block-"] > .ui-checkbox, -[class*="ui-block-"] > .ui-radio, -[class*="ui-block-"] > button.ui-btn-inline, -[class*="ui-block-"] > button.ui-btn-icon-notext, -.ui-header [class*="ui-block-"] > button.ui-btn, -.ui-footer [class*="ui-block-"] > button.ui-btn { - margin-right: .3125em; - margin-left: .3125em; -} -.ui-grid-a > .ui-block-a, -.ui-grid-a > .ui-block-b { - /* width: 49.95%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 50%; -} -.ui-grid-b > .ui-block-a, -.ui-grid-b > .ui-block-b, -.ui-grid-b > .ui-block-c { - /* width: 33.25%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 33.333%; -} -.ui-grid-c > .ui-block-a, -.ui-grid-c > .ui-block-b, -.ui-grid-c > .ui-block-c, -.ui-grid-c > .ui-block-d { - /* width: 24.925%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 25%; -} -.ui-grid-d > .ui-block-a, -.ui-grid-d > .ui-block-b, -.ui-grid-d > .ui-block-c, -.ui-grid-d > .ui-block-d, -.ui-grid-d > .ui-block-e { - /* width: 19.925%; IE7 */ - width: 20%; -} -.ui-grid-solo > .ui-block-a { - width: 100%; - float: none; -} -/* preset breakpoint to switch to stacked grid styles below 35em (560px) */ -@media (max-width: 35em) { - .ui-responsive > .ui-block-a, - .ui-responsive > .ui-block-b, - .ui-responsive > .ui-block-c, - .ui-responsive > .ui-block-d, - .ui-responsive > .ui-block-e { - width: 100%; - float: none; - } -} -/* fixed page header & footer configuration */ -.ui-header-fixed, -.ui-footer-fixed { - left: 0; - right: 0; - width: 100%; - position: fixed; - z-index: 1000; -} -.ui-header-fixed { - top: -1px; - padding-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden { - top: 0; - padding-top: 0; -} -.ui-header-fixed .ui-btn-left, -.ui-header-fixed .ui-btn-right { - margin-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden .ui-btn-left, -.ui-header-fixed.ui-fixed-hidden .ui-btn-right { - margin-top: 0; -} -.ui-footer-fixed { - bottom: -1px; - padding-bottom: 1px; -} -.ui-footer-fixed.ui-fixed-hidden { - bottom: 0; - padding-bottom: 0; -} -.ui-header-fullscreen, -.ui-footer-fullscreen { - filter: Alpha(Opacity=90); - opacity: .9; -} -/* updatePagePadding() will update the padding to actual height of header and footer. */ -.ui-page-header-fixed { - padding-top: 2.8125em; -} -.ui-page-footer-fixed { - padding-bottom: 2.8125em; -} -.ui-page-header-fullscreen > .ui-content, -.ui-page-footer-fullscreen > .ui-content { - padding: 0; -} -.ui-fixed-hidden { - position: absolute; -} -/* Tap toggle: hide external fixed footer. See issue #6604 */ -.ui-footer-fixed.ui-fixed-hidden { - display: none; -} -.ui-page .ui-footer-fixed.ui-fixed-hidden { - display: block -} -.ui-page-header-fullscreen .ui-fixed-hidden, -.ui-page-footer-fullscreen .ui-fixed-hidden { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-header-fixed .ui-btn, -.ui-footer-fixed .ui-btn { - z-index: 10; -} -/* workarounds for other widgets */ -.ui-android-2x-fixed .ui-li-has-thumb { - -webkit-transform: translate3d(0,0,0); -} -.ui-navbar { - max-width: 100%; -} -.ui-navbar ul:before, -.ui-navbar ul:after { - content: ""; - display: table; -} -.ui-navbar ul:after { - clear: both; -} -.ui-navbar ul { - list-style: none; - margin: 0; - padding: 0; - position: relative; - display: block; - border: 0; - max-width: 100%; - overflow: visible; -} -.ui-navbar li .ui-btn { - font-size: 12.5px; - display: block; - margin: 0; - border-right-width: 0; -} -.ui-header .ui-navbar li button.ui-btn, -.ui-footer .ui-navbar li button.ui-btn { - margin: 0; - width: 100%; -} -.ui-navbar .ui-btn:focus { - z-index: 1; -} -/* fixes gaps caused by subpixel problem */ -.ui-navbar li:last-child .ui-btn { - margin-right: -4px; -} -.ui-navbar li:last-child .ui-btn:after { - margin-right: 4px; -} -.ui-content .ui-navbar li:last-child .ui-btn, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn { - border-right-width: 1px; - margin-right: 0; -} -.ui-content .ui-navbar li:last-child .ui-btn:after, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after { - margin-right: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn { - border-right-width: 1px; - margin-right: -1px; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after { - margin-right: 1px; -} -.ui-navbar .ui-grid-duo .ui-btn { - border-top-width: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -.ui-header .ui-navbar .ui-btn, -.ui-footer .ui-navbar .ui-btn { - border-top-width: 0; - border-bottom-width: 0; -} -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 0; -} -.ui-header .ui-title ~ .ui-navbar .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -/* Hide the native input element */ -.ui-input-btn input { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; - border: 0; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - background: #fff; - background: rgba(255,255,255,0); - filter: Alpha(Opacity=0); - opacity: .1; - font-size: 1px; - text-indent: -9999px; - z-index: 2; -} -/* Fixes IE/WP filter alpha opacity bugs */ -.ui-input-btn.ui-state-disabled input { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible { - margin: 0 -1em; -} -.ui-collapsible-inset, -.ui-collapsible-set { - margin: .5em 0; -} -.ui-collapsible-heading { - display: block; - margin: 0; - padding: 0; - position: relative; -} -.ui-collapsible-heading .ui-btn { - text-align: left; - margin: 0; - border-left-width: 0; - border-right-width: 0; -} -.ui-collapsible-heading .ui-btn-icon-top, -.ui-collapsible-heading .ui-btn-icon-bottom { - text-align: center; -} -.ui-collapsible-inset .ui-collapsible-heading .ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn { - border-top-width: 0; -} -.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn { - border-top-width: 1px; -} -.ui-collapsible-heading-status { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible-content { - display: block; - margin: 0; - padding: .5em 1em; -} -.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 0; - border-right-width: 0; - border-top-width: 0; - border-bottom-width: 1px; - border-style: solid; -} -.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 1px; - border-right-width: 1px; -} -.ui-collapsible-inset .ui-collapsible-content { - margin: 0; -} -.ui-collapsible-content-collapsed { - display: none; -} -.ui-collapsible-set > .ui-collapsible.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-collapsible-heading, -.ui-collapsible-heading > .ui-btn { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-collapsible-content, -.ui-collapsible-set .ui-collapsible.ui-last-child { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -.ui-collapsible-set .ui-collapsible { - margin: -1px -1em 0; -} -.ui-collapsible-set .ui-collapsible-inset { - margin: -1px 0 0; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - margin-top: 0; -} -.ui-controlgroup, -fieldset.ui-controlgroup { - padding: 0; - margin: .5em 0; -} -.ui-field-contain .ui-controlgroup, -.ui-field-contain fieldset.ui-controlgroup { - margin: 0; -} -.ui-mini .ui-controlgroup-label { - font-size: 16px; -} -.ui-controlgroup.ui-mini .ui-btn-icon-notext, -.ui-controlgroup .ui-mini.ui-btn-icon-notext { - font-size: inherit; -} -.ui-controlgroup-controls .ui-btn, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-select { - margin: 0; -} -.ui-controlgroup-controls .ui-btn:focus, -.ui-controlgroup-controls .ui-btn.ui-focus { - z-index: 1; -} -.ui-controlgroup-controls li { - list-style: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls { - display: inline-block; - vertical-align: middle; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:before, -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - content: ""; - display: table; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - clear: both; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select { - float: left; - clear: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn, -.ui-controlgroup-controls .ui-btn-icon-notext { - width: auto; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext { - width: 1.5em; -} - .ui-controlgroup-controls .ui-btn-icon-notext { - height: auto; - padding: .7em 1em; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn { - border-bottom-width: 0; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child { - border-bottom-width: 1px; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn { - border-right-width: 0; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child { - border-right-width: 1px; -} -.ui-controlgroup-controls .ui-btn-corner-all, -.ui-controlgroup-controls .ui-btn.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-controlgroup-controls, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-select, -.ui-controlgroup-controls li { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-last-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-controls a.ui-shadow:not(:focus), -.ui-controlgroup-controls button.ui-shadow:not(:focus), -.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) { - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} -/* Fixes legend not wrapping on IE10 */ -.ui-controlgroup-label legend { - max-width: 100%; -} -.ui-controlgroup-controls > label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-dialog { - background: none !important; /* this is to ensure that dialog theming does not apply (by default at least) on the page div */ -} -.ui-dialog-contain { - width: 92.5%; - max-width: 500px; - margin: 10% auto 1em auto; - padding: 0; - position: relative; - top: -1em; -} -.ui-dialog-contain > .ui-header, -.ui-dialog-contain > .ui-content, -.ui-dialog-contain > .ui-footer { - display: block; - position: relative; - width: auto; - margin: 0; -} -.ui-dialog-contain > .ui-header { - overflow: hidden; - z-index: 10; - padding: 0; - border-top-width: 0; -} -.ui-dialog-contain > .ui-footer { - z-index: 10; - padding: 0 1em; - border-bottom-width: 0; -} -.ui-popup-open .ui-header-fixed, -.ui-popup-open .ui-footer-fixed { - position: absolute !important; /* See issues #4816, #4844 and #4874 and popup.js */ -} -.ui-popup-screen { - background-image: url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); /* Necessary to set some form of background to ensure element is clickable in IE6/7. While legacy IE won't understand the data-URI'd image, it ensures no additional requests occur in all other browsers with little overhead. */ - top: 0; - left: 0; - right: 0; - bottom: 1px; - position: absolute; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 1099; -} -.ui-popup-screen.in { - opacity: 0.5; - filter: Alpha(Opacity=50); -} -.ui-popup-screen.out { - opacity: 0; - filter: Alpha(Opacity=0); -} -.ui-popup-container { - z-index: 1100; - display: inline-block; - position: absolute; - padding: 0; - outline: 0; -} -.ui-popup { - position: relative; -} -.ui-popup.ui-body-inherit { - border-width: 1px; - border-style: solid; -} -.ui-popup-hidden { - left: 0; - top: 0; - position: absolute !important; - visibility: hidden; -} -.ui-popup-truncate { - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-popup.ui-content, -.ui-popup .ui-content { - overflow: visible; -} -.ui-popup > .ui-header { - border-top-width: 0; -} -.ui-popup > .ui-footer { - border-bottom-width: 0; -} -.ui-popup > p, -.ui-popup > h1, -.ui-popup > h2, -.ui-popup > h3, -.ui-popup > h4, -.ui-popup > h5, -.ui-popup > h6 { - margin: .5em .4375em; -} -.ui-popup > span { - display: block; - margin: .5em .4375em; -} -.ui-popup-container .ui-content > p, -.ui-popup-container .ui-content > h1, -.ui-popup-container .ui-content > h2, -.ui-popup-container .ui-content > h3, -.ui-popup-container .ui-content > h4, -.ui-popup-container .ui-content > h5, -.ui-popup-container .ui-content > h6 { - margin: .5em 0; -} -.ui-popup-container .ui-content > span { - margin: 0; -} -.ui-popup-container .ui-content > p:first-child, -.ui-popup-container .ui-content > h1:first-child, -.ui-popup-container .ui-content > h2:first-child, -.ui-popup-container .ui-content > h3:first-child, -.ui-popup-container .ui-content > h4:first-child, -.ui-popup-container .ui-content > h5:first-child, -.ui-popup-container .ui-content > h6:first-child { - margin-top: 0; -} -.ui-popup-container .ui-content > p:last-child, -.ui-popup-container .ui-content > h1:last-child, -.ui-popup-container .ui-content > h2:last-child, -.ui-popup-container .ui-content > h3:last-child, -.ui-popup-container .ui-content > h4:last-child, -.ui-popup-container .ui-content > h5:last-child, -.ui-popup-container .ui-content > h6:last-child { - margin-bottom: 0; -} -.ui-popup > img { - max-width: 100%; - max-height: 100%; - vertical-align: middle; -} -.ui-popup:not(.ui-content) > img:only-child, -.ui-popup:not(.ui-content) > .ui-btn-left:first-child + img:last-child, -.ui-popup:not(.ui-content) > .ui-btn-right:first-child + img:last-child { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-popup iframe { - vertical-align: middle; -} -.ui-popup > .ui-btn-left, -.ui-popup > .ui-btn-right { - position: absolute; - top: -11px; - margin: 0; - z-index: 1101; -} -.ui-popup > .ui-btn-left { - left: -11px; -} -.ui-popup > .ui-btn-right { - right: -11px; -} -/* Dimensions related to the popup arrow ------------------------------------------------------------------------------------------------------------*/ -/* desired triangle height: 10px */ -/** - * guide for the arrow - its width, height, and offset are theme-dependent and - * should be expessed as left, right, top, bottom, so that the element bearing - * such a class becomes stretched inside its parent position: relative element. - * The left/top/right/bottom specified below should reflect the corresponding - * border radii and so it leaves room for the shadow: - * ..--------------------.. - * ." ^ top ". - * / v \ - * | +------------------+ | - * | | | | - * | left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The idea is that the top/left of the arrow container box does not move to a - * coordinate smaller than the top/left of the guide and the right/bottom of - * the arrow container box does not move to a coordinate larger than the - * bottom/right of the guide. This will help us avoid the following situation: - * ..--------------------.. - * ." ^ top ". - * /|/ v \ - * / | +------------------+ | - * \ | | | | - * \| left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The arrow should not receive a top/left coordinate such that it is too close - * to one of the corners, because then at first the shadow of the arrow and, - * given a coordinate even closer to the corner, even the body of the arrow will - * "stick out" of the corner of the popup. The guide provides a hint to the - * arrow positioning code as to which range of values is acceptable for the - * arrow container's top/left coordinate. - **/ -.ui-popup-arrow-container { - width: 20px; - height: 20px; -} -/* aside from the "infinities" (-1000,2000), triangle height is used */ -.ui-popup-arrow-container.ui-popup-arrow-l { - left: -10px; - clip: rect(-1000px,10px,2000px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-t { - top: -10px; - clip: rect(-1000px,2000px,10px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-r { - right: -10px; - clip: rect(-1000px,2000px,2000px,10px); -} -.ui-popup-arrow-container.ui-popup-arrow-b { - bottom: -10px; - clip: rect(10px,2000px,1000px,-1000px); -} -/** - * For each side, the arrow is twice the desired size and its corner is aligned - * with the edge of the container: - * - * /\ /\ +----+ /\ - * / \ / \ | /\ |top / \ - * +----+ \ / +----+ +-->|/ \| / \ - * left| / | \ / | \ |right | | | / \ - * |/ | \ / | \| | /| |\ / \ - * |\ | / \ | /| | / +----+ \ \ +----+ / - * | \ | / \ | / | | \ / \| |/ - * +----+ / \ +----+ | \ / | | - * ^ \ / \ / ^ | \ / +->|\ /| - * | \/ \/ | | \ / | | \/ |bottom - * | | | \/ | +----+ - * +-------------------+--------+-----------+ - * | - * arrow container - * (clips arrow) - **/ -.ui-popup-arrow-container .ui-popup-arrow { - /* (4*desired triangle height)/sqrt(2) - does not account for border - centred within the outer rectangle */ - width: 28.284271247px; - height: 28.284271247px; - border-width: 1px; - border-style: solid; -} -.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow { - left: -4.142135623px; - top: 5.857864376px; -} -.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow { - left: -4.142135623px; - top: -14.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow { - left: 5.857864376px; - top: -4.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow { - left: -14.142135623px; - top: -4.142135623px; -} -/* Fix rotation center for oldIE - see http://www.useragentman.com/IETransformsTranslator/ */ -.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -7.0710678118654755px; -} -.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -4.142135623730951px; -} - -.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow { - margin-left: -7.0710678118654755px; - margin-top: -5.857864376269049px; -} -.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow { - margin-left: -4.142135623730951px; - margin-top: -5.857864376269049px; -} -/* structure */ -.ui-popup > .ui-popup-arrow-guide { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - visibility: hidden; -} -.ui-popup-arrow-container { - position: absolute; -} -.ui-popup-arrow { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - overflow: hidden; - box-sizing: border-box; -} -.ui-popup-arrow-container.ie .ui-popup-arrow { - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')"; - filter: progid:DXImageTransform.Microsoft.Matrix( - M11=0.7071067811865474, - M12=-0.7071067811865477, - M21=0.7071067811865477, - M22=0.7071067811865474, - SizingMethod='auto expand'); -} -.ui-checkbox, -.ui-radio { - margin: .5em 0; - position: relative; -} -.ui-checkbox .ui-btn, -.ui-radio .ui-btn { - margin: 0; - text-align: left; - white-space: normal; /* Nowrap + ellipsis doesn't work on label. Issue #1419. */ - z-index: 2; -} -.ui-controlgroup .ui-checkbox .ui-btn.ui-focus, -.ui-controlgroup .ui-radio .ui-btn.ui-focus { - z-index: 3; -} -.ui-checkbox .ui-btn-icon-top, -.ui-radio .ui-btn-icon-top, -.ui-checkbox .ui-btn-icon-bottom, -.ui-radio .ui-btn-icon-bottom { - text-align: center; -} -.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after, -.ui-controlgroup-horizontal .ui-radio .ui-btn:after { - content: none; - display: none; -} -/* Native input positioning */ -.ui-checkbox input, -.ui-radio input { - position: absolute; - left: .466em; - top: 50%; - width: 22px; - height: 22px; - margin: -11px 0 0 0; - outline: 0 !important; - z-index: 1; -} -.ui-controlgroup-horizontal .ui-checkbox input, -.ui-controlgroup-horizontal .ui-radio input { - left: 50%; - margin-left: -9px; -} -.ui-checkbox input:disabled, -.ui-radio input:disabled { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select { - margin-top: .5em; - margin-bottom: .5em; /* no shorthand for margin because it would override margin-right for inline selects */ - position: relative; -} -.ui-select > select { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select .ui-btn { - margin: 0; - opacity: 1; /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including "inherit") without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */ -} -.ui-select .ui-btn select { - position: absolute; - top: 0; - left: 0; - width: 100%; - min-height: 1.5em; - min-height: 100%; - height: 3em; - max-height: 100%; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 2; -} -@-moz-document url-prefix() { - .ui-select .ui-btn select { - opacity: 0.0001; - } -} -/* Display none because of issues with IE/WP's filter alpha opacity */ -.ui-select .ui-state-disabled select { - display: none; -} -/* Because we add all classes of the select and option elements to the span... */ -.ui-select span.ui-state-disabled { - filter: Alpha(Opacity=100); - opacity: 1; -} -.ui-select .ui-btn.ui-select-nativeonly { - border-radius: 0; - border: 0; -} -.ui-select .ui-btn.ui-select-nativeonly select { - opacity: 1; - text-indent: 0; - display: block; -} -/* ui-li-count is styled in the listview CSS. We set padding and offset here because select supports icon position while listview doesn't. */ -.ui-select .ui-li-has-count.ui-btn { - padding-right: 2.8125em; -} -.ui-select .ui-li-has-count.ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-select .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -/* We set the rules for the span as well to fix an issue on Chrome with text-overflow ellipsis for the button in combination with text-align center. */ -.ui-select .ui-btn > span:not(.ui-li-count) { - display: block; - text-overflow: ellipsis; - overflow: hidden !important; - white-space: nowrap; -} -.ui-selectmenu.ui-popup { - min-width: 11em; -} -.ui-selectmenu .ui-dialog-contain { - overflow: hidden; -} -.ui-selectmenu .ui-header { - margin: 0; - padding: 0; - border-width: 0; -} -.ui-selectmenu.ui-dialog .ui-header { - z-index: 1; - position: relative; -} -.ui-selectmenu.ui-popup .ui-header { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ -.ui-selectmenu.ui-popup .ui-header h1:after { - content: '.'; - visibility: hidden; -} -.ui-selectmenu .ui-header .ui-title { - margin: 0 2.875em; -} -.ui-selectmenu.ui-dialog .ui-content { - overflow: visible; - z-index: 1; -} -.ui-selectmenu .ui-selectmenu-list { - margin: 0; - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-header:not(.ui-screen-hidden) + .ui-selectmenu-list { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; -} -.ui-header.ui-screen-hidden + .ui-selectmenu-list li.ui-first-child .ui-btn { - border-top-width: 0; -} -.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn { - border-bottom-width: 0; -} -.ui-selectmenu .ui-btn.ui-li-divider { - cursor: default; -} -.ui-selectmenu .ui-selectmenu-placeholder { - display: none; -} -.ui-listview, -.ui-listview > li { - margin: 0; - padding: 0; - list-style: none; -} -.ui-content .ui-listview, -.ui-panel-inner > .ui-listview { - margin: -1em; -} -.ui-content .ui-listview-inset, -.ui-panel-inner > .ui-listview-inset { - margin: 1em 0; -} -.ui-collapsible-content > .ui-listview { - margin: -.5em -1em; -} -.ui-collapsible-content > .ui-listview-inset { - margin: .5em 0; -} -.ui-listview > li { - display: block; - position: relative; - overflow: visible; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - margin: 0; - display: block; - position: relative; - text-align: left; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li > .ui-btn:focus { - z-index: 1; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - border-width: 1px 0 0 0; - border-style: solid; -} -.ui-listview-inset > .ui-li-static, -.ui-listview-inset > .ui-li-divider, -.ui-listview-inset > li > a.ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-listview > .ui-li-static.ui-last-child, -.ui-listview > .ui-li-divider.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - border-bottom-width: 1px; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 0; -} -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child, -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child > a.ui-btn { - border-bottom-width: 0; -} -.ui-listview > li.ui-first-child, -.ui-listview > li.ui-first-child > a.ui-btn { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-listview > li.ui-li-has-alt > a.ui-btn { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -.ui-listview > li.ui-first-child > a.ui-btn + a.ui-btn { - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-listview > li.ui-last-child > a.ui-btn + a.ui-btn { - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-listview > li.ui-first-child img:first-child:not(.ui-li-icon) { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child img:first-child:not(.ui-li-icon) { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-listview > .ui-li-static { - padding: .7em 1em; -} -.ui-listview > .ui-li-divider { - padding: .5em 1.143em; - font-size: 14px; - font-weight: bold; - cursor: default; - outline: 0; /* Dividers in custom selectmenus have tabindex */ -} -.ui-listview > .ui-li-has-count > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-count, -.ui-listview > .ui-li-divider.ui-li-has-count { - padding-right: 2.8125em; -} -.ui-listview > .ui-li-has-count > .ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-listview > .ui-li-has-thumb > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-thumb { - min-height: 3.625em; - padding-left: 6.25em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-icon { - min-height: 1.25em; - padding-left: 2.5em; -} -/* Used by both listview and custom multiple select button */ -.ui-li-count { - position: absolute; - font-size: 12.5px; - font-weight: bold; - text-align: center; - border-width: 1px; - border-style: solid; - padding: 0 .48em; - line-height: 1.6em; - min-height: 1.6em; - min-width: .64em; - right: .8em; - top: 50%; - margin-top: -.88em; -} -.ui-listview .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -.ui-listview .ui-li-has-thumb > img:first-child, -.ui-listview .ui-li-has-thumb > .ui-btn > img:first-child, -.ui-listview .ui-li-has-thumb .ui-li-thumb { - position: absolute; - left: 0; - top: 0; - max-height: 5em; - max-width: 5em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > img:first-child, -.ui-listview > .ui-li-has-icon > .ui-btn > img:first-child { - position: absolute; - left: .625em; - top: .9em; - max-height: 1em; - max-width: 1em; -} -.ui-listview > li h1, -.ui-listview > li h2, -.ui-listview > li h3, -.ui-listview > li h4, -.ui-listview > li h5, -.ui-listview > li h6 { - font-size: 1em; - font-weight: bold; - display: block; - margin: .45em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li p { - font-size: .75em; - font-weight: normal; - display: block; - margin: .6em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview .ui-li-aside { - position: absolute; - top: 1em; - right: 3.333em; - margin: 0; - text-align: right; -} -.ui-listview > li.ui-li-has-alt > .ui-btn { - margin-right: 2.5em; - border-right-width: 0; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn { - position: absolute; - width: 2.5em; - height: 100%; - min-height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-left-width: 1px; - top: 0; - right: 0; - margin: 0; - padding: 0; - z-index: 2; -} -.ui-listview-inset > li.ui-li-has-alt > .ui-btn + .ui-btn { - border-right-width: 1px; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn:focus { - z-index: 3; -} -ol.ui-listview, -ol.ui-listview > .ui-li-divider { - counter-reset: listnumbering; -} -ol.ui-listview > li > .ui-btn, -ol.ui-listview > li.ui-li-static { - vertical-align: middle; -} -ol.ui-listview > li > .ui-btn:first-child:before, -ol.ui-listview > li.ui-li-static:before, -ol.ui-listview > li.ui-field-contain > label:before, -ol.ui-listview > li.ui-field-contain > .ui-controlgroup-label:before { - display: inline-block; - font-size: .9em; - font-weight: normal; - padding-right: .3em; - min-width: 1.4em; - line-height: 1.5; - vertical-align: middle; - counter-increment: listnumbering; - content: counter(listnumbering) "."; -} -ol.ui-listview > li.ui-field-contain:before { - content: none; - display: none; -} -ol.ui-listview > li h1:first-child, -ol.ui-listview > li h2:first-child, -ol.ui-listview > li h3:first-child, -ol.ui-listview > li h4:first-child, -ol.ui-listview > li h5:first-child, -ol.ui-listview > li h6:first-child, -ol.ui-listview > li p:first-child, -ol.ui-listview > li img:first-child + * { - display: inline-block; - vertical-align: middle; -} -ol.ui-listview > li h1:first-child ~ *, -ol.ui-listview > li h2:first-child ~ *, -ol.ui-listview > li h3:first-child ~ *, -ol.ui-listview > li h4:first-child ~ *, -ol.ui-listview > li h5:first-child ~ *, -ol.ui-listview > li h6:first-child ~ *, -ol.ui-listview > li p:first-child ~ *, -ol.ui-listview > li img:first-child + * ~ * { - margin-top: 0; - text-indent: 2.04em; /* (1.4em + .3em) * .9em / .75em */ -} -html .ui-filterable + .ui-listview, -html .ui-filterable.ui-listview { - margin-top: .5em; -} -.ui-collapsible-content > form.ui-filterable { - margin-top: -.5em; -} -.ui-collapsible-content > .ui-input-search.ui-filterable { - margin-top: 0; -} -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 1px; -} -div.ui-slider { - height: 30px; - margin: .5em 0; - padding: 0; - -ms-touch-action: pan-y pinch-zoom double-tap-zoom; -} -div.ui-slider:before, -div.ui-slider:after { - content: ""; - display: table; -} -div.ui-slider:after { - clear: both; -} -input.ui-slider-input { - display: block; - float: left; - font-size: 14px; - font-weight: bold; - margin: 0; - padding: 4px; - width: 40px; - height: 20px; - line-height: 20px; - border-width: 1px; - border-style: solid; - outline: 0; - text-align: center; - vertical-align: text-bottom; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-slider-input::-webkit-outer-spin-button, -.ui-slider-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -.ui-slider-track { - position: relative; - overflow: visible; - border-width: 1px; - border-style: solid; - height: 15px; - margin: 0 15px 0 68px; - top: 6px; -} -.ui-slider-track.ui-mini { - height: 12px; - top: 8px; -} -.ui-slider-track .ui-slider-bg { - height: 100%; -} -/* High level of specificity to override button margins in grids */ -.ui-slider-track .ui-btn.ui-slider-handle { - position: absolute; - z-index: 1; - top: 50%; - width: 28px; - height: 28px; - margin: -15px 0 0 -15px; - outline: 0; - padding: 0; -} -.ui-slider-track.ui-mini .ui-slider-handle { - height: 14px; - width: 14px; - margin: -8px 0 0 -8px; -} -select.ui-slider-switch { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -div.ui-slider-switch { - display: inline-block; - height: 32px; - width: 5.8em; - top: 0; -} -/* reset the clearfix */ -div.ui-slider-switch:before, -div.ui-slider-switch:after { - display: none; - clear: none; -} -div.ui-slider-switch.ui-mini { - height: 29px; - top: 0; -} -.ui-slider-inneroffset { - margin: 0 16px; - position: relative; - z-index: 1; -} -.ui-slider-switch.ui-mini .ui-slider-inneroffset { - margin: 0 15px 0 14px; -} -.ui-slider-switch .ui-btn.ui-slider-handle { - margin: 1px 0 0 -15px; -} -.ui-slider-switch.ui-mini .ui-slider-handle { - width: 25px; - height: 25px; - margin: 1px 0 0 -13px; - padding: 0; -} -.ui-slider-handle-snapping { - -webkit-transition: left 70ms linear; - -moz-transition: left 70ms linear; - transition: left 70ms linear; -} -.ui-slider-switch .ui-slider-label { - position: absolute; - text-align: center; - width: 100%; - overflow: hidden; - font-size: 16px; - top: 0; - line-height: 2; - min-height: 100%; - white-space: nowrap; - cursor: pointer; -} -.ui-slider-switch.ui-mini .ui-slider-label { - font-size: 14px; -} -.ui-slider-switch .ui-slider-label-a { - z-index: 1; - left: 0; - text-indent: -1.5em; -} -.ui-slider-switch .ui-slider-label-b { - z-index: 0; - right: 0; - text-indent: 1.5em; -} -/* The corner radii for ui-slider-switch/track can be specified in theme CSS. The bg and handle inherits. */ -.ui-slider-track .ui-slider-bg, -.ui-slider-switch .ui-slider-label, -.ui-slider-switch .ui-slider-inneroffset, -.ui-slider-handle { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-field-contain div.ui-slider-switch { - margin: 0; -} -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-field-contain div.ui-slider-switch, -.ui-field-contain.ui-hide-label div.ui-slider-switch, -html .ui-popup .ui-field-contain div.ui-slider-switch { - display: inline-block; - width: 5.8em; -} -/* slider tooltip ------------------------------------------------------------------------------------------------------------*/ -.ui-slider-popup { - width: 64px; - height: 64px; - font-size: 36px; - padding-top: 14px; - opacity: 0.8; -} -.ui-slider-popup { - position: absolute !important; - text-align: center; - z-index: 100; -} -.ui-slider-track .ui-btn.ui-slider-handle { - font-size: .9em; - line-height: 30px; -} -.ui-rangeslider { - margin: .5em 0; -} -.ui-rangeslider:before, -.ui-rangeslider:after { - content: ""; - display: table; -} -.ui-rangeslider:after { - clear: both; -} -.ui-rangeslider .ui-slider-input.ui-rangeslider-last { - float: right; -} -.ui-rangeslider .ui-rangeslider-sliders { - position: relative; - overflow: visible; - height: 30px; - margin: 0 68px; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track { - position: absolute; - top: 6px; - right: 0; - left: 0; - margin: 0; -} -.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track { - top: 8px; -} -.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg { - display: none; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - background-color: transparent; - background: none; - border-width: 0; - height: 0; -} -/* this makes ie6 and ie7 set height to 0 to fix z-index problem */ -html >/**/body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 15px; - border-width: 1px; -} -html >/**/body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 12px; -} -/* Hide the second label (the first is moved outside the div) */ -div.ui-rangeslider label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-field-contain .ui-rangeslider input.ui-slider-input, -.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input, -.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders, -.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders { - margin-top: 0; - margin-bottom: 0; -} -.ui-input-text, -.ui-input-search { - margin: .5em 0; - border-width: 1px; - border-style: solid; -} -.ui-mini { - margin: .446em; -} -.ui-input-text input, -.ui-input-search input, -textarea.ui-input-text { - padding: .4em; - line-height: 1.4em; - display: block; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - outline: 0; -} -.ui-input-text input, -.ui-input-search input { - margin: 0; - min-height: 2.2em; - text-align: left; /* Opera aligns type="date" right by default */ - border: 0; - background: transparent none; - -webkit-appearance: none; - -webkit-border-radius: inherit; - border-radius: inherit; -} -textarea.ui-input-text { - overflow: auto; - resize: vertical; -} -.ui-mini .ui-input-text input, -.ui-mini .ui-input-search input, -.ui-input-text.ui-mini input, -.ui-input-search.ui-mini input, -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - font-size: 14px; -} -/* Same margin for mini textareas as other mini sized widgets (12.5/14 * 0.5em) */ -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - margin: .446em 0; -} -.ui-input-has-clear, -.ui-input-search { - position: relative; -} -/* Padding on the div instead of input because of browser spinners etc. */ -.ui-input-has-clear { - padding-right: 2.375em; -} -.ui-mini.ui-input-has-clear { - padding-right: 2.923em; -} -.ui-input-has-clear input { - padding-right: 0; - /* Autofill on Chrome has bg color so we unset corners right as well. */ - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -/* Search icon */ -.ui-input-search input { - padding-left: 1.75em; -} -.ui-input-search:after { - position: absolute; - left: .3125em; - top: 50%; - margin-top: -7px; - content: ""; - background-position: center center; - background-repeat: no-repeat; - width: 14px; - height: 14px; - filter: Alpha(Opacity=50); - opacity: .5; -} -.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear, -.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear { - position: absolute; - right: 0; - top: 50%; - margin: -14px .3125em 0; - border: 0; - background-color: transparent; -} -.ui-input-search .ui-input-clear-hidden, -.ui-input-text .ui-input-clear-hidden { - display: none; -} -/* Resolves issue #5166: Added to support issue introduced in Firefox 15. We can likely remove this in the future. */ -.ui-input-text input::-moz-placeholder, -.ui-input-search input::-moz-placeholder, -textarea.ui-input-text::-moz-placeholder { - color: #aaa; -} -/* Same for IE10 */ -.ui-input-text input:-ms-input-placeholder, -.ui-input-search input:-ms-input-placeholder, -textarea.ui-input-text:-ms-input-placeholder { - color: #aaa; -} -/* Resolves issue #5131: Width of textinput depends on its type, -for Android 4.1 */ -.ui-input-text input[type=number]::-webkit-outer-spin-button { - margin: 0; -} -/* Resolves issue #5756: Textinput in IE10 has a default clear button */ -.ui-input-text input::-ms-clear, -.ui-input-search input::-ms-clear { - display: none; -} -.ui-input-text input:focus, -.ui-input-search input:focus { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -textarea.ui-input-text.ui-textinput-autogrow { - overflow: hidden; -} -.ui-textinput-autogrow-resize { - -webkit-transition: height 0.25s; - -o-transition: height 0.25s; - -moz-transition: height 0.25s; - transition: height 0.25s; -} -.ui-flipswitch { - display: inline-block; - vertical-align: middle; - width: 5.875em; /* Override this and padding-left in next rule if you use labels other than "on/off" and need more space */ - height: 1.875em; - border-width: 1px; - border-style: solid; - margin: .5em 0; - overflow: hidden; - -webkit-transition-property: padding, width, background-color, color, border-color; - -moz-transition-property: padding, width, background-color, color, border-color; - -o-transition-property: padding, width, background-color, color, border-color; - transition-property: padding, width, background-color, color, border-color; - -webkit-transition-duration: 100ms; - -moz-transition-duration: 100ms; - -o-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; -} -.ui-flipswitch.ui-flipswitch-active { - padding-left: 4em; /* Override this and width in previous rule if you use labels other than "on/off" and need more space */ - width: 1.875em; -} -.ui-flipswitch-input { - position: absolute; - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); - border: 0; - outline: 0; - filter: Alpha(Opacity=0); - opacity: 0; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on, -.ui-flipswitch .ui-flipswitch-off { - float: left; - height: 1.75em; - margin: .0625em; - line-height: 1.65em; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on { - width: 1.75em; - padding: 0; - text-indent: -2.6em; /* Override this to center text if you use a label other than "on" */ - text-align: left; - border-width: 1px; - border-style: solid; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-radius: inherit; - overflow: visible; - color: inherit; - text-shadow: inherit; -} -.ui-flipswitch .ui-flipswitch-off { - padding: 1px; - text-indent: 1em; /* Override this to center text if you use a label other than "off" */ -} -/* Override field container CSS to prevent the flipswitch from becomming full width */ -html .ui-field-contain > label + .ui-flipswitch, -html .ui-popup .ui-field-contain > label + .ui-flipswitch { - display: inline-block; - width: 5.875em; /* If you override the width for .ui-flipswitch you should repeat the same value here */ - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-field-contain .ui-flipswitch.ui-flipswitch-active, -.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active { - width: 1.875em; -} -.ui-table { - border: 0; - border-collapse: collapse; - padding: 0; - width: 100%; -} -.ui-table th, -.ui-table td { - line-height: 1.5em; - text-align: left; - padding: .4em .5em; - vertical-align:top; -} -.ui-table th .ui-btn, -.ui-table td .ui-btn { - line-height: normal; -} -.ui-table th { - font-weight: bold; -} -.ui-table caption { - text-align: left; - margin-bottom: 1.4em; - opacity: .5; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-columntoggle-btn { - float: right; - margin-bottom: .8em; -} -/* Remove top/bottom margins around the fieldcontain on check list */ -.ui-table-columntoggle-popup fieldset { - margin:0; -} -.ui-table-columntoggle { - clear: both; -} -/* Hide all prioritized columns by default */ -@media only all { - th.ui-table-priority-6, - td.ui-table-priority-6, - th.ui-table-priority-5, - td.ui-table-priority-5, - th.ui-table-priority-4, - td.ui-table-priority-4, - th.ui-table-priority-3, - td.ui-table-priority-3, - th.ui-table-priority-2, - td.ui-table-priority-2, - th.ui-table-priority-1, - td.ui-table-priority-1 { - display: none; - } -} -/* Preset breakpoints if ".ui-responsive" class added to table */ -/* Show priority 1 at 320px (20em x 16px) */ -@media screen and (min-width: 20em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-1, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-1 { - display: table-cell; - } -} -/* Show priority 2 at 480px (30em x 16px) */ -@media screen and (min-width: 30em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-2, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-2 { - display: table-cell; - } -} -/* Show priority 3 at 640px (40em x 16px) */ -@media screen and (min-width: 40em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-3, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-3 { - display: table-cell; - } -} -/* Show priority 4 at 800px (50em x 16px) */ -@media screen and (min-width: 50em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-4, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-4 { - display: table-cell; - } -} -/* Show priority 5 at 960px (60em x 16px) */ -@media screen and (min-width: 60em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-5, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-5 { - display: table-cell; - } -} -/* Show priority 6 at 1,120px (70em x 16px) */ -@media screen and (min-width: 70em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-6, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-6 { - display: table-cell; - } -} -/* Unchecked manually: Always hide */ -.ui-table-columntoggle th.ui-table-cell-hidden, -.ui-table-columntoggle td.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden { - display: none; -} -/* Checked manually: Always show */ -.ui-table-columntoggle th.ui-table-cell-visible, -.ui-table-columntoggle td.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible { - display: table-cell; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-reflow td .ui-table-cell-label, -.ui-table-reflow th .ui-table-cell-label { - display: none; -} -/* Mobile first styles: Begin with the stacked presentation at narrow widths */ -@media only all { - /* Hide the table headers */ - .ui-table-reflow thead td, - .ui-table-reflow thead th { - display: none; - } - /* Show the table cells as a block level element */ - .ui-table-reflow td, - .ui-table-reflow th { - text-align: left; - display: block; - } - /* Add a fair amount of top margin to visually separate each row when stacked */ - .ui-table-reflow tbody th { - margin-top: 3em; - } - /* Make the label elements a percentage width */ - .ui-table-reflow td .ui-table-cell-label, - .ui-table-reflow th .ui-table-cell-label { - padding: .4em; - min-width: 30%; - display: inline-block; - margin: -.4em 1em -.4em -.4em; - } - /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ - .ui-table-reflow th .ui-table-cell-label-top, - .ui-table-reflow td .ui-table-cell-label-top { - display: block; - padding: .4em 0; - margin: .4em 0; - text-transform: uppercase; - font-size: .9em; - font-weight: normal; - } -} -/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ -@media ( min-width: 35em ) { - /* Show the table header rows */ - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th, - .ui-table-reflow.ui-responsive tbody th, - .ui-table-reflow.ui-responsive tbody td, - .ui-table-reflow.ui-responsive thead td, - .ui-table-reflow.ui-responsive thead th { - display: table-cell; - margin: 0; - } - /* Hide the labels in each cell */ - .ui-table-reflow.ui-responsive td .ui-table-cell-label, - .ui-table-reflow.ui-responsive th .ui-table-cell-label { - display: none; - } -} -/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ -/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ -@media ( max-width: 35em ) { - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - clear: left; - } -} -/* Panel */ -.ui-panel { - width: 17em; - min-height: 100%; - max-height: none; - border-width: 0; - position: absolute; - top: 0; - display: block; -} -.ui-panel-closed { - width: 0; - max-height: 100%; - overflow: hidden; - visibility: hidden; - left: 0; - clip: rect(1px,1px,1px,1px); -} -.ui-panel-fixed { - position: fixed; - bottom: -1px; /* Fixes gap on Chrome for Android */ - padding-bottom: 1px; -} -.ui-panel-display-reveal { - z-index: 1; -} -.ui-panel-display-push { - z-index: 999; -} -.ui-panel-display-overlay { - z-index: 1001; /* Fixed toolbars have z-index 1000 */ -} -.ui-panel-inner { - padding: 1em; -} -/* Container, page and wrapper */ -.ui-panel-page-container { - overflow-x: visible; -} -.ui-panel-page-container-themed .ui-page-active { - background: none; -} -.ui-panel-wrapper { - position: relative; - min-height: inherit; - border: 0; - overflow-x: hidden; - z-index: 999; -} -/* Fixed toolbars */ -.ui-panel-fixed-toolbar { - overflow-x: hidden; -} -/* Dismiss */ -.ui-panel-dismiss { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - z-index: 1002; - display: none; -} -.ui-panel-dismiss-open { - display: block; -} -/* Animate class is added to panel, wrapper and fixed toolbars */ -.ui-panel-animate { - -webkit-transition: -webkit-transform 300ms ease; - -webkit-transition-duration: 300ms; - -moz-transition: -moz-transform 300ms ease; - transition: transform 300ms ease; -} -/* Fix for Windows Phone issue #6349: unset the transition for transforms in case of fixed toolbars. */ -@media screen and ( max-device-width: 768px ) { - .ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: none; - } - /* We need a transitionend event ... */ - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: -ms-transform 1ms; - -ms-transform: rotate(0deg); - } -} -/* Hardware acceleration for smoother transitions on WebKit browsers */ -.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal) { - -webkit-backface-visibility: hidden; - -webkit-transform: translate3d(0,0,0); -} -/* Panel positioning (for overlay and push) */ -/* Panel left closed */ -.ui-panel-position-left { - left: -17em; -} -/* Panel left closed animated */ -.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-left.ui-panel-display-push { - left: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Panel left open */ -.ui-panel-position-left.ui-panel-display-reveal, /* Unset "panel left closed" for reveal */ -.ui-panel-open.ui-panel-position-left { - left: 0; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Panel right closed */ -.ui-panel-position-right { - right: -17em; -} -/* Panel right closed animated */ -.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-right.ui-panel-display-push { - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-position-right.ui-panel-display-reveal, /* Unset "panel right closed" for reveal */ -.ui-panel-position-right.ui-panel-open { - right: 0; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Wrapper and fixed toolbars positioning (for reveal and push) */ -/* Panel left open */ -.ui-panel-page-content-position-left { - left: 17em; - right: -17em; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-page-content-position-left { - left: 0; - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-page-content-position-right { - left: -17em; - right: 17em; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-page-content-position-right { - left: 0; - right: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Dismiss model open */ -.ui-panel-dismiss-open.ui-panel-dismiss-position-left { - left: 17em; -} -.ui-panel-dismiss-open.ui-panel-dismiss-position-right { - right: 17em; -} -/* Shadows and borders */ -.ui-panel-display-reveal { - -webkit-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - box-shadow: inset -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-reveal { - -webkit-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - box-shadow: inset 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-display-overlay { - -webkit-box-shadow: 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: 5px 0 5px rgba(0,0,0,.15); - box-shadow: 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-overlay { - -webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: -5px 0 5px rgba(0,0,0,.15); - box-shadow: -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - border-right-width: 1px; - margin-right: -1px; -} -.ui-panel-page-content-position-left.ui-panel-page-content-display-push { - margin-left: 1px; - width: auto; -} -.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - border-left-width: 1px; - margin-left: -1px; -} -.ui-panel-page-content-position-right.ui-panel-page-content-display-push { - margin-right: 1px; - width: auto; -} -/* Responsive: wrap on wide viewports once open */ -@media (min-width:55em) { - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left { - margin-right: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right { - margin-left: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open { - width: auto; - } - .ui-responsive-panel .ui-panel-dismiss-display-push, - .ui-responsive-panel.ui-page-active ~ .ui-panel-dismiss-display-push { - display: none; - } -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.min.css deleted file mode 100644 index b1e78616..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -.ui-icon-action:after{background-image:url(images/icons-png/action-white.png)}.ui-icon-alert:after{background-image:url(images/icons-png/alert-white.png)}.ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-white.png)}.ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-white.png)}.ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-white.png)}.ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-white.png)}.ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-white.png)}.ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-white.png)}.ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-white.png)}.ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-white.png)}.ui-icon-audio:after{background-image:url(images/icons-png/audio-white.png)}.ui-icon-back:after{background-image:url(images/icons-png/back-white.png)}.ui-icon-bars:after{background-image:url(images/icons-png/bars-white.png)}.ui-icon-bullets:after{background-image:url(images/icons-png/bullets-white.png)}.ui-icon-calendar:after{background-image:url(images/icons-png/calendar-white.png)}.ui-icon-camera:after{background-image:url(images/icons-png/camera-white.png)}.ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-white.png)}.ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-white.png)}.ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-white.png)}.ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-white.png)}.ui-icon-check:after,html .ui-btn.ui-checkbox-on.ui-checkbox-on:after{background-image:url(images/icons-png/check-white.png)}.ui-icon-clock:after{background-image:url(images/icons-png/clock-white.png)}.ui-icon-cloud:after{background-image:url(images/icons-png/cloud-white.png)}.ui-icon-comment:after{background-image:url(images/icons-png/comment-white.png)}.ui-icon-delete:after{background-image:url(images/icons-png/delete-white.png)}.ui-icon-edit:after{background-image:url(images/icons-png/edit-white.png)}.ui-icon-eye:after{background-image:url(images/icons-png/eye-white.png)}.ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-white.png)}.ui-icon-forward:after{background-image:url(images/icons-png/forward-white.png)}.ui-icon-gear:after{background-image:url(images/icons-png/gear-white.png)}.ui-icon-grid:after{background-image:url(images/icons-png/grid-white.png)}.ui-icon-heart:after{background-image:url(images/icons-png/heart-white.png)}.ui-icon-home:after{background-image:url(images/icons-png/home-white.png)}.ui-icon-info:after{background-image:url(images/icons-png/info-white.png)}.ui-icon-location:after{background-image:url(images/icons-png/location-white.png)}.ui-icon-lock:after{background-image:url(images/icons-png/lock-white.png)}.ui-icon-mail:after{background-image:url(images/icons-png/mail-white.png)}.ui-icon-minus:after{background-image:url(images/icons-png/minus-white.png)}.ui-icon-navigation:after{background-image:url(images/icons-png/navigation-white.png)}.ui-icon-phone:after{background-image:url(images/icons-png/phone-white.png)}.ui-icon-plus:after{background-image:url(images/icons-png/plus-white.png)}.ui-icon-power:after{background-image:url(images/icons-png/power-white.png)}.ui-icon-recycle:after{background-image:url(images/icons-png/recycle-white.png)}.ui-icon-refresh:after{background-image:url(images/icons-png/refresh-white.png)}.ui-icon-search:after{background-image:url(images/icons-png/search-white.png)}.ui-icon-shop:after{background-image:url(images/icons-png/shop-white.png)}.ui-icon-star:after{background-image:url(images/icons-png/star-white.png)}.ui-icon-tag:after{background-image:url(images/icons-png/tag-white.png)}.ui-icon-user:after{background-image:url(images/icons-png/user-white.png)}.ui-icon-video:after{background-image:url(images/icons-png/video-white.png)}.ui-alt-icon.ui-icon-action:after,.ui-alt-icon .ui-icon-action:after{background-image:url(images/icons-png/action-black.png)}.ui-alt-icon.ui-icon-alert:after,.ui-alt-icon .ui-icon-alert:after{background-image:url(images/icons-png/alert-black.png)}.ui-alt-icon.ui-icon-arrow-d:after,.ui-alt-icon .ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-black.png)}.ui-alt-icon.ui-icon-arrow-d-l:after,.ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-black.png)}.ui-alt-icon.ui-icon-arrow-d-r:after,.ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-black.png)}.ui-alt-icon.ui-icon-arrow-l:after,.ui-alt-icon .ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-black.png)}.ui-alt-icon.ui-icon-arrow-r:after,.ui-alt-icon .ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-black.png)}.ui-alt-icon.ui-icon-arrow-u:after,.ui-alt-icon .ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-black.png)}.ui-alt-icon.ui-icon-arrow-u-l:after,.ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-black.png)}.ui-alt-icon.ui-icon-arrow-u-r:after,.ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-black.png)}.ui-alt-icon.ui-icon-audio:after,.ui-alt-icon .ui-icon-audio:after{background-image:url(images/icons-png/audio-black.png)}.ui-alt-icon.ui-icon-back:after,.ui-alt-icon .ui-icon-back:after{background-image:url(images/icons-png/back-black.png)}.ui-alt-icon.ui-icon-bars:after,.ui-alt-icon .ui-icon-bars:after{background-image:url(images/icons-png/bars-black.png)}.ui-alt-icon.ui-icon-bullets:after,.ui-alt-icon .ui-icon-bullets:after{background-image:url(images/icons-png/bullets-black.png)}.ui-alt-icon.ui-icon-calendar:after,.ui-alt-icon .ui-icon-calendar:after{background-image:url(images/icons-png/calendar-black.png)}.ui-alt-icon.ui-icon-camera:after,.ui-alt-icon .ui-icon-camera:after{background-image:url(images/icons-png/camera-black.png)}.ui-alt-icon.ui-icon-carat-d:after,.ui-alt-icon .ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-black.png)}.ui-alt-icon.ui-icon-carat-l:after,.ui-alt-icon .ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-black.png)}.ui-alt-icon.ui-icon-carat-r:after,.ui-alt-icon .ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-black.png)}.ui-alt-icon.ui-icon-carat-u:after,.ui-alt-icon .ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-black.png)}.ui-alt-icon.ui-icon-check:after,.ui-alt-icon .ui-icon-check:after,html .ui-alt-icon.ui-btn.ui-checkbox-on:after,html .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url(images/icons-png/check-black.png)}.ui-alt-icon.ui-icon-clock:after,.ui-alt-icon .ui-icon-clock:after{background-image:url(images/icons-png/clock-black.png)}.ui-alt-icon.ui-icon-cloud:after,.ui-alt-icon .ui-icon-cloud:after{background-image:url(images/icons-png/cloud-black.png)}.ui-alt-icon.ui-icon-comment:after,.ui-alt-icon .ui-icon-comment:after{background-image:url(images/icons-png/comment-black.png)}.ui-alt-icon.ui-icon-delete:after,.ui-alt-icon .ui-icon-delete:after{background-image:url(images/icons-png/delete-black.png)}.ui-alt-icon.ui-icon-edit:after,.ui-alt-icon .ui-icon-edit:after{background-image:url(images/icons-png/edit-black.png)}.ui-alt-icon.ui-icon-eye:after,.ui-alt-icon .ui-icon-eye:after{background-image:url(images/icons-png/eye-black.png)}.ui-alt-icon.ui-icon-forbidden:after,.ui-alt-icon .ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-black.png)}.ui-alt-icon.ui-icon-forward:after,.ui-alt-icon .ui-icon-forward:after{background-image:url(images/icons-png/forward-black.png)}.ui-alt-icon.ui-icon-gear:after,.ui-alt-icon .ui-icon-gear:after{background-image:url(images/icons-png/gear-black.png)}.ui-alt-icon.ui-icon-grid:after,.ui-alt-icon .ui-icon-grid:after{background-image:url(images/icons-png/grid-black.png)}.ui-alt-icon.ui-icon-heart:after,.ui-alt-icon .ui-icon-heart:after{background-image:url(images/icons-png/heart-black.png)}.ui-alt-icon.ui-icon-home:after,.ui-alt-icon .ui-icon-home:after{background-image:url(images/icons-png/home-black.png)}.ui-alt-icon.ui-icon-info:after,.ui-alt-icon .ui-icon-info:after{background-image:url(images/icons-png/info-black.png)}.ui-alt-icon.ui-icon-location:after,.ui-alt-icon .ui-icon-location:after{background-image:url(images/icons-png/location-black.png)}.ui-alt-icon.ui-icon-lock:after,.ui-alt-icon .ui-icon-lock:after{background-image:url(images/icons-png/lock-black.png)}.ui-alt-icon.ui-icon-mail:after,.ui-alt-icon .ui-icon-mail:after{background-image:url(images/icons-png/mail-black.png)}.ui-alt-icon.ui-icon-minus:after,.ui-alt-icon .ui-icon-minus:after{background-image:url(images/icons-png/minus-black.png)}.ui-alt-icon.ui-icon-navigation:after,.ui-alt-icon .ui-icon-navigation:after{background-image:url(images/icons-png/navigation-black.png)}.ui-alt-icon.ui-icon-phone:after,.ui-alt-icon .ui-icon-phone:after{background-image:url(images/icons-png/phone-black.png)}.ui-alt-icon.ui-icon-plus:after,.ui-alt-icon .ui-icon-plus:after{background-image:url(images/icons-png/plus-black.png)}.ui-alt-icon.ui-icon-power:after,.ui-alt-icon .ui-icon-power:after{background-image:url(images/icons-png/power-black.png)}.ui-alt-icon.ui-icon-recycle:after,.ui-alt-icon .ui-icon-recycle:after{background-image:url(images/icons-png/recycle-black.png)}.ui-alt-icon.ui-icon-refresh:after,.ui-alt-icon .ui-icon-refresh:after{background-image:url(images/icons-png/refresh-black.png)}.ui-alt-icon.ui-icon-search:after,.ui-alt-icon .ui-icon-search:after,.ui-input-search:after{background-image:url(images/icons-png/search-black.png)}.ui-alt-icon.ui-icon-shop:after,.ui-alt-icon .ui-icon-shop:after{background-image:url(images/icons-png/shop-black.png)}.ui-alt-icon.ui-icon-star:after,.ui-alt-icon .ui-icon-star:after{background-image:url(images/icons-png/star-black.png)}.ui-alt-icon.ui-icon-tag:after,.ui-alt-icon .ui-icon-tag:after{background-image:url(images/icons-png/tag-black.png)}.ui-alt-icon.ui-icon-user:after,.ui-alt-icon .ui-icon-user:after{background-image:url(images/icons-png/user-black.png)}.ui-alt-icon.ui-icon-video:after,.ui-alt-icon .ui-icon-video:after{background-image:url(images/icons-png/video-black.png)}html{font-size:100%}body,input,select,textarea,button,.ui-btn{font-size:1em;line-height:1.3;font-family:sans-serif}legend,.ui-input-text input,.ui-input-search input{color:inherit;text-shadow:inherit}.ui-mobile label,div.ui-controlgroup-label{font-weight:400;font-size:16px}.ui-field-contain{border-bottom-color:#828282;border-bottom-color:rgba(0,0,0,.15);border-bottom-width:1px;border-bottom-style:solid}.table-stroke thead th,.table-stripe thead th,.table-stripe tbody tr:last-child{border-bottom:1px solid #d6d6d6;border-bottom:1px solid rgba(0,0,0,.1)}.table-stroke tbody th,.table-stroke tbody td{border-bottom:1px solid #e6e6e6;border-bottom:1px solid rgba(0,0,0,.05)}.table-stripe.table-stroke tbody tr:last-child th,.table-stripe.table-stroke tbody tr:last-child td{border-bottom:0}.table-stripe tbody tr:nth-child(odd) td,.table-stripe tbody tr:nth-child(odd) th{background-color:#eee;background-color:rgba(0,0,0,.04)}.ui-btn,label.ui-btn{font-weight:700;border-width:1px;border-style:solid}.ui-btn{text-decoration:none!important}.ui-btn-active{cursor:pointer}.ui-corner-all{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-corner-all,.ui-btn.ui-corner-all,.ui-slider-track.ui-corner-all,.ui-flipswitch.ui-corner-all,.ui-li-count{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-icon-notext.ui-btn-corner-all,.ui-btn-icon-notext.ui-corner-all{-webkit-border-radius:1em;border-radius:1em}.ui-btn-corner-all,.ui-corner-all{-webkit-background-clip:padding;background-clip:padding-box}.ui-popup.ui-corner-all>.ui-popup-arrow-guide{left:.6em;right:.6em;top:.6em;bottom:.6em}.ui-shadow{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);-moz-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15)}.ui-shadow-inset{-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.ui-overlay-shadow{-webkit-box-shadow:0 0 12px rgba(0,0,0,.6);-moz-box-shadow:0 0 12px rgba(0,0,0,.6);box-shadow:0 0 12px rgba(0,0,0,.6)}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{background-color:#666;background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;-webkit-border-radius:1em;border-radius:1em}.ui-alt-icon.ui-btn:after,.ui-alt-icon .ui-btn:after,html .ui-alt-icon.ui-checkbox-off:after,html .ui-alt-icon.ui-radio-off:after,html .ui-alt-icon .ui-checkbox-off:after,html .ui-alt-icon .ui-radio-off:after{background-color:#666;background-color:rgba(0,0,0,.15)}.ui-nodisc-icon.ui-btn:after,.ui-nodisc-icon .ui-btn:after{background-color:transparent}.ui-shadow-icon.ui-btn:after,.ui-shadow-icon .ui-btn:after{-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after,.ui-btn.ui-radio-off:after,.ui-btn.ui-radio-on:after{display:block;width:18px;height:18px;margin:-9px 2px 0 2px}.ui-checkbox-off:after,.ui-btn.ui-radio-off:after{filter:Alpha(Opacity=30);opacity:.3}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after{-webkit-border-radius:.1875em;border-radius:.1875em}.ui-btn.ui-checkbox-off:after{background-color:#666;background-color:rgba(0,0,0,.3)}.ui-radio .ui-btn.ui-radio-on:after{background-image:none;background-color:#fff;width:8px;height:8px;border-width:5px;border-style:solid}.ui-alt-icon.ui-btn.ui-radio-on:after,.ui-alt-icon .ui-btn.ui-radio-on:after{background-color:#000}.ui-icon-loading{background:url(images/ajax-loader.gif);background-size:2.875em 2.875em}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background-color:#e9e9e9;border-color:#ddd;color:#333;text-shadow:0 1px 0 #eee;font-weight:700}.ui-bar-a{border-width:1px;border-style:solid}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background-color:#f9f9f9;border-color:#bbb;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background-color:#fff;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a{border-width:1px;border-style:solid}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#38c;font-weight:700}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-group-theme-a a:visited{color:#38c}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#059}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#059}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head+body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head+body .ui-btn.ui-btn-a:visited{background-color:#f6f6f6;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head+body .ui-btn.ui-btn-a:hover{background-color:#ededed;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:active,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head+body .ui-btn.ui-btn-a:active{background-color:#e8e8e8;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-track .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#38c;border-color:#38c;color:#fff;text-shadow:0 1px 0 #059}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#38c}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head+body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head+body .ui-btn-a.ui-focus,html head+body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #38c;-moz-box-shadow:0 0 12px #38c;box-shadow:0 0 12px #38c}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-bar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background-color:#1d1d1d;border-color:#1b1b1b;color:#fff;text-shadow:0 1px 0 #111;font-weight:700}.ui-bar-b{border-width:1px;border-style:solid}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background-color:#252525;border-color:#454545;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background-color:#2a2a2a;border-color:#1d1d1d;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b{border-width:1px;border-style:solid}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#2ad;font-weight:700}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{color:#2ad}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-b a:hover,html body .ui-group-theme-b a:hover{color:#08b}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#08b}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head+body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head+body .ui-btn.ui-btn-b:visited{background-color:#333;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head+body .ui-btn.ui-btn-b:hover{background-color:#373737;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-btn:active,html head+body .ui-btn.ui-btn-b:active{background-color:#404040;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-b .ui-btn-active{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#2ad}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head+body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head+body .ui-btn-b.ui-focus,html head+body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #2ad;-moz-box-shadow:0 0 12px #2ad;box-shadow:0 0 12px #2ad}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default!important;pointer-events:none}.ui-btn:focus,.ui-btn.ui-focus{outline:0}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui-overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto}.ui-mobile,.ui-mobile body{height:99.9%}.ui-mobile fieldset,.ui-page{padding:0;margin:0}.ui-mobile a img,.ui-mobile fieldset{border-width:0}.ui-mobile fieldset{min-width:0}@-moz-document url-prefix(){.ui-mobile fieldset{display:table-column;vertical-align:middle}}.ui-mobile-viewport{margin:0;overflow-x:visible;-webkit-text-size-adjust:100%;-ms-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body.ui-mobile-viewport,div.ui-mobile-viewport{overflow-x:hidden}.ui-mobile [data-role=page],.ui-mobile [data-role=dialog],.ui-page{top:0;left:0;width:100%;min-height:100%;position:absolute;display:none;border:0}.ui-page{outline:0}.ui-mobile .ui-page-active{display:block;overflow:visible;overflow-x:hidden}@media screen and (orientation:portrait){.ui-mobile .ui-page{min-height:420px}}@media screen and (orientation:landscape){.ui-mobile .ui-page{min-height:300px}}.ui-mobile-rendering>*{visibility:hidden}.ui-nojs{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-loading .ui-loader{display:block}.ui-loader{display:none;z-index:9999999;position:fixed;top:50%;left:50%;border:0}.ui-loader-default{background:0;filter:Alpha(Opacity=18);opacity:.18;width:2.875em;height:2.875em;margin-left:-1.4375em;margin-top:-1.4375em}.ui-loader-verbose{width:12.5em;filter:Alpha(Opacity=88);opacity:.88;box-shadow:0 1px 1px -1px #fff;height:auto;margin-left:-6.875em;margin-top:-2.6875em;padding:.625em}.ui-loader-default h1{font-size:0;width:0;height:0;overflow:hidden}.ui-loader-verbose h1{font-size:1em;margin:0;text-align:center}.ui-loader .ui-icon-loading{background-color:#000;display:block;margin:0;width:2.75em;height:2.75em;padding:.0625em;-webkit-border-radius:2.25em;border-radius:2.25em}.ui-loader-verbose .ui-icon-loading{margin:0 auto .625em;filter:Alpha(Opacity=75);opacity:.75}.ui-loader-textonly{padding:.9375em;margin-left:-7.1875em}.ui-loader-textonly .ui-icon-loading{display:none}.ui-loader-fakefix{position:absolute}.ui-bar,.ui-body{position:relative;padding:.4em 1em;overflow:hidden;display:block;clear:both}.ui-bar h1,.ui-bar h2,.ui-bar h3,.ui-bar h4,.ui-bar h5,.ui-bar h6{margin:0;padding:0;font-size:1em;display:inline-block}.ui-header,.ui-footer{border-width:1px 0;border-style:solid;position:relative}.ui-header:empty,.ui-footer:empty{min-height:2.6875em}.ui-header .ui-title,.ui-footer .ui-title{font-size:1em;min-height:1.1em;text-align:center;display:block;margin:0 30%;padding:.7em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;outline:0!important}.ui-footer .ui-title{margin:0 1em}.ui-content{border-width:0;overflow:visible;overflow-x:hidden;padding:1em}.ui-corner-all>.ui-header:first-child,.ui-corner-all>.ui-content:first-child,.ui-corner-all>.ui-footer:first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-corner-all>.ui-header:last-child,.ui-corner-all>.ui-content:last-child,.ui-corner-all>.ui-footer:last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-btn{font-size:16px;margin:.5em 0;padding:.7em 1em;display:block;position:relative;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-btn-icon-notext,.ui-header button.ui-btn.ui-btn-icon-notext,.ui-footer button.ui-btn.ui-btn-icon-notext{padding:0;width:1.75em;height:1.75em;text-indent:-9999px;white-space:nowrap!important}.ui-mini{font-size:12.5px}.ui-mini .ui-btn{font-size:inherit}.ui-header .ui-btn,.ui-footer .ui-btn{font-size:12.5px;display:inline-block;vertical-align:middle}.ui-header .ui-controlgroup .ui-btn-icon-notext,.ui-footer .ui-controlgroup .ui-btn-icon-notext{font-size:12.5px}.ui-header .ui-btn-left,.ui-header .ui-btn-right{font-size:12.5px}.ui-mini.ui-btn-icon-notext,.ui-mini .ui-btn-icon-notext,.ui-header .ui-btn-icon-notext,.ui-footer .ui-btn-icon-notext{font-size:16px;padding:0}.ui-btn-inline{display:inline-block;vertical-align:middle;margin-right:.625em}.ui-btn-icon-left{padding-left:2.5em}.ui-btn-icon-right{padding-right:2.5em}.ui-btn-icon-top{padding-top:2.5em}.ui-btn-icon-bottom{padding-bottom:2.5em}.ui-header .ui-btn-icon-top,.ui-footer .ui-btn-icon-top,.ui-header .ui-btn-icon-bottom,.ui-footer .ui-btn-icon-bottom{padding-left:.3125em;padding-right:.3125em}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{content:"";position:absolute;display:block;width:22px;height:22px}.ui-btn-icon-notext:after,.ui-btn-icon-left:after,.ui-btn-icon-right:after{top:50%;margin-top:-11px}.ui-btn-icon-left:after{left:.5625em}.ui-btn-icon-right:after{right:.5625em}.ui-mini.ui-btn-icon-left:after,.ui-mini .ui-btn-icon-left:after,.ui-header .ui-btn-icon-left:after,.ui-footer .ui-btn-icon-left:after{left:.37em}.ui-mini.ui-btn-icon-right:after,.ui-mini .ui-btn-icon-right:after,.ui-header .ui-btn-icon-right:after,.ui-footer .ui-btn-icon-right:after{right:.37em}.ui-btn-icon-notext:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after{left:50%;margin-left:-11px}.ui-btn-icon-top:after{top:.5625em}.ui-btn-icon-bottom:after{top:auto;bottom:.5625em}.ui-header .ui-btn-left,.ui-header .ui-btn-right,.ui-btn-left>[class*=ui-],.ui-btn-right>[class*=ui-]{margin:0}.ui-btn-left,.ui-btn-right{position:absolute;top:.24em}.ui-btn-left{left:.4em}.ui-btn-right{right:.4em}.ui-btn-icon-notext.ui-btn-left{top:.3125em;left:.3125em}.ui-btn-icon-notext.ui-btn-right{top:.3125em;right:.3125em}button.ui-btn,.ui-controlgroup-controls button.ui-btn-icon-notext{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;width:100%}button.ui-btn-inline,.ui-header button.ui-btn,.ui-footer button.ui-btn{width:auto}button.ui-btn::-moz-focus-inner{border:0}button.ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:1.75em}.ui-mobile label,.ui-controlgroup-label{display:block;margin:0 0 .4em}.ui-hide-label>label,.ui-hide-label .ui-controlgroup-label,.ui-hide-label .ui-rangeslider label,.ui-hidden-accessible{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-screen-hidden{display:none!important}.ui-mobile-viewport-transitioning,.ui-mobile-viewport-transitioning .ui-page{width:100%;height:100%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-page-pre-in{opacity:0}.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.out{-webkit-animation-timing-function:ease-in;-webkit-animation-duration:225ms;-moz-animation-timing-function:ease-in;-moz-animation-duration:225ms;animation-timing-function:ease-in;animation-duration:225ms}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}.fade.out{opacity:0;-webkit-animation-duration:125ms;-webkit-animation-name:fadeout;-moz-animation-duration:125ms;-moz-animation-name:fadeout;animation-duration:125ms;animation-name:fadeout}.fade.in{opacity:1;-webkit-animation-duration:225ms;-webkit-animation-name:fadein;-moz-animation-duration:225ms;-moz-animation-name:fadein;animation-duration:225ms;animation-name:fadein}.pop{-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;transform-origin:50% 50%}.pop.in{-webkit-transform:scale(1);-webkit-animation-name:popin;-webkit-animation-duration:350ms;-moz-transform:scale(1);-moz-animation-name:popin;-moz-animation-duration:350ms;transform:scale(1);animation-name:popin;animation-duration:350ms;opacity:1}.pop.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms;opacity:0}.pop.in.reverse{-webkit-animation-name:fadein;-moz-animation-name:fadein;animation-name:fadein}.pop.out.reverse{-webkit-transform:scale(.8);-webkit-animation-name:popout;-moz-transform:scale(.8);-moz-animation-name:popout;transform:scale(.8);animation-name:popout}@-webkit-keyframes popin{from{-webkit-transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@-moz-keyframes popin{from{-moz-transform:scale(.8);opacity:0}to{-moz-transform:scale(1);opacity:1}}@keyframes popin{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes popout{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@-moz-keyframes popout{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(.8);opacity:0}}@keyframes popout{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes slideinfromright{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromright{from{-moz-transform:translateX(100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromright{from{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes slideinfromleft{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromleft{from{-moz-transform:translateX(-100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromleft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@-webkit-keyframes slideouttoleft{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-100%,0,0)}}@-moz-keyframes slideouttoleft{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(-100%)}}@keyframes slideouttoleft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@-webkit-keyframes slideouttoright{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0)}}@-moz-keyframes slideouttoright{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(100%)}}@keyframes slideouttoright{from{transform:translateX(0)}to{transform:translateX(100%)}}.slide.out,.slide.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.slide.out{-webkit-transform:translate3d(-100%,0,0);-webkit-animation-name:slideouttoleft;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;transform:translateX(-100%);animation-name:slideouttoleft}.slide.in{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromright;-moz-transform:translateX(0);-moz-animation-name:slideinfromright;transform:translateX(0);animation-name:slideinfromright}.slide.out.reverse{-webkit-transform:translate3d(100%,0,0);-webkit-animation-name:slideouttoright;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;transform:translateX(100%);animation-name:slideouttoright}.slide.in.reverse{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromleft;-moz-transform:translateX(0);-moz-animation-name:slideinfromleft;transform:translateX(0);animation-name:slideinfromleft}.slidefade.out{-webkit-transform:translateX(-100%);-webkit-animation-name:slideouttoleft;-webkit-animation-duration:225ms;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;-moz-animation-duration:225ms;transform:translateX(-100%);animation-name:slideouttoleft;animation-duration:225ms}.slidefade.in{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidefade.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:slideouttoright;-webkit-animation-duration:200ms;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;-moz-animation-duration:200ms;transform:translateX(100%);animation-name:slideouttoright;animation-duration:200ms}.slidefade.in.reverse{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidedown.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slidedown.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfromtop;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfromtop;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfromtop;animation-duration:250ms}.slidedown.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slidedown.out.reverse{-webkit-transform:translateY(-100%);-webkit-animation-name:slideouttotop;-webkit-animation-duration:200ms;-moz-transform:translateY(-100%);-moz-animation-name:slideouttotop;-moz-animation-duration:200ms;transform:translateY(-100%);animation-name:slideouttotop;animation-duration:200ms}@-webkit-keyframes slideinfromtop{from{-webkit-transform:translateY(-100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfromtop{from{-moz-transform:translateY(-100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfromtop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttotop{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(-100%)}}@-moz-keyframes slideouttotop{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(-100%)}}@keyframes slideouttotop{from{transform:translateY(0)}to{transform:translateY(-100%)}}.slideup.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slideup.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfrombottom;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfrombottom;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfrombottom;animation-duration:250ms}.slideup.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slideup.out.reverse{-webkit-transform:translateY(100%);-webkit-animation-name:slideouttobottom;-webkit-animation-duration:200ms;-moz-transform:translateY(100%);-moz-animation-name:slideouttobottom;-moz-animation-duration:200ms;transform:translateY(100%);animation-name:slideouttobottom;animation-duration:200ms}@-webkit-keyframes slideinfrombottom{from{-webkit-transform:translateY(100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfrombottom{from{-moz-transform:translateY(100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfrombottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttobottom{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(100%)}}@-moz-keyframes slideouttobottom{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(100%)}}@keyframes slideouttobottom{from{transform:translateY(0)}to{transform:translateY(100%)}}.viewport-flip{-webkit-perspective:1000;-moz-perspective:1000;perspective:1000;position:absolute}.flip{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-moz-backface-visibility:hidden;-moz-transform:translateX(0);backface-visibility:hidden;transform:translateX(0)}.flip.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:175ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:175ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:175ms}.flip.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:225ms;-moz-animation-name:flipintoright;-moz-animation-duration:225ms;animation-name:flipintoright;animation-duration:225ms}.flip.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.flip.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.viewport-turn{-webkit-perspective:200px;-moz-perspective:200px;-ms-perspective:200px;perspective:200px;position:absolute}.turn{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-webkit-transform-origin:0;-moz-backface-visibility:hidden;-moz-transform:translateX(0);-moz-transform-origin:0;backface-visibility:hidden;transform:translateX(0);transform-origin:0}.turn.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:125ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:125ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:125ms}.turn.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:250ms;-moz-animation-name:flipintoright;-moz-animation-duration:250ms;animation-name:flipintoright;animation-duration:250ms}.turn.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.turn.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.flow{-webkit-transform-origin:50% 30%;-webkit-box-shadow:0 0 20px rgba(0,0,0,.4);-moz-transform-origin:50% 30%;-moz-box-shadow:0 0 20px rgba(0,0,0,.4);transform-origin:50% 30%;box-shadow:0 0 20px rgba(0,0,0,.4)}.ui-dialog.flow{-webkit-transform-origin:none;-webkit-box-shadow:none;-moz-transform-origin:none;-moz-box-shadow:none;transform-origin:none;box-shadow:none}.flow.out{-webkit-transform:translateX(-100%) scale(.7);-webkit-animation-name:flowouttoleft;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(-100%) scale(.7);-moz-animation-name:flowouttoleft;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(-100%) scale(.7);animation-name:flowouttoleft;animation-timing-function:ease;animation-duration:350ms}.flow.in{-webkit-transform:translateX(0) scale(1);-webkit-animation-name:flowinfromright;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(0) scale(1);-moz-animation-name:flowinfromright;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(0) scale(1);animation-name:flowinfromright;animation-timing-function:ease;animation-duration:350ms}.flow.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:flowouttoright;-moz-transform:translateX(100%);-moz-animation-name:flowouttoright;transform:translateX(100%);animation-name:flowouttoright}.flow.in.reverse{-webkit-animation-name:flowinfromleft;-moz-animation-name:flowinfromleft;animation-name:flowinfromleft}@-webkit-keyframes flowouttoleft{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(-100%) scale(.7)}}@-moz-keyframes flowouttoleft{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(-100%) scale(.7)}}@keyframes flowouttoleft{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(-100%) scale(.7)}}@-webkit-keyframes flowouttoright{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(100%) scale(.7)}}@-moz-keyframes flowouttoright{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(100%) scale(.7)}}@keyframes flowouttoright{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(100%) scale(.7)}}@-webkit-keyframes flowinfromleft{0%{-webkit-transform:translateX(-100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromleft{0%{-moz-transform:translateX(-100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromleft{0%{transform:translateX(-100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}@-webkit-keyframes flowinfromright{0%{-webkit-transform:translateX(100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromright{0%{-moz-transform:translateX(100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromright{0%{transform:translateX(100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}.ui-field-contain,.ui-mobile fieldset.ui-field-contain{display:block;position:relative;overflow:visible;clear:both;padding:.8em 0}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{margin:0}.ui-field-contain:last-child{border-bottom-width:0}@media (min-width:28em){.ui-field-contain,.ui-mobile fieldset.ui-field-contain{padding:0;margin:1em 0;border-bottom-width:0}.ui-field-contain:before,.ui-field-contain:after{content:"";display:table}.ui-field-contain:after{clear:both}.ui-field-contain>label,.ui-field-contain .ui-controlgroup-label,.ui-field-contain>.ui-rangeslider>label{float:left;width:20%;margin:.5em 2% 0 0}.ui-popup .ui-field-contain>label,.ui-popup .ui-field-contain .ui-controlgroup-label,.ui-popup .ui-field-contain>.ui-rangeslider>label{float:none;width:auto;margin:0 0 .4em}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{float:left;width:78%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-hide-label>label~[class*=ui-],.ui-hide-label .ui-controlgroup-controls,.ui-popup .ui-field-contain>label~[class*=ui-],.ui-popup .ui-field-contain .ui-controlgroup-controls{float:none;width:100%}.ui-field-contain>label~.ui-btn-inline{width:auto;margin-right:.625em}.ui-field-contain>label~.ui-btn-inline.ui-btn-icon-notext{width:1.75em}}.ui-grid-a,.ui-grid-b,.ui-grid-c,.ui-grid-d,.ui-grid-solo{overflow:hidden}.ui-block-a,.ui-block-b,.ui-block-c,.ui-block-d,.ui-block-e{margin:0;padding:0;border:0;float:left;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-block-a{clear:left}ul.ui-grid-a,ul.ui-grid-b,ul.ui-grid-c,ul.ui-grid-d,ul.ui-grid-solo,li.ui-block-a,li.ui-block-b,li.ui-block-c,li.ui-block-d,li.ui-block-e{margin-left:0;margin-right:0;padding:0;list-style:none}[class*=ui-block-]>button.ui-btn{margin-right:0;margin-left:0}[class*=ui-block-]>.ui-btn,[class*=ui-block-]>.ui-select,[class*=ui-block-]>.ui-checkbox,[class*=ui-block-]>.ui-radio,[class*=ui-block-]>button.ui-btn-inline,[class*=ui-block-]>button.ui-btn-icon-notext,.ui-header [class*=ui-block-]>button.ui-btn,.ui-footer [class*=ui-block-]>button.ui-btn{margin-right:.3125em;margin-left:.3125em}.ui-grid-a>.ui-block-a,.ui-grid-a>.ui-block-b{width:50%}.ui-grid-b>.ui-block-a,.ui-grid-b>.ui-block-b,.ui-grid-b>.ui-block-c{width:33.333%}.ui-grid-c>.ui-block-a,.ui-grid-c>.ui-block-b,.ui-grid-c>.ui-block-c,.ui-grid-c>.ui-block-d{width:25%}.ui-grid-d>.ui-block-a,.ui-grid-d>.ui-block-b,.ui-grid-d>.ui-block-c,.ui-grid-d>.ui-block-d,.ui-grid-d>.ui-block-e{width:20%}.ui-grid-solo>.ui-block-a{width:100%;float:none}@media (max-width:35em){.ui-responsive>.ui-block-a,.ui-responsive>.ui-block-b,.ui-responsive>.ui-block-c,.ui-responsive>.ui-block-d,.ui-responsive>.ui-block-e{width:100%;float:none}}.ui-header-fixed,.ui-footer-fixed{left:0;right:0;width:100%;position:fixed;z-index:1000}.ui-header-fixed{top:-1px;padding-top:1px}.ui-header-fixed.ui-fixed-hidden{top:0;padding-top:0}.ui-header-fixed .ui-btn-left,.ui-header-fixed .ui-btn-right{margin-top:1px}.ui-header-fixed.ui-fixed-hidden .ui-btn-left,.ui-header-fixed.ui-fixed-hidden .ui-btn-right{margin-top:0}.ui-footer-fixed{bottom:-1px;padding-bottom:1px}.ui-footer-fixed.ui-fixed-hidden{bottom:0;padding-bottom:0}.ui-header-fullscreen,.ui-footer-fullscreen{filter:Alpha(Opacity=90);opacity:.9}.ui-page-header-fixed{padding-top:2.8125em}.ui-page-footer-fixed{padding-bottom:2.8125em}.ui-page-header-fullscreen>.ui-content,.ui-page-footer-fullscreen>.ui-content{padding:0}.ui-fixed-hidden{position:absolute}.ui-footer-fixed.ui-fixed-hidden{display:none}.ui-page .ui-footer-fixed.ui-fixed-hidden{display:block}.ui-page-header-fullscreen .ui-fixed-hidden,.ui-page-footer-fullscreen .ui-fixed-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-header-fixed .ui-btn,.ui-footer-fixed .ui-btn{z-index:10}.ui-android-2x-fixed .ui-li-has-thumb{-webkit-transform:translate3d(0,0,0)}.ui-navbar{max-width:100%}.ui-navbar ul:before,.ui-navbar ul:after{content:"";display:table}.ui-navbar ul:after{clear:both}.ui-navbar ul{list-style:none;margin:0;padding:0;position:relative;display:block;border:0;max-width:100%;overflow:visible}.ui-navbar li .ui-btn{font-size:12.5px;display:block;margin:0;border-right-width:0}.ui-header .ui-navbar li button.ui-btn,.ui-footer .ui-navbar li button.ui-btn{margin:0;width:100%}.ui-navbar .ui-btn:focus{z-index:1}.ui-navbar li:last-child .ui-btn{margin-right:-4px}.ui-navbar li:last-child .ui-btn:after{margin-right:4px}.ui-content .ui-navbar li:last-child .ui-btn,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn{border-right-width:1px;margin-right:0}.ui-content .ui-navbar li:last-child .ui-btn:after,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after{margin-right:0}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn{border-right-width:1px;margin-right:-1px}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after{margin-right:1px}.ui-navbar .ui-grid-duo .ui-btn{border-top-width:0}.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-header .ui-navbar .ui-btn,.ui-footer .ui-navbar .ui-btn{border-top-width:0;border-bottom-width:0}.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:0}.ui-header .ui-title~.ui-navbar .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-input-btn input{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background:#fff;background:rgba(255,255,255,0);filter:Alpha(Opacity=0);opacity:.1;font-size:1px;text-indent:-9999px;z-index:2}.ui-input-btn.ui-state-disabled input{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible{margin:0 -1em}.ui-collapsible-inset,.ui-collapsible-set{margin:.5em 0}.ui-collapsible-heading{display:block;margin:0;padding:0;position:relative}.ui-collapsible-heading .ui-btn{text-align:left;margin:0;border-left-width:0;border-right-width:0}.ui-collapsible-heading .ui-btn-icon-top,.ui-collapsible-heading .ui-btn-icon-bottom{text-align:center}.ui-collapsible-inset .ui-collapsible-heading .ui-btn{border-right-width:1px;border-left-width:1px}.ui-collapsible-collapsed+.ui-collapsible:not(.ui-collapsible-inset)>.ui-collapsible-heading .ui-btn{border-top-width:0}.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn{border-top-width:1px}.ui-collapsible-heading-status{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible-content{display:block;margin:0;padding:.5em 1em}.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:0;border-right-width:0;border-top-width:0;border-bottom-width:1px;border-style:solid}.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:1px;border-right-width:1px}.ui-collapsible-inset .ui-collapsible-content{margin:0}.ui-collapsible-content-collapsed{display:none}.ui-collapsible-set>.ui-collapsible.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-collapsible-heading,.ui-collapsible-heading>.ui-btn{-webkit-border-radius:inherit;border-radius:inherit}.ui-collapsible-set .ui-collapsible.ui-first-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-collapsible-content,.ui-collapsible-set .ui-collapsible.ui-last-child{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-themed-content:not(.ui-collapsible-collapsed)>.ui-collapsible-heading{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-collapsible-set .ui-collapsible{margin:-1px -1em 0}.ui-collapsible-set .ui-collapsible-inset{margin:-1px 0 0}.ui-collapsible-set .ui-collapsible.ui-first-child{margin-top:0}.ui-controlgroup,fieldset.ui-controlgroup{padding:0;margin:.5em 0}.ui-field-contain .ui-controlgroup,.ui-field-contain fieldset.ui-controlgroup{margin:0}.ui-mini .ui-controlgroup-label{font-size:16px}.ui-controlgroup.ui-mini .ui-btn-icon-notext,.ui-controlgroup .ui-mini.ui-btn-icon-notext{font-size:inherit}.ui-controlgroup-controls .ui-btn,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-select{margin:0}.ui-controlgroup-controls .ui-btn:focus,.ui-controlgroup-controls .ui-btn.ui-focus{z-index:1}.ui-controlgroup-controls li{list-style:none}.ui-controlgroup-horizontal .ui-controlgroup-controls{display:inline-block;vertical-align:middle}.ui-controlgroup-horizontal .ui-controlgroup-controls:before,.ui-controlgroup-horizontal .ui-controlgroup-controls:after{content:"";display:table}.ui-controlgroup-horizontal .ui-controlgroup-controls:after{clear:both}.ui-controlgroup-horizontal .ui-controlgroup-controls>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls li>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select{float:left;clear:none}.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,.ui-controlgroup-controls .ui-btn-icon-notext{width:auto}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext{width:1.5em}.ui-controlgroup-controls .ui-btn-icon-notext{height:auto;padding:.7em 1em}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn{border-bottom-width:0}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child{border-bottom-width:1px}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn{border-right-width:0}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child{border-right-width:1px}.ui-controlgroup-controls .ui-btn-corner-all,.ui-controlgroup-controls .ui-btn.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-controlgroup-controls,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-select,.ui-controlgroup-controls li{-webkit-border-radius:inherit;border-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-last-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-controls a.ui-shadow:not(:focus),.ui-controlgroup-controls button.ui-shadow:not(:focus),.ui-controlgroup-controls div.ui-shadow:not(.ui-focus){-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ui-controlgroup-label legend{max-width:100%}.ui-controlgroup-controls>label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-dialog{background:none!important}.ui-dialog-contain{width:92.5%;max-width:500px;margin:10% auto 1em;padding:0;position:relative;top:-1em}.ui-dialog-contain>.ui-header,.ui-dialog-contain>.ui-content,.ui-dialog-contain>.ui-footer{display:block;position:relative;width:auto;margin:0}.ui-dialog-contain>.ui-header{overflow:hidden;z-index:10;padding:0;border-top-width:0}.ui-dialog-contain>.ui-footer{z-index:10;padding:0 1em;border-bottom-width:0}.ui-popup-open .ui-header-fixed,.ui-popup-open .ui-footer-fixed{position:absolute!important}.ui-popup-screen{background-image:url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");top:0;left:0;right:0;bottom:1px;position:absolute;filter:Alpha(Opacity=0);opacity:0;z-index:1099}.ui-popup-screen.in{opacity:.5;filter:Alpha(Opacity=50)}.ui-popup-screen.out{opacity:0;filter:Alpha(Opacity=0)}.ui-popup-container{z-index:1100;display:inline-block;position:absolute;padding:0;outline:0}.ui-popup{position:relative}.ui-popup.ui-body-inherit{border-width:1px;border-style:solid}.ui-popup-hidden{left:0;top:0;position:absolute!important;visibility:hidden}.ui-popup-truncate{height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-popup.ui-content,.ui-popup .ui-content{overflow:visible}.ui-popup>.ui-header{border-top-width:0}.ui-popup>.ui-footer{border-bottom-width:0}.ui-popup>p,.ui-popup>h1,.ui-popup>h2,.ui-popup>h3,.ui-popup>h4,.ui-popup>h5,.ui-popup>h6{margin:.5em .4375em}.ui-popup>span{display:block;margin:.5em .4375em}.ui-popup-container .ui-content>p,.ui-popup-container .ui-content>h1,.ui-popup-container .ui-content>h2,.ui-popup-container .ui-content>h3,.ui-popup-container .ui-content>h4,.ui-popup-container .ui-content>h5,.ui-popup-container .ui-content>h6{margin:.5em 0}.ui-popup-container .ui-content>span{margin:0}.ui-popup-container .ui-content>p:first-child,.ui-popup-container .ui-content>h1:first-child,.ui-popup-container .ui-content>h2:first-child,.ui-popup-container .ui-content>h3:first-child,.ui-popup-container .ui-content>h4:first-child,.ui-popup-container .ui-content>h5:first-child,.ui-popup-container .ui-content>h6:first-child{margin-top:0}.ui-popup-container .ui-content>p:last-child,.ui-popup-container .ui-content>h1:last-child,.ui-popup-container .ui-content>h2:last-child,.ui-popup-container .ui-content>h3:last-child,.ui-popup-container .ui-content>h4:last-child,.ui-popup-container .ui-content>h5:last-child,.ui-popup-container .ui-content>h6:last-child{margin-bottom:0}.ui-popup>img{max-width:100%;max-height:100%;vertical-align:middle}.ui-popup:not(.ui-content)>img:only-child,.ui-popup:not(.ui-content)>.ui-btn-left:first-child+img:last-child,.ui-popup:not(.ui-content)>.ui-btn-right:first-child+img:last-child{-webkit-border-radius:inherit;border-radius:inherit}.ui-popup iframe{vertical-align:middle}.ui-popup>.ui-btn-left,.ui-popup>.ui-btn-right{position:absolute;top:-11px;margin:0;z-index:1101}.ui-popup>.ui-btn-left{left:-11px}.ui-popup>.ui-btn-right{right:-11px}.ui-popup-arrow-container{width:20px;height:20px}.ui-popup-arrow-container.ui-popup-arrow-l{left:-10px;clip:rect(-1000px,10px,2000px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-t{top:-10px;clip:rect(-1000px,2000px,10px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-r{right:-10px;clip:rect(-1000px,2000px,2000px,10px)}.ui-popup-arrow-container.ui-popup-arrow-b{bottom:-10px;clip:rect(10px,2000px,1000px,-1000px)}.ui-popup-arrow-container .ui-popup-arrow{width:28.284271247px;height:28.284271247px;border-width:1px;border-style:solid}.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow{left:-4.142135623px;top:5.857864376px}.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow{left:-4.142135623px;top:-14.142135623px}.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow{left:5.857864376px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow{left:-14.142135623px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-7.0710678118654755px}.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-4.142135623730951px}.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow{margin-left:-7.0710678118654755px;margin-top:-5.857864376269049px}.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow{margin-left:-4.142135623730951px;margin-top:-5.857864376269049px}.ui-popup>.ui-popup-arrow-guide{position:absolute;left:0;right:0;top:0;bottom:0;visibility:hidden}.ui-popup-arrow-container{position:absolute}.ui-popup-arrow{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;overflow:hidden;box-sizing:border-box}.ui-popup-arrow-container.ie .ui-popup-arrow{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.7071067811865474, M12=-.7071067811865477, M21=.7071067811865477, M22=.7071067811865474, SizingMethod='auto expand')}.ui-checkbox,.ui-radio{margin:.5em 0;position:relative}.ui-checkbox .ui-btn,.ui-radio .ui-btn{margin:0;text-align:left;white-space:normal;z-index:2}.ui-controlgroup .ui-checkbox .ui-btn.ui-focus,.ui-controlgroup .ui-radio .ui-btn.ui-focus{z-index:3}.ui-checkbox .ui-btn-icon-top,.ui-radio .ui-btn-icon-top,.ui-checkbox .ui-btn-icon-bottom,.ui-radio .ui-btn-icon-bottom{text-align:center}.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after,.ui-controlgroup-horizontal .ui-radio .ui-btn:after{content:none;display:none}.ui-checkbox input,.ui-radio input{position:absolute;left:.466em;top:50%;width:22px;height:22px;margin:-11px 0 0 0;outline:0!important;z-index:1}.ui-controlgroup-horizontal .ui-checkbox input,.ui-controlgroup-horizontal .ui-radio input{left:50%;margin-left:-9px}.ui-checkbox input:disabled,.ui-radio input:disabled{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select{margin-top:.5em;margin-bottom:.5em;position:relative}.ui-select>select{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select .ui-btn{margin:0;opacity:1}.ui-select .ui-btn select{position:absolute;top:0;left:0;width:100%;min-height:1.5em;min-height:100%;height:3em;max-height:100%;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;filter:Alpha(Opacity=0);opacity:0;z-index:2}@-moz-document url-prefix(){.ui-select .ui-btn select{opacity:.0001}}.ui-select .ui-state-disabled select{display:none}.ui-select span.ui-state-disabled{filter:Alpha(Opacity=100);opacity:1}.ui-select .ui-btn.ui-select-nativeonly{border-radius:0;border:0}.ui-select .ui-btn.ui-select-nativeonly select{opacity:1;text-indent:0;display:block}.ui-select .ui-li-has-count.ui-btn{padding-right:2.8125em}.ui-select .ui-li-has-count.ui-btn-icon-right{padding-right:4.6875em}.ui-select .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-select .ui-btn>span:not(.ui-li-count){display:block;text-overflow:ellipsis;overflow:hidden!important;white-space:nowrap}.ui-selectmenu.ui-popup{min-width:11em}.ui-selectmenu .ui-dialog-contain{overflow:hidden}.ui-selectmenu .ui-header{margin:0;padding:0;border-width:0}.ui-selectmenu.ui-dialog .ui-header{z-index:1;position:relative}.ui-selectmenu.ui-popup .ui-header{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-selectmenu.ui-popup .ui-header h1:after{content:'.';visibility:hidden}.ui-selectmenu .ui-header .ui-title{margin:0 2.875em}.ui-selectmenu.ui-dialog .ui-content{overflow:visible;z-index:1}.ui-selectmenu .ui-selectmenu-list{margin:0;-webkit-border-radius:inherit;border-radius:inherit}.ui-header:not(.ui-screen-hidden)+.ui-selectmenu-list{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.ui-header.ui-screen-hidden+.ui-selectmenu-list li.ui-first-child .ui-btn{border-top-width:0}.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn{border-bottom-width:0}.ui-selectmenu .ui-btn.ui-li-divider{cursor:default}.ui-selectmenu .ui-selectmenu-placeholder{display:none}.ui-listview,.ui-listview>li{margin:0;padding:0;list-style:none}.ui-content .ui-listview,.ui-panel-inner>.ui-listview{margin:-1em}.ui-content .ui-listview-inset,.ui-panel-inner>.ui-listview-inset{margin:1em 0}.ui-collapsible-content>.ui-listview{margin:-.5em -1em}.ui-collapsible-content>.ui-listview-inset{margin:.5em 0}.ui-listview>li{display:block;position:relative;overflow:visible}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{margin:0;display:block;position:relative;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li>.ui-btn:focus{z-index:1}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{border-width:1px 0 0;border-style:solid}.ui-listview-inset>.ui-li-static,.ui-listview-inset>.ui-li-divider,.ui-listview-inset>li>a.ui-btn{border-right-width:1px;border-left-width:1px}.ui-listview>.ui-li-static.ui-last-child,.ui-listview>.ui-li-divider.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{border-bottom-width:1px}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:0}.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child,.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child>a.ui-btn{border-bottom-width:0}.ui-listview>li.ui-first-child,.ui-listview>li.ui-first-child>a.ui-btn{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-listview>li.ui-li-has-alt>a.ui-btn{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-listview>li.ui-first-child>a.ui-btn+a.ui-btn{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-listview>li.ui-last-child>a.ui-btn+a.ui-btn{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-listview>li.ui-first-child img:first-child:not(.ui-li-icon){-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child img:first-child:not(.ui-li-icon){-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset){-webkit-border-radius:inherit;border-radius:inherit}.ui-listview>.ui-li-static{padding:.7em 1em}.ui-listview>.ui-li-divider{padding:.5em 1.143em;font-size:14px;font-weight:700;cursor:default;outline:0}.ui-listview>.ui-li-has-count>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-count,.ui-listview>.ui-li-divider.ui-li-has-count{padding-right:2.8125em}.ui-listview>.ui-li-has-count>.ui-btn-icon-right{padding-right:4.6875em}.ui-listview>.ui-li-has-thumb>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-thumb{min-height:3.625em;padding-left:6.25em}.ui-listview>.ui-li-has-icon>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-icon{min-height:1.25em;padding-left:2.5em}.ui-li-count{position:absolute;font-size:12.5px;font-weight:700;text-align:center;border-width:1px;border-style:solid;padding:0 .48em;line-height:1.6em;min-height:1.6em;min-width:.64em;right:.8em;top:50%;margin-top:-.88em}.ui-listview .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-listview .ui-li-has-thumb>img:first-child,.ui-listview .ui-li-has-thumb>.ui-btn>img:first-child,.ui-listview .ui-li-has-thumb .ui-li-thumb{position:absolute;left:0;top:0;max-height:5em;max-width:5em}.ui-listview>.ui-li-has-icon>img:first-child,.ui-listview>.ui-li-has-icon>.ui-btn>img:first-child{position:absolute;left:.625em;top:.9em;max-height:1em;max-width:1em}.ui-listview>li h1,.ui-listview>li h2,.ui-listview>li h3,.ui-listview>li h4,.ui-listview>li h5,.ui-listview>li h6{font-size:1em;font-weight:700;display:block;margin:.45em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li p{font-size:.75em;font-weight:400;display:block;margin:.6em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview .ui-li-aside{position:absolute;top:1em;right:3.333em;margin:0;text-align:right}.ui-listview>li.ui-li-has-alt>.ui-btn{margin-right:2.5em;border-right-width:0}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn{position:absolute;width:2.5em;height:100%;min-height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-left-width:1px;top:0;right:0;margin:0;padding:0;z-index:2}.ui-listview-inset>li.ui-li-has-alt>.ui-btn+.ui-btn{border-right-width:1px}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn:focus{z-index:3}ol.ui-listview,ol.ui-listview>.ui-li-divider{counter-reset:listnumbering}ol.ui-listview>li>.ui-btn,ol.ui-listview>li.ui-li-static{vertical-align:middle}ol.ui-listview>li>.ui-btn:first-child:before,ol.ui-listview>li.ui-li-static:before,ol.ui-listview>li.ui-field-contain>label:before,ol.ui-listview>li.ui-field-contain>.ui-controlgroup-label:before{display:inline-block;font-size:.9em;font-weight:400;padding-right:.3em;min-width:1.4em;line-height:1.5;vertical-align:middle;counter-increment:listnumbering;content:counter(listnumbering) "."}ol.ui-listview>li.ui-field-contain:before{content:none;display:none}ol.ui-listview>li h1:first-child,ol.ui-listview>li h2:first-child,ol.ui-listview>li h3:first-child,ol.ui-listview>li h4:first-child,ol.ui-listview>li h5:first-child,ol.ui-listview>li h6:first-child,ol.ui-listview>li p:first-child,ol.ui-listview>li img:first-child+*{display:inline-block;vertical-align:middle}ol.ui-listview>li h1:first-child~*,ol.ui-listview>li h2:first-child~*,ol.ui-listview>li h3:first-child~*,ol.ui-listview>li h4:first-child~*,ol.ui-listview>li h5:first-child~*,ol.ui-listview>li h6:first-child~*,ol.ui-listview>li p:first-child~*,ol.ui-listview>li img:first-child+*~*{margin-top:0;text-indent:2.04em}html .ui-filterable+.ui-listview,html .ui-filterable.ui-listview{margin-top:.5em}.ui-collapsible-content>form.ui-filterable{margin-top:-.5em}.ui-collapsible-content>.ui-input-search.ui-filterable{margin-top:0}.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:1px}div.ui-slider{height:30px;margin:.5em 0;padding:0;-ms-touch-action:pan-y pinch-zoom double-tap-zoom}div.ui-slider:before,div.ui-slider:after{content:"";display:table}div.ui-slider:after{clear:both}input.ui-slider-input{display:block;float:left;font-size:14px;font-weight:700;margin:0;padding:4px;width:40px;height:20px;line-height:20px;border-width:1px;border-style:solid;outline:0;text-align:center;vertical-align:text-bottom;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-slider-input::-webkit-outer-spin-button,.ui-slider-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-slider-track{position:relative;overflow:visible;border-width:1px;border-style:solid;height:15px;margin:0 15px 0 68px;top:6px}.ui-slider-track.ui-mini{height:12px;top:8px}.ui-slider-track .ui-slider-bg{height:100%}.ui-slider-track .ui-btn.ui-slider-handle{position:absolute;z-index:1;top:50%;width:28px;height:28px;margin:-15px 0 0 -15px;outline:0;padding:0}.ui-slider-track.ui-mini .ui-slider-handle{height:14px;width:14px;margin:-8px 0 0 -8px}select.ui-slider-switch{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}div.ui-slider-switch{display:inline-block;height:32px;width:5.8em;top:0}div.ui-slider-switch:before,div.ui-slider-switch:after{display:none;clear:none}div.ui-slider-switch.ui-mini{height:29px;top:0}.ui-slider-inneroffset{margin:0 16px;position:relative;z-index:1}.ui-slider-switch.ui-mini .ui-slider-inneroffset{margin:0 15px 0 14px}.ui-slider-switch .ui-btn.ui-slider-handle{margin:1px 0 0 -15px}.ui-slider-switch.ui-mini .ui-slider-handle{width:25px;height:25px;margin:1px 0 0 -13px;padding:0}.ui-slider-handle-snapping{-webkit-transition:left 70ms linear;-moz-transition:left 70ms linear;transition:left 70ms linear}.ui-slider-switch .ui-slider-label{position:absolute;text-align:center;width:100%;overflow:hidden;font-size:16px;top:0;line-height:2;min-height:100%;white-space:nowrap;cursor:pointer}.ui-slider-switch.ui-mini .ui-slider-label{font-size:14px}.ui-slider-switch .ui-slider-label-a{z-index:1;left:0;text-indent:-1.5em}.ui-slider-switch .ui-slider-label-b{z-index:0;right:0;text-indent:1.5em}.ui-slider-track .ui-slider-bg,.ui-slider-switch .ui-slider-label,.ui-slider-switch .ui-slider-inneroffset,.ui-slider-handle{-webkit-border-radius:inherit;border-radius:inherit}.ui-field-contain div.ui-slider-switch{margin:0}.ui-field-contain div.ui-slider-switch,.ui-field-contain.ui-hide-label div.ui-slider-switch,html .ui-popup .ui-field-contain div.ui-slider-switch{display:inline-block;width:5.8em}.ui-slider-popup{width:64px;height:64px;font-size:36px;padding-top:14px;opacity:.8}.ui-slider-popup{position:absolute!important;text-align:center;z-index:100}.ui-slider-track .ui-btn.ui-slider-handle{font-size:.9em;line-height:30px}.ui-rangeslider{margin:.5em 0}.ui-rangeslider:before,.ui-rangeslider:after{content:"";display:table}.ui-rangeslider:after{clear:both}.ui-rangeslider .ui-slider-input.ui-rangeslider-last{float:right}.ui-rangeslider .ui-rangeslider-sliders{position:relative;overflow:visible;height:30px;margin:0 68px}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track{position:absolute;top:6px;right:0;left:0;margin:0}.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track{top:8px}.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg{display:none}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{background-color:transparent;background:0;border-width:0;height:0}html >body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{height:15px;border-width:1px}html >body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child{height:12px}div.ui-rangeslider label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-field-contain .ui-rangeslider input.ui-slider-input,.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input,.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders,.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders{margin-top:0;margin-bottom:0}.ui-input-text,.ui-input-search{margin:.5em 0;border-width:1px;border-style:solid}.ui-mini{margin:.446em}.ui-input-text input,.ui-input-search input,textarea.ui-input-text{padding:.4em;line-height:1.4em;display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:0}.ui-input-text input,.ui-input-search input{margin:0;min-height:2.2em;text-align:left;border:0;background:transparent none;-webkit-appearance:none;-webkit-border-radius:inherit;border-radius:inherit}textarea.ui-input-text{overflow:auto;resize:vertical}.ui-mini .ui-input-text input,.ui-mini .ui-input-search input,.ui-input-text.ui-mini input,.ui-input-search.ui-mini input,.ui-mini textarea.ui-input-text,textarea.ui-mini{font-size:14px}.ui-mini textarea.ui-input-text,textarea.ui-mini{margin:.446em 0}.ui-input-has-clear,.ui-input-search{position:relative}.ui-input-has-clear{padding-right:2.375em}.ui-mini.ui-input-has-clear{padding-right:2.923em}.ui-input-has-clear input{padding-right:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-input-search input{padding-left:1.75em}.ui-input-search:after{position:absolute;left:.3125em;top:50%;margin-top:-7px;content:"";background-position:center center;background-repeat:no-repeat;width:14px;height:14px;filter:Alpha(Opacity=50);opacity:.5}.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear,.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear{position:absolute;right:0;top:50%;margin:-14px .3125em 0;border:0;background-color:transparent}.ui-input-search .ui-input-clear-hidden,.ui-input-text .ui-input-clear-hidden{display:none}.ui-input-text input::-moz-placeholder,.ui-input-search input::-moz-placeholder,textarea.ui-input-text::-moz-placeholder{color:#aaa}.ui-input-text input:-ms-input-placeholder,.ui-input-search input:-ms-input-placeholder,textarea.ui-input-text:-ms-input-placeholder{color:#aaa}.ui-input-text input[type=number]::-webkit-outer-spin-button{margin:0}.ui-input-text input::-ms-clear,.ui-input-search input::-ms-clear{display:none}.ui-input-text input:focus,.ui-input-search input:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea.ui-input-text.ui-textinput-autogrow{overflow:hidden}.ui-textinput-autogrow-resize{-webkit-transition:height .25s;-o-transition:height .25s;-moz-transition:height .25s;transition:height .25s}.ui-flipswitch{display:inline-block;vertical-align:middle;width:5.875em;height:1.875em;border-width:1px;border-style:solid;margin:.5em 0;overflow:hidden;-webkit-transition-property:padding,width,background-color,color,border-color;-moz-transition-property:padding,width,background-color,color,border-color;-o-transition-property:padding,width,background-color,color,border-color;transition-property:padding,width,background-color,color,border-color;-webkit-transition-duration:100ms;-moz-transition-duration:100ms;-o-transition-duration:100ms;transition-duration:100ms;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.ui-flipswitch.ui-flipswitch-active{padding-left:4em;width:1.875em}.ui-flipswitch-input{position:absolute;height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;outline:0;filter:Alpha(Opacity=0);opacity:0}.ui-flipswitch .ui-btn.ui-flipswitch-on,.ui-flipswitch .ui-flipswitch-off{float:left;height:1.75em;margin:.0625em;line-height:1.65em}.ui-flipswitch .ui-btn.ui-flipswitch-on{width:1.75em;padding:0;text-indent:-2.6em;text-align:left;border-width:1px;border-style:solid;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:inherit;overflow:visible;color:inherit;text-shadow:inherit}.ui-flipswitch .ui-flipswitch-off{padding:1px;text-indent:1em}html .ui-field-contain>label+.ui-flipswitch,html .ui-popup .ui-field-contain>label+.ui-flipswitch{display:inline-block;width:5.875em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-field-contain .ui-flipswitch.ui-flipswitch-active,.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active{width:1.875em}.ui-table{border:0;border-collapse:collapse;padding:0;width:100%}.ui-table th,.ui-table td{line-height:1.5em;text-align:left;padding:.4em .5em;vertical-align:top}.ui-table th .ui-btn,.ui-table td .ui-btn{line-height:normal}.ui-table th{font-weight:700}.ui-table caption{text-align:left;margin-bottom:1.4em;opacity:.5}.ui-table-columntoggle-btn{float:right;margin-bottom:.8em}.ui-table-columntoggle-popup fieldset{margin:0}.ui-table-columntoggle{clear:both}@media only all{th.ui-table-priority-6,td.ui-table-priority-6,th.ui-table-priority-5,td.ui-table-priority-5,th.ui-table-priority-4,td.ui-table-priority-4,th.ui-table-priority-3,td.ui-table-priority-3,th.ui-table-priority-2,td.ui-table-priority-2,th.ui-table-priority-1,td.ui-table-priority-1{display:none}}@media screen and (min-width:20em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-1,.ui-table-columntoggle.ui-responsive td.ui-table-priority-1{display:table-cell}}@media screen and (min-width:30em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-2,.ui-table-columntoggle.ui-responsive td.ui-table-priority-2{display:table-cell}}@media screen and (min-width:40em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-3,.ui-table-columntoggle.ui-responsive td.ui-table-priority-3{display:table-cell}}@media screen and (min-width:50em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-4,.ui-table-columntoggle.ui-responsive td.ui-table-priority-4{display:table-cell}}@media screen and (min-width:60em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-5,.ui-table-columntoggle.ui-responsive td.ui-table-priority-5{display:table-cell}}@media screen and (min-width:70em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-6,.ui-table-columntoggle.ui-responsive td.ui-table-priority-6{display:table-cell}}.ui-table-columntoggle th.ui-table-cell-hidden,.ui-table-columntoggle td.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden{display:none}.ui-table-columntoggle th.ui-table-cell-visible,.ui-table-columntoggle td.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible{display:table-cell}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{display:none}@media only all{.ui-table-reflow thead td,.ui-table-reflow thead th{display:none}.ui-table-reflow td,.ui-table-reflow th{text-align:left;display:block}.ui-table-reflow tbody th{margin-top:3em}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em}.ui-table-reflow th .ui-table-cell-label-top,.ui-table-reflow td .ui-table-cell-label-top{display:block;padding:.4em 0;margin:.4em 0;text-transform:uppercase;font-size:.9em;font-weight:400}}@media (min-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th,.ui-table-reflow.ui-responsive tbody th,.ui-table-reflow.ui-responsive tbody td,.ui-table-reflow.ui-responsive thead td,.ui-table-reflow.ui-responsive thead th{display:table-cell;margin:0}.ui-table-reflow.ui-responsive td .ui-table-cell-label,.ui-table-reflow.ui-responsive th .ui-table-cell-label{display:none}}@media (max-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}}.ui-panel{width:17em;min-height:100%;max-height:none;border-width:0;position:absolute;top:0;display:block}.ui-panel-closed{width:0;max-height:100%;overflow:hidden;visibility:hidden;left:0;clip:rect(1px,1px,1px,1px)}.ui-panel-fixed{position:fixed;bottom:-1px;padding-bottom:1px}.ui-panel-display-reveal{z-index:1}.ui-panel-display-push{z-index:999}.ui-panel-display-overlay{z-index:1001}.ui-panel-inner{padding:1em}.ui-panel-page-container{overflow-x:visible}.ui-panel-page-container-themed .ui-page-active{background:0}.ui-panel-wrapper{position:relative;min-height:inherit;border:0;overflow-x:hidden;z-index:999}.ui-panel-fixed-toolbar{overflow-x:hidden}.ui-panel-dismiss{position:absolute;top:0;left:0;right:0;height:100%;z-index:1002;display:none}.ui-panel-dismiss-open{display:block}.ui-panel-animate{-webkit-transition:-webkit-transform 300ms ease;-webkit-transition-duration:300ms;-moz-transition:-moz-transform 300ms ease;transition:transform 300ms ease}@media screen and (max-device-width:768px){.ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper,.ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper,.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:none}.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:-ms-transform 1ms;-ms-transform:rotate(0deg)}}.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal){-webkit-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0)}.ui-panel-position-left{left:-17em}.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-left.ui-panel-display-push{left:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-position-left.ui-panel-display-reveal,.ui-panel-open.ui-panel-position-left{left:0}.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-position-right{right:-17em}.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-right.ui-panel-display-push{right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-position-right.ui-panel-display-reveal,.ui-panel-position-right.ui-panel-open{right:0}.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-page-content-position-left{left:17em;right:-17em}.ui-panel-animate.ui-panel-page-content-position-left{left:0;right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-page-content-position-right{left:-17em;right:17em}.ui-panel-animate.ui-panel-page-content-position-right{left:0;right:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-dismiss-open.ui-panel-dismiss-position-left{left:17em}.ui-panel-dismiss-open.ui-panel-dismiss-position-right{right:17em}.ui-panel-display-reveal{-webkit-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);box-shadow:inset -5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-reveal{-webkit-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);box-shadow:inset 5px 0 5px rgba(0,0,0,.15)}.ui-panel-display-overlay{-webkit-box-shadow:5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:5px 0 5px rgba(0,0,0,.15);box-shadow:5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-overlay{-webkit-box-shadow:-5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:-5px 0 5px rgba(0,0,0,.15);box-shadow:-5px 0 5px rgba(0,0,0,.15)}.ui-panel-open.ui-panel-position-left.ui-panel-display-push{border-right-width:1px;margin-right:-1px}.ui-panel-page-content-position-left.ui-panel-page-content-display-push{margin-left:1px;width:auto}.ui-panel-open.ui-panel-position-right.ui-panel-display-push{border-left-width:1px;margin-left:-1px}.ui-panel-page-content-position-right.ui-panel-page-content-display-push{margin-right:1px;width:auto}@media (min-width:55em){.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left{margin-right:17em}.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right{margin-left:17em}.ui-responsive-panel .ui-panel-page-content-open{width:auto}.ui-responsive-panel .ui-panel-dismiss-display-push,.ui-responsive-panel.ui-page-active~.ui-panel-dismiss-display-push{display:none}}.ui-tabs{position:relative;padding:.2em} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.css deleted file mode 100644 index cf786205..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.css +++ /dev/null @@ -1,746 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -/* SVG icons */ -.ui-icon-action:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-alert:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-audio:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-back:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-bars:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-bullets:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-calendar:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-camera:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-check:after, -/* Used ui-checkbox-on twice to increase specificity. If active state has background-image for gradient this rule overrides. */ -html .ui-btn.ui-checkbox-on.ui-checkbox-on:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-clock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-cloud:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-comment:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-delete:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-edit:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-eye:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-forbidden:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-forward:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-gear:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-grid:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-heart:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-home:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-info:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-location:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-lock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-mail:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-minus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-navigation:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-phone:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-plus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-power:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-recycle:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-refresh:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-search:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-shop:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-star:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-tag:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-user:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-video:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); -} -/* Alt icons */ -.ui-alt-icon.ui-icon-action:after, -.ui-alt-icon .ui-icon-action:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-alert:after, -.ui-alt-icon .ui-icon-alert:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d:after, -.ui-alt-icon .ui-icon-arrow-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-l:after, -.ui-alt-icon .ui-icon-arrow-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-r:after, -.ui-alt-icon .ui-icon-arrow-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u:after, -.ui-alt-icon .ui-icon-arrow-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-audio:after, -.ui-alt-icon .ui-icon-audio:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-back:after, -.ui-alt-icon .ui-icon-back:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-bars:after, -.ui-alt-icon .ui-icon-bars:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-bullets:after, -.ui-alt-icon .ui-icon-bullets:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-calendar:after, -.ui-alt-icon .ui-icon-calendar:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-camera:after, -.ui-alt-icon .ui-icon-camera:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-d:after, -.ui-alt-icon .ui-icon-carat-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-l:after, -.ui-alt-icon .ui-icon-carat-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-r:after, -.ui-alt-icon .ui-icon-carat-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-u:after, -.ui-alt-icon .ui-icon-carat-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-check:after, -.ui-alt-icon .ui-icon-check:after, -html .ui-alt-icon.ui-btn.ui-checkbox-on:after, -html .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-clock:after, -.ui-alt-icon .ui-icon-clock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-cloud:after, -.ui-alt-icon .ui-icon-cloud:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-comment:after, -.ui-alt-icon .ui-icon-comment:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-delete:after, -.ui-alt-icon .ui-icon-delete:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-edit:after, -.ui-alt-icon .ui-icon-edit:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-eye:after, -.ui-alt-icon .ui-icon-eye:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-forbidden:after, -.ui-alt-icon .ui-icon-forbidden:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-forward:after, -.ui-alt-icon .ui-icon-forward:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-gear:after, -.ui-alt-icon .ui-icon-gear:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-grid:after, -.ui-alt-icon .ui-icon-grid:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-heart:after, -.ui-alt-icon .ui-icon-heart:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-home:after, -.ui-alt-icon .ui-icon-home:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-info:after, -.ui-alt-icon .ui-icon-info:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-location:after, -.ui-alt-icon .ui-icon-location:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-lock:after, -.ui-alt-icon .ui-icon-lock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-mail:after, -.ui-alt-icon .ui-icon-mail:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-minus:after, -.ui-alt-icon .ui-icon-minus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-navigation:after, -.ui-alt-icon .ui-icon-navigation:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-phone:after, -.ui-alt-icon .ui-icon-phone:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-plus:after, -.ui-alt-icon .ui-icon-plus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-power:after, -.ui-alt-icon .ui-icon-power:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-recycle:after, -.ui-alt-icon .ui-icon-recycle:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-refresh:after, -.ui-alt-icon .ui-icon-refresh:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-search:after, -.ui-alt-icon .ui-icon-search:after, -.ui-input-search:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-shop:after, -.ui-alt-icon .ui-icon-shop:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-star:after, -.ui-alt-icon .ui-icon-star:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-tag:after, -.ui-alt-icon .ui-icon-tag:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-user:after, -.ui-alt-icon .ui-icon-user:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-video:after, -.ui-alt-icon .ui-icon-video:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); -} -/* PNG icons */ -.ui-nosvg .ui-icon-action:after { - background-image: url("images/icons-png/action-white.png"); -} -.ui-nosvg .ui-icon-alert:after { - background-image: url("images/icons-png/alert-white.png"); -} -.ui-nosvg .ui-icon-arrow-d-l:after { - background-image: url("images/icons-png/arrow-d-l-white.png"); -} -.ui-nosvg .ui-icon-arrow-d-r:after { - background-image: url("images/icons-png/arrow-d-r-white.png"); -} -.ui-nosvg .ui-icon-arrow-d:after { - background-image: url("images/icons-png/arrow-d-white.png"); -} -.ui-nosvg .ui-icon-arrow-l:after { - background-image: url("images/icons-png/arrow-l-white.png"); -} -.ui-nosvg .ui-icon-arrow-r:after { - background-image: url("images/icons-png/arrow-r-white.png"); -} -.ui-nosvg .ui-icon-arrow-u-l:after { - background-image: url("images/icons-png/arrow-u-l-white.png"); -} -.ui-nosvg .ui-icon-arrow-u-r:after { - background-image: url("images/icons-png/arrow-u-r-white.png"); -} -.ui-nosvg .ui-icon-arrow-u:after { - background-image: url("images/icons-png/arrow-u-white.png"); -} -.ui-nosvg .ui-icon-audio:after { - background-image: url("images/icons-png/audio-white.png"); -} -.ui-nosvg .ui-icon-back:after { - background-image: url("images/icons-png/back-white.png"); -} -.ui-nosvg .ui-icon-bars:after { - background-image: url("images/icons-png/bars-white.png"); -} -.ui-nosvg .ui-icon-bullets:after { - background-image: url("images/icons-png/bullets-white.png"); -} -.ui-nosvg .ui-icon-calendar:after { - background-image: url("images/icons-png/calendar-white.png"); -} -.ui-nosvg .ui-icon-camera:after { - background-image: url("images/icons-png/camera-white.png"); -} -.ui-nosvg .ui-icon-carat-d:after { - background-image: url("images/icons-png/carat-d-white.png"); -} -.ui-nosvg .ui-icon-carat-l:after { - background-image: url("images/icons-png/carat-l-white.png"); -} -.ui-nosvg .ui-icon-carat-r:after { - background-image: url("images/icons-png/carat-r-white.png"); -} -.ui-nosvg .ui-icon-carat-u:after { - background-image: url("images/icons-png/carat-u-white.png"); -} -.ui-nosvg .ui-icon-check:after, -html.ui-nosvg .ui-btn.ui-checkbox-on:after { - background-image: url("images/icons-png/check-white.png"); -} -.ui-nosvg .ui-icon-clock:after { - background-image: url("images/icons-png/clock-white.png"); -} -.ui-nosvg .ui-icon-cloud:after { - background-image: url("images/icons-png/cloud-white.png"); -} -.ui-nosvg .ui-icon-comment:after { - background-image: url("images/icons-png/comment-white.png"); -} -.ui-nosvg .ui-icon-delete:after { - background-image: url("images/icons-png/delete-white.png"); -} -.ui-nosvg .ui-icon-edit:after { - background-image: url("images/icons-png/edit-white.png"); -} -.ui-nosvg .ui-icon-eye:after { - background-image: url("images/icons-png/eye-white.png"); -} -.ui-nosvg .ui-icon-forbidden:after { - background-image: url("images/icons-png/forbidden-white.png"); -} -.ui-nosvg .ui-icon-forward:after { - background-image: url("images/icons-png/forward-white.png"); -} -.ui-nosvg .ui-icon-gear:after { - background-image: url("images/icons-png/gear-white.png"); -} -.ui-nosvg .ui-icon-grid:after { - background-image: url("images/icons-png/grid-white.png"); -} -.ui-nosvg .ui-icon-heart:after { - background-image: url("images/icons-png/heart-white.png"); -} -.ui-nosvg .ui-icon-home:after { - background-image: url("images/icons-png/home-white.png"); -} -.ui-nosvg .ui-icon-info:after { - background-image: url("images/icons-png/info-white.png"); -} -.ui-nosvg .ui-icon-location:after { - background-image: url("images/icons-png/location-white.png"); -} -.ui-nosvg .ui-icon-lock:after { - background-image: url("images/icons-png/lock-white.png"); -} -.ui-nosvg .ui-icon-mail:after { - background-image: url("images/icons-png/mail-white.png"); -} -.ui-nosvg .ui-icon-minus:after { - background-image: url("images/icons-png/minus-white.png"); -} -.ui-nosvg .ui-icon-navigation:after { - background-image: url("images/icons-png/navigation-white.png"); -} -.ui-nosvg .ui-icon-phone:after { - background-image: url("images/icons-png/phone-white.png"); -} -.ui-nosvg .ui-icon-plus:after { - background-image: url("images/icons-png/plus-white.png"); -} -.ui-nosvg .ui-icon-power:after { - background-image: url("images/icons-png/power-white.png"); -} -.ui-nosvg .ui-icon-recycle:after { - background-image: url("images/icons-png/recycle-white.png"); -} -.ui-nosvg .ui-icon-refresh:after { - background-image: url("images/icons-png/refresh-white.png"); -} -.ui-nosvg .ui-icon-search:after { - background-image: url("images/icons-png/search-white.png"); -} -.ui-nosvg .ui-icon-shop:after { - background-image: url("images/icons-png/shop-white.png"); -} -.ui-nosvg .ui-icon-star:after { - background-image: url("images/icons-png/star-white.png"); -} -.ui-nosvg .ui-icon-tag:after { - background-image: url("images/icons-png/tag-white.png"); -} -.ui-nosvg .ui-icon-user:after { - background-image: url("images/icons-png/user-white.png"); -} -.ui-nosvg .ui-icon-video:after { - background-image: url("images/icons-png/video-white.png"); -} -/* Alt icons */ -.ui-nosvg .ui-alt-icon.ui-icon-action:after, -.ui-nosvg .ui-alt-icon .ui-icon-action:after { - background-image: url("images/icons-png/action-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-alert:after, -.ui-nosvg .ui-alt-icon .ui-icon-alert:after { - background-image: url("images/icons-png/alert-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-d:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-d:after { - background-image: url("images/icons-png/arrow-d-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url("images/icons-png/arrow-d-l-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url("images/icons-png/arrow-d-r-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-l:after { - background-image: url("images/icons-png/arrow-l-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-r:after { - background-image: url("images/icons-png/arrow-r-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-u:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-u:after { - background-image: url("images/icons-png/arrow-u-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url("images/icons-png/arrow-u-l-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url("images/icons-png/arrow-u-r-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-audio:after, -.ui-nosvg .ui-alt-icon .ui-icon-audio:after { - background-image: url("images/icons-png/audio-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-back:after, -.ui-nosvg .ui-alt-icon .ui-icon-back:after { - background-image: url("images/icons-png/back-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-bars:after, -.ui-nosvg .ui-alt-icon .ui-icon-bars:after { - background-image: url("images/icons-png/bars-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-bullets:after, -.ui-nosvg .ui-alt-icon .ui-icon-bullets:after { - background-image: url("images/icons-png/bullets-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-calendar:after, -.ui-nosvg .ui-alt-icon .ui-icon-calendar:after { - background-image: url("images/icons-png/calendar-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-camera:after, -.ui-nosvg .ui-alt-icon .ui-icon-camera:after { - background-image: url("images/icons-png/camera-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-d:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-d:after { - background-image: url("images/icons-png/carat-d-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-l:after { - background-image: url("images/icons-png/carat-l-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-r:after { - background-image: url("images/icons-png/carat-r-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-u:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-u:after { - background-image: url("images/icons-png/carat-u-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-check:after, -.ui-nosvg .ui-alt-icon .ui-icon-check:after, -.ui-nosvg .ui-alt-icon.ui-btn.ui-checkbox-on:after, -.ui-nosvg .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url("images/icons-png/check-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-clock:after, -.ui-nosvg .ui-alt-icon .ui-icon-clock:after { - background-image: url("images/icons-png/clock-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-cloud:after, -.ui-nosvg .ui-alt-icon .ui-icon-cloud:after { - background-image: url("images/icons-png/cloud-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-comment:after, -.ui-nosvg .ui-alt-icon .ui-icon-comment:after { - background-image: url("images/icons-png/comment-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-delete:after, -.ui-nosvg .ui-alt-icon .ui-icon-delete:after { - background-image: url("images/icons-png/delete-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-edit:after, -.ui-nosvg .ui-alt-icon .ui-icon-edit:after { - background-image: url("images/icons-png/edit-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-eye:after, -.ui-nosvg .ui-alt-icon .ui-icon-eye:after { - background-image: url("images/icons-png/eye-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-forbidden:after, -.ui-nosvg .ui-alt-icon .ui-icon-forbidden:after { - background-image: url("images/icons-png/forbidden-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-forward:after, -.ui-nosvg .ui-alt-icon .ui-icon-forward:after { - background-image: url("images/icons-png/forward-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-gear:after, -.ui-nosvg .ui-alt-icon .ui-icon-gear:after { - background-image: url("images/icons-png/gear-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-grid:after, -.ui-nosvg .ui-alt-icon .ui-icon-grid:after { - background-image: url("images/icons-png/grid-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-heart:after, -.ui-nosvg .ui-alt-icon .ui-icon-heart:after { - background-image: url("images/icons-png/heart-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-home:after, -.ui-nosvg .ui-alt-icon .ui-icon-home:after { - background-image: url("images/icons-png/home-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-info:after, -.ui-nosvg .ui-alt-icon .ui-icon-info:after { - background-image: url("images/icons-png/info-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-location:after, -.ui-nosvg .ui-alt-icon .ui-icon-location:after { - background-image: url("images/icons-png/location-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-lock:after, -.ui-nosvg .ui-alt-icon .ui-icon-lock:after { - background-image: url("images/icons-png/lock-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-mail:after, -.ui-nosvg .ui-alt-icon .ui-icon-mail:after { - background-image: url("images/icons-png/mail-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-minus:after, -.ui-nosvg .ui-alt-icon .ui-icon-minus:after { - background-image: url("images/icons-png/minus-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-navigation:after, -.ui-nosvg .ui-alt-icon .ui-icon-navigation:after { - background-image: url("images/icons-png/navigation-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-phone:after, -.ui-nosvg .ui-alt-icon .ui-icon-phone:after { - background-image: url("images/icons-png/phone-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-plus:after, -.ui-nosvg .ui-alt-icon .ui-icon-plus:after { - background-image: url("images/icons-png/plus-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-power:after, -.ui-nosvg .ui-alt-icon .ui-icon-power:after { - background-image: url("images/icons-png/power-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-recycle:after, -.ui-nosvg .ui-alt-icon .ui-icon-recycle:after { - background-image: url("images/icons-png/recycle-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-refresh:after, -.ui-nosvg .ui-alt-icon .ui-icon-refresh:after { - background-image: url("images/icons-png/refresh-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-search:after, -.ui-nosvg .ui-alt-icon .ui-icon-search:after, -.ui-nosvg .ui-input-search:after { - background-image: url("images/icons-png/search-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-shop:after, -.ui-nosvg .ui-alt-icon .ui-icon-shop:after { - background-image: url("images/icons-png/shop-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-star:after, -.ui-nosvg .ui-alt-icon .ui-icon-star:after { - background-image: url("images/icons-png/star-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-tag:after, -.ui-nosvg .ui-alt-icon .ui-icon-tag:after { - background-image: url("images/icons-png/tag-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-user:after, -.ui-nosvg .ui-alt-icon .ui-icon-user:after { - background-image: url("images/icons-png/user-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-video:after, -.ui-nosvg .ui-alt-icon .ui-icon-video:after { - background-image: url("images/icons-png/video-black.png"); -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.min.css deleted file mode 100644 index 987931e4..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -.ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-check:after,html .ui-btn.ui-checkbox-on.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-action:after,.ui-alt-icon .ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-alert:after,.ui-alt-icon .ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d:after,.ui-alt-icon .ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-l:after,.ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-r:after,.ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-l:after,.ui-alt-icon .ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-r:after,.ui-alt-icon .ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u:after,.ui-alt-icon .ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-l:after,.ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-r:after,.ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-audio:after,.ui-alt-icon .ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-back:after,.ui-alt-icon .ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bars:after,.ui-alt-icon .ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bullets:after,.ui-alt-icon .ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-calendar:after,.ui-alt-icon .ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-camera:after,.ui-alt-icon .ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-d:after,.ui-alt-icon .ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-l:after,.ui-alt-icon .ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-r:after,.ui-alt-icon .ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-u:after,.ui-alt-icon .ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-check:after,.ui-alt-icon .ui-icon-check:after,html .ui-alt-icon.ui-btn.ui-checkbox-on:after,html .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-clock:after,.ui-alt-icon .ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-cloud:after,.ui-alt-icon .ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-comment:after,.ui-alt-icon .ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-delete:after,.ui-alt-icon .ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-edit:after,.ui-alt-icon .ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-eye:after,.ui-alt-icon .ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forbidden:after,.ui-alt-icon .ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forward:after,.ui-alt-icon .ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-gear:after,.ui-alt-icon .ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-grid:after,.ui-alt-icon .ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-heart:after,.ui-alt-icon .ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-home:after,.ui-alt-icon .ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-info:after,.ui-alt-icon .ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-location:after,.ui-alt-icon .ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-lock:after,.ui-alt-icon .ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-mail:after,.ui-alt-icon .ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-minus:after,.ui-alt-icon .ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-navigation:after,.ui-alt-icon .ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-phone:after,.ui-alt-icon .ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-plus:after,.ui-alt-icon .ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-power:after,.ui-alt-icon .ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-recycle:after,.ui-alt-icon .ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-refresh:after,.ui-alt-icon .ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-search:after,.ui-alt-icon .ui-icon-search:after,.ui-input-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-shop:after,.ui-alt-icon .ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-star:after,.ui-alt-icon .ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-tag:after,.ui-alt-icon .ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-user:after,.ui-alt-icon .ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-video:after,.ui-alt-icon .ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}.ui-nosvg .ui-icon-action:after{background-image:url(images/icons-png/action-white.png)}.ui-nosvg .ui-icon-alert:after{background-image:url(images/icons-png/alert-white.png)}.ui-nosvg .ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-white.png)}.ui-nosvg .ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-white.png)}.ui-nosvg .ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-white.png)}.ui-nosvg .ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-white.png)}.ui-nosvg .ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-white.png)}.ui-nosvg .ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-white.png)}.ui-nosvg .ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-white.png)}.ui-nosvg .ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-white.png)}.ui-nosvg .ui-icon-audio:after{background-image:url(images/icons-png/audio-white.png)}.ui-nosvg .ui-icon-back:after{background-image:url(images/icons-png/back-white.png)}.ui-nosvg .ui-icon-bars:after{background-image:url(images/icons-png/bars-white.png)}.ui-nosvg .ui-icon-bullets:after{background-image:url(images/icons-png/bullets-white.png)}.ui-nosvg .ui-icon-calendar:after{background-image:url(images/icons-png/calendar-white.png)}.ui-nosvg .ui-icon-camera:after{background-image:url(images/icons-png/camera-white.png)}.ui-nosvg .ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-white.png)}.ui-nosvg .ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-white.png)}.ui-nosvg .ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-white.png)}.ui-nosvg .ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-white.png)}.ui-nosvg .ui-icon-check:after,html.ui-nosvg .ui-btn.ui-checkbox-on:after{background-image:url(images/icons-png/check-white.png)}.ui-nosvg .ui-icon-clock:after{background-image:url(images/icons-png/clock-white.png)}.ui-nosvg .ui-icon-cloud:after{background-image:url(images/icons-png/cloud-white.png)}.ui-nosvg .ui-icon-comment:after{background-image:url(images/icons-png/comment-white.png)}.ui-nosvg .ui-icon-delete:after{background-image:url(images/icons-png/delete-white.png)}.ui-nosvg .ui-icon-edit:after{background-image:url(images/icons-png/edit-white.png)}.ui-nosvg .ui-icon-eye:after{background-image:url(images/icons-png/eye-white.png)}.ui-nosvg .ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-white.png)}.ui-nosvg .ui-icon-forward:after{background-image:url(images/icons-png/forward-white.png)}.ui-nosvg .ui-icon-gear:after{background-image:url(images/icons-png/gear-white.png)}.ui-nosvg .ui-icon-grid:after{background-image:url(images/icons-png/grid-white.png)}.ui-nosvg .ui-icon-heart:after{background-image:url(images/icons-png/heart-white.png)}.ui-nosvg .ui-icon-home:after{background-image:url(images/icons-png/home-white.png)}.ui-nosvg .ui-icon-info:after{background-image:url(images/icons-png/info-white.png)}.ui-nosvg .ui-icon-location:after{background-image:url(images/icons-png/location-white.png)}.ui-nosvg .ui-icon-lock:after{background-image:url(images/icons-png/lock-white.png)}.ui-nosvg .ui-icon-mail:after{background-image:url(images/icons-png/mail-white.png)}.ui-nosvg .ui-icon-minus:after{background-image:url(images/icons-png/minus-white.png)}.ui-nosvg .ui-icon-navigation:after{background-image:url(images/icons-png/navigation-white.png)}.ui-nosvg .ui-icon-phone:after{background-image:url(images/icons-png/phone-white.png)}.ui-nosvg .ui-icon-plus:after{background-image:url(images/icons-png/plus-white.png)}.ui-nosvg .ui-icon-power:after{background-image:url(images/icons-png/power-white.png)}.ui-nosvg .ui-icon-recycle:after{background-image:url(images/icons-png/recycle-white.png)}.ui-nosvg .ui-icon-refresh:after{background-image:url(images/icons-png/refresh-white.png)}.ui-nosvg .ui-icon-search:after{background-image:url(images/icons-png/search-white.png)}.ui-nosvg .ui-icon-shop:after{background-image:url(images/icons-png/shop-white.png)}.ui-nosvg .ui-icon-star:after{background-image:url(images/icons-png/star-white.png)}.ui-nosvg .ui-icon-tag:after{background-image:url(images/icons-png/tag-white.png)}.ui-nosvg .ui-icon-user:after{background-image:url(images/icons-png/user-white.png)}.ui-nosvg .ui-icon-video:after{background-image:url(images/icons-png/video-white.png)}.ui-nosvg .ui-alt-icon.ui-icon-action:after,.ui-nosvg .ui-alt-icon .ui-icon-action:after{background-image:url(images/icons-png/action-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-alert:after,.ui-nosvg .ui-alt-icon .ui-icon-alert:after{background-image:url(images/icons-png/alert-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-audio:after,.ui-nosvg .ui-alt-icon .ui-icon-audio:after{background-image:url(images/icons-png/audio-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-back:after,.ui-nosvg .ui-alt-icon .ui-icon-back:after{background-image:url(images/icons-png/back-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-bars:after,.ui-nosvg .ui-alt-icon .ui-icon-bars:after{background-image:url(images/icons-png/bars-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-bullets:after,.ui-nosvg .ui-alt-icon .ui-icon-bullets:after{background-image:url(images/icons-png/bullets-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-calendar:after,.ui-nosvg .ui-alt-icon .ui-icon-calendar:after{background-image:url(images/icons-png/calendar-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-camera:after,.ui-nosvg .ui-alt-icon .ui-icon-camera:after{background-image:url(images/icons-png/camera-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-d:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-l:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-r:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-u:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-check:after,.ui-nosvg .ui-alt-icon .ui-icon-check:after,.ui-nosvg .ui-alt-icon.ui-btn.ui-checkbox-on:after,.ui-nosvg .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url(images/icons-png/check-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-clock:after,.ui-nosvg .ui-alt-icon .ui-icon-clock:after{background-image:url(images/icons-png/clock-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-cloud:after,.ui-nosvg .ui-alt-icon .ui-icon-cloud:after{background-image:url(images/icons-png/cloud-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-comment:after,.ui-nosvg .ui-alt-icon .ui-icon-comment:after{background-image:url(images/icons-png/comment-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-delete:after,.ui-nosvg .ui-alt-icon .ui-icon-delete:after{background-image:url(images/icons-png/delete-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-edit:after,.ui-nosvg .ui-alt-icon .ui-icon-edit:after{background-image:url(images/icons-png/edit-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-eye:after,.ui-nosvg .ui-alt-icon .ui-icon-eye:after{background-image:url(images/icons-png/eye-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-forbidden:after,.ui-nosvg .ui-alt-icon .ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-forward:after,.ui-nosvg .ui-alt-icon .ui-icon-forward:after{background-image:url(images/icons-png/forward-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-gear:after,.ui-nosvg .ui-alt-icon .ui-icon-gear:after{background-image:url(images/icons-png/gear-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-grid:after,.ui-nosvg .ui-alt-icon .ui-icon-grid:after{background-image:url(images/icons-png/grid-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-heart:after,.ui-nosvg .ui-alt-icon .ui-icon-heart:after{background-image:url(images/icons-png/heart-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-home:after,.ui-nosvg .ui-alt-icon .ui-icon-home:after{background-image:url(images/icons-png/home-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-info:after,.ui-nosvg .ui-alt-icon .ui-icon-info:after{background-image:url(images/icons-png/info-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-location:after,.ui-nosvg .ui-alt-icon .ui-icon-location:after{background-image:url(images/icons-png/location-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-lock:after,.ui-nosvg .ui-alt-icon .ui-icon-lock:after{background-image:url(images/icons-png/lock-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-mail:after,.ui-nosvg .ui-alt-icon .ui-icon-mail:after{background-image:url(images/icons-png/mail-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-minus:after,.ui-nosvg .ui-alt-icon .ui-icon-minus:after{background-image:url(images/icons-png/minus-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-navigation:after,.ui-nosvg .ui-alt-icon .ui-icon-navigation:after{background-image:url(images/icons-png/navigation-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-phone:after,.ui-nosvg .ui-alt-icon .ui-icon-phone:after{background-image:url(images/icons-png/phone-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-plus:after,.ui-nosvg .ui-alt-icon .ui-icon-plus:after{background-image:url(images/icons-png/plus-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-power:after,.ui-nosvg .ui-alt-icon .ui-icon-power:after{background-image:url(images/icons-png/power-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-recycle:after,.ui-nosvg .ui-alt-icon .ui-icon-recycle:after{background-image:url(images/icons-png/recycle-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-refresh:after,.ui-nosvg .ui-alt-icon .ui-icon-refresh:after{background-image:url(images/icons-png/refresh-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-search:after,.ui-nosvg .ui-alt-icon .ui-icon-search:after,.ui-nosvg .ui-input-search:after{background-image:url(images/icons-png/search-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-shop:after,.ui-nosvg .ui-alt-icon .ui-icon-shop:after{background-image:url(images/icons-png/shop-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-star:after,.ui-nosvg .ui-alt-icon .ui-icon-star:after{background-image:url(images/icons-png/star-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-tag:after,.ui-nosvg .ui-alt-icon .ui-icon-tag:after{background-image:url(images/icons-png/tag-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-user:after,.ui-nosvg .ui-alt-icon .ui-icon-user:after{background-image:url(images/icons-png/user-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-video:after,.ui-nosvg .ui-alt-icon .ui-icon-video:after{background-image:url(images/icons-png/video-black.png)} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.css deleted file mode 100644 index 7a3eea5d..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.css +++ /dev/null @@ -1,4380 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -.ui-icon-action:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIVJREFUOMtjYCAC/P//fxYQszGQCv5DwDEgliRHIwg8A2JLdEEYaICKqwHxciD+gCb/E4jTGHBosgPiL/+xA1SNSM7iBeIXQPwDiOuAWByvU5E05gPxZyC2xhs4WDTuBuJwtMCZCYsOmHewaZyLJ3Qb4GqxaDQiFC1YNRITn9TRSAqgSCMAGL+QeSGFbu0AAAAASUVORK5CYII="); -} -.ui-icon-alert:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJVJREFUOMu9z7ENgkAUgOGj0I6eBXQCg8QRdAhdwiV0CF2CIRxBF6Cn08LP5oxIIEjjX13evS+5C6EnbLAOY8IUN1wxGQP3Pu1/RRnqBqyR/QLPEeQo4vk0hJZ4QmMmzvI+lODyfl8LindJF9z5rsCqNdu2UYrKcBXSJjx2LC3in9sd3miOR8fCsuOpcMcsoDS+Mvy9F2w1bmFOO7YjAAAAAElFTkSuQmCC"); -} -.ui-icon-arrow-d-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE9JREFUOMut0VsKACAIBECP3tG8mSFZRGVujwV/wkE0IjAikrToJIZq0g3CsIMK9PQWWcM0OkQdbI8QGqCGIbSAAl/wCgWQo7/6PvFpRxdn/yOefcvwdI0AAAAASUVORK5CYII="); -} -.ui-icon-arrow-d-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE1JREFUOMtjYICC////N4AwAykAqgkGGsjRRLRmJhzi9UTZjMNWnDajiBOrGaaOJJuR5Ulx9gFkDql+xq+RGM2EQvsAfWwky4/EaAIBAH/xh5XOyrKIAAAAAElFTkSuQmCC"); -} -.ui-icon-arrow-d:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADdJREFUOMtjYMAC/qMBBmLBqEZKNQLFG/6TDhrI0dxAjs0N5Di7gVDANJCsCYfmBgZSAFQzTk0AIbtHzgIaJM8AAAAASUVORK5CYII="); -} -.ui-icon-arrow-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAD5JREFUOMul0kEKADAMAsE8PT/fXktpqVHvA8FY9QjQNQ3QABYawR3J8EQSvKFfLJRB+9SonOgd0QCiyakjXzjeR87keFK/AAAAAElFTkSuQmCC"); -} -.ui-icon-arrow-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADpJREFUOMu90rENADAIA0FG/82dgooiSDgK31+DiWiSRDgpw4VzrBourFjzcGHiTcjbcX7PwdrLXdEBwEtHzn8VrGMAAAAASUVORK5CYII="); -} -.ui-icon-arrow-u-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEtJREFUOMtj+E8caGBAB2RpIkIjdk0ENB5gwAdoYSNJfjxATqg2QPkNRGnGJkiUZlx+INpmUjUz4dPIyMgIMr2RgVyAZnMDOZrhmgAEuoiZ+HH38AAAAABJRU5ErkJggg=="); -} -.ui-icon-arrow-u-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEdJREFUOMu9z8ENACAIQ9GOzmhuVq+GSCke/Fd8AYEUyaARbjkYVR2GiuT6s/HpjwKtEgoUeW6j/G6ETjxG3YkaFdhDCdtoA045nn2X6PolAAAAAElFTkSuQmCC"); -} -.ui-icon-arrow-u:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADlJREFUOMtjYMAB/v//3wDCDKQAqCYYaCBHE3GacWjCr5mAJuyaidSEqplETQSdjQJIiY5RjZRoBADXbkfOGh7ilQAAAABJRU5ErkJggg=="); -} -.ui-icon-audio:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANxJREFUOMuV0rEuRFEQxvETL2DpZVEoVLyFJ1CJRKfabCKikbiJUhQa3kSj32K7DQqJwgugQVay8lOYleO654avmm/m/HMmM5NSg3CUxTO4wlZqE44xyfwa3nzprA2Sg5FfwV3UDkrQN4gd9CJewCPesZQw9FtTcBR+P3wv/GnSrCnYxRNe0cEcPnDbCgZ8HrmN8A8Y/wW8+DeIZTzjBbOYj1ZvEgaYFMDr8P3w/fAn+TqqBnAbuxEvxqDG6NZ3WRUOYBX3UdsrXU9VG856/PKzxQJ8WDvyS2zmbz4B8IPWAlHG2vgAAAAASUVORK5CYII="); -} -.ui-icon-back:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJJJREFUOMtjYEAD////b2AgFYA0AfF/sjSRpBFZExT8AeLXQHwciCcAsQOxGrGBM0CsS0gzKxBLA7ELELcC8VOo+Ccg1iY6cIBCXEC8Fqp5M05n4xCXgGr8TGqoC5OrsRGqcS+xGkABVQ/E/6AaXQlpUATiYiC+C9UA0lhKjE3I4CYQexDrxGdAvBSIfYGYCV0eAL8TDNuB31nNAAAAAElFTkSuQmCC"); -} -.ui-icon-bars:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAClJREFUOMtjYKA7+P///8n/pIMTII3HydB4lGHUjzTy4xly/XhiaPgRALzOTCcBlK2mAAAAAElFTkSuQmCC"); -} -.ui-icon-bullets:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADpJREFUOMtjYKA7+P///0kgPo7GJwROgBQeB+KjSBqPE6HxKMOoH2nkxzNgN6PyifLjCTQ/nhicfgQA/VEZvCqEuYoAAAAASUVORK5CYII="); -} -.ui-icon-calendar:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADFJREFUOMtjYICC////nwTi4ww4AFDuDBCfQBYgCwwljWQDZBNIYpOtcdSpeGwhVyMA6YDNaA+GXWMAAAAASUVORK5CYII="); -} -.ui-icon-camera:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ1JREFUOMtjYKAW+P//vzoQ1wBxAxSD2KrYFHIBcSaSwqf/McFjJPksIOYEadz8n3SwCaTxDxaJh0A8AYj7oGx08IcBi+ABIBaFOh/kLBEgPoiuCJtGAzTnbwJiQ2I0sgDxLyT+TyBmJdbGTUj89UBsTIzGQ0h+zICyj2DT+BeL5kdA3A8N2ce4QnUTGfG4HqSREy3lEMIZ4JRDLgAADx5bua1tC5oAAAAASUVORK5CYII="); -} -.ui-icon-carat-d:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHdJREFUKJHV0D0OwjAMBtCcpiBSVn7uv8MpUNVMwAUeSyuiKG3DyLdZ9rMlh/BfwR6nhrkLurnYYcAT5xV0xRsPdAF331TxdOmVzd0CIsYlXEEjDnOzildRtjkiFbhEcekBJd5GGe4LnDZRho8TSOibUIF/Qy35ADEDFfz8Tu1HAAAAAElFTkSuQmCC"); -} -.ui-icon-carat-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFNJREFUOMtjYMAD/v//rwvE54FYhYFYAFSsB8Sv/0PAUyBWJVUTCLwHYmNyNJkQo+kNqZr06aOJIo14NJuSEnfImj+Qqvk1mmYzumt+TGp6xZnIAZYXFgOYoY9iAAAAAElFTkSuQmCC"); -} -.ui-icon-carat-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAGRJREFUOMtjYEAD////Vwfi80CsxUAsACrWAOLn/yHgJRBrE6vRDIg//EcAkjSbU1PzK0o161CiWZdYjR9JshWowIIcTZZYNGkTo+kTSdEBdd4nkuMQqEgNiJ+SHPFIms8RSuQASm4V+ztdam4AAAAASUVORK5CYII="); -} -.ui-icon-carat-u:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAG5JREFUOMtjYKA2+P//vz4Ik6PpDRTrkaoJBghrBilA0wQDr3Fqhmp6jaT4PRQja9YlRpMJEJsC8QesmkEMbJqQDEXX/AqsGUicx6UJj+ZzIEEVIH6KSxOSZjOo5scgPTBBVSA2JiKqzOCahg4AAODRFgCi4LIMAAAAAElFTkSuQmCC"); -} -.ui-icon-check:after, -/* Used ui-checkbox-on twice to increase specificity. If active state has background-image for gradient this rule overrides. */ -html .ui-btn.ui-checkbox-on.ui-checkbox-on:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE5JREFUOMu10DEKACEQQ1GPHl2QxUvHZsURQRJhfzfFKzIp/R1JkISLMmdQUeEebtAKvw053I+KRuUGncLpYxoS9kgfrDYK+LVRwM1GTh2KeDEWoG7NGwAAAABJRU5ErkJggg=="); -} -.ui-icon-clock:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAN5JREFUOMuNkl0KglAQhYeexA0kthWtVQRCq6gQWkBRi4mIaA/Zm2EbsYJ6STsjx7jYtTrwoXecP2euiKGyLHtgBc7gQTKwBL7YhA8jcCvbdQWRLaigwxoEwCEh2PBb8Q5me3WliZHsCA7GOabPBXjCf6oqNbqo1LBtaV4IB6EK/gjs03wSTk7l2AKphDaX53tH2pUY70/bGjJmCeWH4DOgb6oV97SP5bemfO41i8/lquIv1Wb0yUG3NkbGBdhyei7R9nbGBRg2M0ZcbpvyjyAj2NPl6p505CQF83d71As1WJi0XvrCDgAAAABJRU5ErkJggg=="); -} -.ui-icon-cloud:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHRJREFUOMtjYBhw8P//f2EgTgTiWigtRIymSCD+/B8VfATiEHyabIH473/s4DcQm+PSuOs/fvAPiF8BsT+yJncg/vafOPASpqniP2ngCxBzgjS+/U862AjS+I4MjT9BGsvJ0LgO5k8XaIQ3EIEzgZiD/kkTAK0pr7/Ot6yrAAAAAElFTkSuQmCC"); -} -.ui-icon-comment:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEJJREFUOMtj+P//fyAQv/xPPHgFxP4MJGqCgZcM/8kEoxpppfEVGfpegDT6k5gIXgCxLwMyQJJsYCAFkKUJqpFoTQBdxXiyPJoNzQAAAABJRU5ErkJggg=="); -} -.ui-icon-delete:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFtJREFUOMulklEKwDAIQ83J153c0U1GK0ZG5o/ga4pNA4ty9zE7gGFFZY5leMSZM4srjjS0LKacgBtGLxmaW1k9q5J3tKLXnI/izbT/QmlVyRz5O+QAyJFTQ34BOkVgA0nxhd0AAAAASUVORK5CYII="); -} -.ui-icon-edit:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAExJREFUOMtjYCAS/P//vwGEGUgBUE0w0ECuRsKakZ1HtK3YFBL0JxanEe28/yRpHPyaFEjWBNWYQLImqMYFJGuCajwA1QyyWYHYZAgAGGspdigXzkIAAAAASUVORK5CYII="); -} -.ui-icon-eye:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ9JREFUOMtjYBhQ8P//f0YgjgLig0D8FYoPQMUYcWmSgCrCBUBy4uia5ID4HlTBDyDOBmIBIOaDsn9A5UBq5GCa+IH4OpLJ2Vhck4MkD1LLDxJcheYkAajik0B8HMlwZLCSCYt3/yHRMDYjtkBBd2ouFjUFSPLXQH7HFTi5UAMFoJp+YgQOkqniBKJjP0Z0oCWASKgBX6D4AFSMcWCTJwDwblGBQMiLsgAAAABJRU5ErkJggg=="); -} -.ui-icon-forbidden:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANZJREFUOMuF0jFuwkAUhOEtCT0R4iwh4hgu0uUM3AAU5TKIKk1OgSPlHCgUQMOXZrAsY8NIK9k7/v3ezttSWsIMn/jFGSf84AOz0ie842BYB1R90CUffOEFo6w5NvEuDZz22pVqTHo6Wsb/w7TkTNdK9QN4G39dEoS0N7kH4zXeriQ9GMUchDHO/rEk8ga8B+Mpe6eSOcG809YNjMX1vWS4sOkJowt/53nVHcfyAQx7PF/NqnUBtklvnDMtWpUueOv+ucpwh7S/gVrwFGvscEziNVZNe9E/AYkNLyf6mZAAAAAASUVORK5CYII="); -} -.ui-icon-forward:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJVJREFUOMud0SEPQWEUBuA7I6iSTdFtfoNgJvkzNtE+QfcnRFFVFX9AECmaieYRfOGyue533/qeZ2c7J8tKBCGrEu+EqrAYY4AV9rji4TPhG/Rx8D8hj3q4xeKMJYbooFG0bRuLDZqlj4N7LNtJ78jBVuq5dxEuUuEowifmqKfgWYRwwhTdsniMY/5pKZtrmGCNy6+5F/zkDN/sPUM/AAAAAElFTkSuQmCC"); -} -.ui-icon-gear:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANBJREFUOMuN0k1OAkEUReGKDVPsBUiCe/An6CZMCHERkLgABzpwr0rCAhoM/Tl56ktTQc+o07dud71TVUoFXOITe0zLKfCIOcZ488sLRrjDslaCHlvHbCPrscjFebz8ix7XuThOf+qwQotJPHeRbdBkEXmmVWX+dcpfMSthL9NWiueDNfsSyjOTSrEdrOkKpqH81FafUv6Mi+9gNJCzju21UdpF9o6z/MV7/+OAm1xcxhkd8FEpbNIFeBjOscAVmlCeZ2pwe1SqyJiF7d2PiAFfUWcCdKtjEnkAAAAASUVORK5CYII="); -} -.ui-icon-grid:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAElJREFUOMtj+P///8n/CHCcAQjQxE5Axc4gizGCSAYkwAgExIgxMZAJQBpPIPGPQWlsYiexiJEBhlbgnCQyIKgXOGcIBcQQDxwAcK29sfGNuOEAAAAASUVORK5CYII="); -} -.ui-icon-heart:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJhJREFUOMud0L0NwjAQgNErGAEGoU0WSYUEggGyVULFCFCyAgPQQQsU5NE4EuLfPOka258sXUREYIwldtiixiBNnc526c04UlTg7NkqzaMzisBGvnW8+e2bU+D4R3gItH+Ebb+cXEW/2SYjaqKHEfY/RHsM4x5KXD5EF5TxCipcX0RXVPEJpugeokn8AosUd5hFDswxfXd/AyJMQU8RkPn/AAAAAElFTkSuQmCC"); -} -.ui-icon-home:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADxJREFUOMtjYMAB/v//3wDCDKQAqCYYaCBHE3GacWjCr5mAJuyaidSEqplETZg2E6sDmx8p10iK3HDWCADqFJ92uuEinAAAAABJRU5ErkJggg=="); -} -.ui-icon-info:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ1JREFUOMul0k0KwjAQQOHcQtF7SPEeQsHrKHo8S71IVdBVPzejaJ0u1AezSfKS+UkpL2COPY64RbTYYVYysMbFOGfUmdQPDi5QDdb6pxzpZS9VWCbrJ0xL1PQt2xKNeGNQRkZTonPG5BHx+pfY/iAeSgz3W3FTMIvhps1J5A6Tx0adfICMHqvhrXUMd4zuQ3qRp9iiwTXigM0zveAO8O5cUyF3tnAAAAAASUVORK5CYII="); -} -.ui-icon-location:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJlJREFUOMuV0TEOAVEUhtHXWYGh04pWzypYlJWIIENU1oQQdJKjucUL4+Er/7knr5iUXsIAO9xxwxb9VCrQxXvnIo6XYI0KbdSxbUrwHkdVtlWxXUvwFEedbOvEdizBVRzV6AbaxrYswanPTUqwhUMDOqD17ZfMGuAsfQs9PDL0QC/9EhYZnKdfwzCDw/RP2GOf/g1jjD59fwKZSi5HaePOlAAAAABJRU5ErkJggg=="); -} -.ui-icon-lock:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHFJREFUOMtjYEAD////Dwbiw0D8HYoPAXEgAz4AVND7HzfowqUpGKrgBxBnA7EAEPNB2T+gcv7YNB6GSmZjkcuByh3EpvE7VFIAixw/VO4rNo1ggMf/mPL/SQQ002gCxObkaDQGYlNyNDZAMf000iZUAdQHDgw3MuoHAAAAAElFTkSuQmCC"); -} -.ui-icon-mail:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIVJREFUOMtjYKA7+P//fzQQf/xPPACpjQZp5AJiRSA+SoQmkBoFkB6QxqtArAXEzEDcAMR/sGgAidVD1WiD9DBAJb4CcQLU6VZAfB9J0z0gtoTKJUDV/mdAM3kB1Ol8QLwEivmgYguQFTJgcRbY6UiBpw0V+09II9zpyE4jViNBMAAa6Q4ARIAH2Rfeh/QAAAAASUVORK5CYII="); -} -.ui-icon-minus:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABZJREFUOE9jYBgFuMF/MsFQ0jgKcAMA2lPfIe/W1fgAAAAASUVORK5CYII="); -} -.ui-icon-navigation:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJNJREFUOMtjYKA1+P//vxAQ5wLxXGIUMwGxKxCvAOIf/yEgB58GeSBuAOIH/1HBdyAWRFfMAcSRQLwbiP/9xw6WI2swBOIpQPzuP2Hggu5pMyCOBuJ6IF4CxCeA+C2aJpCzGYkNSWRX1JMSBSehmv4CsRwpGpdCNe4iNdIboBojSNUYAw0kdlI1mgPxZHLTpyE2OQBXFwcOWoyvmwAAAABJRU5ErkJggg=="); -} -.ui-icon-phone:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAALRJREFUOMtj+P//PxMQLwDiI0DMy0AsACqOAuKz/yHgGNGagQrfAPFqNM08xGj8BtWwBqr5NxCbEqPx9H8EWAXEHsQ6tRxJ4yVSAocf6k8YCCZFcyySxi9AbE6K5vlImj8AsTWavBYQc2PTyAbEu5E0/wDiFKicNTT0sScSoCAXEO/5jwouAfFypHg+ikszyOaF/zHBGiTNh/D5OQGI36JphqWwiYQCTACIK4D4HNTPr2HRBQChdFG//DBhowAAAABJRU5ErkJggg=="); -} -.ui-icon-plus:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAB5JREFUOMtjYMAC/qMBBmLBcNP4n0wwlDSOJgDcGgFPin6QGOaERAAAAABJRU5ErkJggg=="); -} -.ui-icon-power:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANBJREFUOMtjYMAB/v//vxeIdzOQCv5DATEKQ4H4FhCbo2sEUrZAfBuIA9E1KQLxV6jaUCwaY6HcL0Ash6xxClRiNS6nApkboEITkTXehwoa49FoBhW6g6zxD1SQBY9GVqjQb2SNX6CCQkhiF4H4PBJfBKrmE7LGQ1DBBCQxJiBmROKnQtXsQ9aYCBV8AQphLFGlAsSvoWpikSWYkWx9A8QloIACYhMgLgfid1A5UGpiQjdVEIgP/scNQJr4caUeJmhk7wbi51C8C4ijkf1LEQAAs65tnfCMVk0AAAAASUVORK5CYII="); -} -.ui-icon-recycle:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ9JREFUOMtjYKAm+P///1kg/gnEP6DsQiBmJ0YjNnAZiGUIafQDYi4g5gZiXyC+DtV8CcVmICcUhPEYxI+kuQAmKArEr6BYlIArQOA0TGA1kj9W4dHIA1XzDVnwB1SQG49GTAugQQ4Cvng0YnoJyCiCagQFAD8ezaiBCORwAPEVJM1+UD+BcAihuJNF0owCiEkxHNDkdQYUelB8gqrpGQBlvyiNmsjT4QAAAABJRU5ErkJggg=="); -} -.ui-icon-refresh:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAM9JREFUOMtjYEAC////lwbiTiC+AsQ/gfgHEF8C4lYglkBSV4+sKRaIv/zHDT4BcSQQNwPxH5imGCD+B1WwCoitgJgNiq2BeC2aIX9AmiSB+DNUII8BBwDK7UfX2A7lrMGjqRmbjVegHEscmhqx+Bes8QeUw8ZACqBE42WoRmtSNbZBNa4lQq0vEDPDOJLQyAWBEjyaqqBqDiILRiAlgA1AbA/E3FDsCMRboHJ/gTgI3cQwIP6AJ8mB5IJxOUcMiJuA+Dw03X6BskFxKYasFgCG8ZXX6DfYhgAAAABJRU5ErkJggg=="); -} -.ui-icon-search:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAONJREFUOMuV0c8qhVEUhvFvcvKlMHBCUUwU5RpMlIm5UnIFOp2bMHEDiokLkJKpMpXO4Bg4MlAGLkDK3/AzWYPd195iDd/nfVbttasqBjU6OMcdetjFdFUazOJGfp6wlpNqDKI0wDrmsYzjyF+x1BS3E2k0s/gg+EkTnAXYKDyjjU+8o07BbYiLv9zgPjpzaXgR4UpBGsJLdMZSsBPhaUHsBO81wRQeAx5iMrl2Fx/BNnNbV/EchS884K3xn32M5+QFHCXCNy6xhevIrtAuXbCFGYwk2cSf5MLCVN6r/jMh72P4BxnPgmBrkPyTAAAAAElFTkSuQmCC"); -} -.ui-icon-shop:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE9JREFUOMtjYEAD////ZwfiKUD8Hog/QtnsDIQAVOE6IBYDYlEg3gDEk4nRCLJJDIkPMuADMRr/EyMGlyAF4NJoiUWtOTEaybZxVOOAaQQAmEocSjETvxYAAAAASUVORK5CYII="); -} -.ui-icon-star:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJFJREFUOMtjYMAB/v//bwzCDKQCoKZZQDyTVE28QPwZiD8BMQ8pGtP/I0AaKRrPImk8g0tRAhB//U88AKmNh2nWAuKrRGi6AlKLbjMXEC/Ao2k+SA0uZyvj0aiML1Cy8GjMxKdxA1TRWyAOh+K3ULH1uDSxQCN8KxBLIolLAvE2IP4IUoNNowG+yAbJgdQwUAoAbN9GiH93pK4AAAAASUVORK5CYII="); -} -.ui-icon-tag:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUOMtj+I8dNDAQAv9xgwZiNZoBsQXRmpEUgTRZEW3zf+JAAzaNDaOaSYhjApoJJowGspIiFs3EaULTjKEJAH1ft8O6vRfvAAAAAElFTkSuQmCC"); -} -.ui-icon-user:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJdJREFUOMud0jsOQUEUgOEpJGxD0CpswAqUohStLYitiEJUEtHZgETJKjyiIqqb3E9D4nFdE399vuTkzITwFgqYIMEarRAT+l5L0YyBK5/NY+A5Ax5/oZrsUlTz4ND3BnmwglMGOqD8a91ZBpzGHKeB6xO6oB77lssnuMgbLKGDMbb3X/MowQYjtFF8oB724tuhG/zZ3/AGG1/AkN/xnJsAAAAASUVORK5CYII="); -} -.ui-icon-video:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAExJREFUOMvF0csJACAMBNE0KGJHlqtpYjwJIvF70Lk/CFmR5wEByIxTwFtwhmq5M1HYrEUAR7CiI9iiN/D6VOs5uuGSNYdfbJkAJ98rtv7WyPB7sagAAAAASUVORK5CYII="); -} -/* Alt icons */ -.ui-alt-icon.ui-icon-action:after, -.ui-alt-icon .ui-icon-action:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAH1JREFUOMtjYCAOzAJiNgYywH8gPgbEkuRoBOFnQGyJLgjDDVBxNSBeDsQf0OR/AnEaAw5NdkD8BYuhWDXCAC8QvwDiH0BcB8TihJwKA/lA/BmIrQkFDrrG3UAcjhY4M5GiowGXxrl4QrcBWS26RiMiogWrRga6aSQFk68RAP5OVqWXKdm9AAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-alert:after, -.ui-alt-icon .ui-icon-alert:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJZJREFUOMtjYMANvIHYi4FEwAbEt4D4JhCzkqKxFIj/Q3EpsZokgPgTksZPUDGCYAFUgxkQW0DZ8wlpMgfif1DFMPAfKmaGSxMjEJ9EciKyxv9QOUZsGhOQFP2HOtMKTSweXRMvED9HU4QNP4eqhYNuLIpMoH5GF++CaVID4l9YFJhjcSoI/wRiVZDGrUQ4ER1vZaA7AAA8nEl47CBNKgAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-arrow-d:after, -.ui-alt-icon .ui-icon-arrow-d:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADRJREFUOMtjYMAO/qNhosGoRko1NmBRSAg3kKO5gRybG8hxdgOhgGkgRxM2zQ0MJIIGfJoARZtMu19O4xgAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAElJREFUOMtjYCAeNEAxSQCk4T8UN5CjiWjN2DTBNTaQo4kBh9UENTFgESRKEwOa5AFiNTHgUEhUCJKlCZ/GA4Tiiuo2UuRHnJoBqxder3inhF8AAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUOMtjYECABigmCYA0/IfiBnI0kaQZm0aaaW4gRzNMHUk2I8sT7ewDaHyS/ExQIzGa8YIDdLORLD8So+k/AHCSXq9v5cRTAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-arrow-l:after, -.ui-alt-icon .ui-icon-arrow-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADdJREFUOMtjYMANGhjIACBN/8nV9J9cTf/J1fSfXE2EMFmaKNNItlMpChyKooOiBEBRkiMqkQMAcwJMu8C5mgwAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-arrow-r:after, -.ui-alt-icon .ui-icon-arrow-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADVJREFUOMtjYMAPGhjIBP/J1fyfXM3/ydX8H5/m/yTiBnI1wjXTTWMDxYFD0+hooFuSw6kJAOa7TLvbyXpwAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-arrow-u:after, -.ui-alt-icon .ui-icon-arrow-u:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADVJREFUOMtjYMANGqCYJADS8B+KG8jRRLRmbJoIasanCadmYjRhaCZFE0FnoyskGoxqpEQjABQxTLu007KqAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEVJREFUOMtjYGBg+E8EbmDAAsjSxECuJnwaDzAQAFS3kSQ/HiAnVGGSDcRqxiZIlGZcfmggJ8BoppkojeiaidaErBmuCQCtL16vpLfRlQAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEVJREFUOMu9zzEOACAIA8A+nafxM12JFiwMNmGCCwDcMQBLKBqbQgWX8W8bRz9myCuYISN9GZ1zLRTn26g88YkYllHEMtpyql6v/pwMSQAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-audio:after, -.ui-alt-icon .ui-icon-audio:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANVJREFUOMuF0jFKg0EQhuHHXCBqL1ELCytzi5zAKgh2ViEgYhMwYCkWaXIUG/sU6YJaCBZewKRRiaAkzRTLun/+r5pvZ15mdhjKukniBh7RVaNb/Cb+BN9YYbQJWmUgHOE1ctdVUAqeoxfxHj7wgwOYJkAOzsJfhe+Fv1eAUrCFOb6wjR384aUOhHG8dcK/Y9lQr62qxKaOh1jgE03sxqjPMInCEvgUvh++H/4u7TwsgGe4iHg/FrWMpSnB+QEc4y1yl1V/HmZgO7r8G7GkQXbkDzhNC9aKZ1PDJ0JepAAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-back:after, -.ui-alt-icon .ui-icon-back:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAItJREFUOMtjYMAEDQxkAJCm/+Rq+k+uJhD+A8Svgfg4EE8AYgdiNWLDZ4BYl5BmViCWBmIXIG4F4qdQ8U9ArE1K4HAB8Vqo3GZ8zsYGJKAaP5Ma6sLkamyEatxLrAZQQNUD8T+oRldCGhSBuBiI70I1gDSWEmMTchzeBGIPYp34DIiXArEvEDOhSwIAi9Qyp4aUzewAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-bars:after, -.ui-alt-icon .ui-icon-bars:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAACZJREFUOMtjYBgIcBKI/5OIT4A0HidD41GGUT/SCJwh148nhoYfAe0YURTen2r1AAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-bullets:after, -.ui-alt-icon .ui-icon-bullets:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADVJREFUOMtjYBgIcBKIj6Px/xPAJxigmo4iaTxOhMajDKN+pBE4A3MzEp8oP55Ac/OJwelHAGSiQoVBqpe0AAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-calendar:after, -.ui-alt-icon .ui-icon-calendar:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADRJREFUOMtjZECAk0D8D4gtGbCDM0D8B4gtQBxGIP7PQAYYYhoZKLWRJDZFGkedismmTCMAvGkkB7PDw7MAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-camera:after, -.ui-alt-icon .ui-icon-camera:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJxJREFUOMtjYKAiUAfiGiBugGIQWxWbQi4gzkRS+BSI/6Phx0jyWUDMCdK4GYtCQngTSOMfLBIPgXgCEPdB2ejyID0YggeAWBTqfJCzRID4IBZ1GAIGaM4HOcuQGI0sQPwLif8TiFmJtXETEn89EBsTo/EQkh8zoOwj2DT+xSL4CIj7oSH7GFeobiIjHkHOB6cC5JRDCGfAUg5ZAAAIx317SYGtJAAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-carat-d:after, -.ui-alt-icon .ui-icon-carat-d:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHFJREFUOMvV0DEKAjEQQNF3GhXXbXW9f6+nkGVTqRfQJoFlIDHa+SFFmHkpwt+1w7Fjb8KmXLaYccepgc544lbwFa98anjCY7V3gQFLA0e0YF+GNdxEa5wCjmiofUDEXah0CDj1oNKYQcoPfdX4C/rYG6dgMtFQD5sUAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-carat-l:after, -.ui-alt-icon .ui-icon-carat-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFBJREFUOMtjYMAPdIH4PBCrMJAA9ID4NRD/B+KnQKxKqiYQfg/ExuRoMiFG0xtSNenTTRNFGnFpNiUl7pA1fyBV82s0zWZ01/yY1PSKM5EDAGi5MtgV7LNzAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-carat-r:after, -.ui-alt-icon .ui-icon-carat-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFpJREFUOMtjYMAE6kB8Hoi1GEgAGkD8HIj/A/FLINYmVqMZEH+AaiRZszk1Nb+iVLMOJZp1idX4kVRbLcjRZIlFkzYxmj6RGh0W5GgCATUgfkpOxMM0nyOUyAF53TLQiFLV2gAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-carat-u:after, -.ui-alt-icon .ui-icon-carat-u:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAGZJREFUOMtjYKAB0IdikjW9gWI9UjX9h2KiNOuhaYLh1/g060EVwBS/h2JkzbrEaDIBYlMg/oBLsy4OTTCArvkVTPN5PJpwaT4HElQB4qd4NMGAGVTzY6geMFAFYmMiosoMWdMQAQBshTLV2RAbgQAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-check:after, -.ui-alt-icon .ui-icon-check:after, -html .ui-alt-icon.ui-btn.ui-checkbox-on:after, -html .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEtJREFUOMtjYKADaIBikkAjEP+HYqI1NyFpIlozNk0YGhugToKBZmI1wSSayNGEDzfgCzGiNRHyD1Eh2EaOJhjoIEcTDHSRo4loAAAMpkH3I7j13AAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-clock:after, -.ui-alt-icon .ui-icon-clock:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANhJREFUOMuNkmEKgkAQhYd+hRdI9CpZpwiETlERdICiDhMh0R2qf4ZdxArsT9rbeAtT7GIPPnTHebvjzIp8KwYbcAVPUoA1iMSjMXiAxsMdpC5TzYQt6IMuScCO32ptjtVJU7XZGRzVes6cGwiF/2RP0rIlamWMrYSNaFhem3HA2EXYuYb/4zIaTowFXFcd8euk3l+uhIK7JNKuIXNzc+KBwckfxhmfH0/E4TZsuU8L5pSgZ4OpugAZuxcQU95eXYDR744ph+u7cqXLZBVyuGZOFcnBUpdn9AYEHE/v8XhZcwAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-cloud:after, -.ui-alt-icon .ui-icon-cloud:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHZJREFUOMtjYBgMQBiIE4G4FkoLEaMpEog/A/F/JPwRiEPwabIF4r9ommD4NxCb49K4C4cmGP4HxK+A2B9ZkzsQfyOgEYZfwjRVEKkBhr8AMSdI41sSNYLwRpDGd2Ro/AnSWE6GxnUwf7pAI7yBCJwJxBz0T5cA6NleA+xgAXwAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-comment:after, -.ui-alt-icon .ui-icon-comment:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEdJREFUOMtjYGBgCATil0D8n0j8Coj9GUjUBMMvGaEMkgETA5lgVCMBja/J0AeKe3AqICURvABiX3STYJINpDqBLE0MpGgCAMwXLfKbu8xgAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-delete:after, -.ui-alt-icon .ui-icon-delete:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE1JREFUOMtjYECABijGBbDKgwT+Q3EDDk0Y8siC2DTjlMcm8R/Jaf/xGYxLwX8CriFacwO+kCNZE9kaG2jlP6JDlGB0kJ0AyE5yZCVyAIGUcaXrtLjcAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-edit:after, -.ui-alt-icon .ui-icon-edit:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEVJREFUOMtjYCAeNEAxSQCk4T8UN5CrkSjNyM4j2lZsChtI0USS8/6TqnGQa1IgRxMIJJCjCQQWkKMJBA5ANSdAnU0UAAB60T1Uc0QS+gAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-eye:after, -.ui-alt-icon .ui-icon-eye:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJtJREFUOMtjYBhowAjEUUB8EIi/QvEBqBgjLk0SUEX/cWCQnDi6JjkgvgdV8AOIs4FYAIj5oOwfULl7ULVgwA/E15FMzsbimhwk+etQPQyr0JwkAFV8EoiPIxmOrGYlExbT/yHR/5ACDQOgOzUXi5oCJPlrUL9jDZxcqIECUE0/sQUODIgTiI792KIDOQFEQg34AsUHoGKMA5s2AdHHPobWAPyKAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-forbidden:after, -.ui-alt-icon .ui-icon-forbidden:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAM1JREFUOMuFkkEOgjAQRd9S2WMIZ1HDMVi48wzcAEO8DGHlxlOAiecgshA31M1vUptiJ2lC+3mdmT+F38iBK/AEPsAMPIBGWjDOwASYlTUBZQha9MMN2AMbrQPQSltcOPcyDUAaqKiS/gIy1JPNNETgTvoFGWFUXhqBj9J65J5RP0TgROdvZLkL/oO3OpvRnIzcIwIXzp5GmzZghg/f9V3746gisAFGYGfF0nkAndxL1FPhZFqAk39zqeGuPbkxBNnINNxels8qs3bLA/gCVFFewZEF7yYAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-forward:after, -.ui-alt-icon .ui-icon-forward:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAItJREFUOMtjYCAONDCQCf6Tq/k/MZodgHgCEB8H4tdA/AdJI1bNekB8Bk0RNoyiURuIP0ElngJxKxC7ALE0ELPis20rVGItEHOSEjhfoJISpEYHTKMQqcG9D6qxkVSNblCN/4C4DohZSNFcBtUIMuAuEBcDsQKxmj2A+CZavBENmIDYD4iXAvEzXIoAgqYyqw9Yg9IAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-gear:after, -.ui-alt-icon .ui-icon-gear:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAOBJREFUOMuFkkEKwkAMRae13arQXVGo6BFEUS8hiLgSQZcteABddOFJ3YjSA9SK1T/wK2EIGHjw2ySTTDLG6DYAL1CBvhbgC70BMxCCAwio99RzsHYPsEkfUIOCWlLQZ1nJilcGeCBSOovoa2J/FopKJUhBF7SpS/ruoCUHcRFtpUrFTPhzkBhOT96nqyR2nJjKp5BWK4meG2MThyzf2FZJ3Al9BqPmI3CGk7E92/YRPOm7Obs3C2V3Gm8wkXuMxQO4K60+xJ5j12lfxJh7ykWVE/9NwdL8sYQP3N6tpwV8AdaYR91UZ7PcAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-grid:after, -.ui-alt-icon .ui-icon-grid:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEJJREFUOMtjYGBgOAnE/6H4OAMEIIudgIqdQRf7j4aJFiNb43EkzlGoImxiJ7CIkQeGUOCcIDIgqBc4Z4gJiCEcOADCDYeuTK+m9gAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-heart:after, -.ui-alt-icon .ui-icon-heart:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJRJREFUOMud0D0OAUEYBuDHFVyEisYlaITYm1GtcAU99V5CSb+bWKEwkrVZ+/cmb/PNPJkvwydj7JHghAiD0CjMEsQYBWOGDK9St9hVzLNgXCoOm3r257WmZnDvAW9w7AEPMO0BJ9+fjTugWCFDXFuga7j7kwnSGpQWVyxngbwCPTDXkDWeBZRjqWWigHOsdMymDr0BP5J/6NqLuzwAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-home:after, -.ui-alt-icon .ui-icon-home:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADhJREFUOMtjYMANGqCYJADS8B+KG8jRRLRmbJoIasanCadmYjRhaCZFE1abidWEAaiikRS5YasRAHf0YqUlUKReAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-info:after, -.ui-alt-icon .ui-icon-info:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJxJREFUOMul0ksKwkAQhOHvFga9hwTvIQS8TkSPZ4gX8QG6Stx0IA6TQLSgNtPzz6O6+dYGZ1zxDrc4YW1CBzzRT/iBKgd1ycYtymStG8ObiZtK7DLrdxTiT/1CH0UQaWGsHNiI5PoZOFd7/QW2P4AX0dylYC0m4jETTgrfsBoKVWYAcu6wT0+torlT0C0HDSqiuU0k94og6vHz4AMNCIcMUIkWVwAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-location:after, -.ui-alt-icon .ui-icon-location:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJdJREFUOMuVkDEKwkAUBafzBG7sbCVtej2FHionEVGJIZVniqJouoA2T/jo+pMd+M3sm2bhlxxogA54AjWwYIAcuAOvr7sNxY2GRyAAU6CSO3lhp1EwLsg9vPCqUWZcJnfxwoNGFTBTVMvtvXAT+ZjPrb1wArSRqNWbSxkJS0YwB3oT9XKj2JlwSwKFCQsSOeuSWQHLf49vN4Q5LhENhvAAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-lock:after, -.ui-alt-icon .ui-icon-lock:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAG5JREFUOMtjYMAEwUB8GIi/Q/EhIA5kIAB6gfg/DtyFS1MwVMEPIM4GYgEg5oOyf0Dl/LFpPAyVzMYilwOVO4hN43eopAAWOX6o3FdsGmF+wQWwyv8nEdNGowkQm5Oj0RiITcnR2ADF9NNIm1AFAP9Vd4ZWPhWFAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-mail:after, -.ui-alt-icon .ui-icon-mail:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIRJREFUOMtjYBgIEA3EH4H4P5H4I1QPAxcQKwLxUSI0gdQoQPUwXAViLSBmBuIGIP6DRQNIrB6qRhuqByzxFYgToE63AuL7SJruAbElVC4BqvY/A5rJC6DO4APiJVDMBxVbgKYWw1kwp8MAzGn/CWlEdjqy01AwI0w3qYCJ3MhnYhgyAAD7hUiBFf5JtwAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-minus:after, -.ui-alt-icon .ui-icon-minus:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABZJREFUOMtjYBgFeMF/MvFQ0jgKcAAApTQ3yWkQbYUAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-navigation:after, -.ui-alt-icon .ui-icon-navigation:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJRJREFUOMtjYKADEALiXCCeS4xiJiB2BeIVQPwDiP8DcQ4+DfJA3ADED6CKYfg7EAuiK+YA4kgg3g3E/9A0wPByZA2GQDwFiN/hUIyMXdA9bQbE0UBcD8RLgPgEEL9F0wRyNiOxIYnsinpSouAkVNNfIJYjReNSqMZdpEZ6A1RjBKkaY6CBxE6qRnMgnkxu+jTEJgEAOtUv19DqMFAAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-phone:after, -.ui-alt-icon .ui-icon-phone:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAALBJREFUOMtjYGBgYALiBUB8BIh5GUgAUUB8Foj/A/ExUjS/AeLVaJp5iNH4DaphDVTzbyA2JUbjaahGEF4FxB7EOrUcSeMlUgKHH+pPmOZgUjTHImn8AsTmpGiej6T5AxBbo8lrATE3No1sQLwbSfMPIE6GyllDQx9nIuEC4j1ImmEBthwpno/i0gyyeSGaZuR4BrEP4fNzAhC/RdMMS2ETCAWYABBXAPE5qJ9fw6ILAKJsPsK6IqZ8AAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-plus:after, -.ui-alt-icon .ui-icon-plus:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAB1JREFUOMtjYMAO/qNhosFw0/ifTDyUNI4mABwaAYa6X6GPliIhAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-power:after, -.ui-alt-icon .ui-icon-power:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAMZJREFUOMtjYMAN9gLxbgYywH8oJghCgfgWEJtj0WgLxLeBOBBdkyIQf4UqDMWiMRbK/gLEcsgap0AlVuNx6gYofyKyxvtQQWM8Gs2g/DvIGv9ABVnwaGSF8n8ja/wCFRRCErsIxOeR+CJQNZ+QNR6CCiYgiTEBMSMSPxWqZh+yxkSo4AtoCKMDFSB+DVUTiyzBjGTrGyAugQaUCRCXA/E7qNxeqEtQgCAQH0QKFHQM0sSPK/UwQZ0CSqPPoXgXEEej+Zd8AAA35kK6jnLDjgAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-recycle:after, -.ui-alt-icon .ui-icon-recycle:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJVJREFUOMtjYKAyOAvEP4H4B5RdCMTsxGj8jwVfBmIZQhr9gJgLiLmB2BeIr0M1X0K3ORSKcQF+JM0FMEFRIH4FxaIEXAHSeBomsBrJH6vwaOSBqvmGLPgDKsiNRyNWC85CBXzxaMTqpSKoxuvQgMAFMAKRA4ivIGn2g/oJhEMIxZ0skmZ0TBBwQJPXGWjogfAJqiZmAOozM3SzI/gZAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-refresh:after, -.ui-alt-icon .ui-icon-refresh:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAMlJREFUOMtjYEAF0kDcCcRXgPgnEP8A4ktA3ArEEkjq6pE1xQLxFyD+jwN/AuJIIG4G4j8wTTFA/A+qYBUQWwExGxRbA/FaNEPAGiWB+DNUII8BN9iPrrEdylmDR1MzNhuvQDmWODQ1YvEvWOMPKIeNgURAtsbLUI3WpGpsg2pcS4RaXyBmhnEkoZEL0lyCR1MVVM1BZMEIpASwAYjtgZgbih2BeAtU7i8QB6GbGAbEH/AkOZBcMC7niAFxExCfh6bbL1B2I1QODgBeWE0SXtioYgAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-search:after, -.ui-alt-icon .ui-icon-search:after, -.ui-input-search:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAOZJREFUOMuV0U8rxFEUxvFPSjMUG/oRio2ivAZLG3ulZGsjzevwBpTZzAuYlD3Zi2JhZKEs7Aclf/Jvc3D7dX8TT906Pc/5nu49l1/VsYUjXOME25jUQ9O4xGfmPGA5B9XRiaYOVjCLReyF/4SFMriZQMOZwc3I98vBQQSrFc8YxRte4nY/ugpwvscObqJn5tvoQzfqiQqohiLqbgoeRt2oADcwgFPcp8E47uIqLYwl227gNbK13NQlPEbDO27xXPrPM4zk4Dm0E+ADx1jHRXjnseWs+jGFocQr/grnlMI7/qkCuxj8AkXLP4FD310vAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-shop:after, -.ui-alt-icon .ui-icon-shop:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFBJREFUOMtjYMAE7EA8BYjfA/FHKJsdXRETFo29QCwFxOpArALEMkDcw0AEANkkhsQHsT8Qo/E/MWKMeBTjA4zY/GiFRcyCpjYSBUY10kIjAHnuC0BW95IBAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-star:after, -.ui-alt-icon .ui-icon-star:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIlJREFUOMtjYMANjKGYZDALiGeSqokXiD8D8Scg5iFFYzoQ/4fiNFI0nkXSeAaXogQg/oqkkBAGqY2HadYC4qtEaLoCVYsCuIB4AR5N86FqsAJlPBqV8QVKFh6Nmfg0boAqegvE4VD8Fiq2HpcmFmiEbwViSSRxEHsbEH+EqsEABgQiOw2qhjIAAOvoP4EZPNvPAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-tag:after, -.ui-alt-icon .ui-icon-tag:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUOMtjYGBg+I8FNzAQAf6Tqxmm0AyILUjRDFME0mRFis3/icBYNTeMaiYtjhsoSRgN5CZFdM1Ea0LWjKEJAJLwYwqDORsHAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-user:after, -.ui-alt-icon .ui-icon-user:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJdJREFUOMtjYMAELEC8BIh/A/EJIPZlIBJkAfF/JPwPiO2J0XgUTSMIrydG4ycsGl8R0qSKRRPMuSr4NNbi0AjC1fg0KgPxGyyaXgKxIiHnrsGicRkxgWMExF+RNH0GYj1i43IHksaN+BRyAHE4EC8A4ovQVAPTCGJfAOJ5QBwKxOwwTYlA/AJPaKLj50Acz0CCBnRMnkYAFb5i4CiuUNsAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-video:after, -.ui-alt-icon .ui-icon-video:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE1JREFUOMtjYBgIEAjEL4H4Pw78Coj9sWnEpwmGX6LpaWAgQhMMI2v6T6rGBmQ+sRob0A2iuUaynYoROK+I0PQCW3T4E4hLkCZfhgEHAMf2cCELnGdHAAAAAElFTkSuQmCC"); -} -/* Globals */ -/* Font ------------------------------------------------------------------------------------------------------------*/ -html { - font-size: 100%; -} -body, -input, -select, -textarea, -button, -.ui-btn { - font-size: 1em; - line-height: 1.3; - font-family: sans-serif /*{global-font-family}*/; -} -legend, -.ui-input-text input, -.ui-input-search input { - color: inherit; - text-shadow: inherit; -} -/* Form labels (overrides font-weight bold in bars, and mini font-size) */ -.ui-mobile label, -div.ui-controlgroup-label { - font-weight: normal; - font-size: 16px; -} -/* Separators ------------------------------------------------------------------------------------------------------------*/ -/* Field contain separator (< 28em) */ -.ui-field-contain { - border-bottom-color: #828282; - border-bottom-color: rgba(0,0,0,.15); - border-bottom-width: 1px; - border-bottom-style: solid; -} -/* Table opt-in classes: strokes between each row, and alternating row stripes */ -/* Classes table-stroke and table-stripe are deprecated in 1.4. */ -.table-stroke thead th, -.table-stripe thead th, -.table-stripe tbody tr:last-child { - border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.1); -} -.table-stroke tbody th, -.table-stroke tbody td { - border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.05); -} -.table-stripe.table-stroke tbody tr:last-child th, -.table-stripe.table-stroke tbody tr:last-child td { - border-bottom: 0; -} -.table-stripe tbody tr:nth-child(odd) td, -.table-stripe tbody tr:nth-child(odd) th { - background-color: #eeeeee; /* non-RGBA fallback */ - background-color: rgba(0,0,0,.04); -} -/* Buttons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn, -label.ui-btn { - font-weight: bold; - border-width: 1px; - border-style: solid; -} -.ui-btn { - text-decoration: none !important; -} -.ui-btn-active { - cursor: pointer; -} -/* Corner rounding ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-btn-corner-all deprecated in 1.4 */ -.ui-corner-all { - -webkit-border-radius: .3125em /*{global-radii-blocks}*/; - border-radius: .3125em /*{global-radii-blocks}*/; -} -/* Buttons */ -.ui-btn-corner-all, -.ui-btn.ui-corner-all, -/* Slider track */ -.ui-slider-track.ui-corner-all, -/* Flipswitch */ -.ui-flipswitch.ui-corner-all, -/* Count bubble */ -.ui-li-count { - -webkit-border-radius: .3125em /*{global-radii-buttons}*/; - border-radius: .3125em /*{global-radii-buttons}*/; -} -/* Icon-only buttons */ -.ui-btn-icon-notext.ui-btn-corner-all, -.ui-btn-icon-notext.ui-corner-all { - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Radius clip workaround for cleaning up corner trapping */ -.ui-btn-corner-all, -.ui-corner-all { - -webkit-background-clip: padding; - background-clip: padding-box; -} -/* Popup arrow */ -.ui-popup.ui-corner-all > .ui-popup-arrow-guide { - left: .6em /*{global-radii-blocks}*/; - right: .6em /*{global-radii-blocks}*/; - top: .6em /*{global-radii-blocks}*/; - bottom: .6em /*{global-radii-blocks}*/; -} -/* Shadow ------------------------------------------------------------------------------------------------------------*/ -.ui-shadow { - -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; -} -.ui-shadow-inset { - -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; -} -.ui-overlay-shadow { - -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); - -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); - box-shadow: 0 0 12px rgba(0,0,0,.6); -} -/* Icons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; - background-position: center center; - background-repeat: no-repeat; - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Alt icons */ -.ui-alt-icon.ui-btn:after, -.ui-alt-icon .ui-btn:after, -html .ui-alt-icon.ui-checkbox-off:after, -html .ui-alt-icon.ui-radio-off:after, -html .ui-alt-icon .ui-checkbox-off:after, -html .ui-alt-icon .ui-radio-off:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.15) /*{global-icon-disc}*/; -} -/* No disc */ -.ui-nodisc-icon.ui-btn:after, -.ui-nodisc-icon .ui-btn:after { - background-color: transparent; -} -/* Icon shadow */ -.ui-shadow-icon.ui-btn:after, -.ui-shadow-icon .ui-btn:after { - -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; -} -/* Checkbox and radio */ -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after, -.ui-btn.ui-radio-off:after, -.ui-btn.ui-radio-on:after { - display: block; - width: 18px; - height: 18px; - margin: -9px 2px 0 2px; -} -.ui-checkbox-off:after, -.ui-btn.ui-radio-off:after { - filter: Alpha(Opacity=30); - opacity: .3; -} -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after { - -webkit-border-radius: .1875em; - border-radius: .1875em; -} -.ui-btn.ui-checkbox-off:after { - background-color: #666; - background-color: rgba(0,0,0,.3); -} -.ui-radio .ui-btn.ui-radio-on:after { - background-image: none; - background-color: #fff; - width: 8px; - height: 8px; - border-width: 5px; - border-style: solid; -} -.ui-alt-icon.ui-btn.ui-radio-on:after, -.ui-alt-icon .ui-btn.ui-radio-on:after { - background-color: #000; -} -/* Loader */ -.ui-icon-loading { - background: url(images/ajax-loader.gif); - background-size: 2.875em 2.875em; -} -/* Swatches */ -/* A ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-a, -.ui-page-theme-a .ui-bar-inherit, -html .ui-bar-a .ui-bar-inherit, -html .ui-body-a .ui-bar-inherit, -html body .ui-group-theme-a .ui-bar-inherit { - background-color: #e9e9e9 /*{a-bar-background-color}*/; - border-color: #ddd /*{a-bar-border}*/; - color: #333 /*{a-bar-color}*/; - text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #eee /*{a-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-a { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-a, -.ui-page-theme-a, -.ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9 /*{a-page-background-color}*/; - border-color: #bbb /*{a-page-border}*/; - color: #333 /*{a-page-color}*/; - text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #f3f3f3 /*{a-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-a, -.ui-page-theme-a .ui-body-inherit, -html .ui-bar-a .ui-body-inherit, -html .ui-body-a .ui-body-inherit, -html body .ui-group-theme-a .ui-body-inherit, -html .ui-panel-page-container-a { - background-color: #fff /*{a-body-background-color}*/; - border-color: #ddd /*{a-body-border}*/; - color: #333 /*{a-body-color}*/; - text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #f3f3f3 /*{a-body-shadow-color}*/; -} -.ui-body-a { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-a a, -html .ui-bar-a a, -html .ui-body-a a, -html body .ui-group-theme-a a { - color: #3388cc /*{a-link-color}*/; - font-weight: bold; -} -.ui-page-theme-a a:visited, -html .ui-bar-a a:visited, -html .ui-body-a a:visited, -html body .ui-group-theme-a a:visited { - color: #3388cc /*{a-link-visited}*/; -} -.ui-page-theme-a a:hover, -html .ui-bar-a a:hover, -html .ui-body-a a:hover, -html body .ui-group-theme-a a:hover { - color: #005599 /*{a-link-hover}*/; -} -.ui-page-theme-a a:active, -html .ui-bar-a a:active, -html .ui-body-a a:active, -html body .ui-group-theme-a a:active { - color: #005599 /*{a-link-active}*/; -} -/* Button up */ -.ui-page-theme-a .ui-btn, -html .ui-bar-a .ui-btn, -html .ui-body-a .ui-btn, -html body .ui-group-theme-a .ui-btn, -html head + body .ui-btn.ui-btn-a, -/* Button visited */ -.ui-page-theme-a .ui-btn:visited, -html .ui-bar-a .ui-btn:visited, -html .ui-body-a .ui-btn:visited, -html body .ui-group-theme-a .ui-btn:visited, -html head + body .ui-btn.ui-btn-a:visited { - background-color: #f6f6f6 /*{a-bup-background-color}*/; - border-color: #ddd /*{a-bup-border}*/; - color: #333 /*{a-bup-color}*/; - text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-a .ui-btn:hover, -html .ui-bar-a .ui-btn:hover, -html .ui-body-a .ui-btn:hover, -html body .ui-group-theme-a .ui-btn:hover, -html head + body .ui-btn.ui-btn-a:hover { - background-color: #ededed /*{a-bhover-background-color}*/; - border-color: #ddd /*{a-bhover-border}*/; - color: #333 /*{a-bhover-color}*/; - text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-a .ui-btn:active, -html .ui-bar-a .ui-btn:active, -html .ui-body-a .ui-btn:active, -html body .ui-group-theme-a .ui-btn:active, -html head + body .ui-btn.ui-btn-a:active { - background-color: #e8e8e8 /*{a-bdown-background-color}*/; - border-color: #ddd /*{a-bdown-border}*/; - color: #333 /*{a-bdown-color}*/; - text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-a .ui-btn.ui-btn-active, -html .ui-bar-a .ui-btn.ui-btn-active, -html .ui-body-a .ui-btn.ui-btn-active, -html body .ui-group-theme-a .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-a.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-a .ui-checkbox-on:after, -html .ui-bar-a .ui-checkbox-on:after, -html .ui-body-a .ui-checkbox-on:after, -html body .ui-group-theme-a .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-a:after, -/* Active flipswitch background */ -.ui-page-theme-a .ui-flipswitch-active, -html .ui-bar-a .ui-flipswitch-active, -html .ui-body-a .ui-flipswitch-active, -html body .ui-group-theme-a .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-a .ui-slider-track .ui-btn-active, -html .ui-bar-a .ui-slider-track .ui-btn-active, -html .ui-body-a .ui-slider-track .ui-btn-active, -html body .ui-group-theme-a .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-a .ui-btn-active { - background-color: #3388cc /*{a-active-background-color}*/; - border-color: #3388cc /*{a-active-border}*/; - color: #fff /*{a-active-color}*/; - text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-a .ui-radio-on:after, -html .ui-bar-a .ui-radio-on:after, -html .ui-body-a .ui-radio-on:after, -html body .ui-group-theme-a .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-a:after { - border-color: #3388cc /*{a-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-a .ui-btn:focus, -html .ui-bar-a .ui-btn:focus, -html .ui-body-a .ui-btn:focus, -html body .ui-group-theme-a .ui-btn:focus, -html head + body .ui-btn.ui-btn-a:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-a .ui-focus, -html .ui-bar-a .ui-focus, -html .ui-body-a .ui-focus, -html body .ui-group-theme-a .ui-focus, -html head + body .ui-btn-a.ui-focus, -html head + body .ui-body-a.ui-focus { - -webkit-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - -moz-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; -} -/* B ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-b, -.ui-page-theme-b .ui-bar-inherit, -html .ui-bar-b .ui-bar-inherit, -html .ui-body-b .ui-bar-inherit, -html body .ui-group-theme-b .ui-bar-inherit { - background-color: #1d1d1d /*{b-bar-background-color}*/; - border-color: #1b1b1b /*{b-bar-border}*/; - color: #fff /*{b-bar-color}*/; - text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #111 /*{b-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-b { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-b, -.ui-page-theme-b, -.ui-page-theme-b .ui-panel-wrapper { - background-color: #252525 /*{b-page-background-color}*/; - border-color: #454545 /*{b-page-border}*/; - color: #fff /*{b-page-color}*/; - text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #111 /*{b-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-b, -.ui-page-theme-b .ui-body-inherit, -html .ui-bar-b .ui-body-inherit, -html .ui-body-b .ui-body-inherit, -html body .ui-group-theme-b .ui-body-inherit, -html .ui-panel-page-container-b { - background-color: #2a2a2a /*{b-body-background-color}*/; - border-color: #1d1d1d /*{b-body-border}*/; - color: #fff /*{b-body-color}*/; - text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #111 /*{b-body-shadow-color}*/; -} -.ui-body-b { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-b a, -html .ui-bar-b a, -html .ui-body-b a, -html body .ui-group-theme-b a { - color: #22aadd /*{b-link-color}*/; - font-weight: bold; -} -.ui-page-theme-b a:visited, -html .ui-bar-b a:visited, -html .ui-body-b a:visited, -html body .ui-group-theme-b a:visited { - color: #22aadd /*{b-link-visited}*/; -} -.ui-page-theme-b a:hover, -html .ui-bar-b a:hover, -html .ui-body-b a:hover, -html body .ui-group-theme-b a:hover { - color: #0088bb /*{b-link-hover}*/; -} -.ui-page-theme-b a:active, -html .ui-bar-b a:active, -html .ui-body-b a:active, -html body .ui-group-theme-b a:active { - color: #0088bb /*{b-link-active}*/; -} -/* Button up */ -.ui-page-theme-b .ui-btn, -html .ui-bar-b .ui-btn, -html .ui-body-b .ui-btn, -html body .ui-group-theme-b .ui-btn, -html head + body .ui-btn.ui-btn-b, -/* Button visited */ -.ui-page-theme-b .ui-btn:visited, -html .ui-bar-b .ui-btn:visited, -html .ui-body-b .ui-btn:visited, -html body .ui-group-theme-b .ui-btn:visited, -html head + body .ui-btn.ui-btn-b:visited { - background-color: #333 /*{b-bup-background-color}*/; - border-color: #1f1f1f /*{b-bup-border}*/; - color: #fff /*{b-bup-color}*/; - text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111 /*{b-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-b .ui-btn:hover, -html .ui-bar-b .ui-btn:hover, -html .ui-body-b .ui-btn:hover, -html body .ui-group-theme-b .ui-btn:hover, -html head + body .ui-btn.ui-btn-b:hover { - background-color: #373737 /*{b-bhover-background-color}*/; - border-color: #1f1f1f /*{b-bhover-border}*/; - color: #fff /*{b-bhover-color}*/; - text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111 /*{b-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-b .ui-btn:active, -html .ui-bar-b .ui-btn:active, -html .ui-body-b .ui-btn:active, -html body .ui-group-theme-b .ui-btn:active, -html head + body .ui-btn.ui-btn-b:active { - background-color: #404040 /*{b-bdown-background-color}*/; - border-color: #1f1f1f /*{b-bdown-border}*/; - color: #fff /*{b-bdown-color}*/; - text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111 /*{b-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-b .ui-btn.ui-btn-active, -html .ui-bar-b .ui-btn.ui-btn-active, -html .ui-body-b .ui-btn.ui-btn-active, -html body .ui-group-theme-b .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-b.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-b .ui-checkbox-on:after, -html .ui-bar-b .ui-checkbox-on:after, -html .ui-body-b .ui-checkbox-on:after, -html body .ui-group-theme-b .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-b:after, -/* Active flipswitch background */ -.ui-page-theme-b .ui-flipswitch-active, -html .ui-bar-b .ui-flipswitch-active, -html .ui-body-b .ui-flipswitch-active, -html body .ui-group-theme-b .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-b .ui-slider-track .ui-btn-active, -html .ui-bar-b .ui-slider-track .ui-btn-active, -html .ui-body-b .ui-slider-track .ui-btn-active, -html body .ui-group-theme-b .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-b .ui-btn-active { - background-color: #22aadd /*{b-active-background-color}*/; - border-color: #22aadd /*{b-active-border}*/; - color: #fff /*{b-active-color}*/; - text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-b .ui-radio-on:after, -html .ui-bar-b .ui-radio-on:after, -html .ui-body-b .ui-radio-on:after, -html body .ui-group-theme-b .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-b:after { - border-color: #22aadd /*{b-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-b .ui-btn:focus, -html .ui-bar-b .ui-btn:focus, -html .ui-body-b .ui-btn:focus, -html body .ui-group-theme-b .ui-btn:focus, -html head + body .ui-btn.ui-btn-b:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-b .ui-focus, -html .ui-bar-b .ui-focus, -html .ui-body-b .ui-focus, -html body .ui-group-theme-b .ui-focus, -html head + body .ui-btn-b.ui-focus, -html head + body .ui-body-b.ui-focus { - -webkit-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - -moz-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; -} -/* Structure */ -/* Disabled ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ -.ui-disabled, -.ui-state-disabled, -button[disabled], -.ui-select .ui-btn.ui-state-disabled { - filter: Alpha(Opacity=30); - opacity: .3; - cursor: default !important; - pointer-events: none; -} -/* Focus state outline ------------------------------------------------------------------------------------------------------------*/ -.ui-btn:focus, -.ui-btn.ui-focus { - outline: 0; -} -/* Unset box-shadow in browsers that don't do it right */ -.ui-noboxshadow .ui-shadow, -.ui-noboxshadow .ui-shadow-inset, -.ui-noboxshadow .ui-overlay-shadow, -.ui-noboxshadow .ui-shadow-icon.ui-btn:after, -.ui-noboxshadow .ui-shadow-icon .ui-btn:after, -.ui-noboxshadow .ui-focus, -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow input:focus, -.ui-noboxshadow .ui-panel { - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow .ui-focus { - outline-width: 1px; - outline-style: auto; -} -/* Some unsets */ -.ui-mobile, -.ui-mobile body { - height: 99.9%; -} -.ui-mobile fieldset, -.ui-page { - padding: 0; - margin: 0; -} -.ui-mobile a img, -.ui-mobile fieldset { - border-width: 0; -} -/* Fixes for fieldset issues on IE10 and FF (see #6077) */ -.ui-mobile fieldset { - min-width: 0; -} -@-moz-document url-prefix() { - .ui-mobile fieldset { - display: table-column; - vertical-align: middle; - } -} -/* Viewport */ -.ui-mobile-viewport { - margin: 0; - overflow-x: visible; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust:none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -/* Issue #2066 */ -body.ui-mobile-viewport, -div.ui-mobile-viewport { - overflow-x: hidden; -} -/* "page" containers - full-screen views, one should always be in view post-pageload */ -.ui-mobile [data-role=page], -.ui-mobile [data-role=dialog], -.ui-page { - top: 0; - left: 0; - width: 100%; - min-height: 100%; - position: absolute; - display: none; - border: 0; -} -/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */ -.ui-page { - outline: none; -} -.ui-mobile .ui-page-active { - display: block; - overflow: visible; - overflow-x: hidden; -} -@media screen and (orientation: portrait) { - .ui-mobile .ui-page { - min-height: 420px; - } -} -@media screen and (orientation: landscape) { - .ui-mobile .ui-page { - min-height: 300px; - } -} -/* Fouc */ -.ui-mobile-rendering > * { - visibility: hidden; -} -/* Non-js content hiding */ -.ui-nojs { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Loading screen */ -.ui-loading .ui-loader { - display: block; -} -.ui-loader { - display: none; - z-index: 9999999; - position: fixed; - top: 50%; - left: 50%; - border:0; -} -.ui-loader-default { - background: none; - filter: Alpha(Opacity=18); - opacity: .18; - width: 2.875em; - height: 2.875em; - margin-left: -1.4375em; - margin-top: -1.4375em; -} -.ui-loader-verbose { - width: 12.5em; - filter: Alpha(Opacity=88); - opacity: .88; - box-shadow: 0 1px 1px -1px #fff; - height: auto; - margin-left: -6.875em; - margin-top: -2.6875em; - padding: .625em; -} -.ui-loader-default h1 { - font-size: 0; - width: 0; - height: 0; - overflow: hidden; -} -.ui-loader-verbose h1 { - font-size: 1em; - margin: 0; - text-align: center; -} -.ui-loader .ui-icon-loading { - background-color: #000; - display: block; - margin: 0; - width: 2.75em; - height: 2.75em; - padding: .0625em; - -webkit-border-radius: 2.25em; - border-radius: 2.25em; -} -.ui-loader-verbose .ui-icon-loading { - margin: 0 auto .625em; - filter: Alpha(Opacity=75); - opacity: .75; -} -.ui-loader-textonly { - padding: .9375em; - margin-left: -7.1875em; -} -.ui-loader-textonly .ui-icon-loading { - display: none; -} -.ui-loader-fakefix { - position: absolute; -} -/* Headers, content panels */ -.ui-bar, -.ui-body { - position: relative; - padding: .4em 1em; - overflow: hidden; - display: block; - clear: both; -} -.ui-bar h1, -.ui-bar h2, -.ui-bar h3, -.ui-bar h4, -.ui-bar h5, -.ui-bar h6 { - margin: 0; - padding: 0; - font-size: 1em; - display: inline-block; -} -.ui-header, -.ui-footer { - border-width: 1px 0; - border-style: solid; - position: relative; -} -.ui-header:empty, -.ui-footer:empty { - min-height: 2.6875em; -} -.ui-header .ui-title, -.ui-footer .ui-title { - font-size: 1em; - min-height: 1.1em; - text-align: center; - display: block; - margin: 0 30%; - padding: .7em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - outline: 0 !important; -} -.ui-footer .ui-title { - margin: 0 1em; -} -.ui-content { - border-width: 0; - overflow: visible; - overflow-x: hidden; - padding: 1em; -} -/* Corner styling for dialogs and popups */ -.ui-corner-all > .ui-header:first-child, -.ui-corner-all > .ui-content:first-child, -.ui-corner-all > .ui-footer:first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-corner-all > .ui-header:last-child, -.ui-corner-all > .ui-content:last-child, -.ui-corner-all > .ui-footer:last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -/* Buttons and icons */ -.ui-btn { - font-size: 16px; - margin: .5em 0; - padding: .7em 1em; - display: block; - position: relative; - text-align: center; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.ui-btn-icon-notext, -.ui-header button.ui-btn.ui-btn-icon-notext, -.ui-footer button.ui-btn.ui-btn-icon-notext { - padding: 0; - width: 1.75em; - height: 1.75em; - text-indent: -9999px; - white-space: nowrap !important; -} -.ui-mini { - font-size: 12.5px; -} -.ui-mini .ui-btn { - font-size: inherit; -} -/* Make buttons in toolbars default to mini and inline. */ -.ui-header .ui-btn, -.ui-footer .ui-btn { - font-size: 12.5px; - display: inline-block; - vertical-align: middle; -} -.ui-header .ui-controlgroup .ui-btn-icon-notext, -.ui-footer .ui-controlgroup .ui-btn-icon-notext { - font-size: 12.5px; -} -/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right { - font-size: 12.5px; -} -.ui-mini.ui-btn-icon-notext, -.ui-mini .ui-btn-icon-notext, -.ui-header .ui-btn-icon-notext, -.ui-footer .ui-btn-icon-notext { - font-size: 16px; - padding: 0; -} -.ui-btn-inline { - display: inline-block; - vertical-align: middle; - margin-right: .625em; -} -.ui-btn-icon-left { - padding-left: 2.5em; -} -.ui-btn-icon-right { - padding-right: 2.5em; -} -.ui-btn-icon-top { - padding-top: 2.5em; -} -.ui-btn-icon-bottom { - padding-bottom: 2.5em; -} -.ui-header .ui-btn-icon-top, -.ui-footer .ui-btn-icon-top, -.ui-header .ui-btn-icon-bottom, -.ui-footer .ui-btn-icon-bottom { - padding-left: .3125em; - padding-right: .3125em; -} -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - content: ""; - position: absolute; - display: block; - width: 22px; - height: 22px; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-left:after, -.ui-btn-icon-right:after { - top: 50%; - margin-top: -11px; -} -.ui-btn-icon-left:after { - left: .5625em; -} -.ui-btn-icon-right:after { - right: .5625em; -} -.ui-mini.ui-btn-icon-left:after, -.ui-mini .ui-btn-icon-left:after, -.ui-header .ui-btn-icon-left:after, -.ui-footer .ui-btn-icon-left:after { - left: .37em; -} -.ui-mini.ui-btn-icon-right:after, -.ui-mini .ui-btn-icon-right:after, -.ui-header .ui-btn-icon-right:after, -.ui-footer .ui-btn-icon-right:after { - right: .37em; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after { - left: 50%; - margin-left: -11px; -} -.ui-btn-icon-top:after { - top: .5625em; -} -.ui-btn-icon-bottom:after { - top: auto; - bottom: .5625em; -} -/* Buttons in header position classes */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right, -.ui-btn-left > [class*="ui-"], -.ui-btn-right > [class*="ui-"] { - margin: 0; -} -.ui-btn-left, -.ui-btn-right { - position: absolute; - top: .24em; -} -.ui-btn-left { - left: .4em; -} -.ui-btn-right { - right: .4em; -} -.ui-btn-icon-notext.ui-btn-left { - top: .3125em; - left: .3125em; -} -.ui-btn-icon-notext.ui-btn-right { - top: .3125em; - right: .3125em; -} -/* Button elements */ -button.ui-btn, -.ui-controlgroup-controls button.ui-btn-icon-notext { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - width: 100%; -} -button.ui-btn-inline, -.ui-header button.ui-btn, -.ui-footer button.ui-btn { - width: auto; -} -/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */ -button.ui-btn::-moz-focus-inner { - border: 0; -} -button.ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - width: 1.75em; -} -/* Form labels */ -.ui-mobile label, -.ui-controlgroup-label { - display: block; - margin: 0 0 .4em; -} -/* Accessible content hiding */ -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-hide-label > label, -.ui-hide-label .ui-controlgroup-label, -.ui-hide-label .ui-rangeslider label, -.ui-hidden-accessible { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Used for hiding elements by the filterable widget. You can also use this class to hide list items or buttons in controlgroups; this ensures correct corner styling. */ -.ui-screen-hidden { - display: none !important; -} -/* Transitions originally inspired by those from jQtouch, nice work, folks */ -.ui-mobile-viewport-transitioning, -.ui-mobile-viewport-transitioning .ui-page { - width: 100%; - height: 100%; - overflow: hidden; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.ui-page-pre-in { - opacity: 0; -} -.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.out { - -webkit-animation-timing-function: ease-in; - -webkit-animation-duration: 225ms; - -moz-animation-timing-function: ease-in; - -moz-animation-duration: 225ms; - animation-timing-function: ease-in; - animation-duration: 225ms; -} -@-webkit-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-moz-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-webkit-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@-moz-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -.fade.out { - opacity: 0; - -webkit-animation-duration: 125ms; - -webkit-animation-name: fadeout; - -moz-animation-duration: 125ms; - -moz-animation-name: fadeout; - animation-duration: 125ms; - animation-name: fadeout; -} -.fade.in { - opacity: 1; - -webkit-animation-duration: 225ms; - -webkit-animation-name: fadein; - -moz-animation-duration: 225ms; - -moz-animation-name: fadein; - animation-duration: 225ms; - animation-name: fadein; -} -.pop { - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -.pop.in { - -webkit-transform: scale(1); - -webkit-animation-name: popin; - -webkit-animation-duration: 350ms; - -moz-transform: scale(1); - -moz-animation-name: popin; - -moz-animation-duration: 350ms; - transform: scale(1); - animation-name: popin; - animation-duration: 350ms; - opacity: 1; -} -.pop.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; - opacity: 0; -} -.pop.in.reverse { - -webkit-animation-name: fadein; - -moz-animation-name: fadein; - animation-name: fadein; -} -.pop.out.reverse { - -webkit-transform: scale(.8); - -webkit-animation-name: popout; - -moz-transform: scale(.8); - -moz-animation-name: popout; - transform: scale(.8); - animation-name: popout; -} -@-webkit-keyframes popin { - from { - -webkit-transform: scale(.8); - opacity: 0; - } - to { - -webkit-transform: scale(1); - opacity: 1; - } -} -@-moz-keyframes popin { - from { - -moz-transform: scale(.8); - opacity: 0; - } - to { - -moz-transform: scale(1); - opacity: 1; - } -} -@keyframes popin { - from { - transform: scale(.8); - opacity: 0; - } - to { - transform: scale(1); - opacity: 1; - } -} -@-webkit-keyframes popout { - from { - -webkit-transform: scale(1); - opacity: 1; - } - to { - -webkit-transform: scale(.8); - opacity: 0; - } -} -@-moz-keyframes popout { - from { - -moz-transform: scale(1); - opacity: 1; - } - to { - -moz-transform: scale(.8); - opacity: 0; - } -} -@keyframes popout { - from { - transform: scale(1); - opacity: 1; - } - to { - transform: scale(.8); - opacity: 0; - } -} -/* keyframes for slidein from sides */ -@-webkit-keyframes slideinfromright { - from { -webkit-transform: translate3d(100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromright { - from { -moz-transform: translateX(100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromright { - from { transform: translateX(100%); } - to { transform: translateX(0); } -} -@-webkit-keyframes slideinfromleft { - from { -webkit-transform: translate3d(-100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromleft { - from { -moz-transform: translateX(-100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromleft { - from { transform: translateX(-100%); } - to { transform: translateX(0); } -} -/* keyframes for slideout to sides */ -@-webkit-keyframes slideouttoleft { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(-100%,0,0); } -} -@-moz-keyframes slideouttoleft { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(-100%); } -} -@keyframes slideouttoleft { - from { transform: translateX(0); } - to { transform: translateX(-100%); } -} -@-webkit-keyframes slideouttoright { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(100%,0,0); } -} -@-moz-keyframes slideouttoright { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(100%); } -} -@keyframes slideouttoright { - from { transform: translateX(0); } - to { transform: translateX(100%); } -} -.slide.out, .slide.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.slide.out { - -webkit-transform: translate3d(-100%,0,0); - -webkit-animation-name: slideouttoleft; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - transform: translateX(-100%); - animation-name: slideouttoleft; -} -.slide.in { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromright; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromright; - transform: translateX(0); - animation-name: slideinfromright; -} -.slide.out.reverse { - -webkit-transform: translate3d(100%,0,0); - -webkit-animation-name: slideouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - transform: translateX(100%); - animation-name: slideouttoright; -} -.slide.in.reverse { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromleft; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromleft; - transform: translateX(0); - animation-name: slideinfromleft; -} -.slidefade.out { - -webkit-transform: translateX(-100%); - -webkit-animation-name: slideouttoleft; - -webkit-animation-duration: 225ms; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - -moz-animation-duration: 225ms; - transform: translateX(-100%); - animation-name: slideouttoleft; - animation-duration: 225ms; -} -.slidefade.in { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -.slidefade.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: slideouttoright; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - -moz-animation-duration: 200ms; - transform: translateX(100%); - animation-name: slideouttoright; - animation-duration: 200ms; -} -.slidefade.in.reverse { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -/* slide down */ -.slidedown.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slidedown.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfromtop; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfromtop; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfromtop; - animation-duration: 250ms; -} -.slidedown.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slidedown.out.reverse { - -webkit-transform: translateY(-100%); - -webkit-animation-name: slideouttotop; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(-100%); - -moz-animation-name: slideouttotop; - -moz-animation-duration: 200ms; - transform: translateY(-100%); - animation-name: slideouttotop; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfromtop { - from { -webkit-transform: translateY(-100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfromtop { - from { -moz-transform: translateY(-100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfromtop { - from { transform: translateY(-100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttotop { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(-100%); } -} -@-moz-keyframes slideouttotop { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(-100%); } -} -@keyframes slideouttotop { - from { transform: translateY(0); } - to { transform: translateY(-100%); } -} -/* slide up */ -.slideup.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slideup.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfrombottom; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfrombottom; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfrombottom; - animation-duration: 250ms; -} -.slideup.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slideup.out.reverse { - -webkit-transform: translateY(100%); - -webkit-animation-name: slideouttobottom; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(100%); - -moz-animation-name: slideouttobottom; - -moz-animation-duration: 200ms; - transform: translateY(100%); - animation-name: slideouttobottom; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfrombottom { - from { -webkit-transform: translateY(100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfrombottom { - from { -moz-transform: translateY(100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfrombottom { - from { transform: translateY(100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttobottom { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(100%); } -} -@-moz-keyframes slideouttobottom { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(100%); } -} -@keyframes slideouttobottom { - from { transform: translateY(0); } - to { transform: translateY(100%); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-flip { - -webkit-perspective: 1000; - -moz-perspective: 1000; - perspective: 1000; - position: absolute; -} -.flip { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - backface-visibility: hidden; - transform: translateX(0); -} -.flip.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 175ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 175ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 175ms; -} -.flip.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 225ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 225ms; - animation-name: flipintoright; - animation-duration: 225ms; -} -.flip.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.flip.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-turn { - -webkit-perspective: 200px; - -moz-perspective: 200px; - -ms-perspective: 200px; - perspective: 200px; - position: absolute; -} -.turn { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -webkit-transform-origin: 0; - - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - -moz-transform-origin: 0; - - backface-visibility :hidden; - transform: translateX(0); - transform-origin: 0; -} -.turn.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 125ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 125ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 125ms; -} -.turn.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 250ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 250ms; - animation-name: flipintoright; - animation-duration: 250ms; - -} -.turn.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.turn.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* flow transition */ -.flow { - -webkit-transform-origin: 50% 30%; - -webkit-box-shadow: 0 0 20px rgba(0,0,0,.4); - -moz-transform-origin: 50% 30%; - -moz-box-shadow: 0 0 20px rgba(0,0,0,.4); - transform-origin: 50% 30%; - box-shadow: 0 0 20px rgba(0,0,0,.4); -} -.ui-dialog.flow { - -webkit-transform-origin: none; - -webkit-box-shadow: none; - -moz-transform-origin: none; - -moz-box-shadow: none; - transform-origin: none; - box-shadow: none; -} -.flow.out { - -webkit-transform: translateX(-100%) scale(.7); - -webkit-animation-name: flowouttoleft; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(-100%) scale(.7); - -moz-animation-name: flowouttoleft; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(-100%) scale(.7); - animation-name: flowouttoleft; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.in { - -webkit-transform: translateX(0) scale(1); - -webkit-animation-name: flowinfromright; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(0) scale(1); - -moz-animation-name: flowinfromright; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(0) scale(1); - animation-name: flowinfromright; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: flowouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: flowouttoright; - transform: translateX(100%); - animation-name: flowouttoright; -} -.flow.in.reverse { - -webkit-animation-name: flowinfromleft; - -moz-animation-name: flowinfromleft; - animation-name: flowinfromleft; -} -@-webkit-keyframes flowouttoleft { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(-100%) scale(.7); } -} -@-moz-keyframes flowouttoleft { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(-100%) scale(.7); } -} -@keyframes flowouttoleft { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(-100%) scale(.7); } -} -@-webkit-keyframes flowouttoright { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(100%) scale(.7); } -} -@-moz-keyframes flowouttoright { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(100%) scale(.7); } -} -@keyframes flowouttoright { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(100%) scale(.7); } -} -@-webkit-keyframes flowinfromleft { - 0% { -webkit-transform: translateX(-100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromleft { - 0% { -moz-transform: translateX(-100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromleft { - 0% { transform: translateX(-100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -@-webkit-keyframes flowinfromright { - 0% { -webkit-transform: translateX(100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromright { - 0% { -moz-transform: translateX(100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromright { - 0% { transform: translateX(100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -.ui-field-contain, -.ui-mobile fieldset.ui-field-contain { - display: block; - position: relative; - overflow: visible; - clear: both; - padding: .8em 0; -} -.ui-field-contain > label ~ [class*="ui-"], -.ui-field-contain .ui-controlgroup-controls { - margin: 0; -} -.ui-field-contain:last-child { - border-bottom-width: 0; -} -@media (min-width: 28em) { - .ui-field-contain, - .ui-mobile fieldset.ui-field-contain { - padding: 0; - margin: 1em 0; - border-bottom-width: 0; - } - .ui-field-contain:before, - .ui-field-contain:after { - content: ""; - display: table; - } - .ui-field-contain:after { - clear: both; - } - .ui-field-contain > label, - .ui-field-contain .ui-controlgroup-label, - .ui-field-contain > .ui-rangeslider > label { - float: left; - width: 20%; - margin: .5em 2% 0 0; - } - .ui-popup .ui-field-contain > label, - .ui-popup .ui-field-contain .ui-controlgroup-label, - .ui-popup .ui-field-contain > .ui-rangeslider > label { - float: none; - width: auto; - margin: 0 0 .4em; - } - .ui-field-contain > label ~ [class*="ui-"], - .ui-field-contain .ui-controlgroup-controls { - float: left; - width: 78%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - /* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ - .ui-hide-label > label ~ [class*="ui-"], - .ui-hide-label .ui-controlgroup-controls, - .ui-popup .ui-field-contain > label ~ [class*="ui-"], - .ui-popup .ui-field-contain .ui-controlgroup-controls { - float: none; - width: 100%; - } - .ui-field-contain > label ~ .ui-btn-inline { - width: auto; - margin-right: .625em; - } - .ui-field-contain > label ~ .ui-btn-inline.ui-btn-icon-notext { - width: 1.75em; - } -} -/* content configurations. */ -.ui-grid-a, -.ui-grid-b, -.ui-grid-c, -.ui-grid-d, -.ui-grid-solo { - overflow: hidden; -} -.ui-block-a, -.ui-block-b, -.ui-block-c, -.ui-block-d, -.ui-block-e { - margin: 0; - padding: 0; - border: 0; - float: left; - min-height: 1px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -/* force new row */ -.ui-block-a { - clear: left; -} -ul.ui-grid-a, -ul.ui-grid-b, -ul.ui-grid-c, -ul.ui-grid-d, -ul.ui-grid-solo, -li.ui-block-a, -li.ui-block-b, -li.ui-block-c, -li.ui-block-d, -li.ui-block-e { - margin-left: 0; - margin-right: 0; - padding: 0; - list-style: none; -} -/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */ -[class*="ui-block-"] > button.ui-btn { - margin-right: 0; - margin-left: 0; -} -[class*="ui-block-"] > .ui-btn, -[class*="ui-block-"] > .ui-select, -[class*="ui-block-"] > .ui-checkbox, -[class*="ui-block-"] > .ui-radio, -[class*="ui-block-"] > button.ui-btn-inline, -[class*="ui-block-"] > button.ui-btn-icon-notext, -.ui-header [class*="ui-block-"] > button.ui-btn, -.ui-footer [class*="ui-block-"] > button.ui-btn { - margin-right: .3125em; - margin-left: .3125em; -} -.ui-grid-a > .ui-block-a, -.ui-grid-a > .ui-block-b { - /* width: 49.95%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 50%; -} -.ui-grid-b > .ui-block-a, -.ui-grid-b > .ui-block-b, -.ui-grid-b > .ui-block-c { - /* width: 33.25%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 33.333%; -} -.ui-grid-c > .ui-block-a, -.ui-grid-c > .ui-block-b, -.ui-grid-c > .ui-block-c, -.ui-grid-c > .ui-block-d { - /* width: 24.925%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 25%; -} -.ui-grid-d > .ui-block-a, -.ui-grid-d > .ui-block-b, -.ui-grid-d > .ui-block-c, -.ui-grid-d > .ui-block-d, -.ui-grid-d > .ui-block-e { - /* width: 19.925%; IE7 */ - width: 20%; -} -.ui-grid-solo > .ui-block-a { - width: 100%; - float: none; -} -/* preset breakpoint to switch to stacked grid styles below 35em (560px) */ -@media (max-width: 35em) { - .ui-responsive > .ui-block-a, - .ui-responsive > .ui-block-b, - .ui-responsive > .ui-block-c, - .ui-responsive > .ui-block-d, - .ui-responsive > .ui-block-e { - width: 100%; - float: none; - } -} -/* fixed page header & footer configuration */ -.ui-header-fixed, -.ui-footer-fixed { - left: 0; - right: 0; - width: 100%; - position: fixed; - z-index: 1000; -} -.ui-header-fixed { - top: -1px; - padding-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden { - top: 0; - padding-top: 0; -} -.ui-header-fixed .ui-btn-left, -.ui-header-fixed .ui-btn-right { - margin-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden .ui-btn-left, -.ui-header-fixed.ui-fixed-hidden .ui-btn-right { - margin-top: 0; -} -.ui-footer-fixed { - bottom: -1px; - padding-bottom: 1px; -} -.ui-footer-fixed.ui-fixed-hidden { - bottom: 0; - padding-bottom: 0; -} -.ui-header-fullscreen, -.ui-footer-fullscreen { - filter: Alpha(Opacity=90); - opacity: .9; -} -/* updatePagePadding() will update the padding to actual height of header and footer. */ -.ui-page-header-fixed { - padding-top: 2.8125em; -} -.ui-page-footer-fixed { - padding-bottom: 2.8125em; -} -.ui-page-header-fullscreen > .ui-content, -.ui-page-footer-fullscreen > .ui-content { - padding: 0; -} -.ui-fixed-hidden { - position: absolute; -} -/* Tap toggle: hide external fixed footer. See issue #6604 */ -.ui-footer-fixed.ui-fixed-hidden { - display: none; -} -.ui-page .ui-footer-fixed.ui-fixed-hidden { - display: block -} -.ui-page-header-fullscreen .ui-fixed-hidden, -.ui-page-footer-fullscreen .ui-fixed-hidden { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-header-fixed .ui-btn, -.ui-footer-fixed .ui-btn { - z-index: 10; -} -/* workarounds for other widgets */ -.ui-android-2x-fixed .ui-li-has-thumb { - -webkit-transform: translate3d(0,0,0); -} -.ui-navbar { - max-width: 100%; -} -.ui-navbar ul:before, -.ui-navbar ul:after { - content: ""; - display: table; -} -.ui-navbar ul:after { - clear: both; -} -.ui-navbar ul { - list-style: none; - margin: 0; - padding: 0; - position: relative; - display: block; - border: 0; - max-width: 100%; - overflow: visible; -} -.ui-navbar li .ui-btn { - font-size: 12.5px; - display: block; - margin: 0; - border-right-width: 0; -} -.ui-header .ui-navbar li button.ui-btn, -.ui-footer .ui-navbar li button.ui-btn { - margin: 0; - width: 100%; -} -.ui-navbar .ui-btn:focus { - z-index: 1; -} -/* fixes gaps caused by subpixel problem */ -.ui-navbar li:last-child .ui-btn { - margin-right: -4px; -} -.ui-navbar li:last-child .ui-btn:after { - margin-right: 4px; -} -.ui-content .ui-navbar li:last-child .ui-btn, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn { - border-right-width: 1px; - margin-right: 0; -} -.ui-content .ui-navbar li:last-child .ui-btn:after, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after { - margin-right: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn { - border-right-width: 1px; - margin-right: -1px; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after { - margin-right: 1px; -} -.ui-navbar .ui-grid-duo .ui-btn { - border-top-width: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -.ui-header .ui-navbar .ui-btn, -.ui-footer .ui-navbar .ui-btn { - border-top-width: 0; - border-bottom-width: 0; -} -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 0; -} -.ui-header .ui-title ~ .ui-navbar .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -/* Hide the native input element */ -.ui-input-btn input { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; - border: 0; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - background: #fff; - background: rgba(255,255,255,0); - filter: Alpha(Opacity=0); - opacity: .1; - font-size: 1px; - text-indent: -9999px; - z-index: 2; -} -/* Fixes IE/WP filter alpha opacity bugs */ -.ui-input-btn.ui-state-disabled input { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible { - margin: 0 -1em; -} -.ui-collapsible-inset, -.ui-collapsible-set { - margin: .5em 0; -} -.ui-collapsible-heading { - display: block; - margin: 0; - padding: 0; - position: relative; -} -.ui-collapsible-heading .ui-btn { - text-align: left; - margin: 0; - border-left-width: 0; - border-right-width: 0; -} -.ui-collapsible-heading .ui-btn-icon-top, -.ui-collapsible-heading .ui-btn-icon-bottom { - text-align: center; -} -.ui-collapsible-inset .ui-collapsible-heading .ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn { - border-top-width: 0; -} -.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn { - border-top-width: 1px; -} -.ui-collapsible-heading-status { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible-content { - display: block; - margin: 0; - padding: .5em 1em; -} -.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 0; - border-right-width: 0; - border-top-width: 0; - border-bottom-width: 1px; - border-style: solid; -} -.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 1px; - border-right-width: 1px; -} -.ui-collapsible-inset .ui-collapsible-content { - margin: 0; -} -.ui-collapsible-content-collapsed { - display: none; -} -.ui-collapsible-set > .ui-collapsible.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-collapsible-heading, -.ui-collapsible-heading > .ui-btn { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-collapsible-content, -.ui-collapsible-set .ui-collapsible.ui-last-child { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -.ui-collapsible-set .ui-collapsible { - margin: -1px -1em 0; -} -.ui-collapsible-set .ui-collapsible-inset { - margin: -1px 0 0; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - margin-top: 0; -} -.ui-controlgroup, -fieldset.ui-controlgroup { - padding: 0; - margin: .5em 0; -} -.ui-field-contain .ui-controlgroup, -.ui-field-contain fieldset.ui-controlgroup { - margin: 0; -} -.ui-mini .ui-controlgroup-label { - font-size: 16px; -} -.ui-controlgroup.ui-mini .ui-btn-icon-notext, -.ui-controlgroup .ui-mini.ui-btn-icon-notext { - font-size: inherit; -} -.ui-controlgroup-controls .ui-btn, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-select { - margin: 0; -} -.ui-controlgroup-controls .ui-btn:focus, -.ui-controlgroup-controls .ui-btn.ui-focus { - z-index: 1; -} -.ui-controlgroup-controls li { - list-style: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls { - display: inline-block; - vertical-align: middle; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:before, -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - content: ""; - display: table; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - clear: both; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select { - float: left; - clear: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn, -.ui-controlgroup-controls .ui-btn-icon-notext { - width: auto; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext { - width: 1.5em; -} - .ui-controlgroup-controls .ui-btn-icon-notext { - height: auto; - padding: .7em 1em; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn { - border-bottom-width: 0; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child { - border-bottom-width: 1px; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn { - border-right-width: 0; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child { - border-right-width: 1px; -} -.ui-controlgroup-controls .ui-btn-corner-all, -.ui-controlgroup-controls .ui-btn.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-controlgroup-controls, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-select, -.ui-controlgroup-controls li { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-last-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-controls a.ui-shadow:not(:focus), -.ui-controlgroup-controls button.ui-shadow:not(:focus), -.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) { - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} -/* Fixes legend not wrapping on IE10 */ -.ui-controlgroup-label legend { - max-width: 100%; -} -.ui-controlgroup-controls > label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-dialog { - background: none !important; /* this is to ensure that dialog theming does not apply (by default at least) on the page div */ -} -.ui-dialog-contain { - width: 92.5%; - max-width: 500px; - margin: 10% auto 1em auto; - padding: 0; - position: relative; - top: -1em; -} -.ui-dialog-contain > .ui-header, -.ui-dialog-contain > .ui-content, -.ui-dialog-contain > .ui-footer { - display: block; - position: relative; - width: auto; - margin: 0; -} -.ui-dialog-contain > .ui-header { - overflow: hidden; - z-index: 10; - padding: 0; - border-top-width: 0; -} -.ui-dialog-contain > .ui-footer { - z-index: 10; - padding: 0 1em; - border-bottom-width: 0; -} -.ui-popup-open .ui-header-fixed, -.ui-popup-open .ui-footer-fixed { - position: absolute !important; /* See issues #4816, #4844 and #4874 and popup.js */ -} -.ui-popup-screen { - background-image: url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); /* Necessary to set some form of background to ensure element is clickable in IE6/7. While legacy IE won't understand the data-URI'd image, it ensures no additional requests occur in all other browsers with little overhead. */ - top: 0; - left: 0; - right: 0; - bottom: 1px; - position: absolute; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 1099; -} -.ui-popup-screen.in { - opacity: 0.5; - filter: Alpha(Opacity=50); -} -.ui-popup-screen.out { - opacity: 0; - filter: Alpha(Opacity=0); -} -.ui-popup-container { - z-index: 1100; - display: inline-block; - position: absolute; - padding: 0; - outline: 0; -} -.ui-popup { - position: relative; -} -.ui-popup.ui-body-inherit { - border-width: 1px; - border-style: solid; -} -.ui-popup-hidden { - left: 0; - top: 0; - position: absolute !important; - visibility: hidden; -} -.ui-popup-truncate { - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-popup.ui-content, -.ui-popup .ui-content { - overflow: visible; -} -.ui-popup > .ui-header { - border-top-width: 0; -} -.ui-popup > .ui-footer { - border-bottom-width: 0; -} -.ui-popup > p, -.ui-popup > h1, -.ui-popup > h2, -.ui-popup > h3, -.ui-popup > h4, -.ui-popup > h5, -.ui-popup > h6 { - margin: .5em .4375em; -} -.ui-popup > span { - display: block; - margin: .5em .4375em; -} -.ui-popup-container .ui-content > p, -.ui-popup-container .ui-content > h1, -.ui-popup-container .ui-content > h2, -.ui-popup-container .ui-content > h3, -.ui-popup-container .ui-content > h4, -.ui-popup-container .ui-content > h5, -.ui-popup-container .ui-content > h6 { - margin: .5em 0; -} -.ui-popup-container .ui-content > span { - margin: 0; -} -.ui-popup-container .ui-content > p:first-child, -.ui-popup-container .ui-content > h1:first-child, -.ui-popup-container .ui-content > h2:first-child, -.ui-popup-container .ui-content > h3:first-child, -.ui-popup-container .ui-content > h4:first-child, -.ui-popup-container .ui-content > h5:first-child, -.ui-popup-container .ui-content > h6:first-child { - margin-top: 0; -} -.ui-popup-container .ui-content > p:last-child, -.ui-popup-container .ui-content > h1:last-child, -.ui-popup-container .ui-content > h2:last-child, -.ui-popup-container .ui-content > h3:last-child, -.ui-popup-container .ui-content > h4:last-child, -.ui-popup-container .ui-content > h5:last-child, -.ui-popup-container .ui-content > h6:last-child { - margin-bottom: 0; -} -.ui-popup > img { - max-width: 100%; - max-height: 100%; - vertical-align: middle; -} -.ui-popup:not(.ui-content) > img:only-child, -.ui-popup:not(.ui-content) > .ui-btn-left:first-child + img:last-child, -.ui-popup:not(.ui-content) > .ui-btn-right:first-child + img:last-child { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-popup iframe { - vertical-align: middle; -} -.ui-popup > .ui-btn-left, -.ui-popup > .ui-btn-right { - position: absolute; - top: -11px; - margin: 0; - z-index: 1101; -} -.ui-popup > .ui-btn-left { - left: -11px; -} -.ui-popup > .ui-btn-right { - right: -11px; -} -/* Dimensions related to the popup arrow ------------------------------------------------------------------------------------------------------------*/ -/* desired triangle height: 10px */ -/** - * guide for the arrow - its width, height, and offset are theme-dependent and - * should be expessed as left, right, top, bottom, so that the element bearing - * such a class becomes stretched inside its parent position: relative element. - * The left/top/right/bottom specified below should reflect the corresponding - * border radii and so it leaves room for the shadow: - * ..--------------------.. - * ." ^ top ". - * / v \ - * | +------------------+ | - * | | | | - * | left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The idea is that the top/left of the arrow container box does not move to a - * coordinate smaller than the top/left of the guide and the right/bottom of - * the arrow container box does not move to a coordinate larger than the - * bottom/right of the guide. This will help us avoid the following situation: - * ..--------------------.. - * ." ^ top ". - * /|/ v \ - * / | +------------------+ | - * \ | | | | - * \| left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The arrow should not receive a top/left coordinate such that it is too close - * to one of the corners, because then at first the shadow of the arrow and, - * given a coordinate even closer to the corner, even the body of the arrow will - * "stick out" of the corner of the popup. The guide provides a hint to the - * arrow positioning code as to which range of values is acceptable for the - * arrow container's top/left coordinate. - **/ -.ui-popup-arrow-container { - width: 20px; - height: 20px; -} -/* aside from the "infinities" (-1000,2000), triangle height is used */ -.ui-popup-arrow-container.ui-popup-arrow-l { - left: -10px; - clip: rect(-1000px,10px,2000px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-t { - top: -10px; - clip: rect(-1000px,2000px,10px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-r { - right: -10px; - clip: rect(-1000px,2000px,2000px,10px); -} -.ui-popup-arrow-container.ui-popup-arrow-b { - bottom: -10px; - clip: rect(10px,2000px,1000px,-1000px); -} -/** - * For each side, the arrow is twice the desired size and its corner is aligned - * with the edge of the container: - * - * /\ /\ +----+ /\ - * / \ / \ | /\ |top / \ - * +----+ \ / +----+ +-->|/ \| / \ - * left| / | \ / | \ |right | | | / \ - * |/ | \ / | \| | /| |\ / \ - * |\ | / \ | /| | / +----+ \ \ +----+ / - * | \ | / \ | / | | \ / \| |/ - * +----+ / \ +----+ | \ / | | - * ^ \ / \ / ^ | \ / +->|\ /| - * | \/ \/ | | \ / | | \/ |bottom - * | | | \/ | +----+ - * +-------------------+--------+-----------+ - * | - * arrow container - * (clips arrow) - **/ -.ui-popup-arrow-container .ui-popup-arrow { - /* (4*desired triangle height)/sqrt(2) - does not account for border - centred within the outer rectangle */ - width: 28.284271247px; - height: 28.284271247px; - border-width: 1px; - border-style: solid; -} -.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow { - left: -4.142135623px; - top: 5.857864376px; -} -.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow { - left: -4.142135623px; - top: -14.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow { - left: 5.857864376px; - top: -4.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow { - left: -14.142135623px; - top: -4.142135623px; -} -/* Fix rotation center for oldIE - see http://www.useragentman.com/IETransformsTranslator/ */ -.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -7.0710678118654755px; -} -.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -4.142135623730951px; -} - -.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow { - margin-left: -7.0710678118654755px; - margin-top: -5.857864376269049px; -} -.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow { - margin-left: -4.142135623730951px; - margin-top: -5.857864376269049px; -} -/* structure */ -.ui-popup > .ui-popup-arrow-guide { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - visibility: hidden; -} -.ui-popup-arrow-container { - position: absolute; -} -.ui-popup-arrow { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - overflow: hidden; - box-sizing: border-box; -} -.ui-popup-arrow-container.ie .ui-popup-arrow { - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')"; - filter: progid:DXImageTransform.Microsoft.Matrix( - M11=0.7071067811865474, - M12=-0.7071067811865477, - M21=0.7071067811865477, - M22=0.7071067811865474, - SizingMethod='auto expand'); -} -.ui-checkbox, -.ui-radio { - margin: .5em 0; - position: relative; -} -.ui-checkbox .ui-btn, -.ui-radio .ui-btn { - margin: 0; - text-align: left; - white-space: normal; /* Nowrap + ellipsis doesn't work on label. Issue #1419. */ - z-index: 2; -} -.ui-controlgroup .ui-checkbox .ui-btn.ui-focus, -.ui-controlgroup .ui-radio .ui-btn.ui-focus { - z-index: 3; -} -.ui-checkbox .ui-btn-icon-top, -.ui-radio .ui-btn-icon-top, -.ui-checkbox .ui-btn-icon-bottom, -.ui-radio .ui-btn-icon-bottom { - text-align: center; -} -.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after, -.ui-controlgroup-horizontal .ui-radio .ui-btn:after { - content: none; - display: none; -} -/* Native input positioning */ -.ui-checkbox input, -.ui-radio input { - position: absolute; - left: .466em; - top: 50%; - width: 22px; - height: 22px; - margin: -11px 0 0 0; - outline: 0 !important; - z-index: 1; -} -.ui-controlgroup-horizontal .ui-checkbox input, -.ui-controlgroup-horizontal .ui-radio input { - left: 50%; - margin-left: -9px; -} -.ui-checkbox input:disabled, -.ui-radio input:disabled { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select { - margin-top: .5em; - margin-bottom: .5em; /* no shorthand for margin because it would override margin-right for inline selects */ - position: relative; -} -.ui-select > select { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select .ui-btn { - margin: 0; - opacity: 1; /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including "inherit") without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */ -} -.ui-select .ui-btn select { - position: absolute; - top: 0; - left: 0; - width: 100%; - min-height: 1.5em; - min-height: 100%; - height: 3em; - max-height: 100%; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 2; -} -@-moz-document url-prefix() { - .ui-select .ui-btn select { - opacity: 0.0001; - } -} -/* Display none because of issues with IE/WP's filter alpha opacity */ -.ui-select .ui-state-disabled select { - display: none; -} -/* Because we add all classes of the select and option elements to the span... */ -.ui-select span.ui-state-disabled { - filter: Alpha(Opacity=100); - opacity: 1; -} -.ui-select .ui-btn.ui-select-nativeonly { - border-radius: 0; - border: 0; -} -.ui-select .ui-btn.ui-select-nativeonly select { - opacity: 1; - text-indent: 0; - display: block; -} -/* ui-li-count is styled in the listview CSS. We set padding and offset here because select supports icon position while listview doesn't. */ -.ui-select .ui-li-has-count.ui-btn { - padding-right: 2.8125em; -} -.ui-select .ui-li-has-count.ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-select .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -/* We set the rules for the span as well to fix an issue on Chrome with text-overflow ellipsis for the button in combination with text-align center. */ -.ui-select .ui-btn > span:not(.ui-li-count) { - display: block; - text-overflow: ellipsis; - overflow: hidden !important; - white-space: nowrap; -} -.ui-selectmenu.ui-popup { - min-width: 11em; -} -.ui-selectmenu .ui-dialog-contain { - overflow: hidden; -} -.ui-selectmenu .ui-header { - margin: 0; - padding: 0; - border-width: 0; -} -.ui-selectmenu.ui-dialog .ui-header { - z-index: 1; - position: relative; -} -.ui-selectmenu.ui-popup .ui-header { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ -.ui-selectmenu.ui-popup .ui-header h1:after { - content: '.'; - visibility: hidden; -} -.ui-selectmenu .ui-header .ui-title { - margin: 0 2.875em; -} -.ui-selectmenu.ui-dialog .ui-content { - overflow: visible; - z-index: 1; -} -.ui-selectmenu .ui-selectmenu-list { - margin: 0; - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-header:not(.ui-screen-hidden) + .ui-selectmenu-list { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; -} -.ui-header.ui-screen-hidden + .ui-selectmenu-list li.ui-first-child .ui-btn { - border-top-width: 0; -} -.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn { - border-bottom-width: 0; -} -.ui-selectmenu .ui-btn.ui-li-divider { - cursor: default; -} -.ui-selectmenu .ui-selectmenu-placeholder { - display: none; -} -.ui-listview, -.ui-listview > li { - margin: 0; - padding: 0; - list-style: none; -} -.ui-content .ui-listview, -.ui-panel-inner > .ui-listview { - margin: -1em; -} -.ui-content .ui-listview-inset, -.ui-panel-inner > .ui-listview-inset { - margin: 1em 0; -} -.ui-collapsible-content > .ui-listview { - margin: -.5em -1em; -} -.ui-collapsible-content > .ui-listview-inset { - margin: .5em 0; -} -.ui-listview > li { - display: block; - position: relative; - overflow: visible; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - margin: 0; - display: block; - position: relative; - text-align: left; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li > .ui-btn:focus { - z-index: 1; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - border-width: 1px 0 0 0; - border-style: solid; -} -.ui-listview-inset > .ui-li-static, -.ui-listview-inset > .ui-li-divider, -.ui-listview-inset > li > a.ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-listview > .ui-li-static.ui-last-child, -.ui-listview > .ui-li-divider.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - border-bottom-width: 1px; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 0; -} -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child, -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child > a.ui-btn { - border-bottom-width: 0; -} -.ui-listview > li.ui-first-child, -.ui-listview > li.ui-first-child > a.ui-btn { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-listview > li.ui-li-has-alt > a.ui-btn { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -.ui-listview > li.ui-first-child > a.ui-btn + a.ui-btn { - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-listview > li.ui-last-child > a.ui-btn + a.ui-btn { - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-listview > li.ui-first-child img:first-child:not(.ui-li-icon) { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child img:first-child:not(.ui-li-icon) { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-listview > .ui-li-static { - padding: .7em 1em; -} -.ui-listview > .ui-li-divider { - padding: .5em 1.143em; - font-size: 14px; - font-weight: bold; - cursor: default; - outline: 0; /* Dividers in custom selectmenus have tabindex */ -} -.ui-listview > .ui-li-has-count > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-count, -.ui-listview > .ui-li-divider.ui-li-has-count { - padding-right: 2.8125em; -} -.ui-listview > .ui-li-has-count > .ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-listview > .ui-li-has-thumb > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-thumb { - min-height: 3.625em; - padding-left: 6.25em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-icon { - min-height: 1.25em; - padding-left: 2.5em; -} -/* Used by both listview and custom multiple select button */ -.ui-li-count { - position: absolute; - font-size: 12.5px; - font-weight: bold; - text-align: center; - border-width: 1px; - border-style: solid; - padding: 0 .48em; - line-height: 1.6em; - min-height: 1.6em; - min-width: .64em; - right: .8em; - top: 50%; - margin-top: -.88em; -} -.ui-listview .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -.ui-listview .ui-li-has-thumb > img:first-child, -.ui-listview .ui-li-has-thumb > .ui-btn > img:first-child, -.ui-listview .ui-li-has-thumb .ui-li-thumb { - position: absolute; - left: 0; - top: 0; - max-height: 5em; - max-width: 5em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > img:first-child, -.ui-listview > .ui-li-has-icon > .ui-btn > img:first-child { - position: absolute; - left: .625em; - top: .9em; - max-height: 1em; - max-width: 1em; -} -.ui-listview > li h1, -.ui-listview > li h2, -.ui-listview > li h3, -.ui-listview > li h4, -.ui-listview > li h5, -.ui-listview > li h6 { - font-size: 1em; - font-weight: bold; - display: block; - margin: .45em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li p { - font-size: .75em; - font-weight: normal; - display: block; - margin: .6em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview .ui-li-aside { - position: absolute; - top: 1em; - right: 3.333em; - margin: 0; - text-align: right; -} -.ui-listview > li.ui-li-has-alt > .ui-btn { - margin-right: 2.5em; - border-right-width: 0; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn { - position: absolute; - width: 2.5em; - height: 100%; - min-height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-left-width: 1px; - top: 0; - right: 0; - margin: 0; - padding: 0; - z-index: 2; -} -.ui-listview-inset > li.ui-li-has-alt > .ui-btn + .ui-btn { - border-right-width: 1px; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn:focus { - z-index: 3; -} -ol.ui-listview, -ol.ui-listview > .ui-li-divider { - counter-reset: listnumbering; -} -ol.ui-listview > li > .ui-btn, -ol.ui-listview > li.ui-li-static { - vertical-align: middle; -} -ol.ui-listview > li > .ui-btn:first-child:before, -ol.ui-listview > li.ui-li-static:before, -ol.ui-listview > li.ui-field-contain > label:before, -ol.ui-listview > li.ui-field-contain > .ui-controlgroup-label:before { - display: inline-block; - font-size: .9em; - font-weight: normal; - padding-right: .3em; - min-width: 1.4em; - line-height: 1.5; - vertical-align: middle; - counter-increment: listnumbering; - content: counter(listnumbering) "."; -} -ol.ui-listview > li.ui-field-contain:before { - content: none; - display: none; -} -ol.ui-listview > li h1:first-child, -ol.ui-listview > li h2:first-child, -ol.ui-listview > li h3:first-child, -ol.ui-listview > li h4:first-child, -ol.ui-listview > li h5:first-child, -ol.ui-listview > li h6:first-child, -ol.ui-listview > li p:first-child, -ol.ui-listview > li img:first-child + * { - display: inline-block; - vertical-align: middle; -} -ol.ui-listview > li h1:first-child ~ *, -ol.ui-listview > li h2:first-child ~ *, -ol.ui-listview > li h3:first-child ~ *, -ol.ui-listview > li h4:first-child ~ *, -ol.ui-listview > li h5:first-child ~ *, -ol.ui-listview > li h6:first-child ~ *, -ol.ui-listview > li p:first-child ~ *, -ol.ui-listview > li img:first-child + * ~ * { - margin-top: 0; - text-indent: 2.04em; /* (1.4em + .3em) * .9em / .75em */ -} -html .ui-filterable + .ui-listview, -html .ui-filterable.ui-listview { - margin-top: .5em; -} -.ui-collapsible-content > form.ui-filterable { - margin-top: -.5em; -} -.ui-collapsible-content > .ui-input-search.ui-filterable { - margin-top: 0; -} -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 1px; -} -div.ui-slider { - height: 30px; - margin: .5em 0; - padding: 0; - -ms-touch-action: pan-y pinch-zoom double-tap-zoom; -} -div.ui-slider:before, -div.ui-slider:after { - content: ""; - display: table; -} -div.ui-slider:after { - clear: both; -} -input.ui-slider-input { - display: block; - float: left; - font-size: 14px; - font-weight: bold; - margin: 0; - padding: 4px; - width: 40px; - height: 20px; - line-height: 20px; - border-width: 1px; - border-style: solid; - outline: 0; - text-align: center; - vertical-align: text-bottom; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-slider-input::-webkit-outer-spin-button, -.ui-slider-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -.ui-slider-track { - position: relative; - overflow: visible; - border-width: 1px; - border-style: solid; - height: 15px; - margin: 0 15px 0 68px; - top: 6px; -} -.ui-slider-track.ui-mini { - height: 12px; - top: 8px; -} -.ui-slider-track .ui-slider-bg { - height: 100%; -} -/* High level of specificity to override button margins in grids */ -.ui-slider-track .ui-btn.ui-slider-handle { - position: absolute; - z-index: 1; - top: 50%; - width: 28px; - height: 28px; - margin: -15px 0 0 -15px; - outline: 0; - padding: 0; -} -.ui-slider-track.ui-mini .ui-slider-handle { - height: 14px; - width: 14px; - margin: -8px 0 0 -8px; -} -select.ui-slider-switch { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -div.ui-slider-switch { - display: inline-block; - height: 32px; - width: 5.8em; - top: 0; -} -/* reset the clearfix */ -div.ui-slider-switch:before, -div.ui-slider-switch:after { - display: none; - clear: none; -} -div.ui-slider-switch.ui-mini { - height: 29px; - top: 0; -} -.ui-slider-inneroffset { - margin: 0 16px; - position: relative; - z-index: 1; -} -.ui-slider-switch.ui-mini .ui-slider-inneroffset { - margin: 0 15px 0 14px; -} -.ui-slider-switch .ui-btn.ui-slider-handle { - margin: 1px 0 0 -15px; -} -.ui-slider-switch.ui-mini .ui-slider-handle { - width: 25px; - height: 25px; - margin: 1px 0 0 -13px; - padding: 0; -} -.ui-slider-handle-snapping { - -webkit-transition: left 70ms linear; - -moz-transition: left 70ms linear; - transition: left 70ms linear; -} -.ui-slider-switch .ui-slider-label { - position: absolute; - text-align: center; - width: 100%; - overflow: hidden; - font-size: 16px; - top: 0; - line-height: 2; - min-height: 100%; - white-space: nowrap; - cursor: pointer; -} -.ui-slider-switch.ui-mini .ui-slider-label { - font-size: 14px; -} -.ui-slider-switch .ui-slider-label-a { - z-index: 1; - left: 0; - text-indent: -1.5em; -} -.ui-slider-switch .ui-slider-label-b { - z-index: 0; - right: 0; - text-indent: 1.5em; -} -/* The corner radii for ui-slider-switch/track can be specified in theme CSS. The bg and handle inherits. */ -.ui-slider-track .ui-slider-bg, -.ui-slider-switch .ui-slider-label, -.ui-slider-switch .ui-slider-inneroffset, -.ui-slider-handle { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-field-contain div.ui-slider-switch { - margin: 0; -} -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-field-contain div.ui-slider-switch, -.ui-field-contain.ui-hide-label div.ui-slider-switch, -html .ui-popup .ui-field-contain div.ui-slider-switch { - display: inline-block; - width: 5.8em; -} -/* slider tooltip ------------------------------------------------------------------------------------------------------------*/ -.ui-slider-popup { - width: 64px; - height: 64px; - font-size: 36px; - padding-top: 14px; - opacity: 0.8; -} -.ui-slider-popup { - position: absolute !important; - text-align: center; - z-index: 100; -} -.ui-slider-track .ui-btn.ui-slider-handle { - font-size: .9em; - line-height: 30px; -} -.ui-rangeslider { - margin: .5em 0; -} -.ui-rangeslider:before, -.ui-rangeslider:after { - content: ""; - display: table; -} -.ui-rangeslider:after { - clear: both; -} -.ui-rangeslider .ui-slider-input.ui-rangeslider-last { - float: right; -} -.ui-rangeslider .ui-rangeslider-sliders { - position: relative; - overflow: visible; - height: 30px; - margin: 0 68px; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track { - position: absolute; - top: 6px; - right: 0; - left: 0; - margin: 0; -} -.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track { - top: 8px; -} -.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg { - display: none; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - background-color: transparent; - background: none; - border-width: 0; - height: 0; -} -/* this makes ie6 and ie7 set height to 0 to fix z-index problem */ -html >/**/body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 15px; - border-width: 1px; -} -html >/**/body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 12px; -} -/* Hide the second label (the first is moved outside the div) */ -div.ui-rangeslider label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-field-contain .ui-rangeslider input.ui-slider-input, -.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input, -.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders, -.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders { - margin-top: 0; - margin-bottom: 0; -} -.ui-input-text, -.ui-input-search { - margin: .5em 0; - border-width: 1px; - border-style: solid; -} -.ui-mini { - margin: .446em; -} -.ui-input-text input, -.ui-input-search input, -textarea.ui-input-text { - padding: .4em; - line-height: 1.4em; - display: block; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - outline: 0; -} -.ui-input-text input, -.ui-input-search input { - margin: 0; - min-height: 2.2em; - text-align: left; /* Opera aligns type="date" right by default */ - border: 0; - background: transparent none; - -webkit-appearance: none; - -webkit-border-radius: inherit; - border-radius: inherit; -} -textarea.ui-input-text { - overflow: auto; - resize: vertical; -} -.ui-mini .ui-input-text input, -.ui-mini .ui-input-search input, -.ui-input-text.ui-mini input, -.ui-input-search.ui-mini input, -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - font-size: 14px; -} -/* Same margin for mini textareas as other mini sized widgets (12.5/14 * 0.5em) */ -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - margin: .446em 0; -} -.ui-input-has-clear, -.ui-input-search { - position: relative; -} -/* Padding on the div instead of input because of browser spinners etc. */ -.ui-input-has-clear { - padding-right: 2.375em; -} -.ui-mini.ui-input-has-clear { - padding-right: 2.923em; -} -.ui-input-has-clear input { - padding-right: 0; - /* Autofill on Chrome has bg color so we unset corners right as well. */ - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -/* Search icon */ -.ui-input-search input { - padding-left: 1.75em; -} -.ui-input-search:after { - position: absolute; - left: .3125em; - top: 50%; - margin-top: -7px; - content: ""; - background-position: center center; - background-repeat: no-repeat; - width: 14px; - height: 14px; - filter: Alpha(Opacity=50); - opacity: .5; -} -.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear, -.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear { - position: absolute; - right: 0; - top: 50%; - margin: -14px .3125em 0; - border: 0; - background-color: transparent; -} -.ui-input-search .ui-input-clear-hidden, -.ui-input-text .ui-input-clear-hidden { - display: none; -} -/* Resolves issue #5166: Added to support issue introduced in Firefox 15. We can likely remove this in the future. */ -.ui-input-text input::-moz-placeholder, -.ui-input-search input::-moz-placeholder, -textarea.ui-input-text::-moz-placeholder { - color: #aaa; -} -/* Same for IE10 */ -.ui-input-text input:-ms-input-placeholder, -.ui-input-search input:-ms-input-placeholder, -textarea.ui-input-text:-ms-input-placeholder { - color: #aaa; -} -/* Resolves issue #5131: Width of textinput depends on its type, -for Android 4.1 */ -.ui-input-text input[type=number]::-webkit-outer-spin-button { - margin: 0; -} -/* Resolves issue #5756: Textinput in IE10 has a default clear button */ -.ui-input-text input::-ms-clear, -.ui-input-search input::-ms-clear { - display: none; -} -.ui-input-text input:focus, -.ui-input-search input:focus { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -textarea.ui-input-text.ui-textinput-autogrow { - overflow: hidden; -} -.ui-textinput-autogrow-resize { - -webkit-transition: height 0.25s; - -o-transition: height 0.25s; - -moz-transition: height 0.25s; - transition: height 0.25s; -} -.ui-flipswitch { - display: inline-block; - vertical-align: middle; - width: 5.875em; /* Override this and padding-left in next rule if you use labels other than "on/off" and need more space */ - height: 1.875em; - border-width: 1px; - border-style: solid; - margin: .5em 0; - overflow: hidden; - -webkit-transition-property: padding, width, background-color, color, border-color; - -moz-transition-property: padding, width, background-color, color, border-color; - -o-transition-property: padding, width, background-color, color, border-color; - transition-property: padding, width, background-color, color, border-color; - -webkit-transition-duration: 100ms; - -moz-transition-duration: 100ms; - -o-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; -} -.ui-flipswitch.ui-flipswitch-active { - padding-left: 4em; /* Override this and width in previous rule if you use labels other than "on/off" and need more space */ - width: 1.875em; -} -.ui-flipswitch-input { - position: absolute; - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); - border: 0; - outline: 0; - filter: Alpha(Opacity=0); - opacity: 0; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on, -.ui-flipswitch .ui-flipswitch-off { - float: left; - height: 1.75em; - margin: .0625em; - line-height: 1.65em; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on { - width: 1.75em; - padding: 0; - text-indent: -2.6em; /* Override this to center text if you use a label other than "on" */ - text-align: left; - border-width: 1px; - border-style: solid; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-radius: inherit; - overflow: visible; - color: inherit; - text-shadow: inherit; -} -.ui-flipswitch .ui-flipswitch-off { - padding: 1px; - text-indent: 1em; /* Override this to center text if you use a label other than "off" */ -} -/* Override field container CSS to prevent the flipswitch from becomming full width */ -html .ui-field-contain > label + .ui-flipswitch, -html .ui-popup .ui-field-contain > label + .ui-flipswitch { - display: inline-block; - width: 5.875em; /* If you override the width for .ui-flipswitch you should repeat the same value here */ - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-field-contain .ui-flipswitch.ui-flipswitch-active, -.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active { - width: 1.875em; -} -.ui-table { - border: 0; - border-collapse: collapse; - padding: 0; - width: 100%; -} -.ui-table th, -.ui-table td { - line-height: 1.5em; - text-align: left; - padding: .4em .5em; - vertical-align:top; -} -.ui-table th .ui-btn, -.ui-table td .ui-btn { - line-height: normal; -} -.ui-table th { - font-weight: bold; -} -.ui-table caption { - text-align: left; - margin-bottom: 1.4em; - opacity: .5; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-columntoggle-btn { - float: right; - margin-bottom: .8em; -} -/* Remove top/bottom margins around the fieldcontain on check list */ -.ui-table-columntoggle-popup fieldset { - margin:0; -} -.ui-table-columntoggle { - clear: both; -} -/* Hide all prioritized columns by default */ -@media only all { - th.ui-table-priority-6, - td.ui-table-priority-6, - th.ui-table-priority-5, - td.ui-table-priority-5, - th.ui-table-priority-4, - td.ui-table-priority-4, - th.ui-table-priority-3, - td.ui-table-priority-3, - th.ui-table-priority-2, - td.ui-table-priority-2, - th.ui-table-priority-1, - td.ui-table-priority-1 { - display: none; - } -} -/* Preset breakpoints if ".ui-responsive" class added to table */ -/* Show priority 1 at 320px (20em x 16px) */ -@media screen and (min-width: 20em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-1, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-1 { - display: table-cell; - } -} -/* Show priority 2 at 480px (30em x 16px) */ -@media screen and (min-width: 30em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-2, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-2 { - display: table-cell; - } -} -/* Show priority 3 at 640px (40em x 16px) */ -@media screen and (min-width: 40em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-3, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-3 { - display: table-cell; - } -} -/* Show priority 4 at 800px (50em x 16px) */ -@media screen and (min-width: 50em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-4, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-4 { - display: table-cell; - } -} -/* Show priority 5 at 960px (60em x 16px) */ -@media screen and (min-width: 60em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-5, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-5 { - display: table-cell; - } -} -/* Show priority 6 at 1,120px (70em x 16px) */ -@media screen and (min-width: 70em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-6, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-6 { - display: table-cell; - } -} -/* Unchecked manually: Always hide */ -.ui-table-columntoggle th.ui-table-cell-hidden, -.ui-table-columntoggle td.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden { - display: none; -} -/* Checked manually: Always show */ -.ui-table-columntoggle th.ui-table-cell-visible, -.ui-table-columntoggle td.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible { - display: table-cell; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-reflow td .ui-table-cell-label, -.ui-table-reflow th .ui-table-cell-label { - display: none; -} -/* Mobile first styles: Begin with the stacked presentation at narrow widths */ -@media only all { - /* Hide the table headers */ - .ui-table-reflow thead td, - .ui-table-reflow thead th { - display: none; - } - /* Show the table cells as a block level element */ - .ui-table-reflow td, - .ui-table-reflow th { - text-align: left; - display: block; - } - /* Add a fair amount of top margin to visually separate each row when stacked */ - .ui-table-reflow tbody th { - margin-top: 3em; - } - /* Make the label elements a percentage width */ - .ui-table-reflow td .ui-table-cell-label, - .ui-table-reflow th .ui-table-cell-label { - padding: .4em; - min-width: 30%; - display: inline-block; - margin: -.4em 1em -.4em -.4em; - } - /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ - .ui-table-reflow th .ui-table-cell-label-top, - .ui-table-reflow td .ui-table-cell-label-top { - display: block; - padding: .4em 0; - margin: .4em 0; - text-transform: uppercase; - font-size: .9em; - font-weight: normal; - } -} -/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ -@media ( min-width: 35em ) { - /* Show the table header rows */ - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th, - .ui-table-reflow.ui-responsive tbody th, - .ui-table-reflow.ui-responsive tbody td, - .ui-table-reflow.ui-responsive thead td, - .ui-table-reflow.ui-responsive thead th { - display: table-cell; - margin: 0; - } - /* Hide the labels in each cell */ - .ui-table-reflow.ui-responsive td .ui-table-cell-label, - .ui-table-reflow.ui-responsive th .ui-table-cell-label { - display: none; - } -} -/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ -/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ -@media ( max-width: 35em ) { - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - clear: left; - } -} -/* Panel */ -.ui-panel { - width: 17em; - min-height: 100%; - max-height: none; - border-width: 0; - position: absolute; - top: 0; - display: block; -} -.ui-panel-closed { - width: 0; - max-height: 100%; - overflow: hidden; - visibility: hidden; - left: 0; - clip: rect(1px,1px,1px,1px); -} -.ui-panel-fixed { - position: fixed; - bottom: -1px; /* Fixes gap on Chrome for Android */ - padding-bottom: 1px; -} -.ui-panel-display-reveal { - z-index: 1; -} -.ui-panel-display-push { - z-index: 999; -} -.ui-panel-display-overlay { - z-index: 1001; /* Fixed toolbars have z-index 1000 */ -} -.ui-panel-inner { - padding: 1em; -} -/* Container, page and wrapper */ -.ui-panel-page-container { - overflow-x: visible; -} -.ui-panel-page-container-themed .ui-page-active { - background: none; -} -.ui-panel-wrapper { - position: relative; - min-height: inherit; - border: 0; - overflow-x: hidden; - z-index: 999; -} -/* Fixed toolbars */ -.ui-panel-fixed-toolbar { - overflow-x: hidden; -} -/* Dismiss */ -.ui-panel-dismiss { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - z-index: 1002; - display: none; -} -.ui-panel-dismiss-open { - display: block; -} -/* Animate class is added to panel, wrapper and fixed toolbars */ -.ui-panel-animate { - -webkit-transition: -webkit-transform 300ms ease; - -webkit-transition-duration: 300ms; - -moz-transition: -moz-transform 300ms ease; - transition: transform 300ms ease; -} -/* Fix for Windows Phone issue #6349: unset the transition for transforms in case of fixed toolbars. */ -@media screen and ( max-device-width: 768px ) { - .ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: none; - } - /* We need a transitionend event ... */ - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: -ms-transform 1ms; - -ms-transform: rotate(0deg); - } -} -/* Hardware acceleration for smoother transitions on WebKit browsers */ -.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal) { - -webkit-backface-visibility: hidden; - -webkit-transform: translate3d(0,0,0); -} -/* Panel positioning (for overlay and push) */ -/* Panel left closed */ -.ui-panel-position-left { - left: -17em; -} -/* Panel left closed animated */ -.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-left.ui-panel-display-push { - left: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Panel left open */ -.ui-panel-position-left.ui-panel-display-reveal, /* Unset "panel left closed" for reveal */ -.ui-panel-open.ui-panel-position-left { - left: 0; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Panel right closed */ -.ui-panel-position-right { - right: -17em; -} -/* Panel right closed animated */ -.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-right.ui-panel-display-push { - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-position-right.ui-panel-display-reveal, /* Unset "panel right closed" for reveal */ -.ui-panel-position-right.ui-panel-open { - right: 0; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Wrapper and fixed toolbars positioning (for reveal and push) */ -/* Panel left open */ -.ui-panel-page-content-position-left { - left: 17em; - right: -17em; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-page-content-position-left { - left: 0; - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-page-content-position-right { - left: -17em; - right: 17em; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-page-content-position-right { - left: 0; - right: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Dismiss model open */ -.ui-panel-dismiss-open.ui-panel-dismiss-position-left { - left: 17em; -} -.ui-panel-dismiss-open.ui-panel-dismiss-position-right { - right: 17em; -} -/* Shadows and borders */ -.ui-panel-display-reveal { - -webkit-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - box-shadow: inset -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-reveal { - -webkit-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - box-shadow: inset 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-display-overlay { - -webkit-box-shadow: 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: 5px 0 5px rgba(0,0,0,.15); - box-shadow: 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-overlay { - -webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: -5px 0 5px rgba(0,0,0,.15); - box-shadow: -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - border-right-width: 1px; - margin-right: -1px; -} -.ui-panel-page-content-position-left.ui-panel-page-content-display-push { - margin-left: 1px; - width: auto; -} -.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - border-left-width: 1px; - margin-left: -1px; -} -.ui-panel-page-content-position-right.ui-panel-page-content-display-push { - margin-right: 1px; - width: auto; -} -/* Responsive: wrap on wide viewports once open */ -@media (min-width:55em) { - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left { - margin-right: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right { - margin-left: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open { - width: auto; - } - .ui-responsive-panel .ui-panel-dismiss-display-push, - .ui-responsive-panel.ui-page-active ~ .ui-panel-dismiss-display-push { - display: none; - } -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.min.css deleted file mode 100644 index 87d106ee..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -.ui-icon-action:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIVJREFUOMtjYCAC/P//fxYQszGQCv5DwDEgliRHIwg8A2JLdEEYaICKqwHxciD+gCb/E4jTGHBosgPiL/+xA1SNSM7iBeIXQPwDiOuAWByvU5E05gPxZyC2xhs4WDTuBuJwtMCZCYsOmHewaZyLJ3Qb4GqxaDQiFC1YNRITn9TRSAqgSCMAGL+QeSGFbu0AAAAASUVORK5CYII=")}.ui-icon-alert:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJVJREFUOMu9z7ENgkAUgOGj0I6eBXQCg8QRdAhdwiV0CF2CIRxBF6Cn08LP5oxIIEjjX13evS+5C6EnbLAOY8IUN1wxGQP3Pu1/RRnqBqyR/QLPEeQo4vk0hJZ4QmMmzvI+lODyfl8LindJF9z5rsCqNdu2UYrKcBXSJjx2LC3in9sd3miOR8fCsuOpcMcsoDS+Mvy9F2w1bmFOO7YjAAAAAElFTkSuQmCC")}.ui-icon-arrow-d-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE9JREFUOMut0VsKACAIBECP3tG8mSFZRGVujwV/wkE0IjAikrToJIZq0g3CsIMK9PQWWcM0OkQdbI8QGqCGIbSAAl/wCgWQo7/6PvFpRxdn/yOefcvwdI0AAAAASUVORK5CYII=")}.ui-icon-arrow-d-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE1JREFUOMtjYICC////N4AwAykAqgkGGsjRRLRmJhzi9UTZjMNWnDajiBOrGaaOJJuR5Ulx9gFkDql+xq+RGM2EQvsAfWwky4/EaAIBAH/xh5XOyrKIAAAAAElFTkSuQmCC")}.ui-icon-arrow-d:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADdJREFUOMtjYMAC/qMBBmLBqEZKNQLFG/6TDhrI0dxAjs0N5Di7gVDANJCsCYfmBgZSAFQzTk0AIbtHzgIaJM8AAAAASUVORK5CYII=")}.ui-icon-arrow-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAD5JREFUOMul0kEKADAMAsE8PT/fXktpqVHvA8FY9QjQNQ3QABYawR3J8EQSvKFfLJRB+9SonOgd0QCiyakjXzjeR87keFK/AAAAAElFTkSuQmCC")}.ui-icon-arrow-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADpJREFUOMu90rENADAIA0FG/82dgooiSDgK31+DiWiSRDgpw4VzrBourFjzcGHiTcjbcX7PwdrLXdEBwEtHzn8VrGMAAAAASUVORK5CYII=")}.ui-icon-arrow-u-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEtJREFUOMtj+E8caGBAB2RpIkIjdk0ENB5gwAdoYSNJfjxATqg2QPkNRGnGJkiUZlx+INpmUjUz4dPIyMgIMr2RgVyAZnMDOZrhmgAEuoiZ+HH38AAAAABJRU5ErkJggg==")}.ui-icon-arrow-u-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEdJREFUOMu9z8ENACAIQ9GOzmhuVq+GSCke/Fd8AYEUyaARbjkYVR2GiuT6s/HpjwKtEgoUeW6j/G6ETjxG3YkaFdhDCdtoA045nn2X6PolAAAAAElFTkSuQmCC")}.ui-icon-arrow-u:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADlJREFUOMtjYMAB/v//3wDCDKQAqCYYaCBHE3GacWjCr5mAJuyaidSEqplETQSdjQJIiY5RjZRoBADXbkfOGh7ilQAAAABJRU5ErkJggg==")}.ui-icon-audio:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANxJREFUOMuV0rEuRFEQxvETL2DpZVEoVLyFJ1CJRKfabCKikbiJUhQa3kSj32K7DQqJwgugQVay8lOYleO654avmm/m/HMmM5NSg3CUxTO4wlZqE44xyfwa3nzprA2Sg5FfwV3UDkrQN4gd9CJewCPesZQw9FtTcBR+P3wv/GnSrCnYxRNe0cEcPnDbCgZ8HrmN8A8Y/wW8+DeIZTzjBbOYj1ZvEgaYFMDr8P3w/fAn+TqqBnAbuxEvxqDG6NZ3WRUOYBX3UdsrXU9VG856/PKzxQJ8WDvyS2zmbz4B8IPWAlHG2vgAAAAASUVORK5CYII=")}.ui-icon-back:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJJJREFUOMtjYEAD////b2AgFYA0AfF/sjSRpBFZExT8AeLXQHwciCcAsQOxGrGBM0CsS0gzKxBLA7ELELcC8VOo+Ccg1iY6cIBCXEC8Fqp5M05n4xCXgGr8TGqoC5OrsRGqcS+xGkABVQ/E/6AaXQlpUATiYiC+C9UA0lhKjE3I4CYQexDrxGdAvBSIfYGYCV0eAL8TDNuB31nNAAAAAElFTkSuQmCC")}.ui-icon-bars:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAClJREFUOMtjYKA7+P///8n/pIMTII3HydB4lGHUjzTy4xly/XhiaPgRALzOTCcBlK2mAAAAAElFTkSuQmCC")}.ui-icon-bullets:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADpJREFUOMtjYKA7+P///0kgPo7GJwROgBQeB+KjSBqPE6HxKMOoH2nkxzNgN6PyifLjCTQ/nhicfgQA/VEZvCqEuYoAAAAASUVORK5CYII=")}.ui-icon-calendar:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADFJREFUOMtjYICC////nwTi4ww4AFDuDBCfQBYgCwwljWQDZBNIYpOtcdSpeGwhVyMA6YDNaA+GXWMAAAAASUVORK5CYII=")}.ui-icon-camera:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ1JREFUOMtjYKAW+P//vzoQ1wBxAxSD2KrYFHIBcSaSwqf/McFjJPksIOYEadz8n3SwCaTxDxaJh0A8AYj7oGx08IcBi+ABIBaFOh/kLBEgPoiuCJtGAzTnbwJiQ2I0sgDxLyT+TyBmJdbGTUj89UBsTIzGQ0h+zICyj2DT+BeL5kdA3A8N2ce4QnUTGfG4HqSREy3lEMIZ4JRDLgAADx5bua1tC5oAAAAASUVORK5CYII=")}.ui-icon-carat-d:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHdJREFUKJHV0D0OwjAMBtCcpiBSVn7uv8MpUNVMwAUeSyuiKG3DyLdZ9rMlh/BfwR6nhrkLurnYYcAT5xV0xRsPdAF331TxdOmVzd0CIsYlXEEjDnOzildRtjkiFbhEcekBJd5GGe4LnDZRho8TSOibUIF/Qy35ADEDFfz8Tu1HAAAAAElFTkSuQmCC")}.ui-icon-carat-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFNJREFUOMtjYMAD/v//rwvE54FYhYFYAFSsB8Sv/0PAUyBWJVUTCLwHYmNyNJkQo+kNqZr06aOJIo14NJuSEnfImj+Qqvk1mmYzumt+TGp6xZnIAZYXFgOYoY9iAAAAAElFTkSuQmCC")}.ui-icon-carat-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAGRJREFUOMtjYEAD////Vwfi80CsxUAsACrWAOLn/yHgJRBrE6vRDIg//EcAkjSbU1PzK0o161CiWZdYjR9JshWowIIcTZZYNGkTo+kTSdEBdd4nkuMQqEgNiJ+SHPFIms8RSuQASm4V+ztdam4AAAAASUVORK5CYII=")}.ui-icon-carat-u:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAG5JREFUOMtjYKA2+P//vz4Ik6PpDRTrkaoJBghrBilA0wQDr3Fqhmp6jaT4PRQja9YlRpMJEJsC8QesmkEMbJqQDEXX/AqsGUicx6UJj+ZzIEEVIH6KSxOSZjOo5scgPTBBVSA2JiKqzOCahg4AAODRFgCi4LIMAAAAAElFTkSuQmCC")}.ui-icon-check:after,html .ui-btn.ui-checkbox-on.ui-checkbox-on:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE5JREFUOMu10DEKACEQQ1GPHl2QxUvHZsURQRJhfzfFKzIp/R1JkISLMmdQUeEebtAKvw053I+KRuUGncLpYxoS9kgfrDYK+LVRwM1GTh2KeDEWoG7NGwAAAABJRU5ErkJggg==")}.ui-icon-clock:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAN5JREFUOMuNkl0KglAQhYeexA0kthWtVQRCq6gQWkBRi4mIaA/Zm2EbsYJ6STsjx7jYtTrwoXecP2euiKGyLHtgBc7gQTKwBL7YhA8jcCvbdQWRLaigwxoEwCEh2PBb8Q5me3WliZHsCA7GOabPBXjCf6oqNbqo1LBtaV4IB6EK/gjs03wSTk7l2AKphDaX53tH2pUY70/bGjJmCeWH4DOgb6oV97SP5bemfO41i8/lquIv1Wb0yUG3NkbGBdhyei7R9nbGBRg2M0ZcbpvyjyAj2NPl6p505CQF83d71As1WJi0XvrCDgAAAABJRU5ErkJggg==")}.ui-icon-cloud:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHRJREFUOMtjYBhw8P//f2EgTgTiWigtRIymSCD+/B8VfATiEHyabIH473/s4DcQm+PSuOs/fvAPiF8BsT+yJncg/vafOPASpqniP2ngCxBzgjS+/U862AjS+I4MjT9BGsvJ0LgO5k8XaIQ3EIEzgZiD/kkTAK0pr7/Ot6yrAAAAAElFTkSuQmCC")}.ui-icon-comment:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEJJREFUOMtj+P//fyAQv/xPPHgFxP4MJGqCgZcM/8kEoxpppfEVGfpegDT6k5gIXgCxLwMyQJJsYCAFkKUJqpFoTQBdxXiyPJoNzQAAAABJRU5ErkJggg==")}.ui-icon-delete:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFtJREFUOMulklEKwDAIQ83J153c0U1GK0ZG5o/ga4pNA4ty9zE7gGFFZY5leMSZM4srjjS0LKacgBtGLxmaW1k9q5J3tKLXnI/izbT/QmlVyRz5O+QAyJFTQ34BOkVgA0nxhd0AAAAASUVORK5CYII=")}.ui-icon-edit:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAExJREFUOMtjYCAS/P//vwGEGUgBUE0w0ECuRsKakZ1HtK3YFBL0JxanEe28/yRpHPyaFEjWBNWYQLImqMYFJGuCajwA1QyyWYHYZAgAGGspdigXzkIAAAAASUVORK5CYII=")}.ui-icon-eye:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ9JREFUOMtjYBhQ8P//f0YgjgLig0D8FYoPQMUYcWmSgCrCBUBy4uia5ID4HlTBDyDOBmIBIOaDsn9A5UBq5GCa+IH4OpLJ2Vhck4MkD1LLDxJcheYkAajik0B8HMlwZLCSCYt3/yHRMDYjtkBBd2ouFjUFSPLXQH7HFTi5UAMFoJp+YgQOkqniBKJjP0Z0oCWASKgBX6D4AFSMcWCTJwDwblGBQMiLsgAAAABJRU5ErkJggg==")}.ui-icon-forbidden:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANZJREFUOMuF0jFuwkAUhOEtCT0R4iwh4hgu0uUM3AAU5TKIKk1OgSPlHCgUQMOXZrAsY8NIK9k7/v3ezttSWsIMn/jFGSf84AOz0ie842BYB1R90CUffOEFo6w5NvEuDZz22pVqTHo6Wsb/w7TkTNdK9QN4G39dEoS0N7kH4zXeriQ9GMUchDHO/rEk8ga8B+Mpe6eSOcG809YNjMX1vWS4sOkJowt/53nVHcfyAQx7PF/NqnUBtklvnDMtWpUueOv+ucpwh7S/gVrwFGvscEziNVZNe9E/AYkNLyf6mZAAAAAASUVORK5CYII=")}.ui-icon-forward:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJVJREFUOMud0SEPQWEUBuA7I6iSTdFtfoNgJvkzNtE+QfcnRFFVFX9AECmaieYRfOGyue533/qeZ2c7J8tKBCGrEu+EqrAYY4AV9rji4TPhG/Rx8D8hj3q4xeKMJYbooFG0bRuLDZqlj4N7LNtJ78jBVuq5dxEuUuEowifmqKfgWYRwwhTdsniMY/5pKZtrmGCNy6+5F/zkDN/sPUM/AAAAAElFTkSuQmCC")}.ui-icon-gear:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANBJREFUOMuN0k1OAkEUReGKDVPsBUiCe/An6CZMCHERkLgABzpwr0rCAhoM/Tl56ktTQc+o07dud71TVUoFXOITe0zLKfCIOcZ488sLRrjDslaCHlvHbCPrscjFebz8ix7XuThOf+qwQotJPHeRbdBkEXmmVWX+dcpfMSthL9NWiueDNfsSyjOTSrEdrOkKpqH81FafUv6Mi+9gNJCzju21UdpF9o6z/MV7/+OAm1xcxhkd8FEpbNIFeBjOscAVmlCeZ2pwe1SqyJiF7d2PiAFfUWcCdKtjEnkAAAAASUVORK5CYII=")}.ui-icon-grid:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAElJREFUOMtj+P///8n/CHCcAQjQxE5Axc4gizGCSAYkwAgExIgxMZAJQBpPIPGPQWlsYiexiJEBhlbgnCQyIKgXOGcIBcQQDxwAcK29sfGNuOEAAAAASUVORK5CYII=")}.ui-icon-heart:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJhJREFUOMud0L0NwjAQgNErGAEGoU0WSYUEggGyVULFCFCyAgPQQQsU5NE4EuLfPOka258sXUREYIwldtiixiBNnc526c04UlTg7NkqzaMzisBGvnW8+e2bU+D4R3gItH+Ebb+cXEW/2SYjaqKHEfY/RHsM4x5KXD5EF5TxCipcX0RXVPEJpugeokn8AosUd5hFDswxfXd/AyJMQU8RkPn/AAAAAElFTkSuQmCC")}.ui-icon-home:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADxJREFUOMtjYMAB/v//3wDCDKQAqCYYaCBHE3GacWjCr5mAJuyaidSEqplETZg2E6sDmx8p10iK3HDWCADqFJ92uuEinAAAAABJRU5ErkJggg==")}.ui-icon-info:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ1JREFUOMul0k0KwjAQQOHcQtF7SPEeQsHrKHo8S71IVdBVPzejaJ0u1AezSfKS+UkpL2COPY64RbTYYVYysMbFOGfUmdQPDi5QDdb6pxzpZS9VWCbrJ0xL1PQt2xKNeGNQRkZTonPG5BHx+pfY/iAeSgz3W3FTMIvhps1J5A6Tx0adfICMHqvhrXUMd4zuQ3qRp9iiwTXigM0zveAO8O5cUyF3tnAAAAAASUVORK5CYII=")}.ui-icon-location:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJlJREFUOMuV0TEOAVEUhtHXWYGh04pWzypYlJWIIENU1oQQdJKjucUL4+Er/7knr5iUXsIAO9xxwxb9VCrQxXvnIo6XYI0KbdSxbUrwHkdVtlWxXUvwFEedbOvEdizBVRzV6AbaxrYswanPTUqwhUMDOqD17ZfMGuAsfQs9PDL0QC/9EhYZnKdfwzCDw/RP2GOf/g1jjD59fwKZSi5HaePOlAAAAABJRU5ErkJggg==")}.ui-icon-lock:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHFJREFUOMtjYEAD////Dwbiw0D8HYoPAXEgAz4AVND7HzfowqUpGKrgBxBnA7EAEPNB2T+gcv7YNB6GSmZjkcuByh3EpvE7VFIAixw/VO4rNo1ggMf/mPL/SQQ002gCxObkaDQGYlNyNDZAMf000iZUAdQHDgw3MuoHAAAAAElFTkSuQmCC")}.ui-icon-mail:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIVJREFUOMtjYKA7+P//fzQQf/xPPACpjQZp5AJiRSA+SoQmkBoFkB6QxqtArAXEzEDcAMR/sGgAidVD1WiD9DBAJb4CcQLU6VZAfB9J0z0gtoTKJUDV/mdAM3kB1Ol8QLwEivmgYguQFTJgcRbY6UiBpw0V+09II9zpyE4jViNBMAAa6Q4ARIAH2Rfeh/QAAAAASUVORK5CYII=")}.ui-icon-minus:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABZJREFUOE9jYBgFuMF/MsFQ0jgKcAMA2lPfIe/W1fgAAAAASUVORK5CYII=")}.ui-icon-navigation:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJNJREFUOMtjYKA1+P//vxAQ5wLxXGIUMwGxKxCvAOIf/yEgB58GeSBuAOIH/1HBdyAWRFfMAcSRQLwbiP/9xw6WI2swBOIpQPzuP2Hggu5pMyCOBuJ6IF4CxCeA+C2aJpCzGYkNSWRX1JMSBSehmv4CsRwpGpdCNe4iNdIboBojSNUYAw0kdlI1mgPxZHLTpyE2OQBXFwcOWoyvmwAAAABJRU5ErkJggg==")}.ui-icon-phone:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAALRJREFUOMtj+P//PxMQLwDiI0DMy0AsACqOAuKz/yHgGNGagQrfAPFqNM08xGj8BtWwBqr5NxCbEqPx9H8EWAXEHsQ6tRxJ4yVSAocf6k8YCCZFcyySxi9AbE6K5vlImj8AsTWavBYQc2PTyAbEu5E0/wDiFKicNTT0sScSoCAXEO/5jwouAfFypHg+ikszyOaF/zHBGiTNh/D5OQGI36JphqWwiYQCTACIK4D4HNTPr2HRBQChdFG//DBhowAAAABJRU5ErkJggg==")}.ui-icon-plus:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAB5JREFUOMtjYMAC/qMBBmLBcNP4n0wwlDSOJgDcGgFPin6QGOaERAAAAABJRU5ErkJggg==")}.ui-icon-power:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANBJREFUOMtjYMAB/v//vxeIdzOQCv5DATEKQ4H4FhCbo2sEUrZAfBuIA9E1KQLxV6jaUCwaY6HcL0Ash6xxClRiNS6nApkboEITkTXehwoa49FoBhW6g6zxD1SQBY9GVqjQb2SNX6CCQkhiF4H4PBJfBKrmE7LGQ1DBBCQxJiBmROKnQtXsQ9aYCBV8AQphLFGlAsSvoWpikSWYkWx9A8QloIACYhMgLgfid1A5UGpiQjdVEIgP/scNQJr4caUeJmhk7wbi51C8C4ijkf1LEQAAs65tnfCMVk0AAAAASUVORK5CYII=")}.ui-icon-recycle:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ9JREFUOMtjYKAm+P///1kg/gnEP6DsQiBmJ0YjNnAZiGUIafQDYi4g5gZiXyC+DtV8CcVmICcUhPEYxI+kuQAmKArEr6BYlIArQOA0TGA1kj9W4dHIA1XzDVnwB1SQG49GTAugQQ4Cvng0YnoJyCiCagQFAD8ezaiBCORwAPEVJM1+UD+BcAihuJNF0owCiEkxHNDkdQYUelB8gqrpGQBlvyiNmsjT4QAAAABJRU5ErkJggg==")}.ui-icon-refresh:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAM9JREFUOMtjYEAC////lwbiTiC+AsQ/gfgHEF8C4lYglkBSV4+sKRaIv/zHDT4BcSQQNwPxH5imGCD+B1WwCoitgJgNiq2BeC2aIX9AmiSB+DNUII8BBwDK7UfX2A7lrMGjqRmbjVegHEscmhqx+Bes8QeUw8ZACqBE42WoRmtSNbZBNa4lQq0vEDPDOJLQyAWBEjyaqqBqDiILRiAlgA1AbA/E3FDsCMRboHJ/gTgI3cQwIP6AJ8mB5IJxOUcMiJuA+Dw03X6BskFxKYasFgCG8ZXX6DfYhgAAAABJRU5ErkJggg==")}.ui-icon-search:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAONJREFUOMuV0c8qhVEUhvFvcvKlMHBCUUwU5RpMlIm5UnIFOp2bMHEDiokLkJKpMpXO4Bg4MlAGLkDK3/AzWYPd195iDd/nfVbttasqBjU6OMcdetjFdFUazOJGfp6wlpNqDKI0wDrmsYzjyF+x1BS3E2k0s/gg+EkTnAXYKDyjjU+8o07BbYiLv9zgPjpzaXgR4UpBGsJLdMZSsBPhaUHsBO81wRQeAx5iMrl2Fx/BNnNbV/EchS884K3xn32M5+QFHCXCNy6xhevIrtAuXbCFGYwk2cSf5MLCVN6r/jMh72P4BxnPgmBrkPyTAAAAAElFTkSuQmCC")}.ui-icon-shop:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE9JREFUOMtjYEAD////ZwfiKUD8Hog/QtnsDIQAVOE6IBYDYlEg3gDEk4nRCLJJDIkPMuADMRr/EyMGlyAF4NJoiUWtOTEaybZxVOOAaQQAmEocSjETvxYAAAAASUVORK5CYII=")}.ui-icon-star:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJFJREFUOMtjYMAB/v//bwzCDKQCoKZZQDyTVE28QPwZiD8BMQ8pGtP/I0AaKRrPImk8g0tRAhB//U88AKmNh2nWAuKrRGi6AlKLbjMXEC/Ao2k+SA0uZyvj0aiML1Cy8GjMxKdxA1TRWyAOh+K3ULH1uDSxQCN8KxBLIolLAvE2IP4IUoNNowG+yAbJgdQwUAoAbN9GiH93pK4AAAAASUVORK5CYII=")}.ui-icon-tag:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUOMtj+I8dNDAQAv9xgwZiNZoBsQXRmpEUgTRZEW3zf+JAAzaNDaOaSYhjApoJJowGspIiFs3EaULTjKEJAH1ft8O6vRfvAAAAAElFTkSuQmCC")}.ui-icon-user:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJdJREFUOMud0jsOQUEUgOEpJGxD0CpswAqUohStLYitiEJUEtHZgETJKjyiIqqb3E9D4nFdE399vuTkzITwFgqYIMEarRAT+l5L0YyBK5/NY+A5Ax5/oZrsUlTz4ND3BnmwglMGOqD8a91ZBpzGHKeB6xO6oB77lssnuMgbLKGDMbb3X/MowQYjtFF8oB724tuhG/zZ3/AGG1/AkN/xnJsAAAAASUVORK5CYII=")}.ui-icon-video:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAExJREFUOMvF0csJACAMBNE0KGJHlqtpYjwJIvF70Lk/CFmR5wEByIxTwFtwhmq5M1HYrEUAR7CiI9iiN/D6VOs5uuGSNYdfbJkAJ98rtv7WyPB7sagAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-action:after,.ui-alt-icon .ui-icon-action:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAH1JREFUOMtjYCAOzAJiNgYywH8gPgbEkuRoBOFnQGyJLgjDDVBxNSBeDsQf0OR/AnEaAw5NdkD8BYuhWDXCAC8QvwDiH0BcB8TihJwKA/lA/BmIrQkFDrrG3UAcjhY4M5GiowGXxrl4QrcBWS26RiMiogWrRga6aSQFk68RAP5OVqWXKdm9AAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-alert:after,.ui-alt-icon .ui-icon-alert:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJZJREFUOMtjYMANvIHYi4FEwAbEt4D4JhCzkqKxFIj/Q3EpsZokgPgTksZPUDGCYAFUgxkQW0DZ8wlpMgfif1DFMPAfKmaGSxMjEJ9EciKyxv9QOUZsGhOQFP2HOtMKTSweXRMvED9HU4QNP4eqhYNuLIpMoH5GF++CaVID4l9YFJhjcSoI/wRiVZDGrUQ4ER1vZaA7AAA8nEl47CBNKgAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-arrow-d:after,.ui-alt-icon .ui-icon-arrow-d:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADRJREFUOMtjYMAO/qNhosGoRko1NmBRSAg3kKO5gRybG8hxdgOhgGkgRxM2zQ0MJIIGfJoARZtMu19O4xgAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-arrow-d-l:after,.ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAElJREFUOMtjYCAeNEAxSQCk4T8UN5CjiWjN2DTBNTaQo4kBh9UENTFgESRKEwOa5AFiNTHgUEhUCJKlCZ/GA4Tiiuo2UuRHnJoBqxder3inhF8AAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-arrow-d-r:after,.ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUOMtjYECABigmCYA0/IfiBnI0kaQZm0aaaW4gRzNMHUk2I8sT7ewDaHyS/ExQIzGa8YIDdLORLD8So+k/AHCSXq9v5cRTAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-arrow-l:after,.ui-alt-icon .ui-icon-arrow-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADdJREFUOMtjYMANGhjIACBN/8nV9J9cTf/J1fSfXE2EMFmaKNNItlMpChyKooOiBEBRkiMqkQMAcwJMu8C5mgwAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-arrow-r:after,.ui-alt-icon .ui-icon-arrow-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADVJREFUOMtjYMAPGhjIBP/J1fyfXM3/ydX8H5/m/yTiBnI1wjXTTWMDxYFD0+hooFuSw6kJAOa7TLvbyXpwAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-arrow-u:after,.ui-alt-icon .ui-icon-arrow-u:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADVJREFUOMtjYMANGqCYJADS8B+KG8jRRLRmbJoIasanCadmYjRhaCZFE0FnoyskGoxqpEQjABQxTLu007KqAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-arrow-u-l:after,.ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEVJREFUOMtjYGBg+E8EbmDAAsjSxECuJnwaDzAQAFS3kSQ/HiAnVGGSDcRqxiZIlGZcfmggJ8BoppkojeiaidaErBmuCQCtL16vpLfRlQAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-arrow-u-r:after,.ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEVJREFUOMu9zzEOACAIA8A+nafxM12JFiwMNmGCCwDcMQBLKBqbQgWX8W8bRz9myCuYISN9GZ1zLRTn26g88YkYllHEMtpyql6v/pwMSQAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-audio:after,.ui-alt-icon .ui-icon-audio:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANVJREFUOMuF0jFKg0EQhuHHXCBqL1ELCytzi5zAKgh2ViEgYhMwYCkWaXIUG/sU6YJaCBZewKRRiaAkzRTLun/+r5pvZ15mdhjKukniBh7RVaNb/Cb+BN9YYbQJWmUgHOE1ctdVUAqeoxfxHj7wgwOYJkAOzsJfhe+Fv1eAUrCFOb6wjR384aUOhHG8dcK/Y9lQr62qxKaOh1jgE03sxqjPMInCEvgUvh++H/4u7TwsgGe4iHg/FrWMpSnB+QEc4y1yl1V/HmZgO7r8G7GkQXbkDzhNC9aKZ1PDJ0JepAAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-back:after,.ui-alt-icon .ui-icon-back:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAItJREFUOMtjYMAEDQxkAJCm/+Rq+k+uJhD+A8Svgfg4EE8AYgdiNWLDZ4BYl5BmViCWBmIXIG4F4qdQ8U9ArE1K4HAB8Vqo3GZ8zsYGJKAaP5Ma6sLkamyEatxLrAZQQNUD8T+oRldCGhSBuBiI70I1gDSWEmMTchzeBGIPYp34DIiXArEvEDOhSwIAi9Qyp4aUzewAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-bars:after,.ui-alt-icon .ui-icon-bars:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAACZJREFUOMtjYBgIcBKI/5OIT4A0HidD41GGUT/SCJwh148nhoYfAe0YURTen2r1AAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-bullets:after,.ui-alt-icon .ui-icon-bullets:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADVJREFUOMtjYBgIcBKIj6Px/xPAJxigmo4iaTxOhMajDKN+pBE4A3MzEp8oP55Ac/OJwelHAGSiQoVBqpe0AAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-calendar:after,.ui-alt-icon .ui-icon-calendar:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADRJREFUOMtjZECAk0D8D4gtGbCDM0D8B4gtQBxGIP7PQAYYYhoZKLWRJDZFGkedismmTCMAvGkkB7PDw7MAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-camera:after,.ui-alt-icon .ui-icon-camera:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJxJREFUOMtjYKAiUAfiGiBugGIQWxWbQi4gzkRS+BSI/6Phx0jyWUDMCdK4GYtCQngTSOMfLBIPgXgCEPdB2ejyID0YggeAWBTqfJCzRID4IBZ1GAIGaM4HOcuQGI0sQPwLif8TiFmJtXETEn89EBsTo/EQkh8zoOwj2DT+xSL4CIj7oSH7GFeobiIjHkHOB6cC5JRDCGfAUg5ZAAAIx317SYGtJAAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-carat-d:after,.ui-alt-icon .ui-icon-carat-d:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHFJREFUOMvV0DEKAjEQQNF3GhXXbXW9f6+nkGVTqRfQJoFlIDHa+SFFmHkpwt+1w7Fjb8KmXLaYccepgc544lbwFa98anjCY7V3gQFLA0e0YF+GNdxEa5wCjmiofUDEXah0CDj1oNKYQcoPfdX4C/rYG6dgMtFQD5sUAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-carat-l:after,.ui-alt-icon .ui-icon-carat-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFBJREFUOMtjYMAPdIH4PBCrMJAA9ID4NRD/B+KnQKxKqiYQfg/ExuRoMiFG0xtSNenTTRNFGnFpNiUl7pA1fyBV82s0zWZ01/yY1PSKM5EDAGi5MtgV7LNzAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-carat-r:after,.ui-alt-icon .ui-icon-carat-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFpJREFUOMtjYMAE6kB8Hoi1GEgAGkD8HIj/A/FLINYmVqMZEH+AaiRZszk1Nb+iVLMOJZp1idX4kVRbLcjRZIlFkzYxmj6RGh0W5GgCATUgfkpOxMM0nyOUyAF53TLQiFLV2gAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-carat-u:after,.ui-alt-icon .ui-icon-carat-u:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAGZJREFUOMtjYKAB0IdikjW9gWI9UjX9h2KiNOuhaYLh1/g060EVwBS/h2JkzbrEaDIBYlMg/oBLsy4OTTCArvkVTPN5PJpwaT4HElQB4qd4NMGAGVTzY6geMFAFYmMiosoMWdMQAQBshTLV2RAbgQAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-check:after,.ui-alt-icon .ui-icon-check:after,html .ui-alt-icon.ui-btn.ui-checkbox-on:after,html .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEtJREFUOMtjYKADaIBikkAjEP+HYqI1NyFpIlozNk0YGhugToKBZmI1wSSayNGEDzfgCzGiNRHyD1Eh2EaOJhjoIEcTDHSRo4loAAAMpkH3I7j13AAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-clock:after,.ui-alt-icon .ui-icon-clock:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANhJREFUOMuNkmEKgkAQhYd+hRdI9CpZpwiETlERdICiDhMh0R2qf4ZdxArsT9rbeAtT7GIPPnTHebvjzIp8KwYbcAVPUoA1iMSjMXiAxsMdpC5TzYQt6IMuScCO32ptjtVJU7XZGRzVes6cGwiF/2RP0rIlamWMrYSNaFhem3HA2EXYuYb/4zIaTowFXFcd8euk3l+uhIK7JNKuIXNzc+KBwckfxhmfH0/E4TZsuU8L5pSgZ4OpugAZuxcQU95eXYDR744ph+u7cqXLZBVyuGZOFcnBUpdn9AYEHE/v8XhZcwAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-cloud:after,.ui-alt-icon .ui-icon-cloud:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHZJREFUOMtjYBgMQBiIE4G4FkoLEaMpEog/A/F/JPwRiEPwabIF4r9ommD4NxCb49K4C4cmGP4HxK+A2B9ZkzsQfyOgEYZfwjRVEKkBhr8AMSdI41sSNYLwRpDGd2Ro/AnSWE6GxnUwf7pAI7yBCJwJxBz0T5cA6NleA+xgAXwAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-comment:after,.ui-alt-icon .ui-icon-comment:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEdJREFUOMtjYGBgCATil0D8n0j8Coj9GUjUBMMvGaEMkgETA5lgVCMBja/J0AeKe3AqICURvABiX3STYJINpDqBLE0MpGgCAMwXLfKbu8xgAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-delete:after,.ui-alt-icon .ui-icon-delete:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE1JREFUOMtjYECABijGBbDKgwT+Q3EDDk0Y8siC2DTjlMcm8R/Jaf/xGYxLwX8CriFacwO+kCNZE9kaG2jlP6JDlGB0kJ0AyE5yZCVyAIGUcaXrtLjcAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-edit:after,.ui-alt-icon .ui-icon-edit:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEVJREFUOMtjYCAeNEAxSQCk4T8UN5CrkSjNyM4j2lZsChtI0USS8/6TqnGQa1IgRxMIJJCjCQQWkKMJBA5ANSdAnU0UAAB60T1Uc0QS+gAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-eye:after,.ui-alt-icon .ui-icon-eye:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJtJREFUOMtjYBhowAjEUUB8EIi/QvEBqBgjLk0SUEX/cWCQnDi6JjkgvgdV8AOIs4FYAIj5oOwfULl7ULVgwA/E15FMzsbimhwk+etQPQyr0JwkAFV8EoiPIxmOrGYlExbT/yHR/5ACDQOgOzUXi5oCJPlrUL9jDZxcqIECUE0/sQUODIgTiI792KIDOQFEQg34AsUHoGKMA5s2AdHHPobWAPyKAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-forbidden:after,.ui-alt-icon .ui-icon-forbidden:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAM1JREFUOMuFkkEOgjAQRd9S2WMIZ1HDMVi48wzcAEO8DGHlxlOAiecgshA31M1vUptiJ2lC+3mdmT+F38iBK/AEPsAMPIBGWjDOwASYlTUBZQha9MMN2AMbrQPQSltcOPcyDUAaqKiS/gIy1JPNNETgTvoFGWFUXhqBj9J65J5RP0TgROdvZLkL/oO3OpvRnIzcIwIXzp5GmzZghg/f9V3746gisAFGYGfF0nkAndxL1FPhZFqAk39zqeGuPbkxBNnINNxels8qs3bLA/gCVFFewZEF7yYAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-forward:after,.ui-alt-icon .ui-icon-forward:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAItJREFUOMtjYCAONDCQCf6Tq/k/MZodgHgCEB8H4tdA/AdJI1bNekB8Bk0RNoyiURuIP0ElngJxKxC7ALE0ELPis20rVGItEHOSEjhfoJISpEYHTKMQqcG9D6qxkVSNblCN/4C4DohZSNFcBtUIMuAuEBcDsQKxmj2A+CZavBENmIDYD4iXAvEzXIoAgqYyqw9Yg9IAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-gear:after,.ui-alt-icon .ui-icon-gear:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAOBJREFUOMuFkkEKwkAMRae13arQXVGo6BFEUS8hiLgSQZcteABddOFJ3YjSA9SK1T/wK2EIGHjw2ySTTDLG6DYAL1CBvhbgC70BMxCCAwio99RzsHYPsEkfUIOCWlLQZ1nJilcGeCBSOovoa2J/FopKJUhBF7SpS/ruoCUHcRFtpUrFTPhzkBhOT96nqyR2nJjKp5BWK4meG2MThyzf2FZJ3Al9BqPmI3CGk7E92/YRPOm7Obs3C2V3Gm8wkXuMxQO4K60+xJ5j12lfxJh7ykWVE/9NwdL8sYQP3N6tpwV8AdaYR91UZ7PcAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-grid:after,.ui-alt-icon .ui-icon-grid:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEJJREFUOMtjYGBgOAnE/6H4OAMEIIudgIqdQRf7j4aJFiNb43EkzlGoImxiJ7CIkQeGUOCcIDIgqBc4Z4gJiCEcOADCDYeuTK+m9gAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-heart:after,.ui-alt-icon .ui-icon-heart:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJRJREFUOMud0D0OAUEYBuDHFVyEisYlaITYm1GtcAU99V5CSb+bWKEwkrVZ+/cmb/PNPJkvwydj7JHghAiD0CjMEsQYBWOGDK9St9hVzLNgXCoOm3r257WmZnDvAW9w7AEPMO0BJ9+fjTugWCFDXFuga7j7kwnSGpQWVyxngbwCPTDXkDWeBZRjqWWigHOsdMymDr0BP5J/6NqLuzwAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-home:after,.ui-alt-icon .ui-icon-home:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADhJREFUOMtjYMANGqCYJADS8B+KG8jRRLRmbJoIasanCadmYjRhaCZFE1abidWEAaiikRS5YasRAHf0YqUlUKReAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-info:after,.ui-alt-icon .ui-icon-info:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJxJREFUOMul0ksKwkAQhOHvFga9hwTvIQS8TkSPZ4gX8QG6Stx0IA6TQLSgNtPzz6O6+dYGZ1zxDrc4YW1CBzzRT/iBKgd1ycYtymStG8ObiZtK7DLrdxTiT/1CH0UQaWGsHNiI5PoZOFd7/QW2P4AX0dylYC0m4jETTgrfsBoKVWYAcu6wT0+torlT0C0HDSqiuU0k94og6vHz4AMNCIcMUIkWVwAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-location:after,.ui-alt-icon .ui-icon-location:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJdJREFUOMuVkDEKwkAUBafzBG7sbCVtej2FHionEVGJIZVniqJouoA2T/jo+pMd+M3sm2bhlxxogA54AjWwYIAcuAOvr7sNxY2GRyAAU6CSO3lhp1EwLsg9vPCqUWZcJnfxwoNGFTBTVMvtvXAT+ZjPrb1wArSRqNWbSxkJS0YwB3oT9XKj2JlwSwKFCQsSOeuSWQHLf49vN4Q5LhENhvAAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-lock:after,.ui-alt-icon .ui-icon-lock:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAG5JREFUOMtjYMAEwUB8GIi/Q/EhIA5kIAB6gfg/DtyFS1MwVMEPIM4GYgEg5oOyf0Dl/LFpPAyVzMYilwOVO4hN43eopAAWOX6o3FdsGmF+wQWwyv8nEdNGowkQm5Oj0RiITcnR2ADF9NNIm1AFAP9Vd4ZWPhWFAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-mail:after,.ui-alt-icon .ui-icon-mail:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIRJREFUOMtjYBgIEA3EH4H4P5H4I1QPAxcQKwLxUSI0gdQoQPUwXAViLSBmBuIGIP6DRQNIrB6qRhuqByzxFYgToE63AuL7SJruAbElVC4BqvY/A5rJC6DO4APiJVDMBxVbgKYWw1kwp8MAzGn/CWlEdjqy01AwI0w3qYCJ3MhnYhgyAAD7hUiBFf5JtwAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-minus:after,.ui-alt-icon .ui-icon-minus:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABZJREFUOMtjYBgFeMF/MvFQ0jgKcAAApTQ3yWkQbYUAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-navigation:after,.ui-alt-icon .ui-icon-navigation:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJRJREFUOMtjYKADEALiXCCeS4xiJiB2BeIVQPwDiP8DcQ4+DfJA3ADED6CKYfg7EAuiK+YA4kgg3g3E/9A0wPByZA2GQDwFiN/hUIyMXdA9bQbE0UBcD8RLgPgEEL9F0wRyNiOxIYnsinpSouAkVNNfIJYjReNSqMZdpEZ6A1RjBKkaY6CBxE6qRnMgnkxu+jTEJgEAOtUv19DqMFAAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-phone:after,.ui-alt-icon .ui-icon-phone:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAALBJREFUOMtjYGBgYALiBUB8BIh5GUgAUUB8Foj/A/ExUjS/AeLVaJp5iNH4DaphDVTzbyA2JUbjaahGEF4FxB7EOrUcSeMlUgKHH+pPmOZgUjTHImn8AsTmpGiej6T5AxBbo8lrATE3No1sQLwbSfMPIE6GyllDQx9nIuEC4j1ImmEBthwpno/i0gyyeSGaZuR4BrEP4fNzAhC/RdMMS2ETCAWYABBXAPE5qJ9fw6ILAKJsPsK6IqZ8AAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-plus:after,.ui-alt-icon .ui-icon-plus:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAB1JREFUOMtjYMAO/qNhosFw0/ifTDyUNI4mABwaAYa6X6GPliIhAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-power:after,.ui-alt-icon .ui-icon-power:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAMZJREFUOMtjYMAN9gLxbgYywH8oJghCgfgWEJtj0WgLxLeBOBBdkyIQf4UqDMWiMRbK/gLEcsgap0AlVuNx6gYofyKyxvtQQWM8Gs2g/DvIGv9ABVnwaGSF8n8ja/wCFRRCErsIxOeR+CJQNZ+QNR6CCiYgiTEBMSMSPxWqZh+yxkSo4AtoCKMDFSB+DVUTiyzBjGTrGyAugQaUCRCXA/E7qNxeqEtQgCAQH0QKFHQM0sSPK/UwQZ0CSqPPoXgXEEej+Zd8AAA35kK6jnLDjgAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-recycle:after,.ui-alt-icon .ui-icon-recycle:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJVJREFUOMtjYKAyOAvEP4H4B5RdCMTsxGj8jwVfBmIZQhr9gJgLiLmB2BeIr0M1X0K3ORSKcQF+JM0FMEFRIH4FxaIEXAHSeBomsBrJH6vwaOSBqvmGLPgDKsiNRyNWC85CBXzxaMTqpSKoxuvQgMAFMAKRA4ivIGn2g/oJhEMIxZ0skmZ0TBBwQJPXGWjogfAJqiZmAOozM3SzI/gZAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-refresh:after,.ui-alt-icon .ui-icon-refresh:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAMlJREFUOMtjYEAF0kDcCcRXgPgnEP8A4ktA3ArEEkjq6pE1xQLxFyD+jwN/AuJIIG4G4j8wTTFA/A+qYBUQWwExGxRbA/FaNEPAGiWB+DNUII8BN9iPrrEdylmDR1MzNhuvQDmWODQ1YvEvWOMPKIeNgURAtsbLUI3WpGpsg2pcS4RaXyBmhnEkoZEL0lyCR1MVVM1BZMEIpASwAYjtgZgbih2BeAtU7i8QB6GbGAbEH/AkOZBcMC7niAFxExCfh6bbL1B2I1QODgBeWE0SXtioYgAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-search:after,.ui-alt-icon .ui-icon-search:after,.ui-input-search:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAOZJREFUOMuV0U8rxFEUxvFPSjMUG/oRio2ivAZLG3ulZGsjzevwBpTZzAuYlD3Zi2JhZKEs7Aclf/Jvc3D7dX8TT906Pc/5nu49l1/VsYUjXOME25jUQ9O4xGfmPGA5B9XRiaYOVjCLReyF/4SFMriZQMOZwc3I98vBQQSrFc8YxRte4nY/ugpwvscObqJn5tvoQzfqiQqohiLqbgoeRt2oADcwgFPcp8E47uIqLYwl227gNbK13NQlPEbDO27xXPrPM4zk4Dm0E+ADx1jHRXjnseWs+jGFocQr/grnlMI7/qkCuxj8AkXLP4FD310vAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-shop:after,.ui-alt-icon .ui-icon-shop:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFBJREFUOMtjYMAE7EA8BYjfA/FHKJsdXRETFo29QCwFxOpArALEMkDcw0AEANkkhsQHsT8Qo/E/MWKMeBTjA4zY/GiFRcyCpjYSBUY10kIjAHnuC0BW95IBAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-star:after,.ui-alt-icon .ui-icon-star:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIlJREFUOMtjYMANjKGYZDALiGeSqokXiD8D8Scg5iFFYzoQ/4fiNFI0nkXSeAaXogQg/oqkkBAGqY2HadYC4qtEaLoCVYsCuIB4AR5N86FqsAJlPBqV8QVKFh6Nmfg0boAqegvE4VD8Fiq2HpcmFmiEbwViSSRxEHsbEH+EqsEABgQiOw2qhjIAAOvoP4EZPNvPAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-tag:after,.ui-alt-icon .ui-icon-tag:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUOMtjYGBg+I8FNzAQAf6Tqxmm0AyILUjRDFME0mRFis3/icBYNTeMaiYtjhsoSRgN5CZFdM1Ea0LWjKEJAJLwYwqDORsHAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-user:after,.ui-alt-icon .ui-icon-user:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJdJREFUOMtjYMAELEC8BIh/A/EJIPZlIBJkAfF/JPwPiO2J0XgUTSMIrydG4ycsGl8R0qSKRRPMuSr4NNbi0AjC1fg0KgPxGyyaXgKxIiHnrsGicRkxgWMExF+RNH0GYj1i43IHksaN+BRyAHE4EC8A4ovQVAPTCGJfAOJ5QBwKxOwwTYlA/AJPaKLj50Acz0CCBnRMnkYAFb5i4CiuUNsAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-video:after,.ui-alt-icon .ui-icon-video:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE1JREFUOMtjYBgIEAjEL4H4Pw78Coj9sWnEpwmGX6LpaWAgQhMMI2v6T6rGBmQ+sRob0A2iuUaynYoROK+I0PQCW3T4E4hLkCZfhgEHAMf2cCELnGdHAAAAAElFTkSuQmCC")}html{font-size:100%}body,input,select,textarea,button,.ui-btn{font-size:1em;line-height:1.3;font-family:sans-serif}legend,.ui-input-text input,.ui-input-search input{color:inherit;text-shadow:inherit}.ui-mobile label,div.ui-controlgroup-label{font-weight:400;font-size:16px}.ui-field-contain{border-bottom-color:#828282;border-bottom-color:rgba(0,0,0,.15);border-bottom-width:1px;border-bottom-style:solid}.table-stroke thead th,.table-stripe thead th,.table-stripe tbody tr:last-child{border-bottom:1px solid #d6d6d6;border-bottom:1px solid rgba(0,0,0,.1)}.table-stroke tbody th,.table-stroke tbody td{border-bottom:1px solid #e6e6e6;border-bottom:1px solid rgba(0,0,0,.05)}.table-stripe.table-stroke tbody tr:last-child th,.table-stripe.table-stroke tbody tr:last-child td{border-bottom:0}.table-stripe tbody tr:nth-child(odd) td,.table-stripe tbody tr:nth-child(odd) th{background-color:#eee;background-color:rgba(0,0,0,.04)}.ui-btn,label.ui-btn{font-weight:700;border-width:1px;border-style:solid}.ui-btn{text-decoration:none!important}.ui-btn-active{cursor:pointer}.ui-corner-all{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-corner-all,.ui-btn.ui-corner-all,.ui-slider-track.ui-corner-all,.ui-flipswitch.ui-corner-all,.ui-li-count{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-icon-notext.ui-btn-corner-all,.ui-btn-icon-notext.ui-corner-all{-webkit-border-radius:1em;border-radius:1em}.ui-btn-corner-all,.ui-corner-all{-webkit-background-clip:padding;background-clip:padding-box}.ui-popup.ui-corner-all>.ui-popup-arrow-guide{left:.6em;right:.6em;top:.6em;bottom:.6em}.ui-shadow{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);-moz-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15)}.ui-shadow-inset{-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.ui-overlay-shadow{-webkit-box-shadow:0 0 12px rgba(0,0,0,.6);-moz-box-shadow:0 0 12px rgba(0,0,0,.6);box-shadow:0 0 12px rgba(0,0,0,.6)}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{background-color:#666;background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;-webkit-border-radius:1em;border-radius:1em}.ui-alt-icon.ui-btn:after,.ui-alt-icon .ui-btn:after,html .ui-alt-icon.ui-checkbox-off:after,html .ui-alt-icon.ui-radio-off:after,html .ui-alt-icon .ui-checkbox-off:after,html .ui-alt-icon .ui-radio-off:after{background-color:#666;background-color:rgba(0,0,0,.15)}.ui-nodisc-icon.ui-btn:after,.ui-nodisc-icon .ui-btn:after{background-color:transparent}.ui-shadow-icon.ui-btn:after,.ui-shadow-icon .ui-btn:after{-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after,.ui-btn.ui-radio-off:after,.ui-btn.ui-radio-on:after{display:block;width:18px;height:18px;margin:-9px 2px 0 2px}.ui-checkbox-off:after,.ui-btn.ui-radio-off:after{filter:Alpha(Opacity=30);opacity:.3}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after{-webkit-border-radius:.1875em;border-radius:.1875em}.ui-btn.ui-checkbox-off:after{background-color:#666;background-color:rgba(0,0,0,.3)}.ui-radio .ui-btn.ui-radio-on:after{background-image:none;background-color:#fff;width:8px;height:8px;border-width:5px;border-style:solid}.ui-alt-icon.ui-btn.ui-radio-on:after,.ui-alt-icon .ui-btn.ui-radio-on:after{background-color:#000}.ui-icon-loading{background:url(images/ajax-loader.gif);background-size:2.875em 2.875em}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background-color:#e9e9e9;border-color:#ddd;color:#333;text-shadow:0 1px 0 #eee;font-weight:700}.ui-bar-a{border-width:1px;border-style:solid}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background-color:#f9f9f9;border-color:#bbb;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background-color:#fff;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a{border-width:1px;border-style:solid}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#38c;font-weight:700}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-group-theme-a a:visited{color:#38c}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#059}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#059}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head+body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head+body .ui-btn.ui-btn-a:visited{background-color:#f6f6f6;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head+body .ui-btn.ui-btn-a:hover{background-color:#ededed;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:active,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head+body .ui-btn.ui-btn-a:active{background-color:#e8e8e8;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-track .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#38c;border-color:#38c;color:#fff;text-shadow:0 1px 0 #059}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#38c}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head+body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head+body .ui-btn-a.ui-focus,html head+body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #38c;-moz-box-shadow:0 0 12px #38c;box-shadow:0 0 12px #38c}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-bar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background-color:#1d1d1d;border-color:#1b1b1b;color:#fff;text-shadow:0 1px 0 #111;font-weight:700}.ui-bar-b{border-width:1px;border-style:solid}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background-color:#252525;border-color:#454545;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background-color:#2a2a2a;border-color:#1d1d1d;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b{border-width:1px;border-style:solid}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#2ad;font-weight:700}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{color:#2ad}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-b a:hover,html body .ui-group-theme-b a:hover{color:#08b}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#08b}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head+body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head+body .ui-btn.ui-btn-b:visited{background-color:#333;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head+body .ui-btn.ui-btn-b:hover{background-color:#373737;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-btn:active,html head+body .ui-btn.ui-btn-b:active{background-color:#404040;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-b .ui-btn-active{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#2ad}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head+body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head+body .ui-btn-b.ui-focus,html head+body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #2ad;-moz-box-shadow:0 0 12px #2ad;box-shadow:0 0 12px #2ad}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default!important;pointer-events:none}.ui-btn:focus,.ui-btn.ui-focus{outline:0}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui-overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto}.ui-mobile,.ui-mobile body{height:99.9%}.ui-mobile fieldset,.ui-page{padding:0;margin:0}.ui-mobile a img,.ui-mobile fieldset{border-width:0}.ui-mobile fieldset{min-width:0}@-moz-document url-prefix(){.ui-mobile fieldset{display:table-column;vertical-align:middle}}.ui-mobile-viewport{margin:0;overflow-x:visible;-webkit-text-size-adjust:100%;-ms-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body.ui-mobile-viewport,div.ui-mobile-viewport{overflow-x:hidden}.ui-mobile [data-role=page],.ui-mobile [data-role=dialog],.ui-page{top:0;left:0;width:100%;min-height:100%;position:absolute;display:none;border:0}.ui-page{outline:0}.ui-mobile .ui-page-active{display:block;overflow:visible;overflow-x:hidden}@media screen and (orientation:portrait){.ui-mobile .ui-page{min-height:420px}}@media screen and (orientation:landscape){.ui-mobile .ui-page{min-height:300px}}.ui-mobile-rendering>*{visibility:hidden}.ui-nojs{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-loading .ui-loader{display:block}.ui-loader{display:none;z-index:9999999;position:fixed;top:50%;left:50%;border:0}.ui-loader-default{background:0;filter:Alpha(Opacity=18);opacity:.18;width:2.875em;height:2.875em;margin-left:-1.4375em;margin-top:-1.4375em}.ui-loader-verbose{width:12.5em;filter:Alpha(Opacity=88);opacity:.88;box-shadow:0 1px 1px -1px #fff;height:auto;margin-left:-6.875em;margin-top:-2.6875em;padding:.625em}.ui-loader-default h1{font-size:0;width:0;height:0;overflow:hidden}.ui-loader-verbose h1{font-size:1em;margin:0;text-align:center}.ui-loader .ui-icon-loading{background-color:#000;display:block;margin:0;width:2.75em;height:2.75em;padding:.0625em;-webkit-border-radius:2.25em;border-radius:2.25em}.ui-loader-verbose .ui-icon-loading{margin:0 auto .625em;filter:Alpha(Opacity=75);opacity:.75}.ui-loader-textonly{padding:.9375em;margin-left:-7.1875em}.ui-loader-textonly .ui-icon-loading{display:none}.ui-loader-fakefix{position:absolute}.ui-bar,.ui-body{position:relative;padding:.4em 1em;overflow:hidden;display:block;clear:both}.ui-bar h1,.ui-bar h2,.ui-bar h3,.ui-bar h4,.ui-bar h5,.ui-bar h6{margin:0;padding:0;font-size:1em;display:inline-block}.ui-header,.ui-footer{border-width:1px 0;border-style:solid;position:relative}.ui-header:empty,.ui-footer:empty{min-height:2.6875em}.ui-header .ui-title,.ui-footer .ui-title{font-size:1em;min-height:1.1em;text-align:center;display:block;margin:0 30%;padding:.7em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;outline:0!important}.ui-footer .ui-title{margin:0 1em}.ui-content{border-width:0;overflow:visible;overflow-x:hidden;padding:1em}.ui-corner-all>.ui-header:first-child,.ui-corner-all>.ui-content:first-child,.ui-corner-all>.ui-footer:first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-corner-all>.ui-header:last-child,.ui-corner-all>.ui-content:last-child,.ui-corner-all>.ui-footer:last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-btn{font-size:16px;margin:.5em 0;padding:.7em 1em;display:block;position:relative;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-btn-icon-notext,.ui-header button.ui-btn.ui-btn-icon-notext,.ui-footer button.ui-btn.ui-btn-icon-notext{padding:0;width:1.75em;height:1.75em;text-indent:-9999px;white-space:nowrap!important}.ui-mini{font-size:12.5px}.ui-mini .ui-btn{font-size:inherit}.ui-header .ui-btn,.ui-footer .ui-btn{font-size:12.5px;display:inline-block;vertical-align:middle}.ui-header .ui-controlgroup .ui-btn-icon-notext,.ui-footer .ui-controlgroup .ui-btn-icon-notext{font-size:12.5px}.ui-header .ui-btn-left,.ui-header .ui-btn-right{font-size:12.5px}.ui-mini.ui-btn-icon-notext,.ui-mini .ui-btn-icon-notext,.ui-header .ui-btn-icon-notext,.ui-footer .ui-btn-icon-notext{font-size:16px;padding:0}.ui-btn-inline{display:inline-block;vertical-align:middle;margin-right:.625em}.ui-btn-icon-left{padding-left:2.5em}.ui-btn-icon-right{padding-right:2.5em}.ui-btn-icon-top{padding-top:2.5em}.ui-btn-icon-bottom{padding-bottom:2.5em}.ui-header .ui-btn-icon-top,.ui-footer .ui-btn-icon-top,.ui-header .ui-btn-icon-bottom,.ui-footer .ui-btn-icon-bottom{padding-left:.3125em;padding-right:.3125em}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{content:"";position:absolute;display:block;width:22px;height:22px}.ui-btn-icon-notext:after,.ui-btn-icon-left:after,.ui-btn-icon-right:after{top:50%;margin-top:-11px}.ui-btn-icon-left:after{left:.5625em}.ui-btn-icon-right:after{right:.5625em}.ui-mini.ui-btn-icon-left:after,.ui-mini .ui-btn-icon-left:after,.ui-header .ui-btn-icon-left:after,.ui-footer .ui-btn-icon-left:after{left:.37em}.ui-mini.ui-btn-icon-right:after,.ui-mini .ui-btn-icon-right:after,.ui-header .ui-btn-icon-right:after,.ui-footer .ui-btn-icon-right:after{right:.37em}.ui-btn-icon-notext:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after{left:50%;margin-left:-11px}.ui-btn-icon-top:after{top:.5625em}.ui-btn-icon-bottom:after{top:auto;bottom:.5625em}.ui-header .ui-btn-left,.ui-header .ui-btn-right,.ui-btn-left>[class*=ui-],.ui-btn-right>[class*=ui-]{margin:0}.ui-btn-left,.ui-btn-right{position:absolute;top:.24em}.ui-btn-left{left:.4em}.ui-btn-right{right:.4em}.ui-btn-icon-notext.ui-btn-left{top:.3125em;left:.3125em}.ui-btn-icon-notext.ui-btn-right{top:.3125em;right:.3125em}button.ui-btn,.ui-controlgroup-controls button.ui-btn-icon-notext{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;width:100%}button.ui-btn-inline,.ui-header button.ui-btn,.ui-footer button.ui-btn{width:auto}button.ui-btn::-moz-focus-inner{border:0}button.ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:1.75em}.ui-mobile label,.ui-controlgroup-label{display:block;margin:0 0 .4em}.ui-hide-label>label,.ui-hide-label .ui-controlgroup-label,.ui-hide-label .ui-rangeslider label,.ui-hidden-accessible{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-screen-hidden{display:none!important}.ui-mobile-viewport-transitioning,.ui-mobile-viewport-transitioning .ui-page{width:100%;height:100%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-page-pre-in{opacity:0}.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.out{-webkit-animation-timing-function:ease-in;-webkit-animation-duration:225ms;-moz-animation-timing-function:ease-in;-moz-animation-duration:225ms;animation-timing-function:ease-in;animation-duration:225ms}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}.fade.out{opacity:0;-webkit-animation-duration:125ms;-webkit-animation-name:fadeout;-moz-animation-duration:125ms;-moz-animation-name:fadeout;animation-duration:125ms;animation-name:fadeout}.fade.in{opacity:1;-webkit-animation-duration:225ms;-webkit-animation-name:fadein;-moz-animation-duration:225ms;-moz-animation-name:fadein;animation-duration:225ms;animation-name:fadein}.pop{-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;transform-origin:50% 50%}.pop.in{-webkit-transform:scale(1);-webkit-animation-name:popin;-webkit-animation-duration:350ms;-moz-transform:scale(1);-moz-animation-name:popin;-moz-animation-duration:350ms;transform:scale(1);animation-name:popin;animation-duration:350ms;opacity:1}.pop.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms;opacity:0}.pop.in.reverse{-webkit-animation-name:fadein;-moz-animation-name:fadein;animation-name:fadein}.pop.out.reverse{-webkit-transform:scale(.8);-webkit-animation-name:popout;-moz-transform:scale(.8);-moz-animation-name:popout;transform:scale(.8);animation-name:popout}@-webkit-keyframes popin{from{-webkit-transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@-moz-keyframes popin{from{-moz-transform:scale(.8);opacity:0}to{-moz-transform:scale(1);opacity:1}}@keyframes popin{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes popout{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@-moz-keyframes popout{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(.8);opacity:0}}@keyframes popout{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes slideinfromright{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromright{from{-moz-transform:translateX(100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromright{from{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes slideinfromleft{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromleft{from{-moz-transform:translateX(-100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromleft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@-webkit-keyframes slideouttoleft{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-100%,0,0)}}@-moz-keyframes slideouttoleft{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(-100%)}}@keyframes slideouttoleft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@-webkit-keyframes slideouttoright{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0)}}@-moz-keyframes slideouttoright{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(100%)}}@keyframes slideouttoright{from{transform:translateX(0)}to{transform:translateX(100%)}}.slide.out,.slide.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.slide.out{-webkit-transform:translate3d(-100%,0,0);-webkit-animation-name:slideouttoleft;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;transform:translateX(-100%);animation-name:slideouttoleft}.slide.in{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromright;-moz-transform:translateX(0);-moz-animation-name:slideinfromright;transform:translateX(0);animation-name:slideinfromright}.slide.out.reverse{-webkit-transform:translate3d(100%,0,0);-webkit-animation-name:slideouttoright;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;transform:translateX(100%);animation-name:slideouttoright}.slide.in.reverse{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromleft;-moz-transform:translateX(0);-moz-animation-name:slideinfromleft;transform:translateX(0);animation-name:slideinfromleft}.slidefade.out{-webkit-transform:translateX(-100%);-webkit-animation-name:slideouttoleft;-webkit-animation-duration:225ms;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;-moz-animation-duration:225ms;transform:translateX(-100%);animation-name:slideouttoleft;animation-duration:225ms}.slidefade.in{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidefade.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:slideouttoright;-webkit-animation-duration:200ms;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;-moz-animation-duration:200ms;transform:translateX(100%);animation-name:slideouttoright;animation-duration:200ms}.slidefade.in.reverse{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidedown.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slidedown.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfromtop;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfromtop;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfromtop;animation-duration:250ms}.slidedown.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slidedown.out.reverse{-webkit-transform:translateY(-100%);-webkit-animation-name:slideouttotop;-webkit-animation-duration:200ms;-moz-transform:translateY(-100%);-moz-animation-name:slideouttotop;-moz-animation-duration:200ms;transform:translateY(-100%);animation-name:slideouttotop;animation-duration:200ms}@-webkit-keyframes slideinfromtop{from{-webkit-transform:translateY(-100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfromtop{from{-moz-transform:translateY(-100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfromtop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttotop{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(-100%)}}@-moz-keyframes slideouttotop{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(-100%)}}@keyframes slideouttotop{from{transform:translateY(0)}to{transform:translateY(-100%)}}.slideup.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slideup.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfrombottom;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfrombottom;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfrombottom;animation-duration:250ms}.slideup.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slideup.out.reverse{-webkit-transform:translateY(100%);-webkit-animation-name:slideouttobottom;-webkit-animation-duration:200ms;-moz-transform:translateY(100%);-moz-animation-name:slideouttobottom;-moz-animation-duration:200ms;transform:translateY(100%);animation-name:slideouttobottom;animation-duration:200ms}@-webkit-keyframes slideinfrombottom{from{-webkit-transform:translateY(100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfrombottom{from{-moz-transform:translateY(100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfrombottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttobottom{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(100%)}}@-moz-keyframes slideouttobottom{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(100%)}}@keyframes slideouttobottom{from{transform:translateY(0)}to{transform:translateY(100%)}}.viewport-flip{-webkit-perspective:1000;-moz-perspective:1000;perspective:1000;position:absolute}.flip{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-moz-backface-visibility:hidden;-moz-transform:translateX(0);backface-visibility:hidden;transform:translateX(0)}.flip.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:175ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:175ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:175ms}.flip.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:225ms;-moz-animation-name:flipintoright;-moz-animation-duration:225ms;animation-name:flipintoright;animation-duration:225ms}.flip.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.flip.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.viewport-turn{-webkit-perspective:200px;-moz-perspective:200px;-ms-perspective:200px;perspective:200px;position:absolute}.turn{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-webkit-transform-origin:0;-moz-backface-visibility:hidden;-moz-transform:translateX(0);-moz-transform-origin:0;backface-visibility:hidden;transform:translateX(0);transform-origin:0}.turn.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:125ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:125ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:125ms}.turn.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:250ms;-moz-animation-name:flipintoright;-moz-animation-duration:250ms;animation-name:flipintoright;animation-duration:250ms}.turn.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.turn.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.flow{-webkit-transform-origin:50% 30%;-webkit-box-shadow:0 0 20px rgba(0,0,0,.4);-moz-transform-origin:50% 30%;-moz-box-shadow:0 0 20px rgba(0,0,0,.4);transform-origin:50% 30%;box-shadow:0 0 20px rgba(0,0,0,.4)}.ui-dialog.flow{-webkit-transform-origin:none;-webkit-box-shadow:none;-moz-transform-origin:none;-moz-box-shadow:none;transform-origin:none;box-shadow:none}.flow.out{-webkit-transform:translateX(-100%) scale(.7);-webkit-animation-name:flowouttoleft;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(-100%) scale(.7);-moz-animation-name:flowouttoleft;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(-100%) scale(.7);animation-name:flowouttoleft;animation-timing-function:ease;animation-duration:350ms}.flow.in{-webkit-transform:translateX(0) scale(1);-webkit-animation-name:flowinfromright;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(0) scale(1);-moz-animation-name:flowinfromright;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(0) scale(1);animation-name:flowinfromright;animation-timing-function:ease;animation-duration:350ms}.flow.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:flowouttoright;-moz-transform:translateX(100%);-moz-animation-name:flowouttoright;transform:translateX(100%);animation-name:flowouttoright}.flow.in.reverse{-webkit-animation-name:flowinfromleft;-moz-animation-name:flowinfromleft;animation-name:flowinfromleft}@-webkit-keyframes flowouttoleft{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(-100%) scale(.7)}}@-moz-keyframes flowouttoleft{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(-100%) scale(.7)}}@keyframes flowouttoleft{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(-100%) scale(.7)}}@-webkit-keyframes flowouttoright{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(100%) scale(.7)}}@-moz-keyframes flowouttoright{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(100%) scale(.7)}}@keyframes flowouttoright{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(100%) scale(.7)}}@-webkit-keyframes flowinfromleft{0%{-webkit-transform:translateX(-100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromleft{0%{-moz-transform:translateX(-100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromleft{0%{transform:translateX(-100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}@-webkit-keyframes flowinfromright{0%{-webkit-transform:translateX(100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromright{0%{-moz-transform:translateX(100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromright{0%{transform:translateX(100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}.ui-field-contain,.ui-mobile fieldset.ui-field-contain{display:block;position:relative;overflow:visible;clear:both;padding:.8em 0}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{margin:0}.ui-field-contain:last-child{border-bottom-width:0}@media (min-width:28em){.ui-field-contain,.ui-mobile fieldset.ui-field-contain{padding:0;margin:1em 0;border-bottom-width:0}.ui-field-contain:before,.ui-field-contain:after{content:"";display:table}.ui-field-contain:after{clear:both}.ui-field-contain>label,.ui-field-contain .ui-controlgroup-label,.ui-field-contain>.ui-rangeslider>label{float:left;width:20%;margin:.5em 2% 0 0}.ui-popup .ui-field-contain>label,.ui-popup .ui-field-contain .ui-controlgroup-label,.ui-popup .ui-field-contain>.ui-rangeslider>label{float:none;width:auto;margin:0 0 .4em}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{float:left;width:78%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-hide-label>label~[class*=ui-],.ui-hide-label .ui-controlgroup-controls,.ui-popup .ui-field-contain>label~[class*=ui-],.ui-popup .ui-field-contain .ui-controlgroup-controls{float:none;width:100%}.ui-field-contain>label~.ui-btn-inline{width:auto;margin-right:.625em}.ui-field-contain>label~.ui-btn-inline.ui-btn-icon-notext{width:1.75em}}.ui-grid-a,.ui-grid-b,.ui-grid-c,.ui-grid-d,.ui-grid-solo{overflow:hidden}.ui-block-a,.ui-block-b,.ui-block-c,.ui-block-d,.ui-block-e{margin:0;padding:0;border:0;float:left;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-block-a{clear:left}ul.ui-grid-a,ul.ui-grid-b,ul.ui-grid-c,ul.ui-grid-d,ul.ui-grid-solo,li.ui-block-a,li.ui-block-b,li.ui-block-c,li.ui-block-d,li.ui-block-e{margin-left:0;margin-right:0;padding:0;list-style:none}[class*=ui-block-]>button.ui-btn{margin-right:0;margin-left:0}[class*=ui-block-]>.ui-btn,[class*=ui-block-]>.ui-select,[class*=ui-block-]>.ui-checkbox,[class*=ui-block-]>.ui-radio,[class*=ui-block-]>button.ui-btn-inline,[class*=ui-block-]>button.ui-btn-icon-notext,.ui-header [class*=ui-block-]>button.ui-btn,.ui-footer [class*=ui-block-]>button.ui-btn{margin-right:.3125em;margin-left:.3125em}.ui-grid-a>.ui-block-a,.ui-grid-a>.ui-block-b{width:50%}.ui-grid-b>.ui-block-a,.ui-grid-b>.ui-block-b,.ui-grid-b>.ui-block-c{width:33.333%}.ui-grid-c>.ui-block-a,.ui-grid-c>.ui-block-b,.ui-grid-c>.ui-block-c,.ui-grid-c>.ui-block-d{width:25%}.ui-grid-d>.ui-block-a,.ui-grid-d>.ui-block-b,.ui-grid-d>.ui-block-c,.ui-grid-d>.ui-block-d,.ui-grid-d>.ui-block-e{width:20%}.ui-grid-solo>.ui-block-a{width:100%;float:none}@media (max-width:35em){.ui-responsive>.ui-block-a,.ui-responsive>.ui-block-b,.ui-responsive>.ui-block-c,.ui-responsive>.ui-block-d,.ui-responsive>.ui-block-e{width:100%;float:none}}.ui-header-fixed,.ui-footer-fixed{left:0;right:0;width:100%;position:fixed;z-index:1000}.ui-header-fixed{top:-1px;padding-top:1px}.ui-header-fixed.ui-fixed-hidden{top:0;padding-top:0}.ui-header-fixed .ui-btn-left,.ui-header-fixed .ui-btn-right{margin-top:1px}.ui-header-fixed.ui-fixed-hidden .ui-btn-left,.ui-header-fixed.ui-fixed-hidden .ui-btn-right{margin-top:0}.ui-footer-fixed{bottom:-1px;padding-bottom:1px}.ui-footer-fixed.ui-fixed-hidden{bottom:0;padding-bottom:0}.ui-header-fullscreen,.ui-footer-fullscreen{filter:Alpha(Opacity=90);opacity:.9}.ui-page-header-fixed{padding-top:2.8125em}.ui-page-footer-fixed{padding-bottom:2.8125em}.ui-page-header-fullscreen>.ui-content,.ui-page-footer-fullscreen>.ui-content{padding:0}.ui-fixed-hidden{position:absolute}.ui-footer-fixed.ui-fixed-hidden{display:none}.ui-page .ui-footer-fixed.ui-fixed-hidden{display:block}.ui-page-header-fullscreen .ui-fixed-hidden,.ui-page-footer-fullscreen .ui-fixed-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-header-fixed .ui-btn,.ui-footer-fixed .ui-btn{z-index:10}.ui-android-2x-fixed .ui-li-has-thumb{-webkit-transform:translate3d(0,0,0)}.ui-navbar{max-width:100%}.ui-navbar ul:before,.ui-navbar ul:after{content:"";display:table}.ui-navbar ul:after{clear:both}.ui-navbar ul{list-style:none;margin:0;padding:0;position:relative;display:block;border:0;max-width:100%;overflow:visible}.ui-navbar li .ui-btn{font-size:12.5px;display:block;margin:0;border-right-width:0}.ui-header .ui-navbar li button.ui-btn,.ui-footer .ui-navbar li button.ui-btn{margin:0;width:100%}.ui-navbar .ui-btn:focus{z-index:1}.ui-navbar li:last-child .ui-btn{margin-right:-4px}.ui-navbar li:last-child .ui-btn:after{margin-right:4px}.ui-content .ui-navbar li:last-child .ui-btn,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn{border-right-width:1px;margin-right:0}.ui-content .ui-navbar li:last-child .ui-btn:after,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after{margin-right:0}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn{border-right-width:1px;margin-right:-1px}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after{margin-right:1px}.ui-navbar .ui-grid-duo .ui-btn{border-top-width:0}.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-header .ui-navbar .ui-btn,.ui-footer .ui-navbar .ui-btn{border-top-width:0;border-bottom-width:0}.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:0}.ui-header .ui-title~.ui-navbar .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-input-btn input{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background:#fff;background:rgba(255,255,255,0);filter:Alpha(Opacity=0);opacity:.1;font-size:1px;text-indent:-9999px;z-index:2}.ui-input-btn.ui-state-disabled input{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible{margin:0 -1em}.ui-collapsible-inset,.ui-collapsible-set{margin:.5em 0}.ui-collapsible-heading{display:block;margin:0;padding:0;position:relative}.ui-collapsible-heading .ui-btn{text-align:left;margin:0;border-left-width:0;border-right-width:0}.ui-collapsible-heading .ui-btn-icon-top,.ui-collapsible-heading .ui-btn-icon-bottom{text-align:center}.ui-collapsible-inset .ui-collapsible-heading .ui-btn{border-right-width:1px;border-left-width:1px}.ui-collapsible-collapsed+.ui-collapsible:not(.ui-collapsible-inset)>.ui-collapsible-heading .ui-btn{border-top-width:0}.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn{border-top-width:1px}.ui-collapsible-heading-status{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible-content{display:block;margin:0;padding:.5em 1em}.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:0;border-right-width:0;border-top-width:0;border-bottom-width:1px;border-style:solid}.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:1px;border-right-width:1px}.ui-collapsible-inset .ui-collapsible-content{margin:0}.ui-collapsible-content-collapsed{display:none}.ui-collapsible-set>.ui-collapsible.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-collapsible-heading,.ui-collapsible-heading>.ui-btn{-webkit-border-radius:inherit;border-radius:inherit}.ui-collapsible-set .ui-collapsible.ui-first-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-collapsible-content,.ui-collapsible-set .ui-collapsible.ui-last-child{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-themed-content:not(.ui-collapsible-collapsed)>.ui-collapsible-heading{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-collapsible-set .ui-collapsible{margin:-1px -1em 0}.ui-collapsible-set .ui-collapsible-inset{margin:-1px 0 0}.ui-collapsible-set .ui-collapsible.ui-first-child{margin-top:0}.ui-controlgroup,fieldset.ui-controlgroup{padding:0;margin:.5em 0}.ui-field-contain .ui-controlgroup,.ui-field-contain fieldset.ui-controlgroup{margin:0}.ui-mini .ui-controlgroup-label{font-size:16px}.ui-controlgroup.ui-mini .ui-btn-icon-notext,.ui-controlgroup .ui-mini.ui-btn-icon-notext{font-size:inherit}.ui-controlgroup-controls .ui-btn,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-select{margin:0}.ui-controlgroup-controls .ui-btn:focus,.ui-controlgroup-controls .ui-btn.ui-focus{z-index:1}.ui-controlgroup-controls li{list-style:none}.ui-controlgroup-horizontal .ui-controlgroup-controls{display:inline-block;vertical-align:middle}.ui-controlgroup-horizontal .ui-controlgroup-controls:before,.ui-controlgroup-horizontal .ui-controlgroup-controls:after{content:"";display:table}.ui-controlgroup-horizontal .ui-controlgroup-controls:after{clear:both}.ui-controlgroup-horizontal .ui-controlgroup-controls>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls li>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select{float:left;clear:none}.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,.ui-controlgroup-controls .ui-btn-icon-notext{width:auto}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext{width:1.5em}.ui-controlgroup-controls .ui-btn-icon-notext{height:auto;padding:.7em 1em}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn{border-bottom-width:0}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child{border-bottom-width:1px}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn{border-right-width:0}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child{border-right-width:1px}.ui-controlgroup-controls .ui-btn-corner-all,.ui-controlgroup-controls .ui-btn.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-controlgroup-controls,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-select,.ui-controlgroup-controls li{-webkit-border-radius:inherit;border-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-last-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-controls a.ui-shadow:not(:focus),.ui-controlgroup-controls button.ui-shadow:not(:focus),.ui-controlgroup-controls div.ui-shadow:not(.ui-focus){-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ui-controlgroup-label legend{max-width:100%}.ui-controlgroup-controls>label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-dialog{background:none!important}.ui-dialog-contain{width:92.5%;max-width:500px;margin:10% auto 1em;padding:0;position:relative;top:-1em}.ui-dialog-contain>.ui-header,.ui-dialog-contain>.ui-content,.ui-dialog-contain>.ui-footer{display:block;position:relative;width:auto;margin:0}.ui-dialog-contain>.ui-header{overflow:hidden;z-index:10;padding:0;border-top-width:0}.ui-dialog-contain>.ui-footer{z-index:10;padding:0 1em;border-bottom-width:0}.ui-popup-open .ui-header-fixed,.ui-popup-open .ui-footer-fixed{position:absolute!important}.ui-popup-screen{background-image:url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");top:0;left:0;right:0;bottom:1px;position:absolute;filter:Alpha(Opacity=0);opacity:0;z-index:1099}.ui-popup-screen.in{opacity:.5;filter:Alpha(Opacity=50)}.ui-popup-screen.out{opacity:0;filter:Alpha(Opacity=0)}.ui-popup-container{z-index:1100;display:inline-block;position:absolute;padding:0;outline:0}.ui-popup{position:relative}.ui-popup.ui-body-inherit{border-width:1px;border-style:solid}.ui-popup-hidden{left:0;top:0;position:absolute!important;visibility:hidden}.ui-popup-truncate{height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-popup.ui-content,.ui-popup .ui-content{overflow:visible}.ui-popup>.ui-header{border-top-width:0}.ui-popup>.ui-footer{border-bottom-width:0}.ui-popup>p,.ui-popup>h1,.ui-popup>h2,.ui-popup>h3,.ui-popup>h4,.ui-popup>h5,.ui-popup>h6{margin:.5em .4375em}.ui-popup>span{display:block;margin:.5em .4375em}.ui-popup-container .ui-content>p,.ui-popup-container .ui-content>h1,.ui-popup-container .ui-content>h2,.ui-popup-container .ui-content>h3,.ui-popup-container .ui-content>h4,.ui-popup-container .ui-content>h5,.ui-popup-container .ui-content>h6{margin:.5em 0}.ui-popup-container .ui-content>span{margin:0}.ui-popup-container .ui-content>p:first-child,.ui-popup-container .ui-content>h1:first-child,.ui-popup-container .ui-content>h2:first-child,.ui-popup-container .ui-content>h3:first-child,.ui-popup-container .ui-content>h4:first-child,.ui-popup-container .ui-content>h5:first-child,.ui-popup-container .ui-content>h6:first-child{margin-top:0}.ui-popup-container .ui-content>p:last-child,.ui-popup-container .ui-content>h1:last-child,.ui-popup-container .ui-content>h2:last-child,.ui-popup-container .ui-content>h3:last-child,.ui-popup-container .ui-content>h4:last-child,.ui-popup-container .ui-content>h5:last-child,.ui-popup-container .ui-content>h6:last-child{margin-bottom:0}.ui-popup>img{max-width:100%;max-height:100%;vertical-align:middle}.ui-popup:not(.ui-content)>img:only-child,.ui-popup:not(.ui-content)>.ui-btn-left:first-child+img:last-child,.ui-popup:not(.ui-content)>.ui-btn-right:first-child+img:last-child{-webkit-border-radius:inherit;border-radius:inherit}.ui-popup iframe{vertical-align:middle}.ui-popup>.ui-btn-left,.ui-popup>.ui-btn-right{position:absolute;top:-11px;margin:0;z-index:1101}.ui-popup>.ui-btn-left{left:-11px}.ui-popup>.ui-btn-right{right:-11px}.ui-popup-arrow-container{width:20px;height:20px}.ui-popup-arrow-container.ui-popup-arrow-l{left:-10px;clip:rect(-1000px,10px,2000px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-t{top:-10px;clip:rect(-1000px,2000px,10px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-r{right:-10px;clip:rect(-1000px,2000px,2000px,10px)}.ui-popup-arrow-container.ui-popup-arrow-b{bottom:-10px;clip:rect(10px,2000px,1000px,-1000px)}.ui-popup-arrow-container .ui-popup-arrow{width:28.284271247px;height:28.284271247px;border-width:1px;border-style:solid}.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow{left:-4.142135623px;top:5.857864376px}.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow{left:-4.142135623px;top:-14.142135623px}.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow{left:5.857864376px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow{left:-14.142135623px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-7.0710678118654755px}.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-4.142135623730951px}.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow{margin-left:-7.0710678118654755px;margin-top:-5.857864376269049px}.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow{margin-left:-4.142135623730951px;margin-top:-5.857864376269049px}.ui-popup>.ui-popup-arrow-guide{position:absolute;left:0;right:0;top:0;bottom:0;visibility:hidden}.ui-popup-arrow-container{position:absolute}.ui-popup-arrow{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;overflow:hidden;box-sizing:border-box}.ui-popup-arrow-container.ie .ui-popup-arrow{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.7071067811865474, M12=-.7071067811865477, M21=.7071067811865477, M22=.7071067811865474, SizingMethod='auto expand')}.ui-checkbox,.ui-radio{margin:.5em 0;position:relative}.ui-checkbox .ui-btn,.ui-radio .ui-btn{margin:0;text-align:left;white-space:normal;z-index:2}.ui-controlgroup .ui-checkbox .ui-btn.ui-focus,.ui-controlgroup .ui-radio .ui-btn.ui-focus{z-index:3}.ui-checkbox .ui-btn-icon-top,.ui-radio .ui-btn-icon-top,.ui-checkbox .ui-btn-icon-bottom,.ui-radio .ui-btn-icon-bottom{text-align:center}.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after,.ui-controlgroup-horizontal .ui-radio .ui-btn:after{content:none;display:none}.ui-checkbox input,.ui-radio input{position:absolute;left:.466em;top:50%;width:22px;height:22px;margin:-11px 0 0 0;outline:0!important;z-index:1}.ui-controlgroup-horizontal .ui-checkbox input,.ui-controlgroup-horizontal .ui-radio input{left:50%;margin-left:-9px}.ui-checkbox input:disabled,.ui-radio input:disabled{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select{margin-top:.5em;margin-bottom:.5em;position:relative}.ui-select>select{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select .ui-btn{margin:0;opacity:1}.ui-select .ui-btn select{position:absolute;top:0;left:0;width:100%;min-height:1.5em;min-height:100%;height:3em;max-height:100%;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;filter:Alpha(Opacity=0);opacity:0;z-index:2}@-moz-document url-prefix(){.ui-select .ui-btn select{opacity:.0001}}.ui-select .ui-state-disabled select{display:none}.ui-select span.ui-state-disabled{filter:Alpha(Opacity=100);opacity:1}.ui-select .ui-btn.ui-select-nativeonly{border-radius:0;border:0}.ui-select .ui-btn.ui-select-nativeonly select{opacity:1;text-indent:0;display:block}.ui-select .ui-li-has-count.ui-btn{padding-right:2.8125em}.ui-select .ui-li-has-count.ui-btn-icon-right{padding-right:4.6875em}.ui-select .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-select .ui-btn>span:not(.ui-li-count){display:block;text-overflow:ellipsis;overflow:hidden!important;white-space:nowrap}.ui-selectmenu.ui-popup{min-width:11em}.ui-selectmenu .ui-dialog-contain{overflow:hidden}.ui-selectmenu .ui-header{margin:0;padding:0;border-width:0}.ui-selectmenu.ui-dialog .ui-header{z-index:1;position:relative}.ui-selectmenu.ui-popup .ui-header{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-selectmenu.ui-popup .ui-header h1:after{content:'.';visibility:hidden}.ui-selectmenu .ui-header .ui-title{margin:0 2.875em}.ui-selectmenu.ui-dialog .ui-content{overflow:visible;z-index:1}.ui-selectmenu .ui-selectmenu-list{margin:0;-webkit-border-radius:inherit;border-radius:inherit}.ui-header:not(.ui-screen-hidden)+.ui-selectmenu-list{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.ui-header.ui-screen-hidden+.ui-selectmenu-list li.ui-first-child .ui-btn{border-top-width:0}.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn{border-bottom-width:0}.ui-selectmenu .ui-btn.ui-li-divider{cursor:default}.ui-selectmenu .ui-selectmenu-placeholder{display:none}.ui-listview,.ui-listview>li{margin:0;padding:0;list-style:none}.ui-content .ui-listview,.ui-panel-inner>.ui-listview{margin:-1em}.ui-content .ui-listview-inset,.ui-panel-inner>.ui-listview-inset{margin:1em 0}.ui-collapsible-content>.ui-listview{margin:-.5em -1em}.ui-collapsible-content>.ui-listview-inset{margin:.5em 0}.ui-listview>li{display:block;position:relative;overflow:visible}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{margin:0;display:block;position:relative;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li>.ui-btn:focus{z-index:1}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{border-width:1px 0 0;border-style:solid}.ui-listview-inset>.ui-li-static,.ui-listview-inset>.ui-li-divider,.ui-listview-inset>li>a.ui-btn{border-right-width:1px;border-left-width:1px}.ui-listview>.ui-li-static.ui-last-child,.ui-listview>.ui-li-divider.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{border-bottom-width:1px}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:0}.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child,.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child>a.ui-btn{border-bottom-width:0}.ui-listview>li.ui-first-child,.ui-listview>li.ui-first-child>a.ui-btn{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-listview>li.ui-li-has-alt>a.ui-btn{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-listview>li.ui-first-child>a.ui-btn+a.ui-btn{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-listview>li.ui-last-child>a.ui-btn+a.ui-btn{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-listview>li.ui-first-child img:first-child:not(.ui-li-icon){-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child img:first-child:not(.ui-li-icon){-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset){-webkit-border-radius:inherit;border-radius:inherit}.ui-listview>.ui-li-static{padding:.7em 1em}.ui-listview>.ui-li-divider{padding:.5em 1.143em;font-size:14px;font-weight:700;cursor:default;outline:0}.ui-listview>.ui-li-has-count>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-count,.ui-listview>.ui-li-divider.ui-li-has-count{padding-right:2.8125em}.ui-listview>.ui-li-has-count>.ui-btn-icon-right{padding-right:4.6875em}.ui-listview>.ui-li-has-thumb>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-thumb{min-height:3.625em;padding-left:6.25em}.ui-listview>.ui-li-has-icon>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-icon{min-height:1.25em;padding-left:2.5em}.ui-li-count{position:absolute;font-size:12.5px;font-weight:700;text-align:center;border-width:1px;border-style:solid;padding:0 .48em;line-height:1.6em;min-height:1.6em;min-width:.64em;right:.8em;top:50%;margin-top:-.88em}.ui-listview .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-listview .ui-li-has-thumb>img:first-child,.ui-listview .ui-li-has-thumb>.ui-btn>img:first-child,.ui-listview .ui-li-has-thumb .ui-li-thumb{position:absolute;left:0;top:0;max-height:5em;max-width:5em}.ui-listview>.ui-li-has-icon>img:first-child,.ui-listview>.ui-li-has-icon>.ui-btn>img:first-child{position:absolute;left:.625em;top:.9em;max-height:1em;max-width:1em}.ui-listview>li h1,.ui-listview>li h2,.ui-listview>li h3,.ui-listview>li h4,.ui-listview>li h5,.ui-listview>li h6{font-size:1em;font-weight:700;display:block;margin:.45em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li p{font-size:.75em;font-weight:400;display:block;margin:.6em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview .ui-li-aside{position:absolute;top:1em;right:3.333em;margin:0;text-align:right}.ui-listview>li.ui-li-has-alt>.ui-btn{margin-right:2.5em;border-right-width:0}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn{position:absolute;width:2.5em;height:100%;min-height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-left-width:1px;top:0;right:0;margin:0;padding:0;z-index:2}.ui-listview-inset>li.ui-li-has-alt>.ui-btn+.ui-btn{border-right-width:1px}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn:focus{z-index:3}ol.ui-listview,ol.ui-listview>.ui-li-divider{counter-reset:listnumbering}ol.ui-listview>li>.ui-btn,ol.ui-listview>li.ui-li-static{vertical-align:middle}ol.ui-listview>li>.ui-btn:first-child:before,ol.ui-listview>li.ui-li-static:before,ol.ui-listview>li.ui-field-contain>label:before,ol.ui-listview>li.ui-field-contain>.ui-controlgroup-label:before{display:inline-block;font-size:.9em;font-weight:400;padding-right:.3em;min-width:1.4em;line-height:1.5;vertical-align:middle;counter-increment:listnumbering;content:counter(listnumbering) "."}ol.ui-listview>li.ui-field-contain:before{content:none;display:none}ol.ui-listview>li h1:first-child,ol.ui-listview>li h2:first-child,ol.ui-listview>li h3:first-child,ol.ui-listview>li h4:first-child,ol.ui-listview>li h5:first-child,ol.ui-listview>li h6:first-child,ol.ui-listview>li p:first-child,ol.ui-listview>li img:first-child+*{display:inline-block;vertical-align:middle}ol.ui-listview>li h1:first-child~*,ol.ui-listview>li h2:first-child~*,ol.ui-listview>li h3:first-child~*,ol.ui-listview>li h4:first-child~*,ol.ui-listview>li h5:first-child~*,ol.ui-listview>li h6:first-child~*,ol.ui-listview>li p:first-child~*,ol.ui-listview>li img:first-child+*~*{margin-top:0;text-indent:2.04em}html .ui-filterable+.ui-listview,html .ui-filterable.ui-listview{margin-top:.5em}.ui-collapsible-content>form.ui-filterable{margin-top:-.5em}.ui-collapsible-content>.ui-input-search.ui-filterable{margin-top:0}.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:1px}div.ui-slider{height:30px;margin:.5em 0;padding:0;-ms-touch-action:pan-y pinch-zoom double-tap-zoom}div.ui-slider:before,div.ui-slider:after{content:"";display:table}div.ui-slider:after{clear:both}input.ui-slider-input{display:block;float:left;font-size:14px;font-weight:700;margin:0;padding:4px;width:40px;height:20px;line-height:20px;border-width:1px;border-style:solid;outline:0;text-align:center;vertical-align:text-bottom;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-slider-input::-webkit-outer-spin-button,.ui-slider-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-slider-track{position:relative;overflow:visible;border-width:1px;border-style:solid;height:15px;margin:0 15px 0 68px;top:6px}.ui-slider-track.ui-mini{height:12px;top:8px}.ui-slider-track .ui-slider-bg{height:100%}.ui-slider-track .ui-btn.ui-slider-handle{position:absolute;z-index:1;top:50%;width:28px;height:28px;margin:-15px 0 0 -15px;outline:0;padding:0}.ui-slider-track.ui-mini .ui-slider-handle{height:14px;width:14px;margin:-8px 0 0 -8px}select.ui-slider-switch{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}div.ui-slider-switch{display:inline-block;height:32px;width:5.8em;top:0}div.ui-slider-switch:before,div.ui-slider-switch:after{display:none;clear:none}div.ui-slider-switch.ui-mini{height:29px;top:0}.ui-slider-inneroffset{margin:0 16px;position:relative;z-index:1}.ui-slider-switch.ui-mini .ui-slider-inneroffset{margin:0 15px 0 14px}.ui-slider-switch .ui-btn.ui-slider-handle{margin:1px 0 0 -15px}.ui-slider-switch.ui-mini .ui-slider-handle{width:25px;height:25px;margin:1px 0 0 -13px;padding:0}.ui-slider-handle-snapping{-webkit-transition:left 70ms linear;-moz-transition:left 70ms linear;transition:left 70ms linear}.ui-slider-switch .ui-slider-label{position:absolute;text-align:center;width:100%;overflow:hidden;font-size:16px;top:0;line-height:2;min-height:100%;white-space:nowrap;cursor:pointer}.ui-slider-switch.ui-mini .ui-slider-label{font-size:14px}.ui-slider-switch .ui-slider-label-a{z-index:1;left:0;text-indent:-1.5em}.ui-slider-switch .ui-slider-label-b{z-index:0;right:0;text-indent:1.5em}.ui-slider-track .ui-slider-bg,.ui-slider-switch .ui-slider-label,.ui-slider-switch .ui-slider-inneroffset,.ui-slider-handle{-webkit-border-radius:inherit;border-radius:inherit}.ui-field-contain div.ui-slider-switch{margin:0}.ui-field-contain div.ui-slider-switch,.ui-field-contain.ui-hide-label div.ui-slider-switch,html .ui-popup .ui-field-contain div.ui-slider-switch{display:inline-block;width:5.8em}.ui-slider-popup{width:64px;height:64px;font-size:36px;padding-top:14px;opacity:.8}.ui-slider-popup{position:absolute!important;text-align:center;z-index:100}.ui-slider-track .ui-btn.ui-slider-handle{font-size:.9em;line-height:30px}.ui-rangeslider{margin:.5em 0}.ui-rangeslider:before,.ui-rangeslider:after{content:"";display:table}.ui-rangeslider:after{clear:both}.ui-rangeslider .ui-slider-input.ui-rangeslider-last{float:right}.ui-rangeslider .ui-rangeslider-sliders{position:relative;overflow:visible;height:30px;margin:0 68px}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track{position:absolute;top:6px;right:0;left:0;margin:0}.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track{top:8px}.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg{display:none}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{background-color:transparent;background:0;border-width:0;height:0}html >body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{height:15px;border-width:1px}html >body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child{height:12px}div.ui-rangeslider label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-field-contain .ui-rangeslider input.ui-slider-input,.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input,.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders,.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders{margin-top:0;margin-bottom:0}.ui-input-text,.ui-input-search{margin:.5em 0;border-width:1px;border-style:solid}.ui-mini{margin:.446em}.ui-input-text input,.ui-input-search input,textarea.ui-input-text{padding:.4em;line-height:1.4em;display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:0}.ui-input-text input,.ui-input-search input{margin:0;min-height:2.2em;text-align:left;border:0;background:transparent none;-webkit-appearance:none;-webkit-border-radius:inherit;border-radius:inherit}textarea.ui-input-text{overflow:auto;resize:vertical}.ui-mini .ui-input-text input,.ui-mini .ui-input-search input,.ui-input-text.ui-mini input,.ui-input-search.ui-mini input,.ui-mini textarea.ui-input-text,textarea.ui-mini{font-size:14px}.ui-mini textarea.ui-input-text,textarea.ui-mini{margin:.446em 0}.ui-input-has-clear,.ui-input-search{position:relative}.ui-input-has-clear{padding-right:2.375em}.ui-mini.ui-input-has-clear{padding-right:2.923em}.ui-input-has-clear input{padding-right:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-input-search input{padding-left:1.75em}.ui-input-search:after{position:absolute;left:.3125em;top:50%;margin-top:-7px;content:"";background-position:center center;background-repeat:no-repeat;width:14px;height:14px;filter:Alpha(Opacity=50);opacity:.5}.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear,.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear{position:absolute;right:0;top:50%;margin:-14px .3125em 0;border:0;background-color:transparent}.ui-input-search .ui-input-clear-hidden,.ui-input-text .ui-input-clear-hidden{display:none}.ui-input-text input::-moz-placeholder,.ui-input-search input::-moz-placeholder,textarea.ui-input-text::-moz-placeholder{color:#aaa}.ui-input-text input:-ms-input-placeholder,.ui-input-search input:-ms-input-placeholder,textarea.ui-input-text:-ms-input-placeholder{color:#aaa}.ui-input-text input[type=number]::-webkit-outer-spin-button{margin:0}.ui-input-text input::-ms-clear,.ui-input-search input::-ms-clear{display:none}.ui-input-text input:focus,.ui-input-search input:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea.ui-input-text.ui-textinput-autogrow{overflow:hidden}.ui-textinput-autogrow-resize{-webkit-transition:height .25s;-o-transition:height .25s;-moz-transition:height .25s;transition:height .25s}.ui-flipswitch{display:inline-block;vertical-align:middle;width:5.875em;height:1.875em;border-width:1px;border-style:solid;margin:.5em 0;overflow:hidden;-webkit-transition-property:padding,width,background-color,color,border-color;-moz-transition-property:padding,width,background-color,color,border-color;-o-transition-property:padding,width,background-color,color,border-color;transition-property:padding,width,background-color,color,border-color;-webkit-transition-duration:100ms;-moz-transition-duration:100ms;-o-transition-duration:100ms;transition-duration:100ms;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.ui-flipswitch.ui-flipswitch-active{padding-left:4em;width:1.875em}.ui-flipswitch-input{position:absolute;height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;outline:0;filter:Alpha(Opacity=0);opacity:0}.ui-flipswitch .ui-btn.ui-flipswitch-on,.ui-flipswitch .ui-flipswitch-off{float:left;height:1.75em;margin:.0625em;line-height:1.65em}.ui-flipswitch .ui-btn.ui-flipswitch-on{width:1.75em;padding:0;text-indent:-2.6em;text-align:left;border-width:1px;border-style:solid;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:inherit;overflow:visible;color:inherit;text-shadow:inherit}.ui-flipswitch .ui-flipswitch-off{padding:1px;text-indent:1em}html .ui-field-contain>label+.ui-flipswitch,html .ui-popup .ui-field-contain>label+.ui-flipswitch{display:inline-block;width:5.875em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-field-contain .ui-flipswitch.ui-flipswitch-active,.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active{width:1.875em}.ui-table{border:0;border-collapse:collapse;padding:0;width:100%}.ui-table th,.ui-table td{line-height:1.5em;text-align:left;padding:.4em .5em;vertical-align:top}.ui-table th .ui-btn,.ui-table td .ui-btn{line-height:normal}.ui-table th{font-weight:700}.ui-table caption{text-align:left;margin-bottom:1.4em;opacity:.5}.ui-table-columntoggle-btn{float:right;margin-bottom:.8em}.ui-table-columntoggle-popup fieldset{margin:0}.ui-table-columntoggle{clear:both}@media only all{th.ui-table-priority-6,td.ui-table-priority-6,th.ui-table-priority-5,td.ui-table-priority-5,th.ui-table-priority-4,td.ui-table-priority-4,th.ui-table-priority-3,td.ui-table-priority-3,th.ui-table-priority-2,td.ui-table-priority-2,th.ui-table-priority-1,td.ui-table-priority-1{display:none}}@media screen and (min-width:20em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-1,.ui-table-columntoggle.ui-responsive td.ui-table-priority-1{display:table-cell}}@media screen and (min-width:30em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-2,.ui-table-columntoggle.ui-responsive td.ui-table-priority-2{display:table-cell}}@media screen and (min-width:40em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-3,.ui-table-columntoggle.ui-responsive td.ui-table-priority-3{display:table-cell}}@media screen and (min-width:50em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-4,.ui-table-columntoggle.ui-responsive td.ui-table-priority-4{display:table-cell}}@media screen and (min-width:60em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-5,.ui-table-columntoggle.ui-responsive td.ui-table-priority-5{display:table-cell}}@media screen and (min-width:70em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-6,.ui-table-columntoggle.ui-responsive td.ui-table-priority-6{display:table-cell}}.ui-table-columntoggle th.ui-table-cell-hidden,.ui-table-columntoggle td.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden{display:none}.ui-table-columntoggle th.ui-table-cell-visible,.ui-table-columntoggle td.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible{display:table-cell}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{display:none}@media only all{.ui-table-reflow thead td,.ui-table-reflow thead th{display:none}.ui-table-reflow td,.ui-table-reflow th{text-align:left;display:block}.ui-table-reflow tbody th{margin-top:3em}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em}.ui-table-reflow th .ui-table-cell-label-top,.ui-table-reflow td .ui-table-cell-label-top{display:block;padding:.4em 0;margin:.4em 0;text-transform:uppercase;font-size:.9em;font-weight:400}}@media (min-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th,.ui-table-reflow.ui-responsive tbody th,.ui-table-reflow.ui-responsive tbody td,.ui-table-reflow.ui-responsive thead td,.ui-table-reflow.ui-responsive thead th{display:table-cell;margin:0}.ui-table-reflow.ui-responsive td .ui-table-cell-label,.ui-table-reflow.ui-responsive th .ui-table-cell-label{display:none}}@media (max-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}}.ui-panel{width:17em;min-height:100%;max-height:none;border-width:0;position:absolute;top:0;display:block}.ui-panel-closed{width:0;max-height:100%;overflow:hidden;visibility:hidden;left:0;clip:rect(1px,1px,1px,1px)}.ui-panel-fixed{position:fixed;bottom:-1px;padding-bottom:1px}.ui-panel-display-reveal{z-index:1}.ui-panel-display-push{z-index:999}.ui-panel-display-overlay{z-index:1001}.ui-panel-inner{padding:1em}.ui-panel-page-container{overflow-x:visible}.ui-panel-page-container-themed .ui-page-active{background:0}.ui-panel-wrapper{position:relative;min-height:inherit;border:0;overflow-x:hidden;z-index:999}.ui-panel-fixed-toolbar{overflow-x:hidden}.ui-panel-dismiss{position:absolute;top:0;left:0;right:0;height:100%;z-index:1002;display:none}.ui-panel-dismiss-open{display:block}.ui-panel-animate{-webkit-transition:-webkit-transform 300ms ease;-webkit-transition-duration:300ms;-moz-transition:-moz-transform 300ms ease;transition:transform 300ms ease}@media screen and (max-device-width:768px){.ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper,.ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper,.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:none}.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:-ms-transform 1ms;-ms-transform:rotate(0deg)}}.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal){-webkit-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0)}.ui-panel-position-left{left:-17em}.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-left.ui-panel-display-push{left:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-position-left.ui-panel-display-reveal,.ui-panel-open.ui-panel-position-left{left:0}.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-position-right{right:-17em}.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-right.ui-panel-display-push{right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-position-right.ui-panel-display-reveal,.ui-panel-position-right.ui-panel-open{right:0}.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-page-content-position-left{left:17em;right:-17em}.ui-panel-animate.ui-panel-page-content-position-left{left:0;right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-page-content-position-right{left:-17em;right:17em}.ui-panel-animate.ui-panel-page-content-position-right{left:0;right:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-dismiss-open.ui-panel-dismiss-position-left{left:17em}.ui-panel-dismiss-open.ui-panel-dismiss-position-right{right:17em}.ui-panel-display-reveal{-webkit-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);box-shadow:inset -5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-reveal{-webkit-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);box-shadow:inset 5px 0 5px rgba(0,0,0,.15)}.ui-panel-display-overlay{-webkit-box-shadow:5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:5px 0 5px rgba(0,0,0,.15);box-shadow:5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-overlay{-webkit-box-shadow:-5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:-5px 0 5px rgba(0,0,0,.15);box-shadow:-5px 0 5px rgba(0,0,0,.15)}.ui-panel-open.ui-panel-position-left.ui-panel-display-push{border-right-width:1px;margin-right:-1px}.ui-panel-page-content-position-left.ui-panel-page-content-display-push{margin-left:1px;width:auto}.ui-panel-open.ui-panel-position-right.ui-panel-display-push{border-left-width:1px;margin-left:-1px}.ui-panel-page-content-position-right.ui-panel-page-content-display-push{margin-right:1px;width:auto}@media (min-width:55em){.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left{margin-right:17em}.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right{margin-left:17em}.ui-responsive-panel .ui-panel-page-content-open{width:auto}.ui-responsive-panel .ui-panel-dismiss-display-push,.ui-responsive-panel.ui-page-active~.ui-panel-dismiss-display-push{display:none}}.ui-tabs{position:relative;padding:.2em} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.css deleted file mode 100644 index 3b3ecddd..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.css +++ /dev/null @@ -1,4380 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -.ui-icon-action:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-alert:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-audio:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-back:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-bars:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-bullets:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-calendar:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-camera:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-check:after, -/* Used ui-checkbox-on twice to increase specificity. If active state has background-image for gradient this rule overrides. */ -html .ui-btn.ui-checkbox-on.ui-checkbox-on:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-clock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-cloud:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-comment:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-delete:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-edit:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-eye:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-forbidden:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-forward:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-gear:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-grid:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-heart:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-home:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-info:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-location:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-lock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-mail:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-minus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-navigation:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-phone:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-plus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-power:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-recycle:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-refresh:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-search:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-shop:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-star:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-tag:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-user:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-video:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); -} -/* Alt icons */ -.ui-alt-icon.ui-icon-action:after, -.ui-alt-icon .ui-icon-action:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-alert:after, -.ui-alt-icon .ui-icon-alert:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d:after, -.ui-alt-icon .ui-icon-arrow-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-l:after, -.ui-alt-icon .ui-icon-arrow-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-r:after, -.ui-alt-icon .ui-icon-arrow-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u:after, -.ui-alt-icon .ui-icon-arrow-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-audio:after, -.ui-alt-icon .ui-icon-audio:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-back:after, -.ui-alt-icon .ui-icon-back:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-bars:after, -.ui-alt-icon .ui-icon-bars:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-bullets:after, -.ui-alt-icon .ui-icon-bullets:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-calendar:after, -.ui-alt-icon .ui-icon-calendar:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-camera:after, -.ui-alt-icon .ui-icon-camera:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-d:after, -.ui-alt-icon .ui-icon-carat-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-l:after, -.ui-alt-icon .ui-icon-carat-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-r:after, -.ui-alt-icon .ui-icon-carat-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-u:after, -.ui-alt-icon .ui-icon-carat-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-check:after, -.ui-alt-icon .ui-icon-check:after, -html .ui-alt-icon.ui-btn.ui-checkbox-on:after, -html .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-clock:after, -.ui-alt-icon .ui-icon-clock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-cloud:after, -.ui-alt-icon .ui-icon-cloud:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-comment:after, -.ui-alt-icon .ui-icon-comment:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-delete:after, -.ui-alt-icon .ui-icon-delete:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-edit:after, -.ui-alt-icon .ui-icon-edit:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-eye:after, -.ui-alt-icon .ui-icon-eye:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-forbidden:after, -.ui-alt-icon .ui-icon-forbidden:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-forward:after, -.ui-alt-icon .ui-icon-forward:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-gear:after, -.ui-alt-icon .ui-icon-gear:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-grid:after, -.ui-alt-icon .ui-icon-grid:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-heart:after, -.ui-alt-icon .ui-icon-heart:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-home:after, -.ui-alt-icon .ui-icon-home:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-info:after, -.ui-alt-icon .ui-icon-info:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-location:after, -.ui-alt-icon .ui-icon-location:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-lock:after, -.ui-alt-icon .ui-icon-lock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-mail:after, -.ui-alt-icon .ui-icon-mail:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-minus:after, -.ui-alt-icon .ui-icon-minus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-navigation:after, -.ui-alt-icon .ui-icon-navigation:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-phone:after, -.ui-alt-icon .ui-icon-phone:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-plus:after, -.ui-alt-icon .ui-icon-plus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-power:after, -.ui-alt-icon .ui-icon-power:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-recycle:after, -.ui-alt-icon .ui-icon-recycle:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-refresh:after, -.ui-alt-icon .ui-icon-refresh:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-search:after, -.ui-alt-icon .ui-icon-search:after, -.ui-input-search:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-shop:after, -.ui-alt-icon .ui-icon-shop:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-star:after, -.ui-alt-icon .ui-icon-star:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-tag:after, -.ui-alt-icon .ui-icon-tag:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-user:after, -.ui-alt-icon .ui-icon-user:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-video:after, -.ui-alt-icon .ui-icon-video:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); -} -/* Globals */ -/* Font ------------------------------------------------------------------------------------------------------------*/ -html { - font-size: 100%; -} -body, -input, -select, -textarea, -button, -.ui-btn { - font-size: 1em; - line-height: 1.3; - font-family: sans-serif /*{global-font-family}*/; -} -legend, -.ui-input-text input, -.ui-input-search input { - color: inherit; - text-shadow: inherit; -} -/* Form labels (overrides font-weight bold in bars, and mini font-size) */ -.ui-mobile label, -div.ui-controlgroup-label { - font-weight: normal; - font-size: 16px; -} -/* Separators ------------------------------------------------------------------------------------------------------------*/ -/* Field contain separator (< 28em) */ -.ui-field-contain { - border-bottom-color: #828282; - border-bottom-color: rgba(0,0,0,.15); - border-bottom-width: 1px; - border-bottom-style: solid; -} -/* Table opt-in classes: strokes between each row, and alternating row stripes */ -/* Classes table-stroke and table-stripe are deprecated in 1.4. */ -.table-stroke thead th, -.table-stripe thead th, -.table-stripe tbody tr:last-child { - border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.1); -} -.table-stroke tbody th, -.table-stroke tbody td { - border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.05); -} -.table-stripe.table-stroke tbody tr:last-child th, -.table-stripe.table-stroke tbody tr:last-child td { - border-bottom: 0; -} -.table-stripe tbody tr:nth-child(odd) td, -.table-stripe tbody tr:nth-child(odd) th { - background-color: #eeeeee; /* non-RGBA fallback */ - background-color: rgba(0,0,0,.04); -} -/* Buttons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn, -label.ui-btn { - font-weight: bold; - border-width: 1px; - border-style: solid; -} -.ui-btn { - text-decoration: none !important; -} -.ui-btn-active { - cursor: pointer; -} -/* Corner rounding ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-btn-corner-all deprecated in 1.4 */ -.ui-corner-all { - -webkit-border-radius: .3125em /*{global-radii-blocks}*/; - border-radius: .3125em /*{global-radii-blocks}*/; -} -/* Buttons */ -.ui-btn-corner-all, -.ui-btn.ui-corner-all, -/* Slider track */ -.ui-slider-track.ui-corner-all, -/* Flipswitch */ -.ui-flipswitch.ui-corner-all, -/* Count bubble */ -.ui-li-count { - -webkit-border-radius: .3125em /*{global-radii-buttons}*/; - border-radius: .3125em /*{global-radii-buttons}*/; -} -/* Icon-only buttons */ -.ui-btn-icon-notext.ui-btn-corner-all, -.ui-btn-icon-notext.ui-corner-all { - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Radius clip workaround for cleaning up corner trapping */ -.ui-btn-corner-all, -.ui-corner-all { - -webkit-background-clip: padding; - background-clip: padding-box; -} -/* Popup arrow */ -.ui-popup.ui-corner-all > .ui-popup-arrow-guide { - left: .6em /*{global-radii-blocks}*/; - right: .6em /*{global-radii-blocks}*/; - top: .6em /*{global-radii-blocks}*/; - bottom: .6em /*{global-radii-blocks}*/; -} -/* Shadow ------------------------------------------------------------------------------------------------------------*/ -.ui-shadow { - -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; -} -.ui-shadow-inset { - -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; -} -.ui-overlay-shadow { - -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); - -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); - box-shadow: 0 0 12px rgba(0,0,0,.6); -} -/* Icons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; - background-position: center center; - background-repeat: no-repeat; - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Alt icons */ -.ui-alt-icon.ui-btn:after, -.ui-alt-icon .ui-btn:after, -html .ui-alt-icon.ui-checkbox-off:after, -html .ui-alt-icon.ui-radio-off:after, -html .ui-alt-icon .ui-checkbox-off:after, -html .ui-alt-icon .ui-radio-off:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.15) /*{global-icon-disc}*/; -} -/* No disc */ -.ui-nodisc-icon.ui-btn:after, -.ui-nodisc-icon .ui-btn:after { - background-color: transparent; -} -/* Icon shadow */ -.ui-shadow-icon.ui-btn:after, -.ui-shadow-icon .ui-btn:after { - -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; -} -/* Checkbox and radio */ -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after, -.ui-btn.ui-radio-off:after, -.ui-btn.ui-radio-on:after { - display: block; - width: 18px; - height: 18px; - margin: -9px 2px 0 2px; -} -.ui-checkbox-off:after, -.ui-btn.ui-radio-off:after { - filter: Alpha(Opacity=30); - opacity: .3; -} -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after { - -webkit-border-radius: .1875em; - border-radius: .1875em; -} -.ui-btn.ui-checkbox-off:after { - background-color: #666; - background-color: rgba(0,0,0,.3); -} -.ui-radio .ui-btn.ui-radio-on:after { - background-image: none; - background-color: #fff; - width: 8px; - height: 8px; - border-width: 5px; - border-style: solid; -} -.ui-alt-icon.ui-btn.ui-radio-on:after, -.ui-alt-icon .ui-btn.ui-radio-on:after { - background-color: #000; -} -/* Loader */ -.ui-icon-loading { - background: url(images/ajax-loader.gif); - background-size: 2.875em 2.875em; -} -/* Swatches */ -/* A ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-a, -.ui-page-theme-a .ui-bar-inherit, -html .ui-bar-a .ui-bar-inherit, -html .ui-body-a .ui-bar-inherit, -html body .ui-group-theme-a .ui-bar-inherit { - background-color: #e9e9e9 /*{a-bar-background-color}*/; - border-color: #ddd /*{a-bar-border}*/; - color: #333 /*{a-bar-color}*/; - text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #eee /*{a-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-a { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-a, -.ui-page-theme-a, -.ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9 /*{a-page-background-color}*/; - border-color: #bbb /*{a-page-border}*/; - color: #333 /*{a-page-color}*/; - text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #f3f3f3 /*{a-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-a, -.ui-page-theme-a .ui-body-inherit, -html .ui-bar-a .ui-body-inherit, -html .ui-body-a .ui-body-inherit, -html body .ui-group-theme-a .ui-body-inherit, -html .ui-panel-page-container-a { - background-color: #fff /*{a-body-background-color}*/; - border-color: #ddd /*{a-body-border}*/; - color: #333 /*{a-body-color}*/; - text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #f3f3f3 /*{a-body-shadow-color}*/; -} -.ui-body-a { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-a a, -html .ui-bar-a a, -html .ui-body-a a, -html body .ui-group-theme-a a { - color: #3388cc /*{a-link-color}*/; - font-weight: bold; -} -.ui-page-theme-a a:visited, -html .ui-bar-a a:visited, -html .ui-body-a a:visited, -html body .ui-group-theme-a a:visited { - color: #3388cc /*{a-link-visited}*/; -} -.ui-page-theme-a a:hover, -html .ui-bar-a a:hover, -html .ui-body-a a:hover, -html body .ui-group-theme-a a:hover { - color: #005599 /*{a-link-hover}*/; -} -.ui-page-theme-a a:active, -html .ui-bar-a a:active, -html .ui-body-a a:active, -html body .ui-group-theme-a a:active { - color: #005599 /*{a-link-active}*/; -} -/* Button up */ -.ui-page-theme-a .ui-btn, -html .ui-bar-a .ui-btn, -html .ui-body-a .ui-btn, -html body .ui-group-theme-a .ui-btn, -html head + body .ui-btn.ui-btn-a, -/* Button visited */ -.ui-page-theme-a .ui-btn:visited, -html .ui-bar-a .ui-btn:visited, -html .ui-body-a .ui-btn:visited, -html body .ui-group-theme-a .ui-btn:visited, -html head + body .ui-btn.ui-btn-a:visited { - background-color: #f6f6f6 /*{a-bup-background-color}*/; - border-color: #ddd /*{a-bup-border}*/; - color: #333 /*{a-bup-color}*/; - text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-a .ui-btn:hover, -html .ui-bar-a .ui-btn:hover, -html .ui-body-a .ui-btn:hover, -html body .ui-group-theme-a .ui-btn:hover, -html head + body .ui-btn.ui-btn-a:hover { - background-color: #ededed /*{a-bhover-background-color}*/; - border-color: #ddd /*{a-bhover-border}*/; - color: #333 /*{a-bhover-color}*/; - text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-a .ui-btn:active, -html .ui-bar-a .ui-btn:active, -html .ui-body-a .ui-btn:active, -html body .ui-group-theme-a .ui-btn:active, -html head + body .ui-btn.ui-btn-a:active { - background-color: #e8e8e8 /*{a-bdown-background-color}*/; - border-color: #ddd /*{a-bdown-border}*/; - color: #333 /*{a-bdown-color}*/; - text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-a .ui-btn.ui-btn-active, -html .ui-bar-a .ui-btn.ui-btn-active, -html .ui-body-a .ui-btn.ui-btn-active, -html body .ui-group-theme-a .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-a.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-a .ui-checkbox-on:after, -html .ui-bar-a .ui-checkbox-on:after, -html .ui-body-a .ui-checkbox-on:after, -html body .ui-group-theme-a .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-a:after, -/* Active flipswitch background */ -.ui-page-theme-a .ui-flipswitch-active, -html .ui-bar-a .ui-flipswitch-active, -html .ui-body-a .ui-flipswitch-active, -html body .ui-group-theme-a .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-a .ui-slider-track .ui-btn-active, -html .ui-bar-a .ui-slider-track .ui-btn-active, -html .ui-body-a .ui-slider-track .ui-btn-active, -html body .ui-group-theme-a .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-a .ui-btn-active { - background-color: #3388cc /*{a-active-background-color}*/; - border-color: #3388cc /*{a-active-border}*/; - color: #fff /*{a-active-color}*/; - text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-a .ui-radio-on:after, -html .ui-bar-a .ui-radio-on:after, -html .ui-body-a .ui-radio-on:after, -html body .ui-group-theme-a .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-a:after { - border-color: #3388cc /*{a-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-a .ui-btn:focus, -html .ui-bar-a .ui-btn:focus, -html .ui-body-a .ui-btn:focus, -html body .ui-group-theme-a .ui-btn:focus, -html head + body .ui-btn.ui-btn-a:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-a .ui-focus, -html .ui-bar-a .ui-focus, -html .ui-body-a .ui-focus, -html body .ui-group-theme-a .ui-focus, -html head + body .ui-btn-a.ui-focus, -html head + body .ui-body-a.ui-focus { - -webkit-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - -moz-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; -} -/* B ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-b, -.ui-page-theme-b .ui-bar-inherit, -html .ui-bar-b .ui-bar-inherit, -html .ui-body-b .ui-bar-inherit, -html body .ui-group-theme-b .ui-bar-inherit { - background-color: #1d1d1d /*{b-bar-background-color}*/; - border-color: #1b1b1b /*{b-bar-border}*/; - color: #fff /*{b-bar-color}*/; - text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #111 /*{b-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-b { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-b, -.ui-page-theme-b, -.ui-page-theme-b .ui-panel-wrapper { - background-color: #252525 /*{b-page-background-color}*/; - border-color: #454545 /*{b-page-border}*/; - color: #fff /*{b-page-color}*/; - text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #111 /*{b-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-b, -.ui-page-theme-b .ui-body-inherit, -html .ui-bar-b .ui-body-inherit, -html .ui-body-b .ui-body-inherit, -html body .ui-group-theme-b .ui-body-inherit, -html .ui-panel-page-container-b { - background-color: #2a2a2a /*{b-body-background-color}*/; - border-color: #1d1d1d /*{b-body-border}*/; - color: #fff /*{b-body-color}*/; - text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #111 /*{b-body-shadow-color}*/; -} -.ui-body-b { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-b a, -html .ui-bar-b a, -html .ui-body-b a, -html body .ui-group-theme-b a { - color: #22aadd /*{b-link-color}*/; - font-weight: bold; -} -.ui-page-theme-b a:visited, -html .ui-bar-b a:visited, -html .ui-body-b a:visited, -html body .ui-group-theme-b a:visited { - color: #22aadd /*{b-link-visited}*/; -} -.ui-page-theme-b a:hover, -html .ui-bar-b a:hover, -html .ui-body-b a:hover, -html body .ui-group-theme-b a:hover { - color: #0088bb /*{b-link-hover}*/; -} -.ui-page-theme-b a:active, -html .ui-bar-b a:active, -html .ui-body-b a:active, -html body .ui-group-theme-b a:active { - color: #0088bb /*{b-link-active}*/; -} -/* Button up */ -.ui-page-theme-b .ui-btn, -html .ui-bar-b .ui-btn, -html .ui-body-b .ui-btn, -html body .ui-group-theme-b .ui-btn, -html head + body .ui-btn.ui-btn-b, -/* Button visited */ -.ui-page-theme-b .ui-btn:visited, -html .ui-bar-b .ui-btn:visited, -html .ui-body-b .ui-btn:visited, -html body .ui-group-theme-b .ui-btn:visited, -html head + body .ui-btn.ui-btn-b:visited { - background-color: #333 /*{b-bup-background-color}*/; - border-color: #1f1f1f /*{b-bup-border}*/; - color: #fff /*{b-bup-color}*/; - text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111 /*{b-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-b .ui-btn:hover, -html .ui-bar-b .ui-btn:hover, -html .ui-body-b .ui-btn:hover, -html body .ui-group-theme-b .ui-btn:hover, -html head + body .ui-btn.ui-btn-b:hover { - background-color: #373737 /*{b-bhover-background-color}*/; - border-color: #1f1f1f /*{b-bhover-border}*/; - color: #fff /*{b-bhover-color}*/; - text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111 /*{b-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-b .ui-btn:active, -html .ui-bar-b .ui-btn:active, -html .ui-body-b .ui-btn:active, -html body .ui-group-theme-b .ui-btn:active, -html head + body .ui-btn.ui-btn-b:active { - background-color: #404040 /*{b-bdown-background-color}*/; - border-color: #1f1f1f /*{b-bdown-border}*/; - color: #fff /*{b-bdown-color}*/; - text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111 /*{b-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-b .ui-btn.ui-btn-active, -html .ui-bar-b .ui-btn.ui-btn-active, -html .ui-body-b .ui-btn.ui-btn-active, -html body .ui-group-theme-b .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-b.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-b .ui-checkbox-on:after, -html .ui-bar-b .ui-checkbox-on:after, -html .ui-body-b .ui-checkbox-on:after, -html body .ui-group-theme-b .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-b:after, -/* Active flipswitch background */ -.ui-page-theme-b .ui-flipswitch-active, -html .ui-bar-b .ui-flipswitch-active, -html .ui-body-b .ui-flipswitch-active, -html body .ui-group-theme-b .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-b .ui-slider-track .ui-btn-active, -html .ui-bar-b .ui-slider-track .ui-btn-active, -html .ui-body-b .ui-slider-track .ui-btn-active, -html body .ui-group-theme-b .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-b .ui-btn-active { - background-color: #22aadd /*{b-active-background-color}*/; - border-color: #22aadd /*{b-active-border}*/; - color: #fff /*{b-active-color}*/; - text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-b .ui-radio-on:after, -html .ui-bar-b .ui-radio-on:after, -html .ui-body-b .ui-radio-on:after, -html body .ui-group-theme-b .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-b:after { - border-color: #22aadd /*{b-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-b .ui-btn:focus, -html .ui-bar-b .ui-btn:focus, -html .ui-body-b .ui-btn:focus, -html body .ui-group-theme-b .ui-btn:focus, -html head + body .ui-btn.ui-btn-b:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-b .ui-focus, -html .ui-bar-b .ui-focus, -html .ui-body-b .ui-focus, -html body .ui-group-theme-b .ui-focus, -html head + body .ui-btn-b.ui-focus, -html head + body .ui-body-b.ui-focus { - -webkit-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - -moz-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; -} -/* Structure */ -/* Disabled ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ -.ui-disabled, -.ui-state-disabled, -button[disabled], -.ui-select .ui-btn.ui-state-disabled { - filter: Alpha(Opacity=30); - opacity: .3; - cursor: default !important; - pointer-events: none; -} -/* Focus state outline ------------------------------------------------------------------------------------------------------------*/ -.ui-btn:focus, -.ui-btn.ui-focus { - outline: 0; -} -/* Unset box-shadow in browsers that don't do it right */ -.ui-noboxshadow .ui-shadow, -.ui-noboxshadow .ui-shadow-inset, -.ui-noboxshadow .ui-overlay-shadow, -.ui-noboxshadow .ui-shadow-icon.ui-btn:after, -.ui-noboxshadow .ui-shadow-icon .ui-btn:after, -.ui-noboxshadow .ui-focus, -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow input:focus, -.ui-noboxshadow .ui-panel { - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow .ui-focus { - outline-width: 1px; - outline-style: auto; -} -/* Some unsets */ -.ui-mobile, -.ui-mobile body { - height: 99.9%; -} -.ui-mobile fieldset, -.ui-page { - padding: 0; - margin: 0; -} -.ui-mobile a img, -.ui-mobile fieldset { - border-width: 0; -} -/* Fixes for fieldset issues on IE10 and FF (see #6077) */ -.ui-mobile fieldset { - min-width: 0; -} -@-moz-document url-prefix() { - .ui-mobile fieldset { - display: table-column; - vertical-align: middle; - } -} -/* Viewport */ -.ui-mobile-viewport { - margin: 0; - overflow-x: visible; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust:none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -/* Issue #2066 */ -body.ui-mobile-viewport, -div.ui-mobile-viewport { - overflow-x: hidden; -} -/* "page" containers - full-screen views, one should always be in view post-pageload */ -.ui-mobile [data-role=page], -.ui-mobile [data-role=dialog], -.ui-page { - top: 0; - left: 0; - width: 100%; - min-height: 100%; - position: absolute; - display: none; - border: 0; -} -/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */ -.ui-page { - outline: none; -} -.ui-mobile .ui-page-active { - display: block; - overflow: visible; - overflow-x: hidden; -} -@media screen and (orientation: portrait) { - .ui-mobile .ui-page { - min-height: 420px; - } -} -@media screen and (orientation: landscape) { - .ui-mobile .ui-page { - min-height: 300px; - } -} -/* Fouc */ -.ui-mobile-rendering > * { - visibility: hidden; -} -/* Non-js content hiding */ -.ui-nojs { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Loading screen */ -.ui-loading .ui-loader { - display: block; -} -.ui-loader { - display: none; - z-index: 9999999; - position: fixed; - top: 50%; - left: 50%; - border:0; -} -.ui-loader-default { - background: none; - filter: Alpha(Opacity=18); - opacity: .18; - width: 2.875em; - height: 2.875em; - margin-left: -1.4375em; - margin-top: -1.4375em; -} -.ui-loader-verbose { - width: 12.5em; - filter: Alpha(Opacity=88); - opacity: .88; - box-shadow: 0 1px 1px -1px #fff; - height: auto; - margin-left: -6.875em; - margin-top: -2.6875em; - padding: .625em; -} -.ui-loader-default h1 { - font-size: 0; - width: 0; - height: 0; - overflow: hidden; -} -.ui-loader-verbose h1 { - font-size: 1em; - margin: 0; - text-align: center; -} -.ui-loader .ui-icon-loading { - background-color: #000; - display: block; - margin: 0; - width: 2.75em; - height: 2.75em; - padding: .0625em; - -webkit-border-radius: 2.25em; - border-radius: 2.25em; -} -.ui-loader-verbose .ui-icon-loading { - margin: 0 auto .625em; - filter: Alpha(Opacity=75); - opacity: .75; -} -.ui-loader-textonly { - padding: .9375em; - margin-left: -7.1875em; -} -.ui-loader-textonly .ui-icon-loading { - display: none; -} -.ui-loader-fakefix { - position: absolute; -} -/* Headers, content panels */ -.ui-bar, -.ui-body { - position: relative; - padding: .4em 1em; - overflow: hidden; - display: block; - clear: both; -} -.ui-bar h1, -.ui-bar h2, -.ui-bar h3, -.ui-bar h4, -.ui-bar h5, -.ui-bar h6 { - margin: 0; - padding: 0; - font-size: 1em; - display: inline-block; -} -.ui-header, -.ui-footer { - border-width: 1px 0; - border-style: solid; - position: relative; -} -.ui-header:empty, -.ui-footer:empty { - min-height: 2.6875em; -} -.ui-header .ui-title, -.ui-footer .ui-title { - font-size: 1em; - min-height: 1.1em; - text-align: center; - display: block; - margin: 0 30%; - padding: .7em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - outline: 0 !important; -} -.ui-footer .ui-title { - margin: 0 1em; -} -.ui-content { - border-width: 0; - overflow: visible; - overflow-x: hidden; - padding: 1em; -} -/* Corner styling for dialogs and popups */ -.ui-corner-all > .ui-header:first-child, -.ui-corner-all > .ui-content:first-child, -.ui-corner-all > .ui-footer:first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-corner-all > .ui-header:last-child, -.ui-corner-all > .ui-content:last-child, -.ui-corner-all > .ui-footer:last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -/* Buttons and icons */ -.ui-btn { - font-size: 16px; - margin: .5em 0; - padding: .7em 1em; - display: block; - position: relative; - text-align: center; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.ui-btn-icon-notext, -.ui-header button.ui-btn.ui-btn-icon-notext, -.ui-footer button.ui-btn.ui-btn-icon-notext { - padding: 0; - width: 1.75em; - height: 1.75em; - text-indent: -9999px; - white-space: nowrap !important; -} -.ui-mini { - font-size: 12.5px; -} -.ui-mini .ui-btn { - font-size: inherit; -} -/* Make buttons in toolbars default to mini and inline. */ -.ui-header .ui-btn, -.ui-footer .ui-btn { - font-size: 12.5px; - display: inline-block; - vertical-align: middle; -} -.ui-header .ui-controlgroup .ui-btn-icon-notext, -.ui-footer .ui-controlgroup .ui-btn-icon-notext { - font-size: 12.5px; -} -/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right { - font-size: 12.5px; -} -.ui-mini.ui-btn-icon-notext, -.ui-mini .ui-btn-icon-notext, -.ui-header .ui-btn-icon-notext, -.ui-footer .ui-btn-icon-notext { - font-size: 16px; - padding: 0; -} -.ui-btn-inline { - display: inline-block; - vertical-align: middle; - margin-right: .625em; -} -.ui-btn-icon-left { - padding-left: 2.5em; -} -.ui-btn-icon-right { - padding-right: 2.5em; -} -.ui-btn-icon-top { - padding-top: 2.5em; -} -.ui-btn-icon-bottom { - padding-bottom: 2.5em; -} -.ui-header .ui-btn-icon-top, -.ui-footer .ui-btn-icon-top, -.ui-header .ui-btn-icon-bottom, -.ui-footer .ui-btn-icon-bottom { - padding-left: .3125em; - padding-right: .3125em; -} -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - content: ""; - position: absolute; - display: block; - width: 22px; - height: 22px; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-left:after, -.ui-btn-icon-right:after { - top: 50%; - margin-top: -11px; -} -.ui-btn-icon-left:after { - left: .5625em; -} -.ui-btn-icon-right:after { - right: .5625em; -} -.ui-mini.ui-btn-icon-left:after, -.ui-mini .ui-btn-icon-left:after, -.ui-header .ui-btn-icon-left:after, -.ui-footer .ui-btn-icon-left:after { - left: .37em; -} -.ui-mini.ui-btn-icon-right:after, -.ui-mini .ui-btn-icon-right:after, -.ui-header .ui-btn-icon-right:after, -.ui-footer .ui-btn-icon-right:after { - right: .37em; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after { - left: 50%; - margin-left: -11px; -} -.ui-btn-icon-top:after { - top: .5625em; -} -.ui-btn-icon-bottom:after { - top: auto; - bottom: .5625em; -} -/* Buttons in header position classes */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right, -.ui-btn-left > [class*="ui-"], -.ui-btn-right > [class*="ui-"] { - margin: 0; -} -.ui-btn-left, -.ui-btn-right { - position: absolute; - top: .24em; -} -.ui-btn-left { - left: .4em; -} -.ui-btn-right { - right: .4em; -} -.ui-btn-icon-notext.ui-btn-left { - top: .3125em; - left: .3125em; -} -.ui-btn-icon-notext.ui-btn-right { - top: .3125em; - right: .3125em; -} -/* Button elements */ -button.ui-btn, -.ui-controlgroup-controls button.ui-btn-icon-notext { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - width: 100%; -} -button.ui-btn-inline, -.ui-header button.ui-btn, -.ui-footer button.ui-btn { - width: auto; -} -/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */ -button.ui-btn::-moz-focus-inner { - border: 0; -} -button.ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - width: 1.75em; -} -/* Form labels */ -.ui-mobile label, -.ui-controlgroup-label { - display: block; - margin: 0 0 .4em; -} -/* Accessible content hiding */ -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-hide-label > label, -.ui-hide-label .ui-controlgroup-label, -.ui-hide-label .ui-rangeslider label, -.ui-hidden-accessible { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Used for hiding elements by the filterable widget. You can also use this class to hide list items or buttons in controlgroups; this ensures correct corner styling. */ -.ui-screen-hidden { - display: none !important; -} -/* Transitions originally inspired by those from jQtouch, nice work, folks */ -.ui-mobile-viewport-transitioning, -.ui-mobile-viewport-transitioning .ui-page { - width: 100%; - height: 100%; - overflow: hidden; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.ui-page-pre-in { - opacity: 0; -} -.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.out { - -webkit-animation-timing-function: ease-in; - -webkit-animation-duration: 225ms; - -moz-animation-timing-function: ease-in; - -moz-animation-duration: 225ms; - animation-timing-function: ease-in; - animation-duration: 225ms; -} -@-webkit-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-moz-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-webkit-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@-moz-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -.fade.out { - opacity: 0; - -webkit-animation-duration: 125ms; - -webkit-animation-name: fadeout; - -moz-animation-duration: 125ms; - -moz-animation-name: fadeout; - animation-duration: 125ms; - animation-name: fadeout; -} -.fade.in { - opacity: 1; - -webkit-animation-duration: 225ms; - -webkit-animation-name: fadein; - -moz-animation-duration: 225ms; - -moz-animation-name: fadein; - animation-duration: 225ms; - animation-name: fadein; -} -.pop { - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -.pop.in { - -webkit-transform: scale(1); - -webkit-animation-name: popin; - -webkit-animation-duration: 350ms; - -moz-transform: scale(1); - -moz-animation-name: popin; - -moz-animation-duration: 350ms; - transform: scale(1); - animation-name: popin; - animation-duration: 350ms; - opacity: 1; -} -.pop.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; - opacity: 0; -} -.pop.in.reverse { - -webkit-animation-name: fadein; - -moz-animation-name: fadein; - animation-name: fadein; -} -.pop.out.reverse { - -webkit-transform: scale(.8); - -webkit-animation-name: popout; - -moz-transform: scale(.8); - -moz-animation-name: popout; - transform: scale(.8); - animation-name: popout; -} -@-webkit-keyframes popin { - from { - -webkit-transform: scale(.8); - opacity: 0; - } - to { - -webkit-transform: scale(1); - opacity: 1; - } -} -@-moz-keyframes popin { - from { - -moz-transform: scale(.8); - opacity: 0; - } - to { - -moz-transform: scale(1); - opacity: 1; - } -} -@keyframes popin { - from { - transform: scale(.8); - opacity: 0; - } - to { - transform: scale(1); - opacity: 1; - } -} -@-webkit-keyframes popout { - from { - -webkit-transform: scale(1); - opacity: 1; - } - to { - -webkit-transform: scale(.8); - opacity: 0; - } -} -@-moz-keyframes popout { - from { - -moz-transform: scale(1); - opacity: 1; - } - to { - -moz-transform: scale(.8); - opacity: 0; - } -} -@keyframes popout { - from { - transform: scale(1); - opacity: 1; - } - to { - transform: scale(.8); - opacity: 0; - } -} -/* keyframes for slidein from sides */ -@-webkit-keyframes slideinfromright { - from { -webkit-transform: translate3d(100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromright { - from { -moz-transform: translateX(100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromright { - from { transform: translateX(100%); } - to { transform: translateX(0); } -} -@-webkit-keyframes slideinfromleft { - from { -webkit-transform: translate3d(-100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromleft { - from { -moz-transform: translateX(-100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromleft { - from { transform: translateX(-100%); } - to { transform: translateX(0); } -} -/* keyframes for slideout to sides */ -@-webkit-keyframes slideouttoleft { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(-100%,0,0); } -} -@-moz-keyframes slideouttoleft { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(-100%); } -} -@keyframes slideouttoleft { - from { transform: translateX(0); } - to { transform: translateX(-100%); } -} -@-webkit-keyframes slideouttoright { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(100%,0,0); } -} -@-moz-keyframes slideouttoright { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(100%); } -} -@keyframes slideouttoright { - from { transform: translateX(0); } - to { transform: translateX(100%); } -} -.slide.out, .slide.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.slide.out { - -webkit-transform: translate3d(-100%,0,0); - -webkit-animation-name: slideouttoleft; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - transform: translateX(-100%); - animation-name: slideouttoleft; -} -.slide.in { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromright; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromright; - transform: translateX(0); - animation-name: slideinfromright; -} -.slide.out.reverse { - -webkit-transform: translate3d(100%,0,0); - -webkit-animation-name: slideouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - transform: translateX(100%); - animation-name: slideouttoright; -} -.slide.in.reverse { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromleft; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromleft; - transform: translateX(0); - animation-name: slideinfromleft; -} -.slidefade.out { - -webkit-transform: translateX(-100%); - -webkit-animation-name: slideouttoleft; - -webkit-animation-duration: 225ms; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - -moz-animation-duration: 225ms; - transform: translateX(-100%); - animation-name: slideouttoleft; - animation-duration: 225ms; -} -.slidefade.in { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -.slidefade.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: slideouttoright; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - -moz-animation-duration: 200ms; - transform: translateX(100%); - animation-name: slideouttoright; - animation-duration: 200ms; -} -.slidefade.in.reverse { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -/* slide down */ -.slidedown.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slidedown.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfromtop; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfromtop; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfromtop; - animation-duration: 250ms; -} -.slidedown.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slidedown.out.reverse { - -webkit-transform: translateY(-100%); - -webkit-animation-name: slideouttotop; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(-100%); - -moz-animation-name: slideouttotop; - -moz-animation-duration: 200ms; - transform: translateY(-100%); - animation-name: slideouttotop; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfromtop { - from { -webkit-transform: translateY(-100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfromtop { - from { -moz-transform: translateY(-100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfromtop { - from { transform: translateY(-100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttotop { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(-100%); } -} -@-moz-keyframes slideouttotop { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(-100%); } -} -@keyframes slideouttotop { - from { transform: translateY(0); } - to { transform: translateY(-100%); } -} -/* slide up */ -.slideup.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slideup.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfrombottom; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfrombottom; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfrombottom; - animation-duration: 250ms; -} -.slideup.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slideup.out.reverse { - -webkit-transform: translateY(100%); - -webkit-animation-name: slideouttobottom; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(100%); - -moz-animation-name: slideouttobottom; - -moz-animation-duration: 200ms; - transform: translateY(100%); - animation-name: slideouttobottom; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfrombottom { - from { -webkit-transform: translateY(100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfrombottom { - from { -moz-transform: translateY(100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfrombottom { - from { transform: translateY(100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttobottom { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(100%); } -} -@-moz-keyframes slideouttobottom { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(100%); } -} -@keyframes slideouttobottom { - from { transform: translateY(0); } - to { transform: translateY(100%); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-flip { - -webkit-perspective: 1000; - -moz-perspective: 1000; - perspective: 1000; - position: absolute; -} -.flip { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - backface-visibility: hidden; - transform: translateX(0); -} -.flip.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 175ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 175ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 175ms; -} -.flip.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 225ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 225ms; - animation-name: flipintoright; - animation-duration: 225ms; -} -.flip.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.flip.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-turn { - -webkit-perspective: 200px; - -moz-perspective: 200px; - -ms-perspective: 200px; - perspective: 200px; - position: absolute; -} -.turn { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -webkit-transform-origin: 0; - - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - -moz-transform-origin: 0; - - backface-visibility :hidden; - transform: translateX(0); - transform-origin: 0; -} -.turn.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 125ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 125ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 125ms; -} -.turn.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 250ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 250ms; - animation-name: flipintoright; - animation-duration: 250ms; - -} -.turn.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.turn.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* flow transition */ -.flow { - -webkit-transform-origin: 50% 30%; - -webkit-box-shadow: 0 0 20px rgba(0,0,0,.4); - -moz-transform-origin: 50% 30%; - -moz-box-shadow: 0 0 20px rgba(0,0,0,.4); - transform-origin: 50% 30%; - box-shadow: 0 0 20px rgba(0,0,0,.4); -} -.ui-dialog.flow { - -webkit-transform-origin: none; - -webkit-box-shadow: none; - -moz-transform-origin: none; - -moz-box-shadow: none; - transform-origin: none; - box-shadow: none; -} -.flow.out { - -webkit-transform: translateX(-100%) scale(.7); - -webkit-animation-name: flowouttoleft; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(-100%) scale(.7); - -moz-animation-name: flowouttoleft; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(-100%) scale(.7); - animation-name: flowouttoleft; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.in { - -webkit-transform: translateX(0) scale(1); - -webkit-animation-name: flowinfromright; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(0) scale(1); - -moz-animation-name: flowinfromright; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(0) scale(1); - animation-name: flowinfromright; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: flowouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: flowouttoright; - transform: translateX(100%); - animation-name: flowouttoright; -} -.flow.in.reverse { - -webkit-animation-name: flowinfromleft; - -moz-animation-name: flowinfromleft; - animation-name: flowinfromleft; -} -@-webkit-keyframes flowouttoleft { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(-100%) scale(.7); } -} -@-moz-keyframes flowouttoleft { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(-100%) scale(.7); } -} -@keyframes flowouttoleft { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(-100%) scale(.7); } -} -@-webkit-keyframes flowouttoright { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(100%) scale(.7); } -} -@-moz-keyframes flowouttoright { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(100%) scale(.7); } -} -@keyframes flowouttoright { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(100%) scale(.7); } -} -@-webkit-keyframes flowinfromleft { - 0% { -webkit-transform: translateX(-100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromleft { - 0% { -moz-transform: translateX(-100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromleft { - 0% { transform: translateX(-100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -@-webkit-keyframes flowinfromright { - 0% { -webkit-transform: translateX(100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromright { - 0% { -moz-transform: translateX(100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromright { - 0% { transform: translateX(100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -.ui-field-contain, -.ui-mobile fieldset.ui-field-contain { - display: block; - position: relative; - overflow: visible; - clear: both; - padding: .8em 0; -} -.ui-field-contain > label ~ [class*="ui-"], -.ui-field-contain .ui-controlgroup-controls { - margin: 0; -} -.ui-field-contain:last-child { - border-bottom-width: 0; -} -@media (min-width: 28em) { - .ui-field-contain, - .ui-mobile fieldset.ui-field-contain { - padding: 0; - margin: 1em 0; - border-bottom-width: 0; - } - .ui-field-contain:before, - .ui-field-contain:after { - content: ""; - display: table; - } - .ui-field-contain:after { - clear: both; - } - .ui-field-contain > label, - .ui-field-contain .ui-controlgroup-label, - .ui-field-contain > .ui-rangeslider > label { - float: left; - width: 20%; - margin: .5em 2% 0 0; - } - .ui-popup .ui-field-contain > label, - .ui-popup .ui-field-contain .ui-controlgroup-label, - .ui-popup .ui-field-contain > .ui-rangeslider > label { - float: none; - width: auto; - margin: 0 0 .4em; - } - .ui-field-contain > label ~ [class*="ui-"], - .ui-field-contain .ui-controlgroup-controls { - float: left; - width: 78%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - /* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ - .ui-hide-label > label ~ [class*="ui-"], - .ui-hide-label .ui-controlgroup-controls, - .ui-popup .ui-field-contain > label ~ [class*="ui-"], - .ui-popup .ui-field-contain .ui-controlgroup-controls { - float: none; - width: 100%; - } - .ui-field-contain > label ~ .ui-btn-inline { - width: auto; - margin-right: .625em; - } - .ui-field-contain > label ~ .ui-btn-inline.ui-btn-icon-notext { - width: 1.75em; - } -} -/* content configurations. */ -.ui-grid-a, -.ui-grid-b, -.ui-grid-c, -.ui-grid-d, -.ui-grid-solo { - overflow: hidden; -} -.ui-block-a, -.ui-block-b, -.ui-block-c, -.ui-block-d, -.ui-block-e { - margin: 0; - padding: 0; - border: 0; - float: left; - min-height: 1px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -/* force new row */ -.ui-block-a { - clear: left; -} -ul.ui-grid-a, -ul.ui-grid-b, -ul.ui-grid-c, -ul.ui-grid-d, -ul.ui-grid-solo, -li.ui-block-a, -li.ui-block-b, -li.ui-block-c, -li.ui-block-d, -li.ui-block-e { - margin-left: 0; - margin-right: 0; - padding: 0; - list-style: none; -} -/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */ -[class*="ui-block-"] > button.ui-btn { - margin-right: 0; - margin-left: 0; -} -[class*="ui-block-"] > .ui-btn, -[class*="ui-block-"] > .ui-select, -[class*="ui-block-"] > .ui-checkbox, -[class*="ui-block-"] > .ui-radio, -[class*="ui-block-"] > button.ui-btn-inline, -[class*="ui-block-"] > button.ui-btn-icon-notext, -.ui-header [class*="ui-block-"] > button.ui-btn, -.ui-footer [class*="ui-block-"] > button.ui-btn { - margin-right: .3125em; - margin-left: .3125em; -} -.ui-grid-a > .ui-block-a, -.ui-grid-a > .ui-block-b { - /* width: 49.95%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 50%; -} -.ui-grid-b > .ui-block-a, -.ui-grid-b > .ui-block-b, -.ui-grid-b > .ui-block-c { - /* width: 33.25%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 33.333%; -} -.ui-grid-c > .ui-block-a, -.ui-grid-c > .ui-block-b, -.ui-grid-c > .ui-block-c, -.ui-grid-c > .ui-block-d { - /* width: 24.925%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 25%; -} -.ui-grid-d > .ui-block-a, -.ui-grid-d > .ui-block-b, -.ui-grid-d > .ui-block-c, -.ui-grid-d > .ui-block-d, -.ui-grid-d > .ui-block-e { - /* width: 19.925%; IE7 */ - width: 20%; -} -.ui-grid-solo > .ui-block-a { - width: 100%; - float: none; -} -/* preset breakpoint to switch to stacked grid styles below 35em (560px) */ -@media (max-width: 35em) { - .ui-responsive > .ui-block-a, - .ui-responsive > .ui-block-b, - .ui-responsive > .ui-block-c, - .ui-responsive > .ui-block-d, - .ui-responsive > .ui-block-e { - width: 100%; - float: none; - } -} -/* fixed page header & footer configuration */ -.ui-header-fixed, -.ui-footer-fixed { - left: 0; - right: 0; - width: 100%; - position: fixed; - z-index: 1000; -} -.ui-header-fixed { - top: -1px; - padding-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden { - top: 0; - padding-top: 0; -} -.ui-header-fixed .ui-btn-left, -.ui-header-fixed .ui-btn-right { - margin-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden .ui-btn-left, -.ui-header-fixed.ui-fixed-hidden .ui-btn-right { - margin-top: 0; -} -.ui-footer-fixed { - bottom: -1px; - padding-bottom: 1px; -} -.ui-footer-fixed.ui-fixed-hidden { - bottom: 0; - padding-bottom: 0; -} -.ui-header-fullscreen, -.ui-footer-fullscreen { - filter: Alpha(Opacity=90); - opacity: .9; -} -/* updatePagePadding() will update the padding to actual height of header and footer. */ -.ui-page-header-fixed { - padding-top: 2.8125em; -} -.ui-page-footer-fixed { - padding-bottom: 2.8125em; -} -.ui-page-header-fullscreen > .ui-content, -.ui-page-footer-fullscreen > .ui-content { - padding: 0; -} -.ui-fixed-hidden { - position: absolute; -} -/* Tap toggle: hide external fixed footer. See issue #6604 */ -.ui-footer-fixed.ui-fixed-hidden { - display: none; -} -.ui-page .ui-footer-fixed.ui-fixed-hidden { - display: block -} -.ui-page-header-fullscreen .ui-fixed-hidden, -.ui-page-footer-fullscreen .ui-fixed-hidden { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-header-fixed .ui-btn, -.ui-footer-fixed .ui-btn { - z-index: 10; -} -/* workarounds for other widgets */ -.ui-android-2x-fixed .ui-li-has-thumb { - -webkit-transform: translate3d(0,0,0); -} -.ui-navbar { - max-width: 100%; -} -.ui-navbar ul:before, -.ui-navbar ul:after { - content: ""; - display: table; -} -.ui-navbar ul:after { - clear: both; -} -.ui-navbar ul { - list-style: none; - margin: 0; - padding: 0; - position: relative; - display: block; - border: 0; - max-width: 100%; - overflow: visible; -} -.ui-navbar li .ui-btn { - font-size: 12.5px; - display: block; - margin: 0; - border-right-width: 0; -} -.ui-header .ui-navbar li button.ui-btn, -.ui-footer .ui-navbar li button.ui-btn { - margin: 0; - width: 100%; -} -.ui-navbar .ui-btn:focus { - z-index: 1; -} -/* fixes gaps caused by subpixel problem */ -.ui-navbar li:last-child .ui-btn { - margin-right: -4px; -} -.ui-navbar li:last-child .ui-btn:after { - margin-right: 4px; -} -.ui-content .ui-navbar li:last-child .ui-btn, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn { - border-right-width: 1px; - margin-right: 0; -} -.ui-content .ui-navbar li:last-child .ui-btn:after, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after { - margin-right: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn { - border-right-width: 1px; - margin-right: -1px; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after { - margin-right: 1px; -} -.ui-navbar .ui-grid-duo .ui-btn { - border-top-width: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -.ui-header .ui-navbar .ui-btn, -.ui-footer .ui-navbar .ui-btn { - border-top-width: 0; - border-bottom-width: 0; -} -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 0; -} -.ui-header .ui-title ~ .ui-navbar .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -/* Hide the native input element */ -.ui-input-btn input { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; - border: 0; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - background: #fff; - background: rgba(255,255,255,0); - filter: Alpha(Opacity=0); - opacity: .1; - font-size: 1px; - text-indent: -9999px; - z-index: 2; -} -/* Fixes IE/WP filter alpha opacity bugs */ -.ui-input-btn.ui-state-disabled input { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible { - margin: 0 -1em; -} -.ui-collapsible-inset, -.ui-collapsible-set { - margin: .5em 0; -} -.ui-collapsible-heading { - display: block; - margin: 0; - padding: 0; - position: relative; -} -.ui-collapsible-heading .ui-btn { - text-align: left; - margin: 0; - border-left-width: 0; - border-right-width: 0; -} -.ui-collapsible-heading .ui-btn-icon-top, -.ui-collapsible-heading .ui-btn-icon-bottom { - text-align: center; -} -.ui-collapsible-inset .ui-collapsible-heading .ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn { - border-top-width: 0; -} -.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn { - border-top-width: 1px; -} -.ui-collapsible-heading-status { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible-content { - display: block; - margin: 0; - padding: .5em 1em; -} -.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 0; - border-right-width: 0; - border-top-width: 0; - border-bottom-width: 1px; - border-style: solid; -} -.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 1px; - border-right-width: 1px; -} -.ui-collapsible-inset .ui-collapsible-content { - margin: 0; -} -.ui-collapsible-content-collapsed { - display: none; -} -.ui-collapsible-set > .ui-collapsible.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-collapsible-heading, -.ui-collapsible-heading > .ui-btn { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-collapsible-content, -.ui-collapsible-set .ui-collapsible.ui-last-child { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -.ui-collapsible-set .ui-collapsible { - margin: -1px -1em 0; -} -.ui-collapsible-set .ui-collapsible-inset { - margin: -1px 0 0; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - margin-top: 0; -} -.ui-controlgroup, -fieldset.ui-controlgroup { - padding: 0; - margin: .5em 0; -} -.ui-field-contain .ui-controlgroup, -.ui-field-contain fieldset.ui-controlgroup { - margin: 0; -} -.ui-mini .ui-controlgroup-label { - font-size: 16px; -} -.ui-controlgroup.ui-mini .ui-btn-icon-notext, -.ui-controlgroup .ui-mini.ui-btn-icon-notext { - font-size: inherit; -} -.ui-controlgroup-controls .ui-btn, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-select { - margin: 0; -} -.ui-controlgroup-controls .ui-btn:focus, -.ui-controlgroup-controls .ui-btn.ui-focus { - z-index: 1; -} -.ui-controlgroup-controls li { - list-style: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls { - display: inline-block; - vertical-align: middle; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:before, -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - content: ""; - display: table; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - clear: both; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select { - float: left; - clear: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn, -.ui-controlgroup-controls .ui-btn-icon-notext { - width: auto; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext { - width: 1.5em; -} - .ui-controlgroup-controls .ui-btn-icon-notext { - height: auto; - padding: .7em 1em; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn { - border-bottom-width: 0; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child { - border-bottom-width: 1px; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn { - border-right-width: 0; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child { - border-right-width: 1px; -} -.ui-controlgroup-controls .ui-btn-corner-all, -.ui-controlgroup-controls .ui-btn.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-controlgroup-controls, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-select, -.ui-controlgroup-controls li { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-last-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-controls a.ui-shadow:not(:focus), -.ui-controlgroup-controls button.ui-shadow:not(:focus), -.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) { - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} -/* Fixes legend not wrapping on IE10 */ -.ui-controlgroup-label legend { - max-width: 100%; -} -.ui-controlgroup-controls > label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-dialog { - background: none !important; /* this is to ensure that dialog theming does not apply (by default at least) on the page div */ -} -.ui-dialog-contain { - width: 92.5%; - max-width: 500px; - margin: 10% auto 1em auto; - padding: 0; - position: relative; - top: -1em; -} -.ui-dialog-contain > .ui-header, -.ui-dialog-contain > .ui-content, -.ui-dialog-contain > .ui-footer { - display: block; - position: relative; - width: auto; - margin: 0; -} -.ui-dialog-contain > .ui-header { - overflow: hidden; - z-index: 10; - padding: 0; - border-top-width: 0; -} -.ui-dialog-contain > .ui-footer { - z-index: 10; - padding: 0 1em; - border-bottom-width: 0; -} -.ui-popup-open .ui-header-fixed, -.ui-popup-open .ui-footer-fixed { - position: absolute !important; /* See issues #4816, #4844 and #4874 and popup.js */ -} -.ui-popup-screen { - background-image: url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); /* Necessary to set some form of background to ensure element is clickable in IE6/7. While legacy IE won't understand the data-URI'd image, it ensures no additional requests occur in all other browsers with little overhead. */ - top: 0; - left: 0; - right: 0; - bottom: 1px; - position: absolute; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 1099; -} -.ui-popup-screen.in { - opacity: 0.5; - filter: Alpha(Opacity=50); -} -.ui-popup-screen.out { - opacity: 0; - filter: Alpha(Opacity=0); -} -.ui-popup-container { - z-index: 1100; - display: inline-block; - position: absolute; - padding: 0; - outline: 0; -} -.ui-popup { - position: relative; -} -.ui-popup.ui-body-inherit { - border-width: 1px; - border-style: solid; -} -.ui-popup-hidden { - left: 0; - top: 0; - position: absolute !important; - visibility: hidden; -} -.ui-popup-truncate { - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-popup.ui-content, -.ui-popup .ui-content { - overflow: visible; -} -.ui-popup > .ui-header { - border-top-width: 0; -} -.ui-popup > .ui-footer { - border-bottom-width: 0; -} -.ui-popup > p, -.ui-popup > h1, -.ui-popup > h2, -.ui-popup > h3, -.ui-popup > h4, -.ui-popup > h5, -.ui-popup > h6 { - margin: .5em .4375em; -} -.ui-popup > span { - display: block; - margin: .5em .4375em; -} -.ui-popup-container .ui-content > p, -.ui-popup-container .ui-content > h1, -.ui-popup-container .ui-content > h2, -.ui-popup-container .ui-content > h3, -.ui-popup-container .ui-content > h4, -.ui-popup-container .ui-content > h5, -.ui-popup-container .ui-content > h6 { - margin: .5em 0; -} -.ui-popup-container .ui-content > span { - margin: 0; -} -.ui-popup-container .ui-content > p:first-child, -.ui-popup-container .ui-content > h1:first-child, -.ui-popup-container .ui-content > h2:first-child, -.ui-popup-container .ui-content > h3:first-child, -.ui-popup-container .ui-content > h4:first-child, -.ui-popup-container .ui-content > h5:first-child, -.ui-popup-container .ui-content > h6:first-child { - margin-top: 0; -} -.ui-popup-container .ui-content > p:last-child, -.ui-popup-container .ui-content > h1:last-child, -.ui-popup-container .ui-content > h2:last-child, -.ui-popup-container .ui-content > h3:last-child, -.ui-popup-container .ui-content > h4:last-child, -.ui-popup-container .ui-content > h5:last-child, -.ui-popup-container .ui-content > h6:last-child { - margin-bottom: 0; -} -.ui-popup > img { - max-width: 100%; - max-height: 100%; - vertical-align: middle; -} -.ui-popup:not(.ui-content) > img:only-child, -.ui-popup:not(.ui-content) > .ui-btn-left:first-child + img:last-child, -.ui-popup:not(.ui-content) > .ui-btn-right:first-child + img:last-child { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-popup iframe { - vertical-align: middle; -} -.ui-popup > .ui-btn-left, -.ui-popup > .ui-btn-right { - position: absolute; - top: -11px; - margin: 0; - z-index: 1101; -} -.ui-popup > .ui-btn-left { - left: -11px; -} -.ui-popup > .ui-btn-right { - right: -11px; -} -/* Dimensions related to the popup arrow ------------------------------------------------------------------------------------------------------------*/ -/* desired triangle height: 10px */ -/** - * guide for the arrow - its width, height, and offset are theme-dependent and - * should be expessed as left, right, top, bottom, so that the element bearing - * such a class becomes stretched inside its parent position: relative element. - * The left/top/right/bottom specified below should reflect the corresponding - * border radii and so it leaves room for the shadow: - * ..--------------------.. - * ." ^ top ". - * / v \ - * | +------------------+ | - * | | | | - * | left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The idea is that the top/left of the arrow container box does not move to a - * coordinate smaller than the top/left of the guide and the right/bottom of - * the arrow container box does not move to a coordinate larger than the - * bottom/right of the guide. This will help us avoid the following situation: - * ..--------------------.. - * ." ^ top ". - * /|/ v \ - * / | +------------------+ | - * \ | | | | - * \| left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The arrow should not receive a top/left coordinate such that it is too close - * to one of the corners, because then at first the shadow of the arrow and, - * given a coordinate even closer to the corner, even the body of the arrow will - * "stick out" of the corner of the popup. The guide provides a hint to the - * arrow positioning code as to which range of values is acceptable for the - * arrow container's top/left coordinate. - **/ -.ui-popup-arrow-container { - width: 20px; - height: 20px; -} -/* aside from the "infinities" (-1000,2000), triangle height is used */ -.ui-popup-arrow-container.ui-popup-arrow-l { - left: -10px; - clip: rect(-1000px,10px,2000px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-t { - top: -10px; - clip: rect(-1000px,2000px,10px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-r { - right: -10px; - clip: rect(-1000px,2000px,2000px,10px); -} -.ui-popup-arrow-container.ui-popup-arrow-b { - bottom: -10px; - clip: rect(10px,2000px,1000px,-1000px); -} -/** - * For each side, the arrow is twice the desired size and its corner is aligned - * with the edge of the container: - * - * /\ /\ +----+ /\ - * / \ / \ | /\ |top / \ - * +----+ \ / +----+ +-->|/ \| / \ - * left| / | \ / | \ |right | | | / \ - * |/ | \ / | \| | /| |\ / \ - * |\ | / \ | /| | / +----+ \ \ +----+ / - * | \ | / \ | / | | \ / \| |/ - * +----+ / \ +----+ | \ / | | - * ^ \ / \ / ^ | \ / +->|\ /| - * | \/ \/ | | \ / | | \/ |bottom - * | | | \/ | +----+ - * +-------------------+--------+-----------+ - * | - * arrow container - * (clips arrow) - **/ -.ui-popup-arrow-container .ui-popup-arrow { - /* (4*desired triangle height)/sqrt(2) - does not account for border - centred within the outer rectangle */ - width: 28.284271247px; - height: 28.284271247px; - border-width: 1px; - border-style: solid; -} -.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow { - left: -4.142135623px; - top: 5.857864376px; -} -.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow { - left: -4.142135623px; - top: -14.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow { - left: 5.857864376px; - top: -4.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow { - left: -14.142135623px; - top: -4.142135623px; -} -/* Fix rotation center for oldIE - see http://www.useragentman.com/IETransformsTranslator/ */ -.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -7.0710678118654755px; -} -.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -4.142135623730951px; -} - -.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow { - margin-left: -7.0710678118654755px; - margin-top: -5.857864376269049px; -} -.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow { - margin-left: -4.142135623730951px; - margin-top: -5.857864376269049px; -} -/* structure */ -.ui-popup > .ui-popup-arrow-guide { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - visibility: hidden; -} -.ui-popup-arrow-container { - position: absolute; -} -.ui-popup-arrow { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - overflow: hidden; - box-sizing: border-box; -} -.ui-popup-arrow-container.ie .ui-popup-arrow { - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')"; - filter: progid:DXImageTransform.Microsoft.Matrix( - M11=0.7071067811865474, - M12=-0.7071067811865477, - M21=0.7071067811865477, - M22=0.7071067811865474, - SizingMethod='auto expand'); -} -.ui-checkbox, -.ui-radio { - margin: .5em 0; - position: relative; -} -.ui-checkbox .ui-btn, -.ui-radio .ui-btn { - margin: 0; - text-align: left; - white-space: normal; /* Nowrap + ellipsis doesn't work on label. Issue #1419. */ - z-index: 2; -} -.ui-controlgroup .ui-checkbox .ui-btn.ui-focus, -.ui-controlgroup .ui-radio .ui-btn.ui-focus { - z-index: 3; -} -.ui-checkbox .ui-btn-icon-top, -.ui-radio .ui-btn-icon-top, -.ui-checkbox .ui-btn-icon-bottom, -.ui-radio .ui-btn-icon-bottom { - text-align: center; -} -.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after, -.ui-controlgroup-horizontal .ui-radio .ui-btn:after { - content: none; - display: none; -} -/* Native input positioning */ -.ui-checkbox input, -.ui-radio input { - position: absolute; - left: .466em; - top: 50%; - width: 22px; - height: 22px; - margin: -11px 0 0 0; - outline: 0 !important; - z-index: 1; -} -.ui-controlgroup-horizontal .ui-checkbox input, -.ui-controlgroup-horizontal .ui-radio input { - left: 50%; - margin-left: -9px; -} -.ui-checkbox input:disabled, -.ui-radio input:disabled { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select { - margin-top: .5em; - margin-bottom: .5em; /* no shorthand for margin because it would override margin-right for inline selects */ - position: relative; -} -.ui-select > select { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select .ui-btn { - margin: 0; - opacity: 1; /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including "inherit") without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */ -} -.ui-select .ui-btn select { - position: absolute; - top: 0; - left: 0; - width: 100%; - min-height: 1.5em; - min-height: 100%; - height: 3em; - max-height: 100%; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 2; -} -@-moz-document url-prefix() { - .ui-select .ui-btn select { - opacity: 0.0001; - } -} -/* Display none because of issues with IE/WP's filter alpha opacity */ -.ui-select .ui-state-disabled select { - display: none; -} -/* Because we add all classes of the select and option elements to the span... */ -.ui-select span.ui-state-disabled { - filter: Alpha(Opacity=100); - opacity: 1; -} -.ui-select .ui-btn.ui-select-nativeonly { - border-radius: 0; - border: 0; -} -.ui-select .ui-btn.ui-select-nativeonly select { - opacity: 1; - text-indent: 0; - display: block; -} -/* ui-li-count is styled in the listview CSS. We set padding and offset here because select supports icon position while listview doesn't. */ -.ui-select .ui-li-has-count.ui-btn { - padding-right: 2.8125em; -} -.ui-select .ui-li-has-count.ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-select .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -/* We set the rules for the span as well to fix an issue on Chrome with text-overflow ellipsis for the button in combination with text-align center. */ -.ui-select .ui-btn > span:not(.ui-li-count) { - display: block; - text-overflow: ellipsis; - overflow: hidden !important; - white-space: nowrap; -} -.ui-selectmenu.ui-popup { - min-width: 11em; -} -.ui-selectmenu .ui-dialog-contain { - overflow: hidden; -} -.ui-selectmenu .ui-header { - margin: 0; - padding: 0; - border-width: 0; -} -.ui-selectmenu.ui-dialog .ui-header { - z-index: 1; - position: relative; -} -.ui-selectmenu.ui-popup .ui-header { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ -.ui-selectmenu.ui-popup .ui-header h1:after { - content: '.'; - visibility: hidden; -} -.ui-selectmenu .ui-header .ui-title { - margin: 0 2.875em; -} -.ui-selectmenu.ui-dialog .ui-content { - overflow: visible; - z-index: 1; -} -.ui-selectmenu .ui-selectmenu-list { - margin: 0; - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-header:not(.ui-screen-hidden) + .ui-selectmenu-list { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; -} -.ui-header.ui-screen-hidden + .ui-selectmenu-list li.ui-first-child .ui-btn { - border-top-width: 0; -} -.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn { - border-bottom-width: 0; -} -.ui-selectmenu .ui-btn.ui-li-divider { - cursor: default; -} -.ui-selectmenu .ui-selectmenu-placeholder { - display: none; -} -.ui-listview, -.ui-listview > li { - margin: 0; - padding: 0; - list-style: none; -} -.ui-content .ui-listview, -.ui-panel-inner > .ui-listview { - margin: -1em; -} -.ui-content .ui-listview-inset, -.ui-panel-inner > .ui-listview-inset { - margin: 1em 0; -} -.ui-collapsible-content > .ui-listview { - margin: -.5em -1em; -} -.ui-collapsible-content > .ui-listview-inset { - margin: .5em 0; -} -.ui-listview > li { - display: block; - position: relative; - overflow: visible; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - margin: 0; - display: block; - position: relative; - text-align: left; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li > .ui-btn:focus { - z-index: 1; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - border-width: 1px 0 0 0; - border-style: solid; -} -.ui-listview-inset > .ui-li-static, -.ui-listview-inset > .ui-li-divider, -.ui-listview-inset > li > a.ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-listview > .ui-li-static.ui-last-child, -.ui-listview > .ui-li-divider.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - border-bottom-width: 1px; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 0; -} -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child, -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child > a.ui-btn { - border-bottom-width: 0; -} -.ui-listview > li.ui-first-child, -.ui-listview > li.ui-first-child > a.ui-btn { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-listview > li.ui-li-has-alt > a.ui-btn { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -.ui-listview > li.ui-first-child > a.ui-btn + a.ui-btn { - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-listview > li.ui-last-child > a.ui-btn + a.ui-btn { - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-listview > li.ui-first-child img:first-child:not(.ui-li-icon) { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child img:first-child:not(.ui-li-icon) { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-listview > .ui-li-static { - padding: .7em 1em; -} -.ui-listview > .ui-li-divider { - padding: .5em 1.143em; - font-size: 14px; - font-weight: bold; - cursor: default; - outline: 0; /* Dividers in custom selectmenus have tabindex */ -} -.ui-listview > .ui-li-has-count > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-count, -.ui-listview > .ui-li-divider.ui-li-has-count { - padding-right: 2.8125em; -} -.ui-listview > .ui-li-has-count > .ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-listview > .ui-li-has-thumb > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-thumb { - min-height: 3.625em; - padding-left: 6.25em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-icon { - min-height: 1.25em; - padding-left: 2.5em; -} -/* Used by both listview and custom multiple select button */ -.ui-li-count { - position: absolute; - font-size: 12.5px; - font-weight: bold; - text-align: center; - border-width: 1px; - border-style: solid; - padding: 0 .48em; - line-height: 1.6em; - min-height: 1.6em; - min-width: .64em; - right: .8em; - top: 50%; - margin-top: -.88em; -} -.ui-listview .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -.ui-listview .ui-li-has-thumb > img:first-child, -.ui-listview .ui-li-has-thumb > .ui-btn > img:first-child, -.ui-listview .ui-li-has-thumb .ui-li-thumb { - position: absolute; - left: 0; - top: 0; - max-height: 5em; - max-width: 5em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > img:first-child, -.ui-listview > .ui-li-has-icon > .ui-btn > img:first-child { - position: absolute; - left: .625em; - top: .9em; - max-height: 1em; - max-width: 1em; -} -.ui-listview > li h1, -.ui-listview > li h2, -.ui-listview > li h3, -.ui-listview > li h4, -.ui-listview > li h5, -.ui-listview > li h6 { - font-size: 1em; - font-weight: bold; - display: block; - margin: .45em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li p { - font-size: .75em; - font-weight: normal; - display: block; - margin: .6em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview .ui-li-aside { - position: absolute; - top: 1em; - right: 3.333em; - margin: 0; - text-align: right; -} -.ui-listview > li.ui-li-has-alt > .ui-btn { - margin-right: 2.5em; - border-right-width: 0; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn { - position: absolute; - width: 2.5em; - height: 100%; - min-height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-left-width: 1px; - top: 0; - right: 0; - margin: 0; - padding: 0; - z-index: 2; -} -.ui-listview-inset > li.ui-li-has-alt > .ui-btn + .ui-btn { - border-right-width: 1px; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn:focus { - z-index: 3; -} -ol.ui-listview, -ol.ui-listview > .ui-li-divider { - counter-reset: listnumbering; -} -ol.ui-listview > li > .ui-btn, -ol.ui-listview > li.ui-li-static { - vertical-align: middle; -} -ol.ui-listview > li > .ui-btn:first-child:before, -ol.ui-listview > li.ui-li-static:before, -ol.ui-listview > li.ui-field-contain > label:before, -ol.ui-listview > li.ui-field-contain > .ui-controlgroup-label:before { - display: inline-block; - font-size: .9em; - font-weight: normal; - padding-right: .3em; - min-width: 1.4em; - line-height: 1.5; - vertical-align: middle; - counter-increment: listnumbering; - content: counter(listnumbering) "."; -} -ol.ui-listview > li.ui-field-contain:before { - content: none; - display: none; -} -ol.ui-listview > li h1:first-child, -ol.ui-listview > li h2:first-child, -ol.ui-listview > li h3:first-child, -ol.ui-listview > li h4:first-child, -ol.ui-listview > li h5:first-child, -ol.ui-listview > li h6:first-child, -ol.ui-listview > li p:first-child, -ol.ui-listview > li img:first-child + * { - display: inline-block; - vertical-align: middle; -} -ol.ui-listview > li h1:first-child ~ *, -ol.ui-listview > li h2:first-child ~ *, -ol.ui-listview > li h3:first-child ~ *, -ol.ui-listview > li h4:first-child ~ *, -ol.ui-listview > li h5:first-child ~ *, -ol.ui-listview > li h6:first-child ~ *, -ol.ui-listview > li p:first-child ~ *, -ol.ui-listview > li img:first-child + * ~ * { - margin-top: 0; - text-indent: 2.04em; /* (1.4em + .3em) * .9em / .75em */ -} -html .ui-filterable + .ui-listview, -html .ui-filterable.ui-listview { - margin-top: .5em; -} -.ui-collapsible-content > form.ui-filterable { - margin-top: -.5em; -} -.ui-collapsible-content > .ui-input-search.ui-filterable { - margin-top: 0; -} -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 1px; -} -div.ui-slider { - height: 30px; - margin: .5em 0; - padding: 0; - -ms-touch-action: pan-y pinch-zoom double-tap-zoom; -} -div.ui-slider:before, -div.ui-slider:after { - content: ""; - display: table; -} -div.ui-slider:after { - clear: both; -} -input.ui-slider-input { - display: block; - float: left; - font-size: 14px; - font-weight: bold; - margin: 0; - padding: 4px; - width: 40px; - height: 20px; - line-height: 20px; - border-width: 1px; - border-style: solid; - outline: 0; - text-align: center; - vertical-align: text-bottom; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-slider-input::-webkit-outer-spin-button, -.ui-slider-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -.ui-slider-track { - position: relative; - overflow: visible; - border-width: 1px; - border-style: solid; - height: 15px; - margin: 0 15px 0 68px; - top: 6px; -} -.ui-slider-track.ui-mini { - height: 12px; - top: 8px; -} -.ui-slider-track .ui-slider-bg { - height: 100%; -} -/* High level of specificity to override button margins in grids */ -.ui-slider-track .ui-btn.ui-slider-handle { - position: absolute; - z-index: 1; - top: 50%; - width: 28px; - height: 28px; - margin: -15px 0 0 -15px; - outline: 0; - padding: 0; -} -.ui-slider-track.ui-mini .ui-slider-handle { - height: 14px; - width: 14px; - margin: -8px 0 0 -8px; -} -select.ui-slider-switch { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -div.ui-slider-switch { - display: inline-block; - height: 32px; - width: 5.8em; - top: 0; -} -/* reset the clearfix */ -div.ui-slider-switch:before, -div.ui-slider-switch:after { - display: none; - clear: none; -} -div.ui-slider-switch.ui-mini { - height: 29px; - top: 0; -} -.ui-slider-inneroffset { - margin: 0 16px; - position: relative; - z-index: 1; -} -.ui-slider-switch.ui-mini .ui-slider-inneroffset { - margin: 0 15px 0 14px; -} -.ui-slider-switch .ui-btn.ui-slider-handle { - margin: 1px 0 0 -15px; -} -.ui-slider-switch.ui-mini .ui-slider-handle { - width: 25px; - height: 25px; - margin: 1px 0 0 -13px; - padding: 0; -} -.ui-slider-handle-snapping { - -webkit-transition: left 70ms linear; - -moz-transition: left 70ms linear; - transition: left 70ms linear; -} -.ui-slider-switch .ui-slider-label { - position: absolute; - text-align: center; - width: 100%; - overflow: hidden; - font-size: 16px; - top: 0; - line-height: 2; - min-height: 100%; - white-space: nowrap; - cursor: pointer; -} -.ui-slider-switch.ui-mini .ui-slider-label { - font-size: 14px; -} -.ui-slider-switch .ui-slider-label-a { - z-index: 1; - left: 0; - text-indent: -1.5em; -} -.ui-slider-switch .ui-slider-label-b { - z-index: 0; - right: 0; - text-indent: 1.5em; -} -/* The corner radii for ui-slider-switch/track can be specified in theme CSS. The bg and handle inherits. */ -.ui-slider-track .ui-slider-bg, -.ui-slider-switch .ui-slider-label, -.ui-slider-switch .ui-slider-inneroffset, -.ui-slider-handle { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-field-contain div.ui-slider-switch { - margin: 0; -} -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-field-contain div.ui-slider-switch, -.ui-field-contain.ui-hide-label div.ui-slider-switch, -html .ui-popup .ui-field-contain div.ui-slider-switch { - display: inline-block; - width: 5.8em; -} -/* slider tooltip ------------------------------------------------------------------------------------------------------------*/ -.ui-slider-popup { - width: 64px; - height: 64px; - font-size: 36px; - padding-top: 14px; - opacity: 0.8; -} -.ui-slider-popup { - position: absolute !important; - text-align: center; - z-index: 100; -} -.ui-slider-track .ui-btn.ui-slider-handle { - font-size: .9em; - line-height: 30px; -} -.ui-rangeslider { - margin: .5em 0; -} -.ui-rangeslider:before, -.ui-rangeslider:after { - content: ""; - display: table; -} -.ui-rangeslider:after { - clear: both; -} -.ui-rangeslider .ui-slider-input.ui-rangeslider-last { - float: right; -} -.ui-rangeslider .ui-rangeslider-sliders { - position: relative; - overflow: visible; - height: 30px; - margin: 0 68px; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track { - position: absolute; - top: 6px; - right: 0; - left: 0; - margin: 0; -} -.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track { - top: 8px; -} -.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg { - display: none; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - background-color: transparent; - background: none; - border-width: 0; - height: 0; -} -/* this makes ie6 and ie7 set height to 0 to fix z-index problem */ -html >/**/body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 15px; - border-width: 1px; -} -html >/**/body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 12px; -} -/* Hide the second label (the first is moved outside the div) */ -div.ui-rangeslider label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-field-contain .ui-rangeslider input.ui-slider-input, -.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input, -.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders, -.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders { - margin-top: 0; - margin-bottom: 0; -} -.ui-input-text, -.ui-input-search { - margin: .5em 0; - border-width: 1px; - border-style: solid; -} -.ui-mini { - margin: .446em; -} -.ui-input-text input, -.ui-input-search input, -textarea.ui-input-text { - padding: .4em; - line-height: 1.4em; - display: block; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - outline: 0; -} -.ui-input-text input, -.ui-input-search input { - margin: 0; - min-height: 2.2em; - text-align: left; /* Opera aligns type="date" right by default */ - border: 0; - background: transparent none; - -webkit-appearance: none; - -webkit-border-radius: inherit; - border-radius: inherit; -} -textarea.ui-input-text { - overflow: auto; - resize: vertical; -} -.ui-mini .ui-input-text input, -.ui-mini .ui-input-search input, -.ui-input-text.ui-mini input, -.ui-input-search.ui-mini input, -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - font-size: 14px; -} -/* Same margin for mini textareas as other mini sized widgets (12.5/14 * 0.5em) */ -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - margin: .446em 0; -} -.ui-input-has-clear, -.ui-input-search { - position: relative; -} -/* Padding on the div instead of input because of browser spinners etc. */ -.ui-input-has-clear { - padding-right: 2.375em; -} -.ui-mini.ui-input-has-clear { - padding-right: 2.923em; -} -.ui-input-has-clear input { - padding-right: 0; - /* Autofill on Chrome has bg color so we unset corners right as well. */ - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -/* Search icon */ -.ui-input-search input { - padding-left: 1.75em; -} -.ui-input-search:after { - position: absolute; - left: .3125em; - top: 50%; - margin-top: -7px; - content: ""; - background-position: center center; - background-repeat: no-repeat; - width: 14px; - height: 14px; - filter: Alpha(Opacity=50); - opacity: .5; -} -.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear, -.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear { - position: absolute; - right: 0; - top: 50%; - margin: -14px .3125em 0; - border: 0; - background-color: transparent; -} -.ui-input-search .ui-input-clear-hidden, -.ui-input-text .ui-input-clear-hidden { - display: none; -} -/* Resolves issue #5166: Added to support issue introduced in Firefox 15. We can likely remove this in the future. */ -.ui-input-text input::-moz-placeholder, -.ui-input-search input::-moz-placeholder, -textarea.ui-input-text::-moz-placeholder { - color: #aaa; -} -/* Same for IE10 */ -.ui-input-text input:-ms-input-placeholder, -.ui-input-search input:-ms-input-placeholder, -textarea.ui-input-text:-ms-input-placeholder { - color: #aaa; -} -/* Resolves issue #5131: Width of textinput depends on its type, -for Android 4.1 */ -.ui-input-text input[type=number]::-webkit-outer-spin-button { - margin: 0; -} -/* Resolves issue #5756: Textinput in IE10 has a default clear button */ -.ui-input-text input::-ms-clear, -.ui-input-search input::-ms-clear { - display: none; -} -.ui-input-text input:focus, -.ui-input-search input:focus { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -textarea.ui-input-text.ui-textinput-autogrow { - overflow: hidden; -} -.ui-textinput-autogrow-resize { - -webkit-transition: height 0.25s; - -o-transition: height 0.25s; - -moz-transition: height 0.25s; - transition: height 0.25s; -} -.ui-flipswitch { - display: inline-block; - vertical-align: middle; - width: 5.875em; /* Override this and padding-left in next rule if you use labels other than "on/off" and need more space */ - height: 1.875em; - border-width: 1px; - border-style: solid; - margin: .5em 0; - overflow: hidden; - -webkit-transition-property: padding, width, background-color, color, border-color; - -moz-transition-property: padding, width, background-color, color, border-color; - -o-transition-property: padding, width, background-color, color, border-color; - transition-property: padding, width, background-color, color, border-color; - -webkit-transition-duration: 100ms; - -moz-transition-duration: 100ms; - -o-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; -} -.ui-flipswitch.ui-flipswitch-active { - padding-left: 4em; /* Override this and width in previous rule if you use labels other than "on/off" and need more space */ - width: 1.875em; -} -.ui-flipswitch-input { - position: absolute; - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); - border: 0; - outline: 0; - filter: Alpha(Opacity=0); - opacity: 0; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on, -.ui-flipswitch .ui-flipswitch-off { - float: left; - height: 1.75em; - margin: .0625em; - line-height: 1.65em; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on { - width: 1.75em; - padding: 0; - text-indent: -2.6em; /* Override this to center text if you use a label other than "on" */ - text-align: left; - border-width: 1px; - border-style: solid; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-radius: inherit; - overflow: visible; - color: inherit; - text-shadow: inherit; -} -.ui-flipswitch .ui-flipswitch-off { - padding: 1px; - text-indent: 1em; /* Override this to center text if you use a label other than "off" */ -} -/* Override field container CSS to prevent the flipswitch from becomming full width */ -html .ui-field-contain > label + .ui-flipswitch, -html .ui-popup .ui-field-contain > label + .ui-flipswitch { - display: inline-block; - width: 5.875em; /* If you override the width for .ui-flipswitch you should repeat the same value here */ - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-field-contain .ui-flipswitch.ui-flipswitch-active, -.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active { - width: 1.875em; -} -.ui-table { - border: 0; - border-collapse: collapse; - padding: 0; - width: 100%; -} -.ui-table th, -.ui-table td { - line-height: 1.5em; - text-align: left; - padding: .4em .5em; - vertical-align:top; -} -.ui-table th .ui-btn, -.ui-table td .ui-btn { - line-height: normal; -} -.ui-table th { - font-weight: bold; -} -.ui-table caption { - text-align: left; - margin-bottom: 1.4em; - opacity: .5; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-columntoggle-btn { - float: right; - margin-bottom: .8em; -} -/* Remove top/bottom margins around the fieldcontain on check list */ -.ui-table-columntoggle-popup fieldset { - margin:0; -} -.ui-table-columntoggle { - clear: both; -} -/* Hide all prioritized columns by default */ -@media only all { - th.ui-table-priority-6, - td.ui-table-priority-6, - th.ui-table-priority-5, - td.ui-table-priority-5, - th.ui-table-priority-4, - td.ui-table-priority-4, - th.ui-table-priority-3, - td.ui-table-priority-3, - th.ui-table-priority-2, - td.ui-table-priority-2, - th.ui-table-priority-1, - td.ui-table-priority-1 { - display: none; - } -} -/* Preset breakpoints if ".ui-responsive" class added to table */ -/* Show priority 1 at 320px (20em x 16px) */ -@media screen and (min-width: 20em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-1, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-1 { - display: table-cell; - } -} -/* Show priority 2 at 480px (30em x 16px) */ -@media screen and (min-width: 30em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-2, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-2 { - display: table-cell; - } -} -/* Show priority 3 at 640px (40em x 16px) */ -@media screen and (min-width: 40em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-3, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-3 { - display: table-cell; - } -} -/* Show priority 4 at 800px (50em x 16px) */ -@media screen and (min-width: 50em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-4, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-4 { - display: table-cell; - } -} -/* Show priority 5 at 960px (60em x 16px) */ -@media screen and (min-width: 60em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-5, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-5 { - display: table-cell; - } -} -/* Show priority 6 at 1,120px (70em x 16px) */ -@media screen and (min-width: 70em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-6, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-6 { - display: table-cell; - } -} -/* Unchecked manually: Always hide */ -.ui-table-columntoggle th.ui-table-cell-hidden, -.ui-table-columntoggle td.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden { - display: none; -} -/* Checked manually: Always show */ -.ui-table-columntoggle th.ui-table-cell-visible, -.ui-table-columntoggle td.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible { - display: table-cell; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-reflow td .ui-table-cell-label, -.ui-table-reflow th .ui-table-cell-label { - display: none; -} -/* Mobile first styles: Begin with the stacked presentation at narrow widths */ -@media only all { - /* Hide the table headers */ - .ui-table-reflow thead td, - .ui-table-reflow thead th { - display: none; - } - /* Show the table cells as a block level element */ - .ui-table-reflow td, - .ui-table-reflow th { - text-align: left; - display: block; - } - /* Add a fair amount of top margin to visually separate each row when stacked */ - .ui-table-reflow tbody th { - margin-top: 3em; - } - /* Make the label elements a percentage width */ - .ui-table-reflow td .ui-table-cell-label, - .ui-table-reflow th .ui-table-cell-label { - padding: .4em; - min-width: 30%; - display: inline-block; - margin: -.4em 1em -.4em -.4em; - } - /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ - .ui-table-reflow th .ui-table-cell-label-top, - .ui-table-reflow td .ui-table-cell-label-top { - display: block; - padding: .4em 0; - margin: .4em 0; - text-transform: uppercase; - font-size: .9em; - font-weight: normal; - } -} -/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ -@media ( min-width: 35em ) { - /* Show the table header rows */ - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th, - .ui-table-reflow.ui-responsive tbody th, - .ui-table-reflow.ui-responsive tbody td, - .ui-table-reflow.ui-responsive thead td, - .ui-table-reflow.ui-responsive thead th { - display: table-cell; - margin: 0; - } - /* Hide the labels in each cell */ - .ui-table-reflow.ui-responsive td .ui-table-cell-label, - .ui-table-reflow.ui-responsive th .ui-table-cell-label { - display: none; - } -} -/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ -/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ -@media ( max-width: 35em ) { - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - clear: left; - } -} -/* Panel */ -.ui-panel { - width: 17em; - min-height: 100%; - max-height: none; - border-width: 0; - position: absolute; - top: 0; - display: block; -} -.ui-panel-closed { - width: 0; - max-height: 100%; - overflow: hidden; - visibility: hidden; - left: 0; - clip: rect(1px,1px,1px,1px); -} -.ui-panel-fixed { - position: fixed; - bottom: -1px; /* Fixes gap on Chrome for Android */ - padding-bottom: 1px; -} -.ui-panel-display-reveal { - z-index: 1; -} -.ui-panel-display-push { - z-index: 999; -} -.ui-panel-display-overlay { - z-index: 1001; /* Fixed toolbars have z-index 1000 */ -} -.ui-panel-inner { - padding: 1em; -} -/* Container, page and wrapper */ -.ui-panel-page-container { - overflow-x: visible; -} -.ui-panel-page-container-themed .ui-page-active { - background: none; -} -.ui-panel-wrapper { - position: relative; - min-height: inherit; - border: 0; - overflow-x: hidden; - z-index: 999; -} -/* Fixed toolbars */ -.ui-panel-fixed-toolbar { - overflow-x: hidden; -} -/* Dismiss */ -.ui-panel-dismiss { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - z-index: 1002; - display: none; -} -.ui-panel-dismiss-open { - display: block; -} -/* Animate class is added to panel, wrapper and fixed toolbars */ -.ui-panel-animate { - -webkit-transition: -webkit-transform 300ms ease; - -webkit-transition-duration: 300ms; - -moz-transition: -moz-transform 300ms ease; - transition: transform 300ms ease; -} -/* Fix for Windows Phone issue #6349: unset the transition for transforms in case of fixed toolbars. */ -@media screen and ( max-device-width: 768px ) { - .ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: none; - } - /* We need a transitionend event ... */ - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: -ms-transform 1ms; - -ms-transform: rotate(0deg); - } -} -/* Hardware acceleration for smoother transitions on WebKit browsers */ -.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal) { - -webkit-backface-visibility: hidden; - -webkit-transform: translate3d(0,0,0); -} -/* Panel positioning (for overlay and push) */ -/* Panel left closed */ -.ui-panel-position-left { - left: -17em; -} -/* Panel left closed animated */ -.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-left.ui-panel-display-push { - left: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Panel left open */ -.ui-panel-position-left.ui-panel-display-reveal, /* Unset "panel left closed" for reveal */ -.ui-panel-open.ui-panel-position-left { - left: 0; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Panel right closed */ -.ui-panel-position-right { - right: -17em; -} -/* Panel right closed animated */ -.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-right.ui-panel-display-push { - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-position-right.ui-panel-display-reveal, /* Unset "panel right closed" for reveal */ -.ui-panel-position-right.ui-panel-open { - right: 0; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Wrapper and fixed toolbars positioning (for reveal and push) */ -/* Panel left open */ -.ui-panel-page-content-position-left { - left: 17em; - right: -17em; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-page-content-position-left { - left: 0; - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-page-content-position-right { - left: -17em; - right: 17em; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-page-content-position-right { - left: 0; - right: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Dismiss model open */ -.ui-panel-dismiss-open.ui-panel-dismiss-position-left { - left: 17em; -} -.ui-panel-dismiss-open.ui-panel-dismiss-position-right { - right: 17em; -} -/* Shadows and borders */ -.ui-panel-display-reveal { - -webkit-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - box-shadow: inset -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-reveal { - -webkit-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - box-shadow: inset 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-display-overlay { - -webkit-box-shadow: 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: 5px 0 5px rgba(0,0,0,.15); - box-shadow: 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-overlay { - -webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: -5px 0 5px rgba(0,0,0,.15); - box-shadow: -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - border-right-width: 1px; - margin-right: -1px; -} -.ui-panel-page-content-position-left.ui-panel-page-content-display-push { - margin-left: 1px; - width: auto; -} -.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - border-left-width: 1px; - margin-left: -1px; -} -.ui-panel-page-content-position-right.ui-panel-page-content-display-push { - margin-right: 1px; - width: auto; -} -/* Responsive: wrap on wide viewports once open */ -@media (min-width:55em) { - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left { - margin-right: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right { - margin-left: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open { - width: auto; - } - .ui-responsive-panel .ui-panel-dismiss-display-push, - .ui-responsive-panel.ui-page-active ~ .ui-panel-dismiss-display-push { - display: none; - } -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.min.css deleted file mode 100644 index 8814021e..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -.ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-check:after,html .ui-btn.ui-checkbox-on.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-action:after,.ui-alt-icon .ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-alert:after,.ui-alt-icon .ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d:after,.ui-alt-icon .ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-l:after,.ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-r:after,.ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-l:after,.ui-alt-icon .ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-r:after,.ui-alt-icon .ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u:after,.ui-alt-icon .ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-l:after,.ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-r:after,.ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-audio:after,.ui-alt-icon .ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-back:after,.ui-alt-icon .ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bars:after,.ui-alt-icon .ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bullets:after,.ui-alt-icon .ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-calendar:after,.ui-alt-icon .ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-camera:after,.ui-alt-icon .ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-d:after,.ui-alt-icon .ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-l:after,.ui-alt-icon .ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-r:after,.ui-alt-icon .ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-u:after,.ui-alt-icon .ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-check:after,.ui-alt-icon .ui-icon-check:after,html .ui-alt-icon.ui-btn.ui-checkbox-on:after,html .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-clock:after,.ui-alt-icon .ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-cloud:after,.ui-alt-icon .ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-comment:after,.ui-alt-icon .ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-delete:after,.ui-alt-icon .ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-edit:after,.ui-alt-icon .ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-eye:after,.ui-alt-icon .ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forbidden:after,.ui-alt-icon .ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forward:after,.ui-alt-icon .ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-gear:after,.ui-alt-icon .ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-grid:after,.ui-alt-icon .ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-heart:after,.ui-alt-icon .ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-home:after,.ui-alt-icon .ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-info:after,.ui-alt-icon .ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-location:after,.ui-alt-icon .ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-lock:after,.ui-alt-icon .ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-mail:after,.ui-alt-icon .ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-minus:after,.ui-alt-icon .ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-navigation:after,.ui-alt-icon .ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-phone:after,.ui-alt-icon .ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-plus:after,.ui-alt-icon .ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-power:after,.ui-alt-icon .ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-recycle:after,.ui-alt-icon .ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-refresh:after,.ui-alt-icon .ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-search:after,.ui-alt-icon .ui-icon-search:after,.ui-input-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-shop:after,.ui-alt-icon .ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-star:after,.ui-alt-icon .ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-tag:after,.ui-alt-icon .ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-user:after,.ui-alt-icon .ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-video:after,.ui-alt-icon .ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}html{font-size:100%}body,input,select,textarea,button,.ui-btn{font-size:1em;line-height:1.3;font-family:sans-serif}legend,.ui-input-text input,.ui-input-search input{color:inherit;text-shadow:inherit}.ui-mobile label,div.ui-controlgroup-label{font-weight:400;font-size:16px}.ui-field-contain{border-bottom-color:#828282;border-bottom-color:rgba(0,0,0,.15);border-bottom-width:1px;border-bottom-style:solid}.table-stroke thead th,.table-stripe thead th,.table-stripe tbody tr:last-child{border-bottom:1px solid #d6d6d6;border-bottom:1px solid rgba(0,0,0,.1)}.table-stroke tbody th,.table-stroke tbody td{border-bottom:1px solid #e6e6e6;border-bottom:1px solid rgba(0,0,0,.05)}.table-stripe.table-stroke tbody tr:last-child th,.table-stripe.table-stroke tbody tr:last-child td{border-bottom:0}.table-stripe tbody tr:nth-child(odd) td,.table-stripe tbody tr:nth-child(odd) th{background-color:#eee;background-color:rgba(0,0,0,.04)}.ui-btn,label.ui-btn{font-weight:700;border-width:1px;border-style:solid}.ui-btn{text-decoration:none!important}.ui-btn-active{cursor:pointer}.ui-corner-all{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-corner-all,.ui-btn.ui-corner-all,.ui-slider-track.ui-corner-all,.ui-flipswitch.ui-corner-all,.ui-li-count{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-icon-notext.ui-btn-corner-all,.ui-btn-icon-notext.ui-corner-all{-webkit-border-radius:1em;border-radius:1em}.ui-btn-corner-all,.ui-corner-all{-webkit-background-clip:padding;background-clip:padding-box}.ui-popup.ui-corner-all>.ui-popup-arrow-guide{left:.6em;right:.6em;top:.6em;bottom:.6em}.ui-shadow{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);-moz-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15)}.ui-shadow-inset{-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.ui-overlay-shadow{-webkit-box-shadow:0 0 12px rgba(0,0,0,.6);-moz-box-shadow:0 0 12px rgba(0,0,0,.6);box-shadow:0 0 12px rgba(0,0,0,.6)}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{background-color:#666;background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;-webkit-border-radius:1em;border-radius:1em}.ui-alt-icon.ui-btn:after,.ui-alt-icon .ui-btn:after,html .ui-alt-icon.ui-checkbox-off:after,html .ui-alt-icon.ui-radio-off:after,html .ui-alt-icon .ui-checkbox-off:after,html .ui-alt-icon .ui-radio-off:after{background-color:#666;background-color:rgba(0,0,0,.15)}.ui-nodisc-icon.ui-btn:after,.ui-nodisc-icon .ui-btn:after{background-color:transparent}.ui-shadow-icon.ui-btn:after,.ui-shadow-icon .ui-btn:after{-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after,.ui-btn.ui-radio-off:after,.ui-btn.ui-radio-on:after{display:block;width:18px;height:18px;margin:-9px 2px 0 2px}.ui-checkbox-off:after,.ui-btn.ui-radio-off:after{filter:Alpha(Opacity=30);opacity:.3}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after{-webkit-border-radius:.1875em;border-radius:.1875em}.ui-btn.ui-checkbox-off:after{background-color:#666;background-color:rgba(0,0,0,.3)}.ui-radio .ui-btn.ui-radio-on:after{background-image:none;background-color:#fff;width:8px;height:8px;border-width:5px;border-style:solid}.ui-alt-icon.ui-btn.ui-radio-on:after,.ui-alt-icon .ui-btn.ui-radio-on:after{background-color:#000}.ui-icon-loading{background:url(images/ajax-loader.gif);background-size:2.875em 2.875em}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background-color:#e9e9e9;border-color:#ddd;color:#333;text-shadow:0 1px 0 #eee;font-weight:700}.ui-bar-a{border-width:1px;border-style:solid}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background-color:#f9f9f9;border-color:#bbb;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background-color:#fff;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a{border-width:1px;border-style:solid}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#38c;font-weight:700}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-group-theme-a a:visited{color:#38c}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#059}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#059}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head+body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head+body .ui-btn.ui-btn-a:visited{background-color:#f6f6f6;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head+body .ui-btn.ui-btn-a:hover{background-color:#ededed;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:active,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head+body .ui-btn.ui-btn-a:active{background-color:#e8e8e8;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-track .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#38c;border-color:#38c;color:#fff;text-shadow:0 1px 0 #059}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#38c}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head+body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head+body .ui-btn-a.ui-focus,html head+body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #38c;-moz-box-shadow:0 0 12px #38c;box-shadow:0 0 12px #38c}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-bar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background-color:#1d1d1d;border-color:#1b1b1b;color:#fff;text-shadow:0 1px 0 #111;font-weight:700}.ui-bar-b{border-width:1px;border-style:solid}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background-color:#252525;border-color:#454545;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background-color:#2a2a2a;border-color:#1d1d1d;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b{border-width:1px;border-style:solid}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#2ad;font-weight:700}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{color:#2ad}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-b a:hover,html body .ui-group-theme-b a:hover{color:#08b}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#08b}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head+body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head+body .ui-btn.ui-btn-b:visited{background-color:#333;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head+body .ui-btn.ui-btn-b:hover{background-color:#373737;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-btn:active,html head+body .ui-btn.ui-btn-b:active{background-color:#404040;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-b .ui-btn-active{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#2ad}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head+body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head+body .ui-btn-b.ui-focus,html head+body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #2ad;-moz-box-shadow:0 0 12px #2ad;box-shadow:0 0 12px #2ad}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default!important;pointer-events:none}.ui-btn:focus,.ui-btn.ui-focus{outline:0}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui-overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto}.ui-mobile,.ui-mobile body{height:99.9%}.ui-mobile fieldset,.ui-page{padding:0;margin:0}.ui-mobile a img,.ui-mobile fieldset{border-width:0}.ui-mobile fieldset{min-width:0}@-moz-document url-prefix(){.ui-mobile fieldset{display:table-column;vertical-align:middle}}.ui-mobile-viewport{margin:0;overflow-x:visible;-webkit-text-size-adjust:100%;-ms-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body.ui-mobile-viewport,div.ui-mobile-viewport{overflow-x:hidden}.ui-mobile [data-role=page],.ui-mobile [data-role=dialog],.ui-page{top:0;left:0;width:100%;min-height:100%;position:absolute;display:none;border:0}.ui-page{outline:0}.ui-mobile .ui-page-active{display:block;overflow:visible;overflow-x:hidden}@media screen and (orientation:portrait){.ui-mobile .ui-page{min-height:420px}}@media screen and (orientation:landscape){.ui-mobile .ui-page{min-height:300px}}.ui-mobile-rendering>*{visibility:hidden}.ui-nojs{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-loading .ui-loader{display:block}.ui-loader{display:none;z-index:9999999;position:fixed;top:50%;left:50%;border:0}.ui-loader-default{background:0;filter:Alpha(Opacity=18);opacity:.18;width:2.875em;height:2.875em;margin-left:-1.4375em;margin-top:-1.4375em}.ui-loader-verbose{width:12.5em;filter:Alpha(Opacity=88);opacity:.88;box-shadow:0 1px 1px -1px #fff;height:auto;margin-left:-6.875em;margin-top:-2.6875em;padding:.625em}.ui-loader-default h1{font-size:0;width:0;height:0;overflow:hidden}.ui-loader-verbose h1{font-size:1em;margin:0;text-align:center}.ui-loader .ui-icon-loading{background-color:#000;display:block;margin:0;width:2.75em;height:2.75em;padding:.0625em;-webkit-border-radius:2.25em;border-radius:2.25em}.ui-loader-verbose .ui-icon-loading{margin:0 auto .625em;filter:Alpha(Opacity=75);opacity:.75}.ui-loader-textonly{padding:.9375em;margin-left:-7.1875em}.ui-loader-textonly .ui-icon-loading{display:none}.ui-loader-fakefix{position:absolute}.ui-bar,.ui-body{position:relative;padding:.4em 1em;overflow:hidden;display:block;clear:both}.ui-bar h1,.ui-bar h2,.ui-bar h3,.ui-bar h4,.ui-bar h5,.ui-bar h6{margin:0;padding:0;font-size:1em;display:inline-block}.ui-header,.ui-footer{border-width:1px 0;border-style:solid;position:relative}.ui-header:empty,.ui-footer:empty{min-height:2.6875em}.ui-header .ui-title,.ui-footer .ui-title{font-size:1em;min-height:1.1em;text-align:center;display:block;margin:0 30%;padding:.7em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;outline:0!important}.ui-footer .ui-title{margin:0 1em}.ui-content{border-width:0;overflow:visible;overflow-x:hidden;padding:1em}.ui-corner-all>.ui-header:first-child,.ui-corner-all>.ui-content:first-child,.ui-corner-all>.ui-footer:first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-corner-all>.ui-header:last-child,.ui-corner-all>.ui-content:last-child,.ui-corner-all>.ui-footer:last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-btn{font-size:16px;margin:.5em 0;padding:.7em 1em;display:block;position:relative;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-btn-icon-notext,.ui-header button.ui-btn.ui-btn-icon-notext,.ui-footer button.ui-btn.ui-btn-icon-notext{padding:0;width:1.75em;height:1.75em;text-indent:-9999px;white-space:nowrap!important}.ui-mini{font-size:12.5px}.ui-mini .ui-btn{font-size:inherit}.ui-header .ui-btn,.ui-footer .ui-btn{font-size:12.5px;display:inline-block;vertical-align:middle}.ui-header .ui-controlgroup .ui-btn-icon-notext,.ui-footer .ui-controlgroup .ui-btn-icon-notext{font-size:12.5px}.ui-header .ui-btn-left,.ui-header .ui-btn-right{font-size:12.5px}.ui-mini.ui-btn-icon-notext,.ui-mini .ui-btn-icon-notext,.ui-header .ui-btn-icon-notext,.ui-footer .ui-btn-icon-notext{font-size:16px;padding:0}.ui-btn-inline{display:inline-block;vertical-align:middle;margin-right:.625em}.ui-btn-icon-left{padding-left:2.5em}.ui-btn-icon-right{padding-right:2.5em}.ui-btn-icon-top{padding-top:2.5em}.ui-btn-icon-bottom{padding-bottom:2.5em}.ui-header .ui-btn-icon-top,.ui-footer .ui-btn-icon-top,.ui-header .ui-btn-icon-bottom,.ui-footer .ui-btn-icon-bottom{padding-left:.3125em;padding-right:.3125em}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{content:"";position:absolute;display:block;width:22px;height:22px}.ui-btn-icon-notext:after,.ui-btn-icon-left:after,.ui-btn-icon-right:after{top:50%;margin-top:-11px}.ui-btn-icon-left:after{left:.5625em}.ui-btn-icon-right:after{right:.5625em}.ui-mini.ui-btn-icon-left:after,.ui-mini .ui-btn-icon-left:after,.ui-header .ui-btn-icon-left:after,.ui-footer .ui-btn-icon-left:after{left:.37em}.ui-mini.ui-btn-icon-right:after,.ui-mini .ui-btn-icon-right:after,.ui-header .ui-btn-icon-right:after,.ui-footer .ui-btn-icon-right:after{right:.37em}.ui-btn-icon-notext:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after{left:50%;margin-left:-11px}.ui-btn-icon-top:after{top:.5625em}.ui-btn-icon-bottom:after{top:auto;bottom:.5625em}.ui-header .ui-btn-left,.ui-header .ui-btn-right,.ui-btn-left>[class*=ui-],.ui-btn-right>[class*=ui-]{margin:0}.ui-btn-left,.ui-btn-right{position:absolute;top:.24em}.ui-btn-left{left:.4em}.ui-btn-right{right:.4em}.ui-btn-icon-notext.ui-btn-left{top:.3125em;left:.3125em}.ui-btn-icon-notext.ui-btn-right{top:.3125em;right:.3125em}button.ui-btn,.ui-controlgroup-controls button.ui-btn-icon-notext{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;width:100%}button.ui-btn-inline,.ui-header button.ui-btn,.ui-footer button.ui-btn{width:auto}button.ui-btn::-moz-focus-inner{border:0}button.ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:1.75em}.ui-mobile label,.ui-controlgroup-label{display:block;margin:0 0 .4em}.ui-hide-label>label,.ui-hide-label .ui-controlgroup-label,.ui-hide-label .ui-rangeslider label,.ui-hidden-accessible{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-screen-hidden{display:none!important}.ui-mobile-viewport-transitioning,.ui-mobile-viewport-transitioning .ui-page{width:100%;height:100%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-page-pre-in{opacity:0}.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.out{-webkit-animation-timing-function:ease-in;-webkit-animation-duration:225ms;-moz-animation-timing-function:ease-in;-moz-animation-duration:225ms;animation-timing-function:ease-in;animation-duration:225ms}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}.fade.out{opacity:0;-webkit-animation-duration:125ms;-webkit-animation-name:fadeout;-moz-animation-duration:125ms;-moz-animation-name:fadeout;animation-duration:125ms;animation-name:fadeout}.fade.in{opacity:1;-webkit-animation-duration:225ms;-webkit-animation-name:fadein;-moz-animation-duration:225ms;-moz-animation-name:fadein;animation-duration:225ms;animation-name:fadein}.pop{-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;transform-origin:50% 50%}.pop.in{-webkit-transform:scale(1);-webkit-animation-name:popin;-webkit-animation-duration:350ms;-moz-transform:scale(1);-moz-animation-name:popin;-moz-animation-duration:350ms;transform:scale(1);animation-name:popin;animation-duration:350ms;opacity:1}.pop.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms;opacity:0}.pop.in.reverse{-webkit-animation-name:fadein;-moz-animation-name:fadein;animation-name:fadein}.pop.out.reverse{-webkit-transform:scale(.8);-webkit-animation-name:popout;-moz-transform:scale(.8);-moz-animation-name:popout;transform:scale(.8);animation-name:popout}@-webkit-keyframes popin{from{-webkit-transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@-moz-keyframes popin{from{-moz-transform:scale(.8);opacity:0}to{-moz-transform:scale(1);opacity:1}}@keyframes popin{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes popout{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@-moz-keyframes popout{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(.8);opacity:0}}@keyframes popout{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes slideinfromright{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromright{from{-moz-transform:translateX(100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromright{from{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes slideinfromleft{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromleft{from{-moz-transform:translateX(-100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromleft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@-webkit-keyframes slideouttoleft{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-100%,0,0)}}@-moz-keyframes slideouttoleft{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(-100%)}}@keyframes slideouttoleft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@-webkit-keyframes slideouttoright{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0)}}@-moz-keyframes slideouttoright{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(100%)}}@keyframes slideouttoright{from{transform:translateX(0)}to{transform:translateX(100%)}}.slide.out,.slide.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.slide.out{-webkit-transform:translate3d(-100%,0,0);-webkit-animation-name:slideouttoleft;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;transform:translateX(-100%);animation-name:slideouttoleft}.slide.in{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromright;-moz-transform:translateX(0);-moz-animation-name:slideinfromright;transform:translateX(0);animation-name:slideinfromright}.slide.out.reverse{-webkit-transform:translate3d(100%,0,0);-webkit-animation-name:slideouttoright;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;transform:translateX(100%);animation-name:slideouttoright}.slide.in.reverse{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromleft;-moz-transform:translateX(0);-moz-animation-name:slideinfromleft;transform:translateX(0);animation-name:slideinfromleft}.slidefade.out{-webkit-transform:translateX(-100%);-webkit-animation-name:slideouttoleft;-webkit-animation-duration:225ms;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;-moz-animation-duration:225ms;transform:translateX(-100%);animation-name:slideouttoleft;animation-duration:225ms}.slidefade.in{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidefade.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:slideouttoright;-webkit-animation-duration:200ms;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;-moz-animation-duration:200ms;transform:translateX(100%);animation-name:slideouttoright;animation-duration:200ms}.slidefade.in.reverse{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidedown.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slidedown.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfromtop;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfromtop;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfromtop;animation-duration:250ms}.slidedown.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slidedown.out.reverse{-webkit-transform:translateY(-100%);-webkit-animation-name:slideouttotop;-webkit-animation-duration:200ms;-moz-transform:translateY(-100%);-moz-animation-name:slideouttotop;-moz-animation-duration:200ms;transform:translateY(-100%);animation-name:slideouttotop;animation-duration:200ms}@-webkit-keyframes slideinfromtop{from{-webkit-transform:translateY(-100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfromtop{from{-moz-transform:translateY(-100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfromtop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttotop{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(-100%)}}@-moz-keyframes slideouttotop{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(-100%)}}@keyframes slideouttotop{from{transform:translateY(0)}to{transform:translateY(-100%)}}.slideup.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slideup.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfrombottom;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfrombottom;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfrombottom;animation-duration:250ms}.slideup.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slideup.out.reverse{-webkit-transform:translateY(100%);-webkit-animation-name:slideouttobottom;-webkit-animation-duration:200ms;-moz-transform:translateY(100%);-moz-animation-name:slideouttobottom;-moz-animation-duration:200ms;transform:translateY(100%);animation-name:slideouttobottom;animation-duration:200ms}@-webkit-keyframes slideinfrombottom{from{-webkit-transform:translateY(100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfrombottom{from{-moz-transform:translateY(100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfrombottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttobottom{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(100%)}}@-moz-keyframes slideouttobottom{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(100%)}}@keyframes slideouttobottom{from{transform:translateY(0)}to{transform:translateY(100%)}}.viewport-flip{-webkit-perspective:1000;-moz-perspective:1000;perspective:1000;position:absolute}.flip{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-moz-backface-visibility:hidden;-moz-transform:translateX(0);backface-visibility:hidden;transform:translateX(0)}.flip.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:175ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:175ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:175ms}.flip.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:225ms;-moz-animation-name:flipintoright;-moz-animation-duration:225ms;animation-name:flipintoright;animation-duration:225ms}.flip.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.flip.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.viewport-turn{-webkit-perspective:200px;-moz-perspective:200px;-ms-perspective:200px;perspective:200px;position:absolute}.turn{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-webkit-transform-origin:0;-moz-backface-visibility:hidden;-moz-transform:translateX(0);-moz-transform-origin:0;backface-visibility:hidden;transform:translateX(0);transform-origin:0}.turn.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:125ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:125ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:125ms}.turn.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:250ms;-moz-animation-name:flipintoright;-moz-animation-duration:250ms;animation-name:flipintoright;animation-duration:250ms}.turn.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.turn.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.flow{-webkit-transform-origin:50% 30%;-webkit-box-shadow:0 0 20px rgba(0,0,0,.4);-moz-transform-origin:50% 30%;-moz-box-shadow:0 0 20px rgba(0,0,0,.4);transform-origin:50% 30%;box-shadow:0 0 20px rgba(0,0,0,.4)}.ui-dialog.flow{-webkit-transform-origin:none;-webkit-box-shadow:none;-moz-transform-origin:none;-moz-box-shadow:none;transform-origin:none;box-shadow:none}.flow.out{-webkit-transform:translateX(-100%) scale(.7);-webkit-animation-name:flowouttoleft;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(-100%) scale(.7);-moz-animation-name:flowouttoleft;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(-100%) scale(.7);animation-name:flowouttoleft;animation-timing-function:ease;animation-duration:350ms}.flow.in{-webkit-transform:translateX(0) scale(1);-webkit-animation-name:flowinfromright;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(0) scale(1);-moz-animation-name:flowinfromright;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(0) scale(1);animation-name:flowinfromright;animation-timing-function:ease;animation-duration:350ms}.flow.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:flowouttoright;-moz-transform:translateX(100%);-moz-animation-name:flowouttoright;transform:translateX(100%);animation-name:flowouttoright}.flow.in.reverse{-webkit-animation-name:flowinfromleft;-moz-animation-name:flowinfromleft;animation-name:flowinfromleft}@-webkit-keyframes flowouttoleft{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(-100%) scale(.7)}}@-moz-keyframes flowouttoleft{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(-100%) scale(.7)}}@keyframes flowouttoleft{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(-100%) scale(.7)}}@-webkit-keyframes flowouttoright{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(100%) scale(.7)}}@-moz-keyframes flowouttoright{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(100%) scale(.7)}}@keyframes flowouttoright{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(100%) scale(.7)}}@-webkit-keyframes flowinfromleft{0%{-webkit-transform:translateX(-100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromleft{0%{-moz-transform:translateX(-100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromleft{0%{transform:translateX(-100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}@-webkit-keyframes flowinfromright{0%{-webkit-transform:translateX(100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromright{0%{-moz-transform:translateX(100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromright{0%{transform:translateX(100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}.ui-field-contain,.ui-mobile fieldset.ui-field-contain{display:block;position:relative;overflow:visible;clear:both;padding:.8em 0}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{margin:0}.ui-field-contain:last-child{border-bottom-width:0}@media (min-width:28em){.ui-field-contain,.ui-mobile fieldset.ui-field-contain{padding:0;margin:1em 0;border-bottom-width:0}.ui-field-contain:before,.ui-field-contain:after{content:"";display:table}.ui-field-contain:after{clear:both}.ui-field-contain>label,.ui-field-contain .ui-controlgroup-label,.ui-field-contain>.ui-rangeslider>label{float:left;width:20%;margin:.5em 2% 0 0}.ui-popup .ui-field-contain>label,.ui-popup .ui-field-contain .ui-controlgroup-label,.ui-popup .ui-field-contain>.ui-rangeslider>label{float:none;width:auto;margin:0 0 .4em}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{float:left;width:78%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-hide-label>label~[class*=ui-],.ui-hide-label .ui-controlgroup-controls,.ui-popup .ui-field-contain>label~[class*=ui-],.ui-popup .ui-field-contain .ui-controlgroup-controls{float:none;width:100%}.ui-field-contain>label~.ui-btn-inline{width:auto;margin-right:.625em}.ui-field-contain>label~.ui-btn-inline.ui-btn-icon-notext{width:1.75em}}.ui-grid-a,.ui-grid-b,.ui-grid-c,.ui-grid-d,.ui-grid-solo{overflow:hidden}.ui-block-a,.ui-block-b,.ui-block-c,.ui-block-d,.ui-block-e{margin:0;padding:0;border:0;float:left;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-block-a{clear:left}ul.ui-grid-a,ul.ui-grid-b,ul.ui-grid-c,ul.ui-grid-d,ul.ui-grid-solo,li.ui-block-a,li.ui-block-b,li.ui-block-c,li.ui-block-d,li.ui-block-e{margin-left:0;margin-right:0;padding:0;list-style:none}[class*=ui-block-]>button.ui-btn{margin-right:0;margin-left:0}[class*=ui-block-]>.ui-btn,[class*=ui-block-]>.ui-select,[class*=ui-block-]>.ui-checkbox,[class*=ui-block-]>.ui-radio,[class*=ui-block-]>button.ui-btn-inline,[class*=ui-block-]>button.ui-btn-icon-notext,.ui-header [class*=ui-block-]>button.ui-btn,.ui-footer [class*=ui-block-]>button.ui-btn{margin-right:.3125em;margin-left:.3125em}.ui-grid-a>.ui-block-a,.ui-grid-a>.ui-block-b{width:50%}.ui-grid-b>.ui-block-a,.ui-grid-b>.ui-block-b,.ui-grid-b>.ui-block-c{width:33.333%}.ui-grid-c>.ui-block-a,.ui-grid-c>.ui-block-b,.ui-grid-c>.ui-block-c,.ui-grid-c>.ui-block-d{width:25%}.ui-grid-d>.ui-block-a,.ui-grid-d>.ui-block-b,.ui-grid-d>.ui-block-c,.ui-grid-d>.ui-block-d,.ui-grid-d>.ui-block-e{width:20%}.ui-grid-solo>.ui-block-a{width:100%;float:none}@media (max-width:35em){.ui-responsive>.ui-block-a,.ui-responsive>.ui-block-b,.ui-responsive>.ui-block-c,.ui-responsive>.ui-block-d,.ui-responsive>.ui-block-e{width:100%;float:none}}.ui-header-fixed,.ui-footer-fixed{left:0;right:0;width:100%;position:fixed;z-index:1000}.ui-header-fixed{top:-1px;padding-top:1px}.ui-header-fixed.ui-fixed-hidden{top:0;padding-top:0}.ui-header-fixed .ui-btn-left,.ui-header-fixed .ui-btn-right{margin-top:1px}.ui-header-fixed.ui-fixed-hidden .ui-btn-left,.ui-header-fixed.ui-fixed-hidden .ui-btn-right{margin-top:0}.ui-footer-fixed{bottom:-1px;padding-bottom:1px}.ui-footer-fixed.ui-fixed-hidden{bottom:0;padding-bottom:0}.ui-header-fullscreen,.ui-footer-fullscreen{filter:Alpha(Opacity=90);opacity:.9}.ui-page-header-fixed{padding-top:2.8125em}.ui-page-footer-fixed{padding-bottom:2.8125em}.ui-page-header-fullscreen>.ui-content,.ui-page-footer-fullscreen>.ui-content{padding:0}.ui-fixed-hidden{position:absolute}.ui-footer-fixed.ui-fixed-hidden{display:none}.ui-page .ui-footer-fixed.ui-fixed-hidden{display:block}.ui-page-header-fullscreen .ui-fixed-hidden,.ui-page-footer-fullscreen .ui-fixed-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-header-fixed .ui-btn,.ui-footer-fixed .ui-btn{z-index:10}.ui-android-2x-fixed .ui-li-has-thumb{-webkit-transform:translate3d(0,0,0)}.ui-navbar{max-width:100%}.ui-navbar ul:before,.ui-navbar ul:after{content:"";display:table}.ui-navbar ul:after{clear:both}.ui-navbar ul{list-style:none;margin:0;padding:0;position:relative;display:block;border:0;max-width:100%;overflow:visible}.ui-navbar li .ui-btn{font-size:12.5px;display:block;margin:0;border-right-width:0}.ui-header .ui-navbar li button.ui-btn,.ui-footer .ui-navbar li button.ui-btn{margin:0;width:100%}.ui-navbar .ui-btn:focus{z-index:1}.ui-navbar li:last-child .ui-btn{margin-right:-4px}.ui-navbar li:last-child .ui-btn:after{margin-right:4px}.ui-content .ui-navbar li:last-child .ui-btn,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn{border-right-width:1px;margin-right:0}.ui-content .ui-navbar li:last-child .ui-btn:after,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after{margin-right:0}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn{border-right-width:1px;margin-right:-1px}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after{margin-right:1px}.ui-navbar .ui-grid-duo .ui-btn{border-top-width:0}.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-header .ui-navbar .ui-btn,.ui-footer .ui-navbar .ui-btn{border-top-width:0;border-bottom-width:0}.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:0}.ui-header .ui-title~.ui-navbar .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-input-btn input{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background:#fff;background:rgba(255,255,255,0);filter:Alpha(Opacity=0);opacity:.1;font-size:1px;text-indent:-9999px;z-index:2}.ui-input-btn.ui-state-disabled input{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible{margin:0 -1em}.ui-collapsible-inset,.ui-collapsible-set{margin:.5em 0}.ui-collapsible-heading{display:block;margin:0;padding:0;position:relative}.ui-collapsible-heading .ui-btn{text-align:left;margin:0;border-left-width:0;border-right-width:0}.ui-collapsible-heading .ui-btn-icon-top,.ui-collapsible-heading .ui-btn-icon-bottom{text-align:center}.ui-collapsible-inset .ui-collapsible-heading .ui-btn{border-right-width:1px;border-left-width:1px}.ui-collapsible-collapsed+.ui-collapsible:not(.ui-collapsible-inset)>.ui-collapsible-heading .ui-btn{border-top-width:0}.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn{border-top-width:1px}.ui-collapsible-heading-status{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible-content{display:block;margin:0;padding:.5em 1em}.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:0;border-right-width:0;border-top-width:0;border-bottom-width:1px;border-style:solid}.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:1px;border-right-width:1px}.ui-collapsible-inset .ui-collapsible-content{margin:0}.ui-collapsible-content-collapsed{display:none}.ui-collapsible-set>.ui-collapsible.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-collapsible-heading,.ui-collapsible-heading>.ui-btn{-webkit-border-radius:inherit;border-radius:inherit}.ui-collapsible-set .ui-collapsible.ui-first-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-collapsible-content,.ui-collapsible-set .ui-collapsible.ui-last-child{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-themed-content:not(.ui-collapsible-collapsed)>.ui-collapsible-heading{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-collapsible-set .ui-collapsible{margin:-1px -1em 0}.ui-collapsible-set .ui-collapsible-inset{margin:-1px 0 0}.ui-collapsible-set .ui-collapsible.ui-first-child{margin-top:0}.ui-controlgroup,fieldset.ui-controlgroup{padding:0;margin:.5em 0}.ui-field-contain .ui-controlgroup,.ui-field-contain fieldset.ui-controlgroup{margin:0}.ui-mini .ui-controlgroup-label{font-size:16px}.ui-controlgroup.ui-mini .ui-btn-icon-notext,.ui-controlgroup .ui-mini.ui-btn-icon-notext{font-size:inherit}.ui-controlgroup-controls .ui-btn,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-select{margin:0}.ui-controlgroup-controls .ui-btn:focus,.ui-controlgroup-controls .ui-btn.ui-focus{z-index:1}.ui-controlgroup-controls li{list-style:none}.ui-controlgroup-horizontal .ui-controlgroup-controls{display:inline-block;vertical-align:middle}.ui-controlgroup-horizontal .ui-controlgroup-controls:before,.ui-controlgroup-horizontal .ui-controlgroup-controls:after{content:"";display:table}.ui-controlgroup-horizontal .ui-controlgroup-controls:after{clear:both}.ui-controlgroup-horizontal .ui-controlgroup-controls>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls li>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select{float:left;clear:none}.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,.ui-controlgroup-controls .ui-btn-icon-notext{width:auto}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext{width:1.5em}.ui-controlgroup-controls .ui-btn-icon-notext{height:auto;padding:.7em 1em}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn{border-bottom-width:0}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child{border-bottom-width:1px}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn{border-right-width:0}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child{border-right-width:1px}.ui-controlgroup-controls .ui-btn-corner-all,.ui-controlgroup-controls .ui-btn.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-controlgroup-controls,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-select,.ui-controlgroup-controls li{-webkit-border-radius:inherit;border-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-last-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-controls a.ui-shadow:not(:focus),.ui-controlgroup-controls button.ui-shadow:not(:focus),.ui-controlgroup-controls div.ui-shadow:not(.ui-focus){-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ui-controlgroup-label legend{max-width:100%}.ui-controlgroup-controls>label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-dialog{background:none!important}.ui-dialog-contain{width:92.5%;max-width:500px;margin:10% auto 1em;padding:0;position:relative;top:-1em}.ui-dialog-contain>.ui-header,.ui-dialog-contain>.ui-content,.ui-dialog-contain>.ui-footer{display:block;position:relative;width:auto;margin:0}.ui-dialog-contain>.ui-header{overflow:hidden;z-index:10;padding:0;border-top-width:0}.ui-dialog-contain>.ui-footer{z-index:10;padding:0 1em;border-bottom-width:0}.ui-popup-open .ui-header-fixed,.ui-popup-open .ui-footer-fixed{position:absolute!important}.ui-popup-screen{background-image:url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");top:0;left:0;right:0;bottom:1px;position:absolute;filter:Alpha(Opacity=0);opacity:0;z-index:1099}.ui-popup-screen.in{opacity:.5;filter:Alpha(Opacity=50)}.ui-popup-screen.out{opacity:0;filter:Alpha(Opacity=0)}.ui-popup-container{z-index:1100;display:inline-block;position:absolute;padding:0;outline:0}.ui-popup{position:relative}.ui-popup.ui-body-inherit{border-width:1px;border-style:solid}.ui-popup-hidden{left:0;top:0;position:absolute!important;visibility:hidden}.ui-popup-truncate{height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-popup.ui-content,.ui-popup .ui-content{overflow:visible}.ui-popup>.ui-header{border-top-width:0}.ui-popup>.ui-footer{border-bottom-width:0}.ui-popup>p,.ui-popup>h1,.ui-popup>h2,.ui-popup>h3,.ui-popup>h4,.ui-popup>h5,.ui-popup>h6{margin:.5em .4375em}.ui-popup>span{display:block;margin:.5em .4375em}.ui-popup-container .ui-content>p,.ui-popup-container .ui-content>h1,.ui-popup-container .ui-content>h2,.ui-popup-container .ui-content>h3,.ui-popup-container .ui-content>h4,.ui-popup-container .ui-content>h5,.ui-popup-container .ui-content>h6{margin:.5em 0}.ui-popup-container .ui-content>span{margin:0}.ui-popup-container .ui-content>p:first-child,.ui-popup-container .ui-content>h1:first-child,.ui-popup-container .ui-content>h2:first-child,.ui-popup-container .ui-content>h3:first-child,.ui-popup-container .ui-content>h4:first-child,.ui-popup-container .ui-content>h5:first-child,.ui-popup-container .ui-content>h6:first-child{margin-top:0}.ui-popup-container .ui-content>p:last-child,.ui-popup-container .ui-content>h1:last-child,.ui-popup-container .ui-content>h2:last-child,.ui-popup-container .ui-content>h3:last-child,.ui-popup-container .ui-content>h4:last-child,.ui-popup-container .ui-content>h5:last-child,.ui-popup-container .ui-content>h6:last-child{margin-bottom:0}.ui-popup>img{max-width:100%;max-height:100%;vertical-align:middle}.ui-popup:not(.ui-content)>img:only-child,.ui-popup:not(.ui-content)>.ui-btn-left:first-child+img:last-child,.ui-popup:not(.ui-content)>.ui-btn-right:first-child+img:last-child{-webkit-border-radius:inherit;border-radius:inherit}.ui-popup iframe{vertical-align:middle}.ui-popup>.ui-btn-left,.ui-popup>.ui-btn-right{position:absolute;top:-11px;margin:0;z-index:1101}.ui-popup>.ui-btn-left{left:-11px}.ui-popup>.ui-btn-right{right:-11px}.ui-popup-arrow-container{width:20px;height:20px}.ui-popup-arrow-container.ui-popup-arrow-l{left:-10px;clip:rect(-1000px,10px,2000px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-t{top:-10px;clip:rect(-1000px,2000px,10px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-r{right:-10px;clip:rect(-1000px,2000px,2000px,10px)}.ui-popup-arrow-container.ui-popup-arrow-b{bottom:-10px;clip:rect(10px,2000px,1000px,-1000px)}.ui-popup-arrow-container .ui-popup-arrow{width:28.284271247px;height:28.284271247px;border-width:1px;border-style:solid}.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow{left:-4.142135623px;top:5.857864376px}.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow{left:-4.142135623px;top:-14.142135623px}.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow{left:5.857864376px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow{left:-14.142135623px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-7.0710678118654755px}.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-4.142135623730951px}.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow{margin-left:-7.0710678118654755px;margin-top:-5.857864376269049px}.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow{margin-left:-4.142135623730951px;margin-top:-5.857864376269049px}.ui-popup>.ui-popup-arrow-guide{position:absolute;left:0;right:0;top:0;bottom:0;visibility:hidden}.ui-popup-arrow-container{position:absolute}.ui-popup-arrow{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;overflow:hidden;box-sizing:border-box}.ui-popup-arrow-container.ie .ui-popup-arrow{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.7071067811865474, M12=-.7071067811865477, M21=.7071067811865477, M22=.7071067811865474, SizingMethod='auto expand')}.ui-checkbox,.ui-radio{margin:.5em 0;position:relative}.ui-checkbox .ui-btn,.ui-radio .ui-btn{margin:0;text-align:left;white-space:normal;z-index:2}.ui-controlgroup .ui-checkbox .ui-btn.ui-focus,.ui-controlgroup .ui-radio .ui-btn.ui-focus{z-index:3}.ui-checkbox .ui-btn-icon-top,.ui-radio .ui-btn-icon-top,.ui-checkbox .ui-btn-icon-bottom,.ui-radio .ui-btn-icon-bottom{text-align:center}.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after,.ui-controlgroup-horizontal .ui-radio .ui-btn:after{content:none;display:none}.ui-checkbox input,.ui-radio input{position:absolute;left:.466em;top:50%;width:22px;height:22px;margin:-11px 0 0 0;outline:0!important;z-index:1}.ui-controlgroup-horizontal .ui-checkbox input,.ui-controlgroup-horizontal .ui-radio input{left:50%;margin-left:-9px}.ui-checkbox input:disabled,.ui-radio input:disabled{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select{margin-top:.5em;margin-bottom:.5em;position:relative}.ui-select>select{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select .ui-btn{margin:0;opacity:1}.ui-select .ui-btn select{position:absolute;top:0;left:0;width:100%;min-height:1.5em;min-height:100%;height:3em;max-height:100%;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;filter:Alpha(Opacity=0);opacity:0;z-index:2}@-moz-document url-prefix(){.ui-select .ui-btn select{opacity:.0001}}.ui-select .ui-state-disabled select{display:none}.ui-select span.ui-state-disabled{filter:Alpha(Opacity=100);opacity:1}.ui-select .ui-btn.ui-select-nativeonly{border-radius:0;border:0}.ui-select .ui-btn.ui-select-nativeonly select{opacity:1;text-indent:0;display:block}.ui-select .ui-li-has-count.ui-btn{padding-right:2.8125em}.ui-select .ui-li-has-count.ui-btn-icon-right{padding-right:4.6875em}.ui-select .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-select .ui-btn>span:not(.ui-li-count){display:block;text-overflow:ellipsis;overflow:hidden!important;white-space:nowrap}.ui-selectmenu.ui-popup{min-width:11em}.ui-selectmenu .ui-dialog-contain{overflow:hidden}.ui-selectmenu .ui-header{margin:0;padding:0;border-width:0}.ui-selectmenu.ui-dialog .ui-header{z-index:1;position:relative}.ui-selectmenu.ui-popup .ui-header{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-selectmenu.ui-popup .ui-header h1:after{content:'.';visibility:hidden}.ui-selectmenu .ui-header .ui-title{margin:0 2.875em}.ui-selectmenu.ui-dialog .ui-content{overflow:visible;z-index:1}.ui-selectmenu .ui-selectmenu-list{margin:0;-webkit-border-radius:inherit;border-radius:inherit}.ui-header:not(.ui-screen-hidden)+.ui-selectmenu-list{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.ui-header.ui-screen-hidden+.ui-selectmenu-list li.ui-first-child .ui-btn{border-top-width:0}.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn{border-bottom-width:0}.ui-selectmenu .ui-btn.ui-li-divider{cursor:default}.ui-selectmenu .ui-selectmenu-placeholder{display:none}.ui-listview,.ui-listview>li{margin:0;padding:0;list-style:none}.ui-content .ui-listview,.ui-panel-inner>.ui-listview{margin:-1em}.ui-content .ui-listview-inset,.ui-panel-inner>.ui-listview-inset{margin:1em 0}.ui-collapsible-content>.ui-listview{margin:-.5em -1em}.ui-collapsible-content>.ui-listview-inset{margin:.5em 0}.ui-listview>li{display:block;position:relative;overflow:visible}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{margin:0;display:block;position:relative;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li>.ui-btn:focus{z-index:1}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{border-width:1px 0 0;border-style:solid}.ui-listview-inset>.ui-li-static,.ui-listview-inset>.ui-li-divider,.ui-listview-inset>li>a.ui-btn{border-right-width:1px;border-left-width:1px}.ui-listview>.ui-li-static.ui-last-child,.ui-listview>.ui-li-divider.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{border-bottom-width:1px}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:0}.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child,.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child>a.ui-btn{border-bottom-width:0}.ui-listview>li.ui-first-child,.ui-listview>li.ui-first-child>a.ui-btn{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-listview>li.ui-li-has-alt>a.ui-btn{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-listview>li.ui-first-child>a.ui-btn+a.ui-btn{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-listview>li.ui-last-child>a.ui-btn+a.ui-btn{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-listview>li.ui-first-child img:first-child:not(.ui-li-icon){-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child img:first-child:not(.ui-li-icon){-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset){-webkit-border-radius:inherit;border-radius:inherit}.ui-listview>.ui-li-static{padding:.7em 1em}.ui-listview>.ui-li-divider{padding:.5em 1.143em;font-size:14px;font-weight:700;cursor:default;outline:0}.ui-listview>.ui-li-has-count>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-count,.ui-listview>.ui-li-divider.ui-li-has-count{padding-right:2.8125em}.ui-listview>.ui-li-has-count>.ui-btn-icon-right{padding-right:4.6875em}.ui-listview>.ui-li-has-thumb>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-thumb{min-height:3.625em;padding-left:6.25em}.ui-listview>.ui-li-has-icon>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-icon{min-height:1.25em;padding-left:2.5em}.ui-li-count{position:absolute;font-size:12.5px;font-weight:700;text-align:center;border-width:1px;border-style:solid;padding:0 .48em;line-height:1.6em;min-height:1.6em;min-width:.64em;right:.8em;top:50%;margin-top:-.88em}.ui-listview .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-listview .ui-li-has-thumb>img:first-child,.ui-listview .ui-li-has-thumb>.ui-btn>img:first-child,.ui-listview .ui-li-has-thumb .ui-li-thumb{position:absolute;left:0;top:0;max-height:5em;max-width:5em}.ui-listview>.ui-li-has-icon>img:first-child,.ui-listview>.ui-li-has-icon>.ui-btn>img:first-child{position:absolute;left:.625em;top:.9em;max-height:1em;max-width:1em}.ui-listview>li h1,.ui-listview>li h2,.ui-listview>li h3,.ui-listview>li h4,.ui-listview>li h5,.ui-listview>li h6{font-size:1em;font-weight:700;display:block;margin:.45em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li p{font-size:.75em;font-weight:400;display:block;margin:.6em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview .ui-li-aside{position:absolute;top:1em;right:3.333em;margin:0;text-align:right}.ui-listview>li.ui-li-has-alt>.ui-btn{margin-right:2.5em;border-right-width:0}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn{position:absolute;width:2.5em;height:100%;min-height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-left-width:1px;top:0;right:0;margin:0;padding:0;z-index:2}.ui-listview-inset>li.ui-li-has-alt>.ui-btn+.ui-btn{border-right-width:1px}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn:focus{z-index:3}ol.ui-listview,ol.ui-listview>.ui-li-divider{counter-reset:listnumbering}ol.ui-listview>li>.ui-btn,ol.ui-listview>li.ui-li-static{vertical-align:middle}ol.ui-listview>li>.ui-btn:first-child:before,ol.ui-listview>li.ui-li-static:before,ol.ui-listview>li.ui-field-contain>label:before,ol.ui-listview>li.ui-field-contain>.ui-controlgroup-label:before{display:inline-block;font-size:.9em;font-weight:400;padding-right:.3em;min-width:1.4em;line-height:1.5;vertical-align:middle;counter-increment:listnumbering;content:counter(listnumbering) "."}ol.ui-listview>li.ui-field-contain:before{content:none;display:none}ol.ui-listview>li h1:first-child,ol.ui-listview>li h2:first-child,ol.ui-listview>li h3:first-child,ol.ui-listview>li h4:first-child,ol.ui-listview>li h5:first-child,ol.ui-listview>li h6:first-child,ol.ui-listview>li p:first-child,ol.ui-listview>li img:first-child+*{display:inline-block;vertical-align:middle}ol.ui-listview>li h1:first-child~*,ol.ui-listview>li h2:first-child~*,ol.ui-listview>li h3:first-child~*,ol.ui-listview>li h4:first-child~*,ol.ui-listview>li h5:first-child~*,ol.ui-listview>li h6:first-child~*,ol.ui-listview>li p:first-child~*,ol.ui-listview>li img:first-child+*~*{margin-top:0;text-indent:2.04em}html .ui-filterable+.ui-listview,html .ui-filterable.ui-listview{margin-top:.5em}.ui-collapsible-content>form.ui-filterable{margin-top:-.5em}.ui-collapsible-content>.ui-input-search.ui-filterable{margin-top:0}.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:1px}div.ui-slider{height:30px;margin:.5em 0;padding:0;-ms-touch-action:pan-y pinch-zoom double-tap-zoom}div.ui-slider:before,div.ui-slider:after{content:"";display:table}div.ui-slider:after{clear:both}input.ui-slider-input{display:block;float:left;font-size:14px;font-weight:700;margin:0;padding:4px;width:40px;height:20px;line-height:20px;border-width:1px;border-style:solid;outline:0;text-align:center;vertical-align:text-bottom;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-slider-input::-webkit-outer-spin-button,.ui-slider-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-slider-track{position:relative;overflow:visible;border-width:1px;border-style:solid;height:15px;margin:0 15px 0 68px;top:6px}.ui-slider-track.ui-mini{height:12px;top:8px}.ui-slider-track .ui-slider-bg{height:100%}.ui-slider-track .ui-btn.ui-slider-handle{position:absolute;z-index:1;top:50%;width:28px;height:28px;margin:-15px 0 0 -15px;outline:0;padding:0}.ui-slider-track.ui-mini .ui-slider-handle{height:14px;width:14px;margin:-8px 0 0 -8px}select.ui-slider-switch{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}div.ui-slider-switch{display:inline-block;height:32px;width:5.8em;top:0}div.ui-slider-switch:before,div.ui-slider-switch:after{display:none;clear:none}div.ui-slider-switch.ui-mini{height:29px;top:0}.ui-slider-inneroffset{margin:0 16px;position:relative;z-index:1}.ui-slider-switch.ui-mini .ui-slider-inneroffset{margin:0 15px 0 14px}.ui-slider-switch .ui-btn.ui-slider-handle{margin:1px 0 0 -15px}.ui-slider-switch.ui-mini .ui-slider-handle{width:25px;height:25px;margin:1px 0 0 -13px;padding:0}.ui-slider-handle-snapping{-webkit-transition:left 70ms linear;-moz-transition:left 70ms linear;transition:left 70ms linear}.ui-slider-switch .ui-slider-label{position:absolute;text-align:center;width:100%;overflow:hidden;font-size:16px;top:0;line-height:2;min-height:100%;white-space:nowrap;cursor:pointer}.ui-slider-switch.ui-mini .ui-slider-label{font-size:14px}.ui-slider-switch .ui-slider-label-a{z-index:1;left:0;text-indent:-1.5em}.ui-slider-switch .ui-slider-label-b{z-index:0;right:0;text-indent:1.5em}.ui-slider-track .ui-slider-bg,.ui-slider-switch .ui-slider-label,.ui-slider-switch .ui-slider-inneroffset,.ui-slider-handle{-webkit-border-radius:inherit;border-radius:inherit}.ui-field-contain div.ui-slider-switch{margin:0}.ui-field-contain div.ui-slider-switch,.ui-field-contain.ui-hide-label div.ui-slider-switch,html .ui-popup .ui-field-contain div.ui-slider-switch{display:inline-block;width:5.8em}.ui-slider-popup{width:64px;height:64px;font-size:36px;padding-top:14px;opacity:.8}.ui-slider-popup{position:absolute!important;text-align:center;z-index:100}.ui-slider-track .ui-btn.ui-slider-handle{font-size:.9em;line-height:30px}.ui-rangeslider{margin:.5em 0}.ui-rangeslider:before,.ui-rangeslider:after{content:"";display:table}.ui-rangeslider:after{clear:both}.ui-rangeslider .ui-slider-input.ui-rangeslider-last{float:right}.ui-rangeslider .ui-rangeslider-sliders{position:relative;overflow:visible;height:30px;margin:0 68px}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track{position:absolute;top:6px;right:0;left:0;margin:0}.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track{top:8px}.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg{display:none}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{background-color:transparent;background:0;border-width:0;height:0}html >body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{height:15px;border-width:1px}html >body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child{height:12px}div.ui-rangeslider label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-field-contain .ui-rangeslider input.ui-slider-input,.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input,.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders,.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders{margin-top:0;margin-bottom:0}.ui-input-text,.ui-input-search{margin:.5em 0;border-width:1px;border-style:solid}.ui-mini{margin:.446em}.ui-input-text input,.ui-input-search input,textarea.ui-input-text{padding:.4em;line-height:1.4em;display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:0}.ui-input-text input,.ui-input-search input{margin:0;min-height:2.2em;text-align:left;border:0;background:transparent none;-webkit-appearance:none;-webkit-border-radius:inherit;border-radius:inherit}textarea.ui-input-text{overflow:auto;resize:vertical}.ui-mini .ui-input-text input,.ui-mini .ui-input-search input,.ui-input-text.ui-mini input,.ui-input-search.ui-mini input,.ui-mini textarea.ui-input-text,textarea.ui-mini{font-size:14px}.ui-mini textarea.ui-input-text,textarea.ui-mini{margin:.446em 0}.ui-input-has-clear,.ui-input-search{position:relative}.ui-input-has-clear{padding-right:2.375em}.ui-mini.ui-input-has-clear{padding-right:2.923em}.ui-input-has-clear input{padding-right:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-input-search input{padding-left:1.75em}.ui-input-search:after{position:absolute;left:.3125em;top:50%;margin-top:-7px;content:"";background-position:center center;background-repeat:no-repeat;width:14px;height:14px;filter:Alpha(Opacity=50);opacity:.5}.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear,.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear{position:absolute;right:0;top:50%;margin:-14px .3125em 0;border:0;background-color:transparent}.ui-input-search .ui-input-clear-hidden,.ui-input-text .ui-input-clear-hidden{display:none}.ui-input-text input::-moz-placeholder,.ui-input-search input::-moz-placeholder,textarea.ui-input-text::-moz-placeholder{color:#aaa}.ui-input-text input:-ms-input-placeholder,.ui-input-search input:-ms-input-placeholder,textarea.ui-input-text:-ms-input-placeholder{color:#aaa}.ui-input-text input[type=number]::-webkit-outer-spin-button{margin:0}.ui-input-text input::-ms-clear,.ui-input-search input::-ms-clear{display:none}.ui-input-text input:focus,.ui-input-search input:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea.ui-input-text.ui-textinput-autogrow{overflow:hidden}.ui-textinput-autogrow-resize{-webkit-transition:height .25s;-o-transition:height .25s;-moz-transition:height .25s;transition:height .25s}.ui-flipswitch{display:inline-block;vertical-align:middle;width:5.875em;height:1.875em;border-width:1px;border-style:solid;margin:.5em 0;overflow:hidden;-webkit-transition-property:padding,width,background-color,color,border-color;-moz-transition-property:padding,width,background-color,color,border-color;-o-transition-property:padding,width,background-color,color,border-color;transition-property:padding,width,background-color,color,border-color;-webkit-transition-duration:100ms;-moz-transition-duration:100ms;-o-transition-duration:100ms;transition-duration:100ms;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.ui-flipswitch.ui-flipswitch-active{padding-left:4em;width:1.875em}.ui-flipswitch-input{position:absolute;height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;outline:0;filter:Alpha(Opacity=0);opacity:0}.ui-flipswitch .ui-btn.ui-flipswitch-on,.ui-flipswitch .ui-flipswitch-off{float:left;height:1.75em;margin:.0625em;line-height:1.65em}.ui-flipswitch .ui-btn.ui-flipswitch-on{width:1.75em;padding:0;text-indent:-2.6em;text-align:left;border-width:1px;border-style:solid;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:inherit;overflow:visible;color:inherit;text-shadow:inherit}.ui-flipswitch .ui-flipswitch-off{padding:1px;text-indent:1em}html .ui-field-contain>label+.ui-flipswitch,html .ui-popup .ui-field-contain>label+.ui-flipswitch{display:inline-block;width:5.875em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-field-contain .ui-flipswitch.ui-flipswitch-active,.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active{width:1.875em}.ui-table{border:0;border-collapse:collapse;padding:0;width:100%}.ui-table th,.ui-table td{line-height:1.5em;text-align:left;padding:.4em .5em;vertical-align:top}.ui-table th .ui-btn,.ui-table td .ui-btn{line-height:normal}.ui-table th{font-weight:700}.ui-table caption{text-align:left;margin-bottom:1.4em;opacity:.5}.ui-table-columntoggle-btn{float:right;margin-bottom:.8em}.ui-table-columntoggle-popup fieldset{margin:0}.ui-table-columntoggle{clear:both}@media only all{th.ui-table-priority-6,td.ui-table-priority-6,th.ui-table-priority-5,td.ui-table-priority-5,th.ui-table-priority-4,td.ui-table-priority-4,th.ui-table-priority-3,td.ui-table-priority-3,th.ui-table-priority-2,td.ui-table-priority-2,th.ui-table-priority-1,td.ui-table-priority-1{display:none}}@media screen and (min-width:20em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-1,.ui-table-columntoggle.ui-responsive td.ui-table-priority-1{display:table-cell}}@media screen and (min-width:30em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-2,.ui-table-columntoggle.ui-responsive td.ui-table-priority-2{display:table-cell}}@media screen and (min-width:40em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-3,.ui-table-columntoggle.ui-responsive td.ui-table-priority-3{display:table-cell}}@media screen and (min-width:50em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-4,.ui-table-columntoggle.ui-responsive td.ui-table-priority-4{display:table-cell}}@media screen and (min-width:60em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-5,.ui-table-columntoggle.ui-responsive td.ui-table-priority-5{display:table-cell}}@media screen and (min-width:70em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-6,.ui-table-columntoggle.ui-responsive td.ui-table-priority-6{display:table-cell}}.ui-table-columntoggle th.ui-table-cell-hidden,.ui-table-columntoggle td.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden{display:none}.ui-table-columntoggle th.ui-table-cell-visible,.ui-table-columntoggle td.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible{display:table-cell}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{display:none}@media only all{.ui-table-reflow thead td,.ui-table-reflow thead th{display:none}.ui-table-reflow td,.ui-table-reflow th{text-align:left;display:block}.ui-table-reflow tbody th{margin-top:3em}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em}.ui-table-reflow th .ui-table-cell-label-top,.ui-table-reflow td .ui-table-cell-label-top{display:block;padding:.4em 0;margin:.4em 0;text-transform:uppercase;font-size:.9em;font-weight:400}}@media (min-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th,.ui-table-reflow.ui-responsive tbody th,.ui-table-reflow.ui-responsive tbody td,.ui-table-reflow.ui-responsive thead td,.ui-table-reflow.ui-responsive thead th{display:table-cell;margin:0}.ui-table-reflow.ui-responsive td .ui-table-cell-label,.ui-table-reflow.ui-responsive th .ui-table-cell-label{display:none}}@media (max-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}}.ui-panel{width:17em;min-height:100%;max-height:none;border-width:0;position:absolute;top:0;display:block}.ui-panel-closed{width:0;max-height:100%;overflow:hidden;visibility:hidden;left:0;clip:rect(1px,1px,1px,1px)}.ui-panel-fixed{position:fixed;bottom:-1px;padding-bottom:1px}.ui-panel-display-reveal{z-index:1}.ui-panel-display-push{z-index:999}.ui-panel-display-overlay{z-index:1001}.ui-panel-inner{padding:1em}.ui-panel-page-container{overflow-x:visible}.ui-panel-page-container-themed .ui-page-active{background:0}.ui-panel-wrapper{position:relative;min-height:inherit;border:0;overflow-x:hidden;z-index:999}.ui-panel-fixed-toolbar{overflow-x:hidden}.ui-panel-dismiss{position:absolute;top:0;left:0;right:0;height:100%;z-index:1002;display:none}.ui-panel-dismiss-open{display:block}.ui-panel-animate{-webkit-transition:-webkit-transform 300ms ease;-webkit-transition-duration:300ms;-moz-transition:-moz-transform 300ms ease;transition:transform 300ms ease}@media screen and (max-device-width:768px){.ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper,.ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper,.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:none}.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:-ms-transform 1ms;-ms-transform:rotate(0deg)}}.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal){-webkit-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0)}.ui-panel-position-left{left:-17em}.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-left.ui-panel-display-push{left:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-position-left.ui-panel-display-reveal,.ui-panel-open.ui-panel-position-left{left:0}.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-position-right{right:-17em}.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-right.ui-panel-display-push{right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-position-right.ui-panel-display-reveal,.ui-panel-position-right.ui-panel-open{right:0}.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-page-content-position-left{left:17em;right:-17em}.ui-panel-animate.ui-panel-page-content-position-left{left:0;right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-page-content-position-right{left:-17em;right:17em}.ui-panel-animate.ui-panel-page-content-position-right{left:0;right:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-dismiss-open.ui-panel-dismiss-position-left{left:17em}.ui-panel-dismiss-open.ui-panel-dismiss-position-right{right:17em}.ui-panel-display-reveal{-webkit-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);box-shadow:inset -5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-reveal{-webkit-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);box-shadow:inset 5px 0 5px rgba(0,0,0,.15)}.ui-panel-display-overlay{-webkit-box-shadow:5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:5px 0 5px rgba(0,0,0,.15);box-shadow:5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-overlay{-webkit-box-shadow:-5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:-5px 0 5px rgba(0,0,0,.15);box-shadow:-5px 0 5px rgba(0,0,0,.15)}.ui-panel-open.ui-panel-position-left.ui-panel-display-push{border-right-width:1px;margin-right:-1px}.ui-panel-page-content-position-left.ui-panel-page-content-display-push{margin-left:1px;width:auto}.ui-panel-open.ui-panel-position-right.ui-panel-display-push{border-left-width:1px;margin-left:-1px}.ui-panel-page-content-position-right.ui-panel-page-content-display-push{margin-right:1px;width:auto}@media (min-width:55em){.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left{margin-right:17em}.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right{margin-left:17em}.ui-responsive-panel .ui-panel-page-content-open{width:auto}.ui-responsive-panel .ui-panel-dismiss-display-push,.ui-responsive-panel.ui-page-active~.ui-panel-dismiss-display-push{display:none}}.ui-tabs{position:relative;padding:.2em} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.css deleted file mode 100644 index 65e34b29..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.css +++ /dev/null @@ -1,3456 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -/* Some unsets */ -.ui-mobile, -.ui-mobile body { - height: 99.9%; -} -.ui-mobile fieldset, -.ui-page { - padding: 0; - margin: 0; -} -.ui-mobile a img, -.ui-mobile fieldset { - border-width: 0; -} -/* Fixes for fieldset issues on IE10 and FF (see #6077) */ -.ui-mobile fieldset { - min-width: 0; -} -@-moz-document url-prefix() { - .ui-mobile fieldset { - display: table-column; - vertical-align: middle; - } -} -/* Viewport */ -.ui-mobile-viewport { - margin: 0; - overflow-x: visible; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust:none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -/* Issue #2066 */ -body.ui-mobile-viewport, -div.ui-mobile-viewport { - overflow-x: hidden; -} -/* "page" containers - full-screen views, one should always be in view post-pageload */ -.ui-mobile [data-role=page], -.ui-mobile [data-role=dialog], -.ui-page { - top: 0; - left: 0; - width: 100%; - min-height: 100%; - position: absolute; - display: none; - border: 0; -} -/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */ -.ui-page { - outline: none; -} -.ui-mobile .ui-page-active { - display: block; - overflow: visible; - overflow-x: hidden; -} -@media screen and (orientation: portrait) { - .ui-mobile .ui-page { - min-height: 420px; - } -} -@media screen and (orientation: landscape) { - .ui-mobile .ui-page { - min-height: 300px; - } -} -/* Fouc */ -.ui-mobile-rendering > * { - visibility: hidden; -} -/* Non-js content hiding */ -.ui-nojs { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Loading screen */ -.ui-loading .ui-loader { - display: block; -} -.ui-loader { - display: none; - z-index: 9999999; - position: fixed; - top: 50%; - left: 50%; - border:0; -} -.ui-loader-default { - background: none; - filter: Alpha(Opacity=18); - opacity: .18; - width: 2.875em; - height: 2.875em; - margin-left: -1.4375em; - margin-top: -1.4375em; -} -.ui-loader-verbose { - width: 12.5em; - filter: Alpha(Opacity=88); - opacity: .88; - box-shadow: 0 1px 1px -1px #fff; - height: auto; - margin-left: -6.875em; - margin-top: -2.6875em; - padding: .625em; -} -.ui-loader-default h1 { - font-size: 0; - width: 0; - height: 0; - overflow: hidden; -} -.ui-loader-verbose h1 { - font-size: 1em; - margin: 0; - text-align: center; -} -.ui-loader .ui-icon-loading { - background-color: #000; - display: block; - margin: 0; - width: 2.75em; - height: 2.75em; - padding: .0625em; - -webkit-border-radius: 2.25em; - border-radius: 2.25em; -} -.ui-loader-verbose .ui-icon-loading { - margin: 0 auto .625em; - filter: Alpha(Opacity=75); - opacity: .75; -} -.ui-loader-textonly { - padding: .9375em; - margin-left: -7.1875em; -} -.ui-loader-textonly .ui-icon-loading { - display: none; -} -.ui-loader-fakefix { - position: absolute; -} -/* Headers, content panels */ -.ui-bar, -.ui-body { - position: relative; - padding: .4em 1em; - overflow: hidden; - display: block; - clear: both; -} -.ui-bar h1, -.ui-bar h2, -.ui-bar h3, -.ui-bar h4, -.ui-bar h5, -.ui-bar h6 { - margin: 0; - padding: 0; - font-size: 1em; - display: inline-block; -} -.ui-header, -.ui-footer { - border-width: 1px 0; - border-style: solid; - position: relative; -} -.ui-header:empty, -.ui-footer:empty { - min-height: 2.6875em; -} -.ui-header .ui-title, -.ui-footer .ui-title { - font-size: 1em; - min-height: 1.1em; - text-align: center; - display: block; - margin: 0 30%; - padding: .7em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - outline: 0 !important; -} -.ui-footer .ui-title { - margin: 0 1em; -} -.ui-content { - border-width: 0; - overflow: visible; - overflow-x: hidden; - padding: 1em; -} -/* Corner styling for dialogs and popups */ -.ui-corner-all > .ui-header:first-child, -.ui-corner-all > .ui-content:first-child, -.ui-corner-all > .ui-footer:first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-corner-all > .ui-header:last-child, -.ui-corner-all > .ui-content:last-child, -.ui-corner-all > .ui-footer:last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -/* Buttons and icons */ -.ui-btn { - font-size: 16px; - margin: .5em 0; - padding: .7em 1em; - display: block; - position: relative; - text-align: center; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.ui-btn-icon-notext, -.ui-header button.ui-btn.ui-btn-icon-notext, -.ui-footer button.ui-btn.ui-btn-icon-notext { - padding: 0; - width: 1.75em; - height: 1.75em; - text-indent: -9999px; - white-space: nowrap !important; -} -.ui-mini { - font-size: 12.5px; -} -.ui-mini .ui-btn { - font-size: inherit; -} -/* Make buttons in toolbars default to mini and inline. */ -.ui-header .ui-btn, -.ui-footer .ui-btn { - font-size: 12.5px; - display: inline-block; - vertical-align: middle; -} -.ui-header .ui-controlgroup .ui-btn-icon-notext, -.ui-footer .ui-controlgroup .ui-btn-icon-notext { - font-size: 12.5px; -} -/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right { - font-size: 12.5px; -} -.ui-mini.ui-btn-icon-notext, -.ui-mini .ui-btn-icon-notext, -.ui-header .ui-btn-icon-notext, -.ui-footer .ui-btn-icon-notext { - font-size: 16px; - padding: 0; -} -.ui-btn-inline { - display: inline-block; - vertical-align: middle; - margin-right: .625em; -} -.ui-btn-icon-left { - padding-left: 2.5em; -} -.ui-btn-icon-right { - padding-right: 2.5em; -} -.ui-btn-icon-top { - padding-top: 2.5em; -} -.ui-btn-icon-bottom { - padding-bottom: 2.5em; -} -.ui-header .ui-btn-icon-top, -.ui-footer .ui-btn-icon-top, -.ui-header .ui-btn-icon-bottom, -.ui-footer .ui-btn-icon-bottom { - padding-left: .3125em; - padding-right: .3125em; -} -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - content: ""; - position: absolute; - display: block; - width: 22px; - height: 22px; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-left:after, -.ui-btn-icon-right:after { - top: 50%; - margin-top: -11px; -} -.ui-btn-icon-left:after { - left: .5625em; -} -.ui-btn-icon-right:after { - right: .5625em; -} -.ui-mini.ui-btn-icon-left:after, -.ui-mini .ui-btn-icon-left:after, -.ui-header .ui-btn-icon-left:after, -.ui-footer .ui-btn-icon-left:after { - left: .37em; -} -.ui-mini.ui-btn-icon-right:after, -.ui-mini .ui-btn-icon-right:after, -.ui-header .ui-btn-icon-right:after, -.ui-footer .ui-btn-icon-right:after { - right: .37em; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after { - left: 50%; - margin-left: -11px; -} -.ui-btn-icon-top:after { - top: .5625em; -} -.ui-btn-icon-bottom:after { - top: auto; - bottom: .5625em; -} -/* Buttons in header position classes */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right, -.ui-btn-left > [class*="ui-"], -.ui-btn-right > [class*="ui-"] { - margin: 0; -} -.ui-btn-left, -.ui-btn-right { - position: absolute; - top: .24em; -} -.ui-btn-left { - left: .4em; -} -.ui-btn-right { - right: .4em; -} -.ui-btn-icon-notext.ui-btn-left { - top: .3125em; - left: .3125em; -} -.ui-btn-icon-notext.ui-btn-right { - top: .3125em; - right: .3125em; -} -/* Button elements */ -button.ui-btn, -.ui-controlgroup-controls button.ui-btn-icon-notext { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - width: 100%; -} -button.ui-btn-inline, -.ui-header button.ui-btn, -.ui-footer button.ui-btn { - width: auto; -} -/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */ -button.ui-btn::-moz-focus-inner { - border: 0; -} -button.ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - width: 1.75em; -} -/* Form labels */ -.ui-mobile label, -.ui-controlgroup-label { - display: block; - margin: 0 0 .4em; -} -/* Accessible content hiding */ -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-hide-label > label, -.ui-hide-label .ui-controlgroup-label, -.ui-hide-label .ui-rangeslider label, -.ui-hidden-accessible { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Used for hiding elements by the filterable widget. You can also use this class to hide list items or buttons in controlgroups; this ensures correct corner styling. */ -.ui-screen-hidden { - display: none !important; -} -/* Transitions originally inspired by those from jQtouch, nice work, folks */ -.ui-mobile-viewport-transitioning, -.ui-mobile-viewport-transitioning .ui-page { - width: 100%; - height: 100%; - overflow: hidden; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.ui-page-pre-in { - opacity: 0; -} -.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.out { - -webkit-animation-timing-function: ease-in; - -webkit-animation-duration: 225ms; - -moz-animation-timing-function: ease-in; - -moz-animation-duration: 225ms; - animation-timing-function: ease-in; - animation-duration: 225ms; -} -@-webkit-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-moz-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-webkit-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@-moz-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -.fade.out { - opacity: 0; - -webkit-animation-duration: 125ms; - -webkit-animation-name: fadeout; - -moz-animation-duration: 125ms; - -moz-animation-name: fadeout; - animation-duration: 125ms; - animation-name: fadeout; -} -.fade.in { - opacity: 1; - -webkit-animation-duration: 225ms; - -webkit-animation-name: fadein; - -moz-animation-duration: 225ms; - -moz-animation-name: fadein; - animation-duration: 225ms; - animation-name: fadein; -} -.pop { - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -.pop.in { - -webkit-transform: scale(1); - -webkit-animation-name: popin; - -webkit-animation-duration: 350ms; - -moz-transform: scale(1); - -moz-animation-name: popin; - -moz-animation-duration: 350ms; - transform: scale(1); - animation-name: popin; - animation-duration: 350ms; - opacity: 1; -} -.pop.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; - opacity: 0; -} -.pop.in.reverse { - -webkit-animation-name: fadein; - -moz-animation-name: fadein; - animation-name: fadein; -} -.pop.out.reverse { - -webkit-transform: scale(.8); - -webkit-animation-name: popout; - -moz-transform: scale(.8); - -moz-animation-name: popout; - transform: scale(.8); - animation-name: popout; -} -@-webkit-keyframes popin { - from { - -webkit-transform: scale(.8); - opacity: 0; - } - to { - -webkit-transform: scale(1); - opacity: 1; - } -} -@-moz-keyframes popin { - from { - -moz-transform: scale(.8); - opacity: 0; - } - to { - -moz-transform: scale(1); - opacity: 1; - } -} -@keyframes popin { - from { - transform: scale(.8); - opacity: 0; - } - to { - transform: scale(1); - opacity: 1; - } -} -@-webkit-keyframes popout { - from { - -webkit-transform: scale(1); - opacity: 1; - } - to { - -webkit-transform: scale(.8); - opacity: 0; - } -} -@-moz-keyframes popout { - from { - -moz-transform: scale(1); - opacity: 1; - } - to { - -moz-transform: scale(.8); - opacity: 0; - } -} -@keyframes popout { - from { - transform: scale(1); - opacity: 1; - } - to { - transform: scale(.8); - opacity: 0; - } -} -/* keyframes for slidein from sides */ -@-webkit-keyframes slideinfromright { - from { -webkit-transform: translate3d(100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromright { - from { -moz-transform: translateX(100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromright { - from { transform: translateX(100%); } - to { transform: translateX(0); } -} -@-webkit-keyframes slideinfromleft { - from { -webkit-transform: translate3d(-100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromleft { - from { -moz-transform: translateX(-100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromleft { - from { transform: translateX(-100%); } - to { transform: translateX(0); } -} -/* keyframes for slideout to sides */ -@-webkit-keyframes slideouttoleft { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(-100%,0,0); } -} -@-moz-keyframes slideouttoleft { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(-100%); } -} -@keyframes slideouttoleft { - from { transform: translateX(0); } - to { transform: translateX(-100%); } -} -@-webkit-keyframes slideouttoright { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(100%,0,0); } -} -@-moz-keyframes slideouttoright { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(100%); } -} -@keyframes slideouttoright { - from { transform: translateX(0); } - to { transform: translateX(100%); } -} -.slide.out, .slide.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.slide.out { - -webkit-transform: translate3d(-100%,0,0); - -webkit-animation-name: slideouttoleft; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - transform: translateX(-100%); - animation-name: slideouttoleft; -} -.slide.in { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromright; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromright; - transform: translateX(0); - animation-name: slideinfromright; -} -.slide.out.reverse { - -webkit-transform: translate3d(100%,0,0); - -webkit-animation-name: slideouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - transform: translateX(100%); - animation-name: slideouttoright; -} -.slide.in.reverse { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromleft; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromleft; - transform: translateX(0); - animation-name: slideinfromleft; -} -.slidefade.out { - -webkit-transform: translateX(-100%); - -webkit-animation-name: slideouttoleft; - -webkit-animation-duration: 225ms; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - -moz-animation-duration: 225ms; - transform: translateX(-100%); - animation-name: slideouttoleft; - animation-duration: 225ms; -} -.slidefade.in { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -.slidefade.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: slideouttoright; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - -moz-animation-duration: 200ms; - transform: translateX(100%); - animation-name: slideouttoright; - animation-duration: 200ms; -} -.slidefade.in.reverse { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -/* slide down */ -.slidedown.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slidedown.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfromtop; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfromtop; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfromtop; - animation-duration: 250ms; -} -.slidedown.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slidedown.out.reverse { - -webkit-transform: translateY(-100%); - -webkit-animation-name: slideouttotop; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(-100%); - -moz-animation-name: slideouttotop; - -moz-animation-duration: 200ms; - transform: translateY(-100%); - animation-name: slideouttotop; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfromtop { - from { -webkit-transform: translateY(-100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfromtop { - from { -moz-transform: translateY(-100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfromtop { - from { transform: translateY(-100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttotop { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(-100%); } -} -@-moz-keyframes slideouttotop { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(-100%); } -} -@keyframes slideouttotop { - from { transform: translateY(0); } - to { transform: translateY(-100%); } -} -/* slide up */ -.slideup.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slideup.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfrombottom; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfrombottom; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfrombottom; - animation-duration: 250ms; -} -.slideup.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slideup.out.reverse { - -webkit-transform: translateY(100%); - -webkit-animation-name: slideouttobottom; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(100%); - -moz-animation-name: slideouttobottom; - -moz-animation-duration: 200ms; - transform: translateY(100%); - animation-name: slideouttobottom; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfrombottom { - from { -webkit-transform: translateY(100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfrombottom { - from { -moz-transform: translateY(100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfrombottom { - from { transform: translateY(100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttobottom { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(100%); } -} -@-moz-keyframes slideouttobottom { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(100%); } -} -@keyframes slideouttobottom { - from { transform: translateY(0); } - to { transform: translateY(100%); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-flip { - -webkit-perspective: 1000; - -moz-perspective: 1000; - perspective: 1000; - position: absolute; -} -.flip { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - backface-visibility: hidden; - transform: translateX(0); -} -.flip.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 175ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 175ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 175ms; -} -.flip.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 225ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 225ms; - animation-name: flipintoright; - animation-duration: 225ms; -} -.flip.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.flip.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-turn { - -webkit-perspective: 200px; - -moz-perspective: 200px; - -ms-perspective: 200px; - perspective: 200px; - position: absolute; -} -.turn { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -webkit-transform-origin: 0; - - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - -moz-transform-origin: 0; - - backface-visibility :hidden; - transform: translateX(0); - transform-origin: 0; -} -.turn.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 125ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 125ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 125ms; -} -.turn.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 250ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 250ms; - animation-name: flipintoright; - animation-duration: 250ms; - -} -.turn.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.turn.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* flow transition */ -.flow { - -webkit-transform-origin: 50% 30%; - -webkit-box-shadow: 0 0 20px rgba(0,0,0,.4); - -moz-transform-origin: 50% 30%; - -moz-box-shadow: 0 0 20px rgba(0,0,0,.4); - transform-origin: 50% 30%; - box-shadow: 0 0 20px rgba(0,0,0,.4); -} -.ui-dialog.flow { - -webkit-transform-origin: none; - -webkit-box-shadow: none; - -moz-transform-origin: none; - -moz-box-shadow: none; - transform-origin: none; - box-shadow: none; -} -.flow.out { - -webkit-transform: translateX(-100%) scale(.7); - -webkit-animation-name: flowouttoleft; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(-100%) scale(.7); - -moz-animation-name: flowouttoleft; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(-100%) scale(.7); - animation-name: flowouttoleft; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.in { - -webkit-transform: translateX(0) scale(1); - -webkit-animation-name: flowinfromright; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(0) scale(1); - -moz-animation-name: flowinfromright; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(0) scale(1); - animation-name: flowinfromright; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: flowouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: flowouttoright; - transform: translateX(100%); - animation-name: flowouttoright; -} -.flow.in.reverse { - -webkit-animation-name: flowinfromleft; - -moz-animation-name: flowinfromleft; - animation-name: flowinfromleft; -} -@-webkit-keyframes flowouttoleft { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(-100%) scale(.7); } -} -@-moz-keyframes flowouttoleft { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(-100%) scale(.7); } -} -@keyframes flowouttoleft { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(-100%) scale(.7); } -} -@-webkit-keyframes flowouttoright { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(100%) scale(.7); } -} -@-moz-keyframes flowouttoright { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(100%) scale(.7); } -} -@keyframes flowouttoright { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(100%) scale(.7); } -} -@-webkit-keyframes flowinfromleft { - 0% { -webkit-transform: translateX(-100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromleft { - 0% { -moz-transform: translateX(-100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromleft { - 0% { transform: translateX(-100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -@-webkit-keyframes flowinfromright { - 0% { -webkit-transform: translateX(100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromright { - 0% { -moz-transform: translateX(100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromright { - 0% { transform: translateX(100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -.ui-field-contain, -.ui-mobile fieldset.ui-field-contain { - display: block; - position: relative; - overflow: visible; - clear: both; - padding: .8em 0; -} -.ui-field-contain > label ~ [class*="ui-"], -.ui-field-contain .ui-controlgroup-controls { - margin: 0; -} -.ui-field-contain:last-child { - border-bottom-width: 0; -} -@media (min-width: 28em) { - .ui-field-contain, - .ui-mobile fieldset.ui-field-contain { - padding: 0; - margin: 1em 0; - border-bottom-width: 0; - } - .ui-field-contain:before, - .ui-field-contain:after { - content: ""; - display: table; - } - .ui-field-contain:after { - clear: both; - } - .ui-field-contain > label, - .ui-field-contain .ui-controlgroup-label, - .ui-field-contain > .ui-rangeslider > label { - float: left; - width: 20%; - margin: .5em 2% 0 0; - } - .ui-popup .ui-field-contain > label, - .ui-popup .ui-field-contain .ui-controlgroup-label, - .ui-popup .ui-field-contain > .ui-rangeslider > label { - float: none; - width: auto; - margin: 0 0 .4em; - } - .ui-field-contain > label ~ [class*="ui-"], - .ui-field-contain .ui-controlgroup-controls { - float: left; - width: 78%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - /* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ - .ui-hide-label > label ~ [class*="ui-"], - .ui-hide-label .ui-controlgroup-controls, - .ui-popup .ui-field-contain > label ~ [class*="ui-"], - .ui-popup .ui-field-contain .ui-controlgroup-controls { - float: none; - width: 100%; - } - .ui-field-contain > label ~ .ui-btn-inline { - width: auto; - margin-right: .625em; - } - .ui-field-contain > label ~ .ui-btn-inline.ui-btn-icon-notext { - width: 1.75em; - } -} -/* content configurations. */ -.ui-grid-a, -.ui-grid-b, -.ui-grid-c, -.ui-grid-d, -.ui-grid-solo { - overflow: hidden; -} -.ui-block-a, -.ui-block-b, -.ui-block-c, -.ui-block-d, -.ui-block-e { - margin: 0; - padding: 0; - border: 0; - float: left; - min-height: 1px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -/* force new row */ -.ui-block-a { - clear: left; -} -ul.ui-grid-a, -ul.ui-grid-b, -ul.ui-grid-c, -ul.ui-grid-d, -ul.ui-grid-solo, -li.ui-block-a, -li.ui-block-b, -li.ui-block-c, -li.ui-block-d, -li.ui-block-e { - margin-left: 0; - margin-right: 0; - padding: 0; - list-style: none; -} -/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */ -[class*="ui-block-"] > button.ui-btn { - margin-right: 0; - margin-left: 0; -} -[class*="ui-block-"] > .ui-btn, -[class*="ui-block-"] > .ui-select, -[class*="ui-block-"] > .ui-checkbox, -[class*="ui-block-"] > .ui-radio, -[class*="ui-block-"] > button.ui-btn-inline, -[class*="ui-block-"] > button.ui-btn-icon-notext, -.ui-header [class*="ui-block-"] > button.ui-btn, -.ui-footer [class*="ui-block-"] > button.ui-btn { - margin-right: .3125em; - margin-left: .3125em; -} -.ui-grid-a > .ui-block-a, -.ui-grid-a > .ui-block-b { - /* width: 49.95%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 50%; -} -.ui-grid-b > .ui-block-a, -.ui-grid-b > .ui-block-b, -.ui-grid-b > .ui-block-c { - /* width: 33.25%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 33.333%; -} -.ui-grid-c > .ui-block-a, -.ui-grid-c > .ui-block-b, -.ui-grid-c > .ui-block-c, -.ui-grid-c > .ui-block-d { - /* width: 24.925%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 25%; -} -.ui-grid-d > .ui-block-a, -.ui-grid-d > .ui-block-b, -.ui-grid-d > .ui-block-c, -.ui-grid-d > .ui-block-d, -.ui-grid-d > .ui-block-e { - /* width: 19.925%; IE7 */ - width: 20%; -} -.ui-grid-solo > .ui-block-a { - width: 100%; - float: none; -} -/* preset breakpoint to switch to stacked grid styles below 35em (560px) */ -@media (max-width: 35em) { - .ui-responsive > .ui-block-a, - .ui-responsive > .ui-block-b, - .ui-responsive > .ui-block-c, - .ui-responsive > .ui-block-d, - .ui-responsive > .ui-block-e { - width: 100%; - float: none; - } -} -/* fixed page header & footer configuration */ -.ui-header-fixed, -.ui-footer-fixed { - left: 0; - right: 0; - width: 100%; - position: fixed; - z-index: 1000; -} -.ui-header-fixed { - top: -1px; - padding-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden { - top: 0; - padding-top: 0; -} -.ui-header-fixed .ui-btn-left, -.ui-header-fixed .ui-btn-right { - margin-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden .ui-btn-left, -.ui-header-fixed.ui-fixed-hidden .ui-btn-right { - margin-top: 0; -} -.ui-footer-fixed { - bottom: -1px; - padding-bottom: 1px; -} -.ui-footer-fixed.ui-fixed-hidden { - bottom: 0; - padding-bottom: 0; -} -.ui-header-fullscreen, -.ui-footer-fullscreen { - filter: Alpha(Opacity=90); - opacity: .9; -} -/* updatePagePadding() will update the padding to actual height of header and footer. */ -.ui-page-header-fixed { - padding-top: 2.8125em; -} -.ui-page-footer-fixed { - padding-bottom: 2.8125em; -} -.ui-page-header-fullscreen > .ui-content, -.ui-page-footer-fullscreen > .ui-content { - padding: 0; -} -.ui-fixed-hidden { - position: absolute; -} -/* Tap toggle: hide external fixed footer. See issue #6604 */ -.ui-footer-fixed.ui-fixed-hidden { - display: none; -} -.ui-page .ui-footer-fixed.ui-fixed-hidden { - display: block -} -.ui-page-header-fullscreen .ui-fixed-hidden, -.ui-page-footer-fullscreen .ui-fixed-hidden { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-header-fixed .ui-btn, -.ui-footer-fixed .ui-btn { - z-index: 10; -} -/* workarounds for other widgets */ -.ui-android-2x-fixed .ui-li-has-thumb { - -webkit-transform: translate3d(0,0,0); -} -.ui-navbar { - max-width: 100%; -} -.ui-navbar ul:before, -.ui-navbar ul:after { - content: ""; - display: table; -} -.ui-navbar ul:after { - clear: both; -} -.ui-navbar ul { - list-style: none; - margin: 0; - padding: 0; - position: relative; - display: block; - border: 0; - max-width: 100%; - overflow: visible; -} -.ui-navbar li .ui-btn { - font-size: 12.5px; - display: block; - margin: 0; - border-right-width: 0; -} -.ui-header .ui-navbar li button.ui-btn, -.ui-footer .ui-navbar li button.ui-btn { - margin: 0; - width: 100%; -} -.ui-navbar .ui-btn:focus { - z-index: 1; -} -/* fixes gaps caused by subpixel problem */ -.ui-navbar li:last-child .ui-btn { - margin-right: -4px; -} -.ui-navbar li:last-child .ui-btn:after { - margin-right: 4px; -} -.ui-content .ui-navbar li:last-child .ui-btn, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn { - border-right-width: 1px; - margin-right: 0; -} -.ui-content .ui-navbar li:last-child .ui-btn:after, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after { - margin-right: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn { - border-right-width: 1px; - margin-right: -1px; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after { - margin-right: 1px; -} -.ui-navbar .ui-grid-duo .ui-btn { - border-top-width: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -.ui-header .ui-navbar .ui-btn, -.ui-footer .ui-navbar .ui-btn { - border-top-width: 0; - border-bottom-width: 0; -} -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 0; -} -.ui-header .ui-title ~ .ui-navbar .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -/* Hide the native input element */ -.ui-input-btn input { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; - border: 0; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - background: #fff; - background: rgba(255,255,255,0); - filter: Alpha(Opacity=0); - opacity: .1; - font-size: 1px; - text-indent: -9999px; - z-index: 2; -} -/* Fixes IE/WP filter alpha opacity bugs */ -.ui-input-btn.ui-state-disabled input { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible { - margin: 0 -1em; -} -.ui-collapsible-inset, -.ui-collapsible-set { - margin: .5em 0; -} -.ui-collapsible-heading { - display: block; - margin: 0; - padding: 0; - position: relative; -} -.ui-collapsible-heading .ui-btn { - text-align: left; - margin: 0; - border-left-width: 0; - border-right-width: 0; -} -.ui-collapsible-heading .ui-btn-icon-top, -.ui-collapsible-heading .ui-btn-icon-bottom { - text-align: center; -} -.ui-collapsible-inset .ui-collapsible-heading .ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn { - border-top-width: 0; -} -.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn { - border-top-width: 1px; -} -.ui-collapsible-heading-status { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible-content { - display: block; - margin: 0; - padding: .5em 1em; -} -.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 0; - border-right-width: 0; - border-top-width: 0; - border-bottom-width: 1px; - border-style: solid; -} -.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 1px; - border-right-width: 1px; -} -.ui-collapsible-inset .ui-collapsible-content { - margin: 0; -} -.ui-collapsible-content-collapsed { - display: none; -} -.ui-collapsible-set > .ui-collapsible.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-collapsible-heading, -.ui-collapsible-heading > .ui-btn { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-collapsible-content, -.ui-collapsible-set .ui-collapsible.ui-last-child { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -.ui-collapsible-set .ui-collapsible { - margin: -1px -1em 0; -} -.ui-collapsible-set .ui-collapsible-inset { - margin: -1px 0 0; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - margin-top: 0; -} -.ui-controlgroup, -fieldset.ui-controlgroup { - padding: 0; - margin: .5em 0; -} -.ui-field-contain .ui-controlgroup, -.ui-field-contain fieldset.ui-controlgroup { - margin: 0; -} -.ui-mini .ui-controlgroup-label { - font-size: 16px; -} -.ui-controlgroup.ui-mini .ui-btn-icon-notext, -.ui-controlgroup .ui-mini.ui-btn-icon-notext { - font-size: inherit; -} -.ui-controlgroup-controls .ui-btn, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-select { - margin: 0; -} -.ui-controlgroup-controls .ui-btn:focus, -.ui-controlgroup-controls .ui-btn.ui-focus { - z-index: 1; -} -.ui-controlgroup-controls li { - list-style: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls { - display: inline-block; - vertical-align: middle; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:before, -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - content: ""; - display: table; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - clear: both; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select { - float: left; - clear: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn, -.ui-controlgroup-controls .ui-btn-icon-notext { - width: auto; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext { - width: 1.5em; -} - .ui-controlgroup-controls .ui-btn-icon-notext { - height: auto; - padding: .7em 1em; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn { - border-bottom-width: 0; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child { - border-bottom-width: 1px; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn { - border-right-width: 0; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child { - border-right-width: 1px; -} -.ui-controlgroup-controls .ui-btn-corner-all, -.ui-controlgroup-controls .ui-btn.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-controlgroup-controls, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-select, -.ui-controlgroup-controls li { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-last-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-controls a.ui-shadow:not(:focus), -.ui-controlgroup-controls button.ui-shadow:not(:focus), -.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) { - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} -/* Fixes legend not wrapping on IE10 */ -.ui-controlgroup-label legend { - max-width: 100%; -} -.ui-controlgroup-controls > label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-dialog { - background: none !important; /* this is to ensure that dialog theming does not apply (by default at least) on the page div */ -} -.ui-dialog-contain { - width: 92.5%; - max-width: 500px; - margin: 10% auto 1em auto; - padding: 0; - position: relative; - top: -1em; -} -.ui-dialog-contain > .ui-header, -.ui-dialog-contain > .ui-content, -.ui-dialog-contain > .ui-footer { - display: block; - position: relative; - width: auto; - margin: 0; -} -.ui-dialog-contain > .ui-header { - overflow: hidden; - z-index: 10; - padding: 0; - border-top-width: 0; -} -.ui-dialog-contain > .ui-footer { - z-index: 10; - padding: 0 1em; - border-bottom-width: 0; -} -.ui-popup-open .ui-header-fixed, -.ui-popup-open .ui-footer-fixed { - position: absolute !important; /* See issues #4816, #4844 and #4874 and popup.js */ -} -.ui-popup-screen { - background-image: url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); /* Necessary to set some form of background to ensure element is clickable in IE6/7. While legacy IE won't understand the data-URI'd image, it ensures no additional requests occur in all other browsers with little overhead. */ - top: 0; - left: 0; - right: 0; - bottom: 1px; - position: absolute; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 1099; -} -.ui-popup-screen.in { - opacity: 0.5; - filter: Alpha(Opacity=50); -} -.ui-popup-screen.out { - opacity: 0; - filter: Alpha(Opacity=0); -} -.ui-popup-container { - z-index: 1100; - display: inline-block; - position: absolute; - padding: 0; - outline: 0; -} -.ui-popup { - position: relative; -} -.ui-popup.ui-body-inherit { - border-width: 1px; - border-style: solid; -} -.ui-popup-hidden { - left: 0; - top: 0; - position: absolute !important; - visibility: hidden; -} -.ui-popup-truncate { - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-popup.ui-content, -.ui-popup .ui-content { - overflow: visible; -} -.ui-popup > .ui-header { - border-top-width: 0; -} -.ui-popup > .ui-footer { - border-bottom-width: 0; -} -.ui-popup > p, -.ui-popup > h1, -.ui-popup > h2, -.ui-popup > h3, -.ui-popup > h4, -.ui-popup > h5, -.ui-popup > h6 { - margin: .5em .4375em; -} -.ui-popup > span { - display: block; - margin: .5em .4375em; -} -.ui-popup-container .ui-content > p, -.ui-popup-container .ui-content > h1, -.ui-popup-container .ui-content > h2, -.ui-popup-container .ui-content > h3, -.ui-popup-container .ui-content > h4, -.ui-popup-container .ui-content > h5, -.ui-popup-container .ui-content > h6 { - margin: .5em 0; -} -.ui-popup-container .ui-content > span { - margin: 0; -} -.ui-popup-container .ui-content > p:first-child, -.ui-popup-container .ui-content > h1:first-child, -.ui-popup-container .ui-content > h2:first-child, -.ui-popup-container .ui-content > h3:first-child, -.ui-popup-container .ui-content > h4:first-child, -.ui-popup-container .ui-content > h5:first-child, -.ui-popup-container .ui-content > h6:first-child { - margin-top: 0; -} -.ui-popup-container .ui-content > p:last-child, -.ui-popup-container .ui-content > h1:last-child, -.ui-popup-container .ui-content > h2:last-child, -.ui-popup-container .ui-content > h3:last-child, -.ui-popup-container .ui-content > h4:last-child, -.ui-popup-container .ui-content > h5:last-child, -.ui-popup-container .ui-content > h6:last-child { - margin-bottom: 0; -} -.ui-popup > img { - max-width: 100%; - max-height: 100%; - vertical-align: middle; -} -.ui-popup:not(.ui-content) > img:only-child, -.ui-popup:not(.ui-content) > .ui-btn-left:first-child + img:last-child, -.ui-popup:not(.ui-content) > .ui-btn-right:first-child + img:last-child { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-popup iframe { - vertical-align: middle; -} -.ui-popup > .ui-btn-left, -.ui-popup > .ui-btn-right { - position: absolute; - top: -11px; - margin: 0; - z-index: 1101; -} -.ui-popup > .ui-btn-left { - left: -11px; -} -.ui-popup > .ui-btn-right { - right: -11px; -} -/* Dimensions related to the popup arrow ------------------------------------------------------------------------------------------------------------*/ -/* desired triangle height: 10px */ -/** - * guide for the arrow - its width, height, and offset are theme-dependent and - * should be expessed as left, right, top, bottom, so that the element bearing - * such a class becomes stretched inside its parent position: relative element. - * The left/top/right/bottom specified below should reflect the corresponding - * border radii and so it leaves room for the shadow: - * ..--------------------.. - * ." ^ top ". - * / v \ - * | +------------------+ | - * | | | | - * | left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The idea is that the top/left of the arrow container box does not move to a - * coordinate smaller than the top/left of the guide and the right/bottom of - * the arrow container box does not move to a coordinate larger than the - * bottom/right of the guide. This will help us avoid the following situation: - * ..--------------------.. - * ." ^ top ". - * /|/ v \ - * / | +------------------+ | - * \ | | | | - * \| left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The arrow should not receive a top/left coordinate such that it is too close - * to one of the corners, because then at first the shadow of the arrow and, - * given a coordinate even closer to the corner, even the body of the arrow will - * "stick out" of the corner of the popup. The guide provides a hint to the - * arrow positioning code as to which range of values is acceptable for the - * arrow container's top/left coordinate. - **/ -.ui-popup-arrow-container { - width: 20px; - height: 20px; -} -/* aside from the "infinities" (-1000,2000), triangle height is used */ -.ui-popup-arrow-container.ui-popup-arrow-l { - left: -10px; - clip: rect(-1000px,10px,2000px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-t { - top: -10px; - clip: rect(-1000px,2000px,10px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-r { - right: -10px; - clip: rect(-1000px,2000px,2000px,10px); -} -.ui-popup-arrow-container.ui-popup-arrow-b { - bottom: -10px; - clip: rect(10px,2000px,1000px,-1000px); -} -/** - * For each side, the arrow is twice the desired size and its corner is aligned - * with the edge of the container: - * - * /\ /\ +----+ /\ - * / \ / \ | /\ |top / \ - * +----+ \ / +----+ +-->|/ \| / \ - * left| / | \ / | \ |right | | | / \ - * |/ | \ / | \| | /| |\ / \ - * |\ | / \ | /| | / +----+ \ \ +----+ / - * | \ | / \ | / | | \ / \| |/ - * +----+ / \ +----+ | \ / | | - * ^ \ / \ / ^ | \ / +->|\ /| - * | \/ \/ | | \ / | | \/ |bottom - * | | | \/ | +----+ - * +-------------------+--------+-----------+ - * | - * arrow container - * (clips arrow) - **/ -.ui-popup-arrow-container .ui-popup-arrow { - /* (4*desired triangle height)/sqrt(2) - does not account for border - centred within the outer rectangle */ - width: 28.284271247px; - height: 28.284271247px; - border-width: 1px; - border-style: solid; -} -.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow { - left: -4.142135623px; - top: 5.857864376px; -} -.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow { - left: -4.142135623px; - top: -14.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow { - left: 5.857864376px; - top: -4.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow { - left: -14.142135623px; - top: -4.142135623px; -} -/* Fix rotation center for oldIE - see http://www.useragentman.com/IETransformsTranslator/ */ -.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -7.0710678118654755px; -} -.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -4.142135623730951px; -} - -.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow { - margin-left: -7.0710678118654755px; - margin-top: -5.857864376269049px; -} -.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow { - margin-left: -4.142135623730951px; - margin-top: -5.857864376269049px; -} -/* structure */ -.ui-popup > .ui-popup-arrow-guide { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - visibility: hidden; -} -.ui-popup-arrow-container { - position: absolute; -} -.ui-popup-arrow { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - overflow: hidden; - box-sizing: border-box; -} -.ui-popup-arrow-container.ie .ui-popup-arrow { - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')"; - filter: progid:DXImageTransform.Microsoft.Matrix( - M11=0.7071067811865474, - M12=-0.7071067811865477, - M21=0.7071067811865477, - M22=0.7071067811865474, - SizingMethod='auto expand'); -} -.ui-checkbox, -.ui-radio { - margin: .5em 0; - position: relative; -} -.ui-checkbox .ui-btn, -.ui-radio .ui-btn { - margin: 0; - text-align: left; - white-space: normal; /* Nowrap + ellipsis doesn't work on label. Issue #1419. */ - z-index: 2; -} -.ui-controlgroup .ui-checkbox .ui-btn.ui-focus, -.ui-controlgroup .ui-radio .ui-btn.ui-focus { - z-index: 3; -} -.ui-checkbox .ui-btn-icon-top, -.ui-radio .ui-btn-icon-top, -.ui-checkbox .ui-btn-icon-bottom, -.ui-radio .ui-btn-icon-bottom { - text-align: center; -} -.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after, -.ui-controlgroup-horizontal .ui-radio .ui-btn:after { - content: none; - display: none; -} -/* Native input positioning */ -.ui-checkbox input, -.ui-radio input { - position: absolute; - left: .466em; - top: 50%; - width: 22px; - height: 22px; - margin: -11px 0 0 0; - outline: 0 !important; - z-index: 1; -} -.ui-controlgroup-horizontal .ui-checkbox input, -.ui-controlgroup-horizontal .ui-radio input { - left: 50%; - margin-left: -9px; -} -.ui-checkbox input:disabled, -.ui-radio input:disabled { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select { - margin-top: .5em; - margin-bottom: .5em; /* no shorthand for margin because it would override margin-right for inline selects */ - position: relative; -} -.ui-select > select { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select .ui-btn { - margin: 0; - opacity: 1; /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including "inherit") without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */ -} -.ui-select .ui-btn select { - position: absolute; - top: 0; - left: 0; - width: 100%; - min-height: 1.5em; - min-height: 100%; - height: 3em; - max-height: 100%; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 2; -} -@-moz-document url-prefix() { - .ui-select .ui-btn select { - opacity: 0.0001; - } -} -/* Display none because of issues with IE/WP's filter alpha opacity */ -.ui-select .ui-state-disabled select { - display: none; -} -/* Because we add all classes of the select and option elements to the span... */ -.ui-select span.ui-state-disabled { - filter: Alpha(Opacity=100); - opacity: 1; -} -.ui-select .ui-btn.ui-select-nativeonly { - border-radius: 0; - border: 0; -} -.ui-select .ui-btn.ui-select-nativeonly select { - opacity: 1; - text-indent: 0; - display: block; -} -/* ui-li-count is styled in the listview CSS. We set padding and offset here because select supports icon position while listview doesn't. */ -.ui-select .ui-li-has-count.ui-btn { - padding-right: 2.8125em; -} -.ui-select .ui-li-has-count.ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-select .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -/* We set the rules for the span as well to fix an issue on Chrome with text-overflow ellipsis for the button in combination with text-align center. */ -.ui-select .ui-btn > span:not(.ui-li-count) { - display: block; - text-overflow: ellipsis; - overflow: hidden !important; - white-space: nowrap; -} -.ui-selectmenu.ui-popup { - min-width: 11em; -} -.ui-selectmenu .ui-dialog-contain { - overflow: hidden; -} -.ui-selectmenu .ui-header { - margin: 0; - padding: 0; - border-width: 0; -} -.ui-selectmenu.ui-dialog .ui-header { - z-index: 1; - position: relative; -} -.ui-selectmenu.ui-popup .ui-header { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ -.ui-selectmenu.ui-popup .ui-header h1:after { - content: '.'; - visibility: hidden; -} -.ui-selectmenu .ui-header .ui-title { - margin: 0 2.875em; -} -.ui-selectmenu.ui-dialog .ui-content { - overflow: visible; - z-index: 1; -} -.ui-selectmenu .ui-selectmenu-list { - margin: 0; - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-header:not(.ui-screen-hidden) + .ui-selectmenu-list { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; -} -.ui-header.ui-screen-hidden + .ui-selectmenu-list li.ui-first-child .ui-btn { - border-top-width: 0; -} -.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn { - border-bottom-width: 0; -} -.ui-selectmenu .ui-btn.ui-li-divider { - cursor: default; -} -.ui-selectmenu .ui-selectmenu-placeholder { - display: none; -} -.ui-listview, -.ui-listview > li { - margin: 0; - padding: 0; - list-style: none; -} -.ui-content .ui-listview, -.ui-panel-inner > .ui-listview { - margin: -1em; -} -.ui-content .ui-listview-inset, -.ui-panel-inner > .ui-listview-inset { - margin: 1em 0; -} -.ui-collapsible-content > .ui-listview { - margin: -.5em -1em; -} -.ui-collapsible-content > .ui-listview-inset { - margin: .5em 0; -} -.ui-listview > li { - display: block; - position: relative; - overflow: visible; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - margin: 0; - display: block; - position: relative; - text-align: left; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li > .ui-btn:focus { - z-index: 1; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - border-width: 1px 0 0 0; - border-style: solid; -} -.ui-listview-inset > .ui-li-static, -.ui-listview-inset > .ui-li-divider, -.ui-listview-inset > li > a.ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-listview > .ui-li-static.ui-last-child, -.ui-listview > .ui-li-divider.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - border-bottom-width: 1px; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 0; -} -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child, -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child > a.ui-btn { - border-bottom-width: 0; -} -.ui-listview > li.ui-first-child, -.ui-listview > li.ui-first-child > a.ui-btn { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-listview > li.ui-li-has-alt > a.ui-btn { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -.ui-listview > li.ui-first-child > a.ui-btn + a.ui-btn { - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-listview > li.ui-last-child > a.ui-btn + a.ui-btn { - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-listview > li.ui-first-child img:first-child:not(.ui-li-icon) { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child img:first-child:not(.ui-li-icon) { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-listview > .ui-li-static { - padding: .7em 1em; -} -.ui-listview > .ui-li-divider { - padding: .5em 1.143em; - font-size: 14px; - font-weight: bold; - cursor: default; - outline: 0; /* Dividers in custom selectmenus have tabindex */ -} -.ui-listview > .ui-li-has-count > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-count, -.ui-listview > .ui-li-divider.ui-li-has-count { - padding-right: 2.8125em; -} -.ui-listview > .ui-li-has-count > .ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-listview > .ui-li-has-thumb > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-thumb { - min-height: 3.625em; - padding-left: 6.25em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-icon { - min-height: 1.25em; - padding-left: 2.5em; -} -/* Used by both listview and custom multiple select button */ -.ui-li-count { - position: absolute; - font-size: 12.5px; - font-weight: bold; - text-align: center; - border-width: 1px; - border-style: solid; - padding: 0 .48em; - line-height: 1.6em; - min-height: 1.6em; - min-width: .64em; - right: .8em; - top: 50%; - margin-top: -.88em; -} -.ui-listview .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -.ui-listview .ui-li-has-thumb > img:first-child, -.ui-listview .ui-li-has-thumb > .ui-btn > img:first-child, -.ui-listview .ui-li-has-thumb .ui-li-thumb { - position: absolute; - left: 0; - top: 0; - max-height: 5em; - max-width: 5em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > img:first-child, -.ui-listview > .ui-li-has-icon > .ui-btn > img:first-child { - position: absolute; - left: .625em; - top: .9em; - max-height: 1em; - max-width: 1em; -} -.ui-listview > li h1, -.ui-listview > li h2, -.ui-listview > li h3, -.ui-listview > li h4, -.ui-listview > li h5, -.ui-listview > li h6 { - font-size: 1em; - font-weight: bold; - display: block; - margin: .45em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li p { - font-size: .75em; - font-weight: normal; - display: block; - margin: .6em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview .ui-li-aside { - position: absolute; - top: 1em; - right: 3.333em; - margin: 0; - text-align: right; -} -.ui-listview > li.ui-li-has-alt > .ui-btn { - margin-right: 2.5em; - border-right-width: 0; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn { - position: absolute; - width: 2.5em; - height: 100%; - min-height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-left-width: 1px; - top: 0; - right: 0; - margin: 0; - padding: 0; - z-index: 2; -} -.ui-listview-inset > li.ui-li-has-alt > .ui-btn + .ui-btn { - border-right-width: 1px; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn:focus { - z-index: 3; -} -ol.ui-listview, -ol.ui-listview > .ui-li-divider { - counter-reset: listnumbering; -} -ol.ui-listview > li > .ui-btn, -ol.ui-listview > li.ui-li-static { - vertical-align: middle; -} -ol.ui-listview > li > .ui-btn:first-child:before, -ol.ui-listview > li.ui-li-static:before, -ol.ui-listview > li.ui-field-contain > label:before, -ol.ui-listview > li.ui-field-contain > .ui-controlgroup-label:before { - display: inline-block; - font-size: .9em; - font-weight: normal; - padding-right: .3em; - min-width: 1.4em; - line-height: 1.5; - vertical-align: middle; - counter-increment: listnumbering; - content: counter(listnumbering) "."; -} -ol.ui-listview > li.ui-field-contain:before { - content: none; - display: none; -} -ol.ui-listview > li h1:first-child, -ol.ui-listview > li h2:first-child, -ol.ui-listview > li h3:first-child, -ol.ui-listview > li h4:first-child, -ol.ui-listview > li h5:first-child, -ol.ui-listview > li h6:first-child, -ol.ui-listview > li p:first-child, -ol.ui-listview > li img:first-child + * { - display: inline-block; - vertical-align: middle; -} -ol.ui-listview > li h1:first-child ~ *, -ol.ui-listview > li h2:first-child ~ *, -ol.ui-listview > li h3:first-child ~ *, -ol.ui-listview > li h4:first-child ~ *, -ol.ui-listview > li h5:first-child ~ *, -ol.ui-listview > li h6:first-child ~ *, -ol.ui-listview > li p:first-child ~ *, -ol.ui-listview > li img:first-child + * ~ * { - margin-top: 0; - text-indent: 2.04em; /* (1.4em + .3em) * .9em / .75em */ -} -html .ui-filterable + .ui-listview, -html .ui-filterable.ui-listview { - margin-top: .5em; -} -.ui-collapsible-content > form.ui-filterable { - margin-top: -.5em; -} -.ui-collapsible-content > .ui-input-search.ui-filterable { - margin-top: 0; -} -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 1px; -} -div.ui-slider { - height: 30px; - margin: .5em 0; - padding: 0; - -ms-touch-action: pan-y pinch-zoom double-tap-zoom; -} -div.ui-slider:before, -div.ui-slider:after { - content: ""; - display: table; -} -div.ui-slider:after { - clear: both; -} -input.ui-slider-input { - display: block; - float: left; - font-size: 14px; - font-weight: bold; - margin: 0; - padding: 4px; - width: 40px; - height: 20px; - line-height: 20px; - border-width: 1px; - border-style: solid; - outline: 0; - text-align: center; - vertical-align: text-bottom; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-slider-input::-webkit-outer-spin-button, -.ui-slider-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -.ui-slider-track { - position: relative; - overflow: visible; - border-width: 1px; - border-style: solid; - height: 15px; - margin: 0 15px 0 68px; - top: 6px; -} -.ui-slider-track.ui-mini { - height: 12px; - top: 8px; -} -.ui-slider-track .ui-slider-bg { - height: 100%; -} -/* High level of specificity to override button margins in grids */ -.ui-slider-track .ui-btn.ui-slider-handle { - position: absolute; - z-index: 1; - top: 50%; - width: 28px; - height: 28px; - margin: -15px 0 0 -15px; - outline: 0; - padding: 0; -} -.ui-slider-track.ui-mini .ui-slider-handle { - height: 14px; - width: 14px; - margin: -8px 0 0 -8px; -} -select.ui-slider-switch { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -div.ui-slider-switch { - display: inline-block; - height: 32px; - width: 5.8em; - top: 0; -} -/* reset the clearfix */ -div.ui-slider-switch:before, -div.ui-slider-switch:after { - display: none; - clear: none; -} -div.ui-slider-switch.ui-mini { - height: 29px; - top: 0; -} -.ui-slider-inneroffset { - margin: 0 16px; - position: relative; - z-index: 1; -} -.ui-slider-switch.ui-mini .ui-slider-inneroffset { - margin: 0 15px 0 14px; -} -.ui-slider-switch .ui-btn.ui-slider-handle { - margin: 1px 0 0 -15px; -} -.ui-slider-switch.ui-mini .ui-slider-handle { - width: 25px; - height: 25px; - margin: 1px 0 0 -13px; - padding: 0; -} -.ui-slider-handle-snapping { - -webkit-transition: left 70ms linear; - -moz-transition: left 70ms linear; - transition: left 70ms linear; -} -.ui-slider-switch .ui-slider-label { - position: absolute; - text-align: center; - width: 100%; - overflow: hidden; - font-size: 16px; - top: 0; - line-height: 2; - min-height: 100%; - white-space: nowrap; - cursor: pointer; -} -.ui-slider-switch.ui-mini .ui-slider-label { - font-size: 14px; -} -.ui-slider-switch .ui-slider-label-a { - z-index: 1; - left: 0; - text-indent: -1.5em; -} -.ui-slider-switch .ui-slider-label-b { - z-index: 0; - right: 0; - text-indent: 1.5em; -} -/* The corner radii for ui-slider-switch/track can be specified in theme CSS. The bg and handle inherits. */ -.ui-slider-track .ui-slider-bg, -.ui-slider-switch .ui-slider-label, -.ui-slider-switch .ui-slider-inneroffset, -.ui-slider-handle { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-field-contain div.ui-slider-switch { - margin: 0; -} -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-field-contain div.ui-slider-switch, -.ui-field-contain.ui-hide-label div.ui-slider-switch, -html .ui-popup .ui-field-contain div.ui-slider-switch { - display: inline-block; - width: 5.8em; -} -/* slider tooltip ------------------------------------------------------------------------------------------------------------*/ -.ui-slider-popup { - width: 64px; - height: 64px; - font-size: 36px; - padding-top: 14px; - opacity: 0.8; -} -.ui-slider-popup { - position: absolute !important; - text-align: center; - z-index: 100; -} -.ui-slider-track .ui-btn.ui-slider-handle { - font-size: .9em; - line-height: 30px; -} -.ui-rangeslider { - margin: .5em 0; -} -.ui-rangeslider:before, -.ui-rangeslider:after { - content: ""; - display: table; -} -.ui-rangeslider:after { - clear: both; -} -.ui-rangeslider .ui-slider-input.ui-rangeslider-last { - float: right; -} -.ui-rangeslider .ui-rangeslider-sliders { - position: relative; - overflow: visible; - height: 30px; - margin: 0 68px; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track { - position: absolute; - top: 6px; - right: 0; - left: 0; - margin: 0; -} -.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track { - top: 8px; -} -.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg { - display: none; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - background-color: transparent; - background: none; - border-width: 0; - height: 0; -} -/* this makes ie6 and ie7 set height to 0 to fix z-index problem */ -html >/**/body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 15px; - border-width: 1px; -} -html >/**/body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 12px; -} -/* Hide the second label (the first is moved outside the div) */ -div.ui-rangeslider label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-field-contain .ui-rangeslider input.ui-slider-input, -.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input, -.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders, -.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders { - margin-top: 0; - margin-bottom: 0; -} -.ui-input-text, -.ui-input-search { - margin: .5em 0; - border-width: 1px; - border-style: solid; -} -.ui-mini { - margin: .446em; -} -.ui-input-text input, -.ui-input-search input, -textarea.ui-input-text { - padding: .4em; - line-height: 1.4em; - display: block; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - outline: 0; -} -.ui-input-text input, -.ui-input-search input { - margin: 0; - min-height: 2.2em; - text-align: left; /* Opera aligns type="date" right by default */ - border: 0; - background: transparent none; - -webkit-appearance: none; - -webkit-border-radius: inherit; - border-radius: inherit; -} -textarea.ui-input-text { - overflow: auto; - resize: vertical; -} -.ui-mini .ui-input-text input, -.ui-mini .ui-input-search input, -.ui-input-text.ui-mini input, -.ui-input-search.ui-mini input, -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - font-size: 14px; -} -/* Same margin for mini textareas as other mini sized widgets (12.5/14 * 0.5em) */ -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - margin: .446em 0; -} -.ui-input-has-clear, -.ui-input-search { - position: relative; -} -/* Padding on the div instead of input because of browser spinners etc. */ -.ui-input-has-clear { - padding-right: 2.375em; -} -.ui-mini.ui-input-has-clear { - padding-right: 2.923em; -} -.ui-input-has-clear input { - padding-right: 0; - /* Autofill on Chrome has bg color so we unset corners right as well. */ - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -/* Search icon */ -.ui-input-search input { - padding-left: 1.75em; -} -.ui-input-search:after { - position: absolute; - left: .3125em; - top: 50%; - margin-top: -7px; - content: ""; - background-position: center center; - background-repeat: no-repeat; - width: 14px; - height: 14px; - filter: Alpha(Opacity=50); - opacity: .5; -} -.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear, -.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear { - position: absolute; - right: 0; - top: 50%; - margin: -14px .3125em 0; - border: 0; - background-color: transparent; -} -.ui-input-search .ui-input-clear-hidden, -.ui-input-text .ui-input-clear-hidden { - display: none; -} -/* Resolves issue #5166: Added to support issue introduced in Firefox 15. We can likely remove this in the future. */ -.ui-input-text input::-moz-placeholder, -.ui-input-search input::-moz-placeholder, -textarea.ui-input-text::-moz-placeholder { - color: #aaa; -} -/* Same for IE10 */ -.ui-input-text input:-ms-input-placeholder, -.ui-input-search input:-ms-input-placeholder, -textarea.ui-input-text:-ms-input-placeholder { - color: #aaa; -} -/* Resolves issue #5131: Width of textinput depends on its type, -for Android 4.1 */ -.ui-input-text input[type=number]::-webkit-outer-spin-button { - margin: 0; -} -/* Resolves issue #5756: Textinput in IE10 has a default clear button */ -.ui-input-text input::-ms-clear, -.ui-input-search input::-ms-clear { - display: none; -} -.ui-input-text input:focus, -.ui-input-search input:focus { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -textarea.ui-input-text.ui-textinput-autogrow { - overflow: hidden; -} -.ui-textinput-autogrow-resize { - -webkit-transition: height 0.25s; - -o-transition: height 0.25s; - -moz-transition: height 0.25s; - transition: height 0.25s; -} -.ui-flipswitch { - display: inline-block; - vertical-align: middle; - width: 5.875em; /* Override this and padding-left in next rule if you use labels other than "on/off" and need more space */ - height: 1.875em; - border-width: 1px; - border-style: solid; - margin: .5em 0; - overflow: hidden; - -webkit-transition-property: padding, width, background-color, color, border-color; - -moz-transition-property: padding, width, background-color, color, border-color; - -o-transition-property: padding, width, background-color, color, border-color; - transition-property: padding, width, background-color, color, border-color; - -webkit-transition-duration: 100ms; - -moz-transition-duration: 100ms; - -o-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; -} -.ui-flipswitch.ui-flipswitch-active { - padding-left: 4em; /* Override this and width in previous rule if you use labels other than "on/off" and need more space */ - width: 1.875em; -} -.ui-flipswitch-input { - position: absolute; - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); - border: 0; - outline: 0; - filter: Alpha(Opacity=0); - opacity: 0; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on, -.ui-flipswitch .ui-flipswitch-off { - float: left; - height: 1.75em; - margin: .0625em; - line-height: 1.65em; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on { - width: 1.75em; - padding: 0; - text-indent: -2.6em; /* Override this to center text if you use a label other than "on" */ - text-align: left; - border-width: 1px; - border-style: solid; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-radius: inherit; - overflow: visible; - color: inherit; - text-shadow: inherit; -} -.ui-flipswitch .ui-flipswitch-off { - padding: 1px; - text-indent: 1em; /* Override this to center text if you use a label other than "off" */ -} -/* Override field container CSS to prevent the flipswitch from becomming full width */ -html .ui-field-contain > label + .ui-flipswitch, -html .ui-popup .ui-field-contain > label + .ui-flipswitch { - display: inline-block; - width: 5.875em; /* If you override the width for .ui-flipswitch you should repeat the same value here */ - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-field-contain .ui-flipswitch.ui-flipswitch-active, -.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active { - width: 1.875em; -} -.ui-table { - border: 0; - border-collapse: collapse; - padding: 0; - width: 100%; -} -.ui-table th, -.ui-table td { - line-height: 1.5em; - text-align: left; - padding: .4em .5em; - vertical-align:top; -} -.ui-table th .ui-btn, -.ui-table td .ui-btn { - line-height: normal; -} -.ui-table th { - font-weight: bold; -} -.ui-table caption { - text-align: left; - margin-bottom: 1.4em; - opacity: .5; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-columntoggle-btn { - float: right; - margin-bottom: .8em; -} -/* Remove top/bottom margins around the fieldcontain on check list */ -.ui-table-columntoggle-popup fieldset { - margin:0; -} -.ui-table-columntoggle { - clear: both; -} -/* Hide all prioritized columns by default */ -@media only all { - th.ui-table-priority-6, - td.ui-table-priority-6, - th.ui-table-priority-5, - td.ui-table-priority-5, - th.ui-table-priority-4, - td.ui-table-priority-4, - th.ui-table-priority-3, - td.ui-table-priority-3, - th.ui-table-priority-2, - td.ui-table-priority-2, - th.ui-table-priority-1, - td.ui-table-priority-1 { - display: none; - } -} -/* Preset breakpoints if ".ui-responsive" class added to table */ -/* Show priority 1 at 320px (20em x 16px) */ -@media screen and (min-width: 20em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-1, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-1 { - display: table-cell; - } -} -/* Show priority 2 at 480px (30em x 16px) */ -@media screen and (min-width: 30em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-2, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-2 { - display: table-cell; - } -} -/* Show priority 3 at 640px (40em x 16px) */ -@media screen and (min-width: 40em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-3, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-3 { - display: table-cell; - } -} -/* Show priority 4 at 800px (50em x 16px) */ -@media screen and (min-width: 50em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-4, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-4 { - display: table-cell; - } -} -/* Show priority 5 at 960px (60em x 16px) */ -@media screen and (min-width: 60em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-5, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-5 { - display: table-cell; - } -} -/* Show priority 6 at 1,120px (70em x 16px) */ -@media screen and (min-width: 70em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-6, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-6 { - display: table-cell; - } -} -/* Unchecked manually: Always hide */ -.ui-table-columntoggle th.ui-table-cell-hidden, -.ui-table-columntoggle td.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden { - display: none; -} -/* Checked manually: Always show */ -.ui-table-columntoggle th.ui-table-cell-visible, -.ui-table-columntoggle td.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible { - display: table-cell; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-reflow td .ui-table-cell-label, -.ui-table-reflow th .ui-table-cell-label { - display: none; -} -/* Mobile first styles: Begin with the stacked presentation at narrow widths */ -@media only all { - /* Hide the table headers */ - .ui-table-reflow thead td, - .ui-table-reflow thead th { - display: none; - } - /* Show the table cells as a block level element */ - .ui-table-reflow td, - .ui-table-reflow th { - text-align: left; - display: block; - } - /* Add a fair amount of top margin to visually separate each row when stacked */ - .ui-table-reflow tbody th { - margin-top: 3em; - } - /* Make the label elements a percentage width */ - .ui-table-reflow td .ui-table-cell-label, - .ui-table-reflow th .ui-table-cell-label { - padding: .4em; - min-width: 30%; - display: inline-block; - margin: -.4em 1em -.4em -.4em; - } - /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ - .ui-table-reflow th .ui-table-cell-label-top, - .ui-table-reflow td .ui-table-cell-label-top { - display: block; - padding: .4em 0; - margin: .4em 0; - text-transform: uppercase; - font-size: .9em; - font-weight: normal; - } -} -/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ -@media ( min-width: 35em ) { - /* Show the table header rows */ - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th, - .ui-table-reflow.ui-responsive tbody th, - .ui-table-reflow.ui-responsive tbody td, - .ui-table-reflow.ui-responsive thead td, - .ui-table-reflow.ui-responsive thead th { - display: table-cell; - margin: 0; - } - /* Hide the labels in each cell */ - .ui-table-reflow.ui-responsive td .ui-table-cell-label, - .ui-table-reflow.ui-responsive th .ui-table-cell-label { - display: none; - } -} -/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ -/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ -@media ( max-width: 35em ) { - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - clear: left; - } -} -/* Panel */ -.ui-panel { - width: 17em; - min-height: 100%; - max-height: none; - border-width: 0; - position: absolute; - top: 0; - display: block; -} -.ui-panel-closed { - width: 0; - max-height: 100%; - overflow: hidden; - visibility: hidden; - left: 0; - clip: rect(1px,1px,1px,1px); -} -.ui-panel-fixed { - position: fixed; - bottom: -1px; /* Fixes gap on Chrome for Android */ - padding-bottom: 1px; -} -.ui-panel-display-reveal { - z-index: 1; -} -.ui-panel-display-push { - z-index: 999; -} -.ui-panel-display-overlay { - z-index: 1001; /* Fixed toolbars have z-index 1000 */ -} -.ui-panel-inner { - padding: 1em; -} -/* Container, page and wrapper */ -.ui-panel-page-container { - overflow-x: visible; -} -.ui-panel-page-container-themed .ui-page-active { - background: none; -} -.ui-panel-wrapper { - position: relative; - min-height: inherit; - border: 0; - overflow-x: hidden; - z-index: 999; -} -/* Fixed toolbars */ -.ui-panel-fixed-toolbar { - overflow-x: hidden; -} -/* Dismiss */ -.ui-panel-dismiss { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - z-index: 1002; - display: none; -} -.ui-panel-dismiss-open { - display: block; -} -/* Animate class is added to panel, wrapper and fixed toolbars */ -.ui-panel-animate { - -webkit-transition: -webkit-transform 300ms ease; - -webkit-transition-duration: 300ms; - -moz-transition: -moz-transform 300ms ease; - transition: transform 300ms ease; -} -/* Fix for Windows Phone issue #6349: unset the transition for transforms in case of fixed toolbars. */ -@media screen and ( max-device-width: 768px ) { - .ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: none; - } - /* We need a transitionend event ... */ - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: -ms-transform 1ms; - -ms-transform: rotate(0deg); - } -} -/* Hardware acceleration for smoother transitions on WebKit browsers */ -.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal) { - -webkit-backface-visibility: hidden; - -webkit-transform: translate3d(0,0,0); -} -/* Panel positioning (for overlay and push) */ -/* Panel left closed */ -.ui-panel-position-left { - left: -17em; -} -/* Panel left closed animated */ -.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-left.ui-panel-display-push { - left: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Panel left open */ -.ui-panel-position-left.ui-panel-display-reveal, /* Unset "panel left closed" for reveal */ -.ui-panel-open.ui-panel-position-left { - left: 0; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Panel right closed */ -.ui-panel-position-right { - right: -17em; -} -/* Panel right closed animated */ -.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-right.ui-panel-display-push { - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-position-right.ui-panel-display-reveal, /* Unset "panel right closed" for reveal */ -.ui-panel-position-right.ui-panel-open { - right: 0; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Wrapper and fixed toolbars positioning (for reveal and push) */ -/* Panel left open */ -.ui-panel-page-content-position-left { - left: 17em; - right: -17em; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-page-content-position-left { - left: 0; - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-page-content-position-right { - left: -17em; - right: 17em; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-page-content-position-right { - left: 0; - right: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Dismiss model open */ -.ui-panel-dismiss-open.ui-panel-dismiss-position-left { - left: 17em; -} -.ui-panel-dismiss-open.ui-panel-dismiss-position-right { - right: 17em; -} -/* Shadows and borders */ -.ui-panel-display-reveal { - -webkit-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - box-shadow: inset -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-reveal { - -webkit-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - box-shadow: inset 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-display-overlay { - -webkit-box-shadow: 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: 5px 0 5px rgba(0,0,0,.15); - box-shadow: 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-overlay { - -webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: -5px 0 5px rgba(0,0,0,.15); - box-shadow: -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - border-right-width: 1px; - margin-right: -1px; -} -.ui-panel-page-content-position-left.ui-panel-page-content-display-push { - margin-left: 1px; - width: auto; -} -.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - border-left-width: 1px; - margin-left: -1px; -} -.ui-panel-page-content-position-right.ui-panel-page-content-display-push { - margin-right: 1px; - width: auto; -} -/* Responsive: wrap on wide viewports once open */ -@media (min-width:55em) { - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left { - margin-right: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right { - margin-left: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open { - width: auto; - } - .ui-responsive-panel .ui-panel-dismiss-display-push, - .ui-responsive-panel.ui-page-active ~ .ui-panel-dismiss-display-push { - display: none; - } -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.min.css deleted file mode 100644 index 623b1006..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -.ui-mobile,.ui-mobile body{height:99.9%}.ui-mobile fieldset,.ui-page{padding:0;margin:0}.ui-mobile a img,.ui-mobile fieldset{border-width:0}.ui-mobile fieldset{min-width:0}@-moz-document url-prefix(){.ui-mobile fieldset{display:table-column;vertical-align:middle}}.ui-mobile-viewport{margin:0;overflow-x:visible;-webkit-text-size-adjust:100%;-ms-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body.ui-mobile-viewport,div.ui-mobile-viewport{overflow-x:hidden}.ui-mobile [data-role=page],.ui-mobile [data-role=dialog],.ui-page{top:0;left:0;width:100%;min-height:100%;position:absolute;display:none;border:0}.ui-page{outline:0}.ui-mobile .ui-page-active{display:block;overflow:visible;overflow-x:hidden}@media screen and (orientation:portrait){.ui-mobile .ui-page{min-height:420px}}@media screen and (orientation:landscape){.ui-mobile .ui-page{min-height:300px}}.ui-mobile-rendering>*{visibility:hidden}.ui-nojs{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-loading .ui-loader{display:block}.ui-loader{display:none;z-index:9999999;position:fixed;top:50%;left:50%;border:0}.ui-loader-default{background:0;filter:Alpha(Opacity=18);opacity:.18;width:2.875em;height:2.875em;margin-left:-1.4375em;margin-top:-1.4375em}.ui-loader-verbose{width:12.5em;filter:Alpha(Opacity=88);opacity:.88;box-shadow:0 1px 1px -1px #fff;height:auto;margin-left:-6.875em;margin-top:-2.6875em;padding:.625em}.ui-loader-default h1{font-size:0;width:0;height:0;overflow:hidden}.ui-loader-verbose h1{font-size:1em;margin:0;text-align:center}.ui-loader .ui-icon-loading{background-color:#000;display:block;margin:0;width:2.75em;height:2.75em;padding:.0625em;-webkit-border-radius:2.25em;border-radius:2.25em}.ui-loader-verbose .ui-icon-loading{margin:0 auto .625em;filter:Alpha(Opacity=75);opacity:.75}.ui-loader-textonly{padding:.9375em;margin-left:-7.1875em}.ui-loader-textonly .ui-icon-loading{display:none}.ui-loader-fakefix{position:absolute}.ui-bar,.ui-body{position:relative;padding:.4em 1em;overflow:hidden;display:block;clear:both}.ui-bar h1,.ui-bar h2,.ui-bar h3,.ui-bar h4,.ui-bar h5,.ui-bar h6{margin:0;padding:0;font-size:1em;display:inline-block}.ui-header,.ui-footer{border-width:1px 0;border-style:solid;position:relative}.ui-header:empty,.ui-footer:empty{min-height:2.6875em}.ui-header .ui-title,.ui-footer .ui-title{font-size:1em;min-height:1.1em;text-align:center;display:block;margin:0 30%;padding:.7em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;outline:0!important}.ui-footer .ui-title{margin:0 1em}.ui-content{border-width:0;overflow:visible;overflow-x:hidden;padding:1em}.ui-corner-all>.ui-header:first-child,.ui-corner-all>.ui-content:first-child,.ui-corner-all>.ui-footer:first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-corner-all>.ui-header:last-child,.ui-corner-all>.ui-content:last-child,.ui-corner-all>.ui-footer:last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-btn{font-size:16px;margin:.5em 0;padding:.7em 1em;display:block;position:relative;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-btn-icon-notext,.ui-header button.ui-btn.ui-btn-icon-notext,.ui-footer button.ui-btn.ui-btn-icon-notext{padding:0;width:1.75em;height:1.75em;text-indent:-9999px;white-space:nowrap!important}.ui-mini{font-size:12.5px}.ui-mini .ui-btn{font-size:inherit}.ui-header .ui-btn,.ui-footer .ui-btn{font-size:12.5px;display:inline-block;vertical-align:middle}.ui-header .ui-controlgroup .ui-btn-icon-notext,.ui-footer .ui-controlgroup .ui-btn-icon-notext{font-size:12.5px}.ui-header .ui-btn-left,.ui-header .ui-btn-right{font-size:12.5px}.ui-mini.ui-btn-icon-notext,.ui-mini .ui-btn-icon-notext,.ui-header .ui-btn-icon-notext,.ui-footer .ui-btn-icon-notext{font-size:16px;padding:0}.ui-btn-inline{display:inline-block;vertical-align:middle;margin-right:.625em}.ui-btn-icon-left{padding-left:2.5em}.ui-btn-icon-right{padding-right:2.5em}.ui-btn-icon-top{padding-top:2.5em}.ui-btn-icon-bottom{padding-bottom:2.5em}.ui-header .ui-btn-icon-top,.ui-footer .ui-btn-icon-top,.ui-header .ui-btn-icon-bottom,.ui-footer .ui-btn-icon-bottom{padding-left:.3125em;padding-right:.3125em}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{content:"";position:absolute;display:block;width:22px;height:22px}.ui-btn-icon-notext:after,.ui-btn-icon-left:after,.ui-btn-icon-right:after{top:50%;margin-top:-11px}.ui-btn-icon-left:after{left:.5625em}.ui-btn-icon-right:after{right:.5625em}.ui-mini.ui-btn-icon-left:after,.ui-mini .ui-btn-icon-left:after,.ui-header .ui-btn-icon-left:after,.ui-footer .ui-btn-icon-left:after{left:.37em}.ui-mini.ui-btn-icon-right:after,.ui-mini .ui-btn-icon-right:after,.ui-header .ui-btn-icon-right:after,.ui-footer .ui-btn-icon-right:after{right:.37em}.ui-btn-icon-notext:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after{left:50%;margin-left:-11px}.ui-btn-icon-top:after{top:.5625em}.ui-btn-icon-bottom:after{top:auto;bottom:.5625em}.ui-header .ui-btn-left,.ui-header .ui-btn-right,.ui-btn-left>[class*=ui-],.ui-btn-right>[class*=ui-]{margin:0}.ui-btn-left,.ui-btn-right{position:absolute;top:.24em}.ui-btn-left{left:.4em}.ui-btn-right{right:.4em}.ui-btn-icon-notext.ui-btn-left{top:.3125em;left:.3125em}.ui-btn-icon-notext.ui-btn-right{top:.3125em;right:.3125em}button.ui-btn,.ui-controlgroup-controls button.ui-btn-icon-notext{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;width:100%}button.ui-btn-inline,.ui-header button.ui-btn,.ui-footer button.ui-btn{width:auto}button.ui-btn::-moz-focus-inner{border:0}button.ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:1.75em}.ui-mobile label,.ui-controlgroup-label{display:block;margin:0 0 .4em}.ui-hide-label>label,.ui-hide-label .ui-controlgroup-label,.ui-hide-label .ui-rangeslider label,.ui-hidden-accessible{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-screen-hidden{display:none!important}.ui-mobile-viewport-transitioning,.ui-mobile-viewport-transitioning .ui-page{width:100%;height:100%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-page-pre-in{opacity:0}.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.out{-webkit-animation-timing-function:ease-in;-webkit-animation-duration:225ms;-moz-animation-timing-function:ease-in;-moz-animation-duration:225ms;animation-timing-function:ease-in;animation-duration:225ms}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}.fade.out{opacity:0;-webkit-animation-duration:125ms;-webkit-animation-name:fadeout;-moz-animation-duration:125ms;-moz-animation-name:fadeout;animation-duration:125ms;animation-name:fadeout}.fade.in{opacity:1;-webkit-animation-duration:225ms;-webkit-animation-name:fadein;-moz-animation-duration:225ms;-moz-animation-name:fadein;animation-duration:225ms;animation-name:fadein}.pop{-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;transform-origin:50% 50%}.pop.in{-webkit-transform:scale(1);-webkit-animation-name:popin;-webkit-animation-duration:350ms;-moz-transform:scale(1);-moz-animation-name:popin;-moz-animation-duration:350ms;transform:scale(1);animation-name:popin;animation-duration:350ms;opacity:1}.pop.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms;opacity:0}.pop.in.reverse{-webkit-animation-name:fadein;-moz-animation-name:fadein;animation-name:fadein}.pop.out.reverse{-webkit-transform:scale(.8);-webkit-animation-name:popout;-moz-transform:scale(.8);-moz-animation-name:popout;transform:scale(.8);animation-name:popout}@-webkit-keyframes popin{from{-webkit-transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@-moz-keyframes popin{from{-moz-transform:scale(.8);opacity:0}to{-moz-transform:scale(1);opacity:1}}@keyframes popin{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes popout{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@-moz-keyframes popout{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(.8);opacity:0}}@keyframes popout{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes slideinfromright{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromright{from{-moz-transform:translateX(100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromright{from{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes slideinfromleft{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromleft{from{-moz-transform:translateX(-100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromleft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@-webkit-keyframes slideouttoleft{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-100%,0,0)}}@-moz-keyframes slideouttoleft{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(-100%)}}@keyframes slideouttoleft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@-webkit-keyframes slideouttoright{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0)}}@-moz-keyframes slideouttoright{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(100%)}}@keyframes slideouttoright{from{transform:translateX(0)}to{transform:translateX(100%)}}.slide.out,.slide.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.slide.out{-webkit-transform:translate3d(-100%,0,0);-webkit-animation-name:slideouttoleft;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;transform:translateX(-100%);animation-name:slideouttoleft}.slide.in{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromright;-moz-transform:translateX(0);-moz-animation-name:slideinfromright;transform:translateX(0);animation-name:slideinfromright}.slide.out.reverse{-webkit-transform:translate3d(100%,0,0);-webkit-animation-name:slideouttoright;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;transform:translateX(100%);animation-name:slideouttoright}.slide.in.reverse{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromleft;-moz-transform:translateX(0);-moz-animation-name:slideinfromleft;transform:translateX(0);animation-name:slideinfromleft}.slidefade.out{-webkit-transform:translateX(-100%);-webkit-animation-name:slideouttoleft;-webkit-animation-duration:225ms;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;-moz-animation-duration:225ms;transform:translateX(-100%);animation-name:slideouttoleft;animation-duration:225ms}.slidefade.in{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidefade.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:slideouttoright;-webkit-animation-duration:200ms;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;-moz-animation-duration:200ms;transform:translateX(100%);animation-name:slideouttoright;animation-duration:200ms}.slidefade.in.reverse{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidedown.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slidedown.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfromtop;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfromtop;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfromtop;animation-duration:250ms}.slidedown.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slidedown.out.reverse{-webkit-transform:translateY(-100%);-webkit-animation-name:slideouttotop;-webkit-animation-duration:200ms;-moz-transform:translateY(-100%);-moz-animation-name:slideouttotop;-moz-animation-duration:200ms;transform:translateY(-100%);animation-name:slideouttotop;animation-duration:200ms}@-webkit-keyframes slideinfromtop{from{-webkit-transform:translateY(-100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfromtop{from{-moz-transform:translateY(-100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfromtop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttotop{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(-100%)}}@-moz-keyframes slideouttotop{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(-100%)}}@keyframes slideouttotop{from{transform:translateY(0)}to{transform:translateY(-100%)}}.slideup.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slideup.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfrombottom;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfrombottom;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfrombottom;animation-duration:250ms}.slideup.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slideup.out.reverse{-webkit-transform:translateY(100%);-webkit-animation-name:slideouttobottom;-webkit-animation-duration:200ms;-moz-transform:translateY(100%);-moz-animation-name:slideouttobottom;-moz-animation-duration:200ms;transform:translateY(100%);animation-name:slideouttobottom;animation-duration:200ms}@-webkit-keyframes slideinfrombottom{from{-webkit-transform:translateY(100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfrombottom{from{-moz-transform:translateY(100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfrombottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttobottom{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(100%)}}@-moz-keyframes slideouttobottom{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(100%)}}@keyframes slideouttobottom{from{transform:translateY(0)}to{transform:translateY(100%)}}.viewport-flip{-webkit-perspective:1000;-moz-perspective:1000;perspective:1000;position:absolute}.flip{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-moz-backface-visibility:hidden;-moz-transform:translateX(0);backface-visibility:hidden;transform:translateX(0)}.flip.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:175ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:175ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:175ms}.flip.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:225ms;-moz-animation-name:flipintoright;-moz-animation-duration:225ms;animation-name:flipintoright;animation-duration:225ms}.flip.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.flip.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.viewport-turn{-webkit-perspective:200px;-moz-perspective:200px;-ms-perspective:200px;perspective:200px;position:absolute}.turn{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-webkit-transform-origin:0;-moz-backface-visibility:hidden;-moz-transform:translateX(0);-moz-transform-origin:0;backface-visibility:hidden;transform:translateX(0);transform-origin:0}.turn.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:125ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:125ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:125ms}.turn.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:250ms;-moz-animation-name:flipintoright;-moz-animation-duration:250ms;animation-name:flipintoright;animation-duration:250ms}.turn.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.turn.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.flow{-webkit-transform-origin:50% 30%;-webkit-box-shadow:0 0 20px rgba(0,0,0,.4);-moz-transform-origin:50% 30%;-moz-box-shadow:0 0 20px rgba(0,0,0,.4);transform-origin:50% 30%;box-shadow:0 0 20px rgba(0,0,0,.4)}.ui-dialog.flow{-webkit-transform-origin:none;-webkit-box-shadow:none;-moz-transform-origin:none;-moz-box-shadow:none;transform-origin:none;box-shadow:none}.flow.out{-webkit-transform:translateX(-100%) scale(.7);-webkit-animation-name:flowouttoleft;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(-100%) scale(.7);-moz-animation-name:flowouttoleft;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(-100%) scale(.7);animation-name:flowouttoleft;animation-timing-function:ease;animation-duration:350ms}.flow.in{-webkit-transform:translateX(0) scale(1);-webkit-animation-name:flowinfromright;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(0) scale(1);-moz-animation-name:flowinfromright;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(0) scale(1);animation-name:flowinfromright;animation-timing-function:ease;animation-duration:350ms}.flow.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:flowouttoright;-moz-transform:translateX(100%);-moz-animation-name:flowouttoright;transform:translateX(100%);animation-name:flowouttoright}.flow.in.reverse{-webkit-animation-name:flowinfromleft;-moz-animation-name:flowinfromleft;animation-name:flowinfromleft}@-webkit-keyframes flowouttoleft{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(-100%) scale(.7)}}@-moz-keyframes flowouttoleft{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(-100%) scale(.7)}}@keyframes flowouttoleft{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(-100%) scale(.7)}}@-webkit-keyframes flowouttoright{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(100%) scale(.7)}}@-moz-keyframes flowouttoright{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(100%) scale(.7)}}@keyframes flowouttoright{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(100%) scale(.7)}}@-webkit-keyframes flowinfromleft{0%{-webkit-transform:translateX(-100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromleft{0%{-moz-transform:translateX(-100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromleft{0%{transform:translateX(-100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}@-webkit-keyframes flowinfromright{0%{-webkit-transform:translateX(100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromright{0%{-moz-transform:translateX(100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromright{0%{transform:translateX(100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}.ui-field-contain,.ui-mobile fieldset.ui-field-contain{display:block;position:relative;overflow:visible;clear:both;padding:.8em 0}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{margin:0}.ui-field-contain:last-child{border-bottom-width:0}@media (min-width:28em){.ui-field-contain,.ui-mobile fieldset.ui-field-contain{padding:0;margin:1em 0;border-bottom-width:0}.ui-field-contain:before,.ui-field-contain:after{content:"";display:table}.ui-field-contain:after{clear:both}.ui-field-contain>label,.ui-field-contain .ui-controlgroup-label,.ui-field-contain>.ui-rangeslider>label{float:left;width:20%;margin:.5em 2% 0 0}.ui-popup .ui-field-contain>label,.ui-popup .ui-field-contain .ui-controlgroup-label,.ui-popup .ui-field-contain>.ui-rangeslider>label{float:none;width:auto;margin:0 0 .4em}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{float:left;width:78%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-hide-label>label~[class*=ui-],.ui-hide-label .ui-controlgroup-controls,.ui-popup .ui-field-contain>label~[class*=ui-],.ui-popup .ui-field-contain .ui-controlgroup-controls{float:none;width:100%}.ui-field-contain>label~.ui-btn-inline{width:auto;margin-right:.625em}.ui-field-contain>label~.ui-btn-inline.ui-btn-icon-notext{width:1.75em}}.ui-grid-a,.ui-grid-b,.ui-grid-c,.ui-grid-d,.ui-grid-solo{overflow:hidden}.ui-block-a,.ui-block-b,.ui-block-c,.ui-block-d,.ui-block-e{margin:0;padding:0;border:0;float:left;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-block-a{clear:left}ul.ui-grid-a,ul.ui-grid-b,ul.ui-grid-c,ul.ui-grid-d,ul.ui-grid-solo,li.ui-block-a,li.ui-block-b,li.ui-block-c,li.ui-block-d,li.ui-block-e{margin-left:0;margin-right:0;padding:0;list-style:none}[class*=ui-block-]>button.ui-btn{margin-right:0;margin-left:0}[class*=ui-block-]>.ui-btn,[class*=ui-block-]>.ui-select,[class*=ui-block-]>.ui-checkbox,[class*=ui-block-]>.ui-radio,[class*=ui-block-]>button.ui-btn-inline,[class*=ui-block-]>button.ui-btn-icon-notext,.ui-header [class*=ui-block-]>button.ui-btn,.ui-footer [class*=ui-block-]>button.ui-btn{margin-right:.3125em;margin-left:.3125em}.ui-grid-a>.ui-block-a,.ui-grid-a>.ui-block-b{width:50%}.ui-grid-b>.ui-block-a,.ui-grid-b>.ui-block-b,.ui-grid-b>.ui-block-c{width:33.333%}.ui-grid-c>.ui-block-a,.ui-grid-c>.ui-block-b,.ui-grid-c>.ui-block-c,.ui-grid-c>.ui-block-d{width:25%}.ui-grid-d>.ui-block-a,.ui-grid-d>.ui-block-b,.ui-grid-d>.ui-block-c,.ui-grid-d>.ui-block-d,.ui-grid-d>.ui-block-e{width:20%}.ui-grid-solo>.ui-block-a{width:100%;float:none}@media (max-width:35em){.ui-responsive>.ui-block-a,.ui-responsive>.ui-block-b,.ui-responsive>.ui-block-c,.ui-responsive>.ui-block-d,.ui-responsive>.ui-block-e{width:100%;float:none}}.ui-header-fixed,.ui-footer-fixed{left:0;right:0;width:100%;position:fixed;z-index:1000}.ui-header-fixed{top:-1px;padding-top:1px}.ui-header-fixed.ui-fixed-hidden{top:0;padding-top:0}.ui-header-fixed .ui-btn-left,.ui-header-fixed .ui-btn-right{margin-top:1px}.ui-header-fixed.ui-fixed-hidden .ui-btn-left,.ui-header-fixed.ui-fixed-hidden .ui-btn-right{margin-top:0}.ui-footer-fixed{bottom:-1px;padding-bottom:1px}.ui-footer-fixed.ui-fixed-hidden{bottom:0;padding-bottom:0}.ui-header-fullscreen,.ui-footer-fullscreen{filter:Alpha(Opacity=90);opacity:.9}.ui-page-header-fixed{padding-top:2.8125em}.ui-page-footer-fixed{padding-bottom:2.8125em}.ui-page-header-fullscreen>.ui-content,.ui-page-footer-fullscreen>.ui-content{padding:0}.ui-fixed-hidden{position:absolute}.ui-footer-fixed.ui-fixed-hidden{display:none}.ui-page .ui-footer-fixed.ui-fixed-hidden{display:block}.ui-page-header-fullscreen .ui-fixed-hidden,.ui-page-footer-fullscreen .ui-fixed-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-header-fixed .ui-btn,.ui-footer-fixed .ui-btn{z-index:10}.ui-android-2x-fixed .ui-li-has-thumb{-webkit-transform:translate3d(0,0,0)}.ui-navbar{max-width:100%}.ui-navbar ul:before,.ui-navbar ul:after{content:"";display:table}.ui-navbar ul:after{clear:both}.ui-navbar ul{list-style:none;margin:0;padding:0;position:relative;display:block;border:0;max-width:100%;overflow:visible}.ui-navbar li .ui-btn{font-size:12.5px;display:block;margin:0;border-right-width:0}.ui-header .ui-navbar li button.ui-btn,.ui-footer .ui-navbar li button.ui-btn{margin:0;width:100%}.ui-navbar .ui-btn:focus{z-index:1}.ui-navbar li:last-child .ui-btn{margin-right:-4px}.ui-navbar li:last-child .ui-btn:after{margin-right:4px}.ui-content .ui-navbar li:last-child .ui-btn,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn{border-right-width:1px;margin-right:0}.ui-content .ui-navbar li:last-child .ui-btn:after,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after{margin-right:0}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn{border-right-width:1px;margin-right:-1px}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after{margin-right:1px}.ui-navbar .ui-grid-duo .ui-btn{border-top-width:0}.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-header .ui-navbar .ui-btn,.ui-footer .ui-navbar .ui-btn{border-top-width:0;border-bottom-width:0}.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:0}.ui-header .ui-title~.ui-navbar .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-input-btn input{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background:#fff;background:rgba(255,255,255,0);filter:Alpha(Opacity=0);opacity:.1;font-size:1px;text-indent:-9999px;z-index:2}.ui-input-btn.ui-state-disabled input{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible{margin:0 -1em}.ui-collapsible-inset,.ui-collapsible-set{margin:.5em 0}.ui-collapsible-heading{display:block;margin:0;padding:0;position:relative}.ui-collapsible-heading .ui-btn{text-align:left;margin:0;border-left-width:0;border-right-width:0}.ui-collapsible-heading .ui-btn-icon-top,.ui-collapsible-heading .ui-btn-icon-bottom{text-align:center}.ui-collapsible-inset .ui-collapsible-heading .ui-btn{border-right-width:1px;border-left-width:1px}.ui-collapsible-collapsed+.ui-collapsible:not(.ui-collapsible-inset)>.ui-collapsible-heading .ui-btn{border-top-width:0}.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn{border-top-width:1px}.ui-collapsible-heading-status{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible-content{display:block;margin:0;padding:.5em 1em}.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:0;border-right-width:0;border-top-width:0;border-bottom-width:1px;border-style:solid}.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:1px;border-right-width:1px}.ui-collapsible-inset .ui-collapsible-content{margin:0}.ui-collapsible-content-collapsed{display:none}.ui-collapsible-set>.ui-collapsible.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-collapsible-heading,.ui-collapsible-heading>.ui-btn{-webkit-border-radius:inherit;border-radius:inherit}.ui-collapsible-set .ui-collapsible.ui-first-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-collapsible-content,.ui-collapsible-set .ui-collapsible.ui-last-child{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-themed-content:not(.ui-collapsible-collapsed)>.ui-collapsible-heading{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-collapsible-set .ui-collapsible{margin:-1px -1em 0}.ui-collapsible-set .ui-collapsible-inset{margin:-1px 0 0}.ui-collapsible-set .ui-collapsible.ui-first-child{margin-top:0}.ui-controlgroup,fieldset.ui-controlgroup{padding:0;margin:.5em 0}.ui-field-contain .ui-controlgroup,.ui-field-contain fieldset.ui-controlgroup{margin:0}.ui-mini .ui-controlgroup-label{font-size:16px}.ui-controlgroup.ui-mini .ui-btn-icon-notext,.ui-controlgroup .ui-mini.ui-btn-icon-notext{font-size:inherit}.ui-controlgroup-controls .ui-btn,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-select{margin:0}.ui-controlgroup-controls .ui-btn:focus,.ui-controlgroup-controls .ui-btn.ui-focus{z-index:1}.ui-controlgroup-controls li{list-style:none}.ui-controlgroup-horizontal .ui-controlgroup-controls{display:inline-block;vertical-align:middle}.ui-controlgroup-horizontal .ui-controlgroup-controls:before,.ui-controlgroup-horizontal .ui-controlgroup-controls:after{content:"";display:table}.ui-controlgroup-horizontal .ui-controlgroup-controls:after{clear:both}.ui-controlgroup-horizontal .ui-controlgroup-controls>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls li>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select{float:left;clear:none}.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,.ui-controlgroup-controls .ui-btn-icon-notext{width:auto}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext{width:1.5em}.ui-controlgroup-controls .ui-btn-icon-notext{height:auto;padding:.7em 1em}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn{border-bottom-width:0}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child{border-bottom-width:1px}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn{border-right-width:0}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child{border-right-width:1px}.ui-controlgroup-controls .ui-btn-corner-all,.ui-controlgroup-controls .ui-btn.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-controlgroup-controls,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-select,.ui-controlgroup-controls li{-webkit-border-radius:inherit;border-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-last-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-controls a.ui-shadow:not(:focus),.ui-controlgroup-controls button.ui-shadow:not(:focus),.ui-controlgroup-controls div.ui-shadow:not(.ui-focus){-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ui-controlgroup-label legend{max-width:100%}.ui-controlgroup-controls>label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-dialog{background:none!important}.ui-dialog-contain{width:92.5%;max-width:500px;margin:10% auto 1em;padding:0;position:relative;top:-1em}.ui-dialog-contain>.ui-header,.ui-dialog-contain>.ui-content,.ui-dialog-contain>.ui-footer{display:block;position:relative;width:auto;margin:0}.ui-dialog-contain>.ui-header{overflow:hidden;z-index:10;padding:0;border-top-width:0}.ui-dialog-contain>.ui-footer{z-index:10;padding:0 1em;border-bottom-width:0}.ui-popup-open .ui-header-fixed,.ui-popup-open .ui-footer-fixed{position:absolute!important}.ui-popup-screen{background-image:url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");top:0;left:0;right:0;bottom:1px;position:absolute;filter:Alpha(Opacity=0);opacity:0;z-index:1099}.ui-popup-screen.in{opacity:.5;filter:Alpha(Opacity=50)}.ui-popup-screen.out{opacity:0;filter:Alpha(Opacity=0)}.ui-popup-container{z-index:1100;display:inline-block;position:absolute;padding:0;outline:0}.ui-popup{position:relative}.ui-popup.ui-body-inherit{border-width:1px;border-style:solid}.ui-popup-hidden{left:0;top:0;position:absolute!important;visibility:hidden}.ui-popup-truncate{height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-popup.ui-content,.ui-popup .ui-content{overflow:visible}.ui-popup>.ui-header{border-top-width:0}.ui-popup>.ui-footer{border-bottom-width:0}.ui-popup>p,.ui-popup>h1,.ui-popup>h2,.ui-popup>h3,.ui-popup>h4,.ui-popup>h5,.ui-popup>h6{margin:.5em .4375em}.ui-popup>span{display:block;margin:.5em .4375em}.ui-popup-container .ui-content>p,.ui-popup-container .ui-content>h1,.ui-popup-container .ui-content>h2,.ui-popup-container .ui-content>h3,.ui-popup-container .ui-content>h4,.ui-popup-container .ui-content>h5,.ui-popup-container .ui-content>h6{margin:.5em 0}.ui-popup-container .ui-content>span{margin:0}.ui-popup-container .ui-content>p:first-child,.ui-popup-container .ui-content>h1:first-child,.ui-popup-container .ui-content>h2:first-child,.ui-popup-container .ui-content>h3:first-child,.ui-popup-container .ui-content>h4:first-child,.ui-popup-container .ui-content>h5:first-child,.ui-popup-container .ui-content>h6:first-child{margin-top:0}.ui-popup-container .ui-content>p:last-child,.ui-popup-container .ui-content>h1:last-child,.ui-popup-container .ui-content>h2:last-child,.ui-popup-container .ui-content>h3:last-child,.ui-popup-container .ui-content>h4:last-child,.ui-popup-container .ui-content>h5:last-child,.ui-popup-container .ui-content>h6:last-child{margin-bottom:0}.ui-popup>img{max-width:100%;max-height:100%;vertical-align:middle}.ui-popup:not(.ui-content)>img:only-child,.ui-popup:not(.ui-content)>.ui-btn-left:first-child+img:last-child,.ui-popup:not(.ui-content)>.ui-btn-right:first-child+img:last-child{-webkit-border-radius:inherit;border-radius:inherit}.ui-popup iframe{vertical-align:middle}.ui-popup>.ui-btn-left,.ui-popup>.ui-btn-right{position:absolute;top:-11px;margin:0;z-index:1101}.ui-popup>.ui-btn-left{left:-11px}.ui-popup>.ui-btn-right{right:-11px}.ui-popup-arrow-container{width:20px;height:20px}.ui-popup-arrow-container.ui-popup-arrow-l{left:-10px;clip:rect(-1000px,10px,2000px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-t{top:-10px;clip:rect(-1000px,2000px,10px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-r{right:-10px;clip:rect(-1000px,2000px,2000px,10px)}.ui-popup-arrow-container.ui-popup-arrow-b{bottom:-10px;clip:rect(10px,2000px,1000px,-1000px)}.ui-popup-arrow-container .ui-popup-arrow{width:28.284271247px;height:28.284271247px;border-width:1px;border-style:solid}.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow{left:-4.142135623px;top:5.857864376px}.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow{left:-4.142135623px;top:-14.142135623px}.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow{left:5.857864376px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow{left:-14.142135623px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-7.0710678118654755px}.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-4.142135623730951px}.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow{margin-left:-7.0710678118654755px;margin-top:-5.857864376269049px}.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow{margin-left:-4.142135623730951px;margin-top:-5.857864376269049px}.ui-popup>.ui-popup-arrow-guide{position:absolute;left:0;right:0;top:0;bottom:0;visibility:hidden}.ui-popup-arrow-container{position:absolute}.ui-popup-arrow{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;overflow:hidden;box-sizing:border-box}.ui-popup-arrow-container.ie .ui-popup-arrow{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.7071067811865474, M12=-.7071067811865477, M21=.7071067811865477, M22=.7071067811865474, SizingMethod='auto expand')}.ui-checkbox,.ui-radio{margin:.5em 0;position:relative}.ui-checkbox .ui-btn,.ui-radio .ui-btn{margin:0;text-align:left;white-space:normal;z-index:2}.ui-controlgroup .ui-checkbox .ui-btn.ui-focus,.ui-controlgroup .ui-radio .ui-btn.ui-focus{z-index:3}.ui-checkbox .ui-btn-icon-top,.ui-radio .ui-btn-icon-top,.ui-checkbox .ui-btn-icon-bottom,.ui-radio .ui-btn-icon-bottom{text-align:center}.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after,.ui-controlgroup-horizontal .ui-radio .ui-btn:after{content:none;display:none}.ui-checkbox input,.ui-radio input{position:absolute;left:.466em;top:50%;width:22px;height:22px;margin:-11px 0 0 0;outline:0!important;z-index:1}.ui-controlgroup-horizontal .ui-checkbox input,.ui-controlgroup-horizontal .ui-radio input{left:50%;margin-left:-9px}.ui-checkbox input:disabled,.ui-radio input:disabled{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select{margin-top:.5em;margin-bottom:.5em;position:relative}.ui-select>select{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select .ui-btn{margin:0;opacity:1}.ui-select .ui-btn select{position:absolute;top:0;left:0;width:100%;min-height:1.5em;min-height:100%;height:3em;max-height:100%;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;filter:Alpha(Opacity=0);opacity:0;z-index:2}@-moz-document url-prefix(){.ui-select .ui-btn select{opacity:.0001}}.ui-select .ui-state-disabled select{display:none}.ui-select span.ui-state-disabled{filter:Alpha(Opacity=100);opacity:1}.ui-select .ui-btn.ui-select-nativeonly{border-radius:0;border:0}.ui-select .ui-btn.ui-select-nativeonly select{opacity:1;text-indent:0;display:block}.ui-select .ui-li-has-count.ui-btn{padding-right:2.8125em}.ui-select .ui-li-has-count.ui-btn-icon-right{padding-right:4.6875em}.ui-select .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-select .ui-btn>span:not(.ui-li-count){display:block;text-overflow:ellipsis;overflow:hidden!important;white-space:nowrap}.ui-selectmenu.ui-popup{min-width:11em}.ui-selectmenu .ui-dialog-contain{overflow:hidden}.ui-selectmenu .ui-header{margin:0;padding:0;border-width:0}.ui-selectmenu.ui-dialog .ui-header{z-index:1;position:relative}.ui-selectmenu.ui-popup .ui-header{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-selectmenu.ui-popup .ui-header h1:after{content:'.';visibility:hidden}.ui-selectmenu .ui-header .ui-title{margin:0 2.875em}.ui-selectmenu.ui-dialog .ui-content{overflow:visible;z-index:1}.ui-selectmenu .ui-selectmenu-list{margin:0;-webkit-border-radius:inherit;border-radius:inherit}.ui-header:not(.ui-screen-hidden)+.ui-selectmenu-list{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.ui-header.ui-screen-hidden+.ui-selectmenu-list li.ui-first-child .ui-btn{border-top-width:0}.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn{border-bottom-width:0}.ui-selectmenu .ui-btn.ui-li-divider{cursor:default}.ui-selectmenu .ui-selectmenu-placeholder{display:none}.ui-listview,.ui-listview>li{margin:0;padding:0;list-style:none}.ui-content .ui-listview,.ui-panel-inner>.ui-listview{margin:-1em}.ui-content .ui-listview-inset,.ui-panel-inner>.ui-listview-inset{margin:1em 0}.ui-collapsible-content>.ui-listview{margin:-.5em -1em}.ui-collapsible-content>.ui-listview-inset{margin:.5em 0}.ui-listview>li{display:block;position:relative;overflow:visible}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{margin:0;display:block;position:relative;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li>.ui-btn:focus{z-index:1}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{border-width:1px 0 0;border-style:solid}.ui-listview-inset>.ui-li-static,.ui-listview-inset>.ui-li-divider,.ui-listview-inset>li>a.ui-btn{border-right-width:1px;border-left-width:1px}.ui-listview>.ui-li-static.ui-last-child,.ui-listview>.ui-li-divider.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{border-bottom-width:1px}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:0}.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child,.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child>a.ui-btn{border-bottom-width:0}.ui-listview>li.ui-first-child,.ui-listview>li.ui-first-child>a.ui-btn{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-listview>li.ui-li-has-alt>a.ui-btn{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-listview>li.ui-first-child>a.ui-btn+a.ui-btn{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-listview>li.ui-last-child>a.ui-btn+a.ui-btn{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-listview>li.ui-first-child img:first-child:not(.ui-li-icon){-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child img:first-child:not(.ui-li-icon){-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset){-webkit-border-radius:inherit;border-radius:inherit}.ui-listview>.ui-li-static{padding:.7em 1em}.ui-listview>.ui-li-divider{padding:.5em 1.143em;font-size:14px;font-weight:700;cursor:default;outline:0}.ui-listview>.ui-li-has-count>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-count,.ui-listview>.ui-li-divider.ui-li-has-count{padding-right:2.8125em}.ui-listview>.ui-li-has-count>.ui-btn-icon-right{padding-right:4.6875em}.ui-listview>.ui-li-has-thumb>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-thumb{min-height:3.625em;padding-left:6.25em}.ui-listview>.ui-li-has-icon>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-icon{min-height:1.25em;padding-left:2.5em}.ui-li-count{position:absolute;font-size:12.5px;font-weight:700;text-align:center;border-width:1px;border-style:solid;padding:0 .48em;line-height:1.6em;min-height:1.6em;min-width:.64em;right:.8em;top:50%;margin-top:-.88em}.ui-listview .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-listview .ui-li-has-thumb>img:first-child,.ui-listview .ui-li-has-thumb>.ui-btn>img:first-child,.ui-listview .ui-li-has-thumb .ui-li-thumb{position:absolute;left:0;top:0;max-height:5em;max-width:5em}.ui-listview>.ui-li-has-icon>img:first-child,.ui-listview>.ui-li-has-icon>.ui-btn>img:first-child{position:absolute;left:.625em;top:.9em;max-height:1em;max-width:1em}.ui-listview>li h1,.ui-listview>li h2,.ui-listview>li h3,.ui-listview>li h4,.ui-listview>li h5,.ui-listview>li h6{font-size:1em;font-weight:700;display:block;margin:.45em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li p{font-size:.75em;font-weight:400;display:block;margin:.6em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview .ui-li-aside{position:absolute;top:1em;right:3.333em;margin:0;text-align:right}.ui-listview>li.ui-li-has-alt>.ui-btn{margin-right:2.5em;border-right-width:0}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn{position:absolute;width:2.5em;height:100%;min-height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-left-width:1px;top:0;right:0;margin:0;padding:0;z-index:2}.ui-listview-inset>li.ui-li-has-alt>.ui-btn+.ui-btn{border-right-width:1px}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn:focus{z-index:3}ol.ui-listview,ol.ui-listview>.ui-li-divider{counter-reset:listnumbering}ol.ui-listview>li>.ui-btn,ol.ui-listview>li.ui-li-static{vertical-align:middle}ol.ui-listview>li>.ui-btn:first-child:before,ol.ui-listview>li.ui-li-static:before,ol.ui-listview>li.ui-field-contain>label:before,ol.ui-listview>li.ui-field-contain>.ui-controlgroup-label:before{display:inline-block;font-size:.9em;font-weight:400;padding-right:.3em;min-width:1.4em;line-height:1.5;vertical-align:middle;counter-increment:listnumbering;content:counter(listnumbering) "."}ol.ui-listview>li.ui-field-contain:before{content:none;display:none}ol.ui-listview>li h1:first-child,ol.ui-listview>li h2:first-child,ol.ui-listview>li h3:first-child,ol.ui-listview>li h4:first-child,ol.ui-listview>li h5:first-child,ol.ui-listview>li h6:first-child,ol.ui-listview>li p:first-child,ol.ui-listview>li img:first-child+*{display:inline-block;vertical-align:middle}ol.ui-listview>li h1:first-child~*,ol.ui-listview>li h2:first-child~*,ol.ui-listview>li h3:first-child~*,ol.ui-listview>li h4:first-child~*,ol.ui-listview>li h5:first-child~*,ol.ui-listview>li h6:first-child~*,ol.ui-listview>li p:first-child~*,ol.ui-listview>li img:first-child+*~*{margin-top:0;text-indent:2.04em}html .ui-filterable+.ui-listview,html .ui-filterable.ui-listview{margin-top:.5em}.ui-collapsible-content>form.ui-filterable{margin-top:-.5em}.ui-collapsible-content>.ui-input-search.ui-filterable{margin-top:0}.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:1px}div.ui-slider{height:30px;margin:.5em 0;padding:0;-ms-touch-action:pan-y pinch-zoom double-tap-zoom}div.ui-slider:before,div.ui-slider:after{content:"";display:table}div.ui-slider:after{clear:both}input.ui-slider-input{display:block;float:left;font-size:14px;font-weight:700;margin:0;padding:4px;width:40px;height:20px;line-height:20px;border-width:1px;border-style:solid;outline:0;text-align:center;vertical-align:text-bottom;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-slider-input::-webkit-outer-spin-button,.ui-slider-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-slider-track{position:relative;overflow:visible;border-width:1px;border-style:solid;height:15px;margin:0 15px 0 68px;top:6px}.ui-slider-track.ui-mini{height:12px;top:8px}.ui-slider-track .ui-slider-bg{height:100%}.ui-slider-track .ui-btn.ui-slider-handle{position:absolute;z-index:1;top:50%;width:28px;height:28px;margin:-15px 0 0 -15px;outline:0;padding:0}.ui-slider-track.ui-mini .ui-slider-handle{height:14px;width:14px;margin:-8px 0 0 -8px}select.ui-slider-switch{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}div.ui-slider-switch{display:inline-block;height:32px;width:5.8em;top:0}div.ui-slider-switch:before,div.ui-slider-switch:after{display:none;clear:none}div.ui-slider-switch.ui-mini{height:29px;top:0}.ui-slider-inneroffset{margin:0 16px;position:relative;z-index:1}.ui-slider-switch.ui-mini .ui-slider-inneroffset{margin:0 15px 0 14px}.ui-slider-switch .ui-btn.ui-slider-handle{margin:1px 0 0 -15px}.ui-slider-switch.ui-mini .ui-slider-handle{width:25px;height:25px;margin:1px 0 0 -13px;padding:0}.ui-slider-handle-snapping{-webkit-transition:left 70ms linear;-moz-transition:left 70ms linear;transition:left 70ms linear}.ui-slider-switch .ui-slider-label{position:absolute;text-align:center;width:100%;overflow:hidden;font-size:16px;top:0;line-height:2;min-height:100%;white-space:nowrap;cursor:pointer}.ui-slider-switch.ui-mini .ui-slider-label{font-size:14px}.ui-slider-switch .ui-slider-label-a{z-index:1;left:0;text-indent:-1.5em}.ui-slider-switch .ui-slider-label-b{z-index:0;right:0;text-indent:1.5em}.ui-slider-track .ui-slider-bg,.ui-slider-switch .ui-slider-label,.ui-slider-switch .ui-slider-inneroffset,.ui-slider-handle{-webkit-border-radius:inherit;border-radius:inherit}.ui-field-contain div.ui-slider-switch{margin:0}.ui-field-contain div.ui-slider-switch,.ui-field-contain.ui-hide-label div.ui-slider-switch,html .ui-popup .ui-field-contain div.ui-slider-switch{display:inline-block;width:5.8em}.ui-slider-popup{width:64px;height:64px;font-size:36px;padding-top:14px;opacity:.8}.ui-slider-popup{position:absolute!important;text-align:center;z-index:100}.ui-slider-track .ui-btn.ui-slider-handle{font-size:.9em;line-height:30px}.ui-rangeslider{margin:.5em 0}.ui-rangeslider:before,.ui-rangeslider:after{content:"";display:table}.ui-rangeslider:after{clear:both}.ui-rangeslider .ui-slider-input.ui-rangeslider-last{float:right}.ui-rangeslider .ui-rangeslider-sliders{position:relative;overflow:visible;height:30px;margin:0 68px}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track{position:absolute;top:6px;right:0;left:0;margin:0}.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track{top:8px}.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg{display:none}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{background-color:transparent;background:0;border-width:0;height:0}html >body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{height:15px;border-width:1px}html >body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child{height:12px}div.ui-rangeslider label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-field-contain .ui-rangeslider input.ui-slider-input,.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input,.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders,.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders{margin-top:0;margin-bottom:0}.ui-input-text,.ui-input-search{margin:.5em 0;border-width:1px;border-style:solid}.ui-mini{margin:.446em}.ui-input-text input,.ui-input-search input,textarea.ui-input-text{padding:.4em;line-height:1.4em;display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:0}.ui-input-text input,.ui-input-search input{margin:0;min-height:2.2em;text-align:left;border:0;background:transparent none;-webkit-appearance:none;-webkit-border-radius:inherit;border-radius:inherit}textarea.ui-input-text{overflow:auto;resize:vertical}.ui-mini .ui-input-text input,.ui-mini .ui-input-search input,.ui-input-text.ui-mini input,.ui-input-search.ui-mini input,.ui-mini textarea.ui-input-text,textarea.ui-mini{font-size:14px}.ui-mini textarea.ui-input-text,textarea.ui-mini{margin:.446em 0}.ui-input-has-clear,.ui-input-search{position:relative}.ui-input-has-clear{padding-right:2.375em}.ui-mini.ui-input-has-clear{padding-right:2.923em}.ui-input-has-clear input{padding-right:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-input-search input{padding-left:1.75em}.ui-input-search:after{position:absolute;left:.3125em;top:50%;margin-top:-7px;content:"";background-position:center center;background-repeat:no-repeat;width:14px;height:14px;filter:Alpha(Opacity=50);opacity:.5}.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear,.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear{position:absolute;right:0;top:50%;margin:-14px .3125em 0;border:0;background-color:transparent}.ui-input-search .ui-input-clear-hidden,.ui-input-text .ui-input-clear-hidden{display:none}.ui-input-text input::-moz-placeholder,.ui-input-search input::-moz-placeholder,textarea.ui-input-text::-moz-placeholder{color:#aaa}.ui-input-text input:-ms-input-placeholder,.ui-input-search input:-ms-input-placeholder,textarea.ui-input-text:-ms-input-placeholder{color:#aaa}.ui-input-text input[type=number]::-webkit-outer-spin-button{margin:0}.ui-input-text input::-ms-clear,.ui-input-search input::-ms-clear{display:none}.ui-input-text input:focus,.ui-input-search input:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea.ui-input-text.ui-textinput-autogrow{overflow:hidden}.ui-textinput-autogrow-resize{-webkit-transition:height .25s;-o-transition:height .25s;-moz-transition:height .25s;transition:height .25s}.ui-flipswitch{display:inline-block;vertical-align:middle;width:5.875em;height:1.875em;border-width:1px;border-style:solid;margin:.5em 0;overflow:hidden;-webkit-transition-property:padding,width,background-color,color,border-color;-moz-transition-property:padding,width,background-color,color,border-color;-o-transition-property:padding,width,background-color,color,border-color;transition-property:padding,width,background-color,color,border-color;-webkit-transition-duration:100ms;-moz-transition-duration:100ms;-o-transition-duration:100ms;transition-duration:100ms;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.ui-flipswitch.ui-flipswitch-active{padding-left:4em;width:1.875em}.ui-flipswitch-input{position:absolute;height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;outline:0;filter:Alpha(Opacity=0);opacity:0}.ui-flipswitch .ui-btn.ui-flipswitch-on,.ui-flipswitch .ui-flipswitch-off{float:left;height:1.75em;margin:.0625em;line-height:1.65em}.ui-flipswitch .ui-btn.ui-flipswitch-on{width:1.75em;padding:0;text-indent:-2.6em;text-align:left;border-width:1px;border-style:solid;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:inherit;overflow:visible;color:inherit;text-shadow:inherit}.ui-flipswitch .ui-flipswitch-off{padding:1px;text-indent:1em}html .ui-field-contain>label+.ui-flipswitch,html .ui-popup .ui-field-contain>label+.ui-flipswitch{display:inline-block;width:5.875em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-field-contain .ui-flipswitch.ui-flipswitch-active,.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active{width:1.875em}.ui-table{border:0;border-collapse:collapse;padding:0;width:100%}.ui-table th,.ui-table td{line-height:1.5em;text-align:left;padding:.4em .5em;vertical-align:top}.ui-table th .ui-btn,.ui-table td .ui-btn{line-height:normal}.ui-table th{font-weight:700}.ui-table caption{text-align:left;margin-bottom:1.4em;opacity:.5}.ui-table-columntoggle-btn{float:right;margin-bottom:.8em}.ui-table-columntoggle-popup fieldset{margin:0}.ui-table-columntoggle{clear:both}@media only all{th.ui-table-priority-6,td.ui-table-priority-6,th.ui-table-priority-5,td.ui-table-priority-5,th.ui-table-priority-4,td.ui-table-priority-4,th.ui-table-priority-3,td.ui-table-priority-3,th.ui-table-priority-2,td.ui-table-priority-2,th.ui-table-priority-1,td.ui-table-priority-1{display:none}}@media screen and (min-width:20em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-1,.ui-table-columntoggle.ui-responsive td.ui-table-priority-1{display:table-cell}}@media screen and (min-width:30em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-2,.ui-table-columntoggle.ui-responsive td.ui-table-priority-2{display:table-cell}}@media screen and (min-width:40em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-3,.ui-table-columntoggle.ui-responsive td.ui-table-priority-3{display:table-cell}}@media screen and (min-width:50em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-4,.ui-table-columntoggle.ui-responsive td.ui-table-priority-4{display:table-cell}}@media screen and (min-width:60em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-5,.ui-table-columntoggle.ui-responsive td.ui-table-priority-5{display:table-cell}}@media screen and (min-width:70em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-6,.ui-table-columntoggle.ui-responsive td.ui-table-priority-6{display:table-cell}}.ui-table-columntoggle th.ui-table-cell-hidden,.ui-table-columntoggle td.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden{display:none}.ui-table-columntoggle th.ui-table-cell-visible,.ui-table-columntoggle td.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible{display:table-cell}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{display:none}@media only all{.ui-table-reflow thead td,.ui-table-reflow thead th{display:none}.ui-table-reflow td,.ui-table-reflow th{text-align:left;display:block}.ui-table-reflow tbody th{margin-top:3em}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em}.ui-table-reflow th .ui-table-cell-label-top,.ui-table-reflow td .ui-table-cell-label-top{display:block;padding:.4em 0;margin:.4em 0;text-transform:uppercase;font-size:.9em;font-weight:400}}@media (min-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th,.ui-table-reflow.ui-responsive tbody th,.ui-table-reflow.ui-responsive tbody td,.ui-table-reflow.ui-responsive thead td,.ui-table-reflow.ui-responsive thead th{display:table-cell;margin:0}.ui-table-reflow.ui-responsive td .ui-table-cell-label,.ui-table-reflow.ui-responsive th .ui-table-cell-label{display:none}}@media (max-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}}.ui-panel{width:17em;min-height:100%;max-height:none;border-width:0;position:absolute;top:0;display:block}.ui-panel-closed{width:0;max-height:100%;overflow:hidden;visibility:hidden;left:0;clip:rect(1px,1px,1px,1px)}.ui-panel-fixed{position:fixed;bottom:-1px;padding-bottom:1px}.ui-panel-display-reveal{z-index:1}.ui-panel-display-push{z-index:999}.ui-panel-display-overlay{z-index:1001}.ui-panel-inner{padding:1em}.ui-panel-page-container{overflow-x:visible}.ui-panel-page-container-themed .ui-page-active{background:0}.ui-panel-wrapper{position:relative;min-height:inherit;border:0;overflow-x:hidden;z-index:999}.ui-panel-fixed-toolbar{overflow-x:hidden}.ui-panel-dismiss{position:absolute;top:0;left:0;right:0;height:100%;z-index:1002;display:none}.ui-panel-dismiss-open{display:block}.ui-panel-animate{-webkit-transition:-webkit-transform 300ms ease;-webkit-transition-duration:300ms;-moz-transition:-moz-transform 300ms ease;transition:transform 300ms ease}@media screen and (max-device-width:768px){.ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper,.ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper,.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:none}.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:-ms-transform 1ms;-ms-transform:rotate(0deg)}}.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal){-webkit-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0)}.ui-panel-position-left{left:-17em}.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-left.ui-panel-display-push{left:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-position-left.ui-panel-display-reveal,.ui-panel-open.ui-panel-position-left{left:0}.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-position-right{right:-17em}.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-right.ui-panel-display-push{right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-position-right.ui-panel-display-reveal,.ui-panel-position-right.ui-panel-open{right:0}.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-page-content-position-left{left:17em;right:-17em}.ui-panel-animate.ui-panel-page-content-position-left{left:0;right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-page-content-position-right{left:-17em;right:17em}.ui-panel-animate.ui-panel-page-content-position-right{left:0;right:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-dismiss-open.ui-panel-dismiss-position-left{left:17em}.ui-panel-dismiss-open.ui-panel-dismiss-position-right{right:17em}.ui-panel-display-reveal{-webkit-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);box-shadow:inset -5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-reveal{-webkit-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);box-shadow:inset 5px 0 5px rgba(0,0,0,.15)}.ui-panel-display-overlay{-webkit-box-shadow:5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:5px 0 5px rgba(0,0,0,.15);box-shadow:5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-overlay{-webkit-box-shadow:-5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:-5px 0 5px rgba(0,0,0,.15);box-shadow:-5px 0 5px rgba(0,0,0,.15)}.ui-panel-open.ui-panel-position-left.ui-panel-display-push{border-right-width:1px;margin-right:-1px}.ui-panel-page-content-position-left.ui-panel-page-content-display-push{margin-left:1px;width:auto}.ui-panel-open.ui-panel-position-right.ui-panel-display-push{border-left-width:1px;margin-left:-1px}.ui-panel-page-content-position-right.ui-panel-page-content-display-push{margin-right:1px;width:auto}@media (min-width:55em){.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left{margin-right:17em}.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right{margin-left:17em}.ui-responsive-panel .ui-panel-page-content-open{width:auto}.ui-responsive-panel .ui-panel-dismiss-display-push,.ui-responsive-panel.ui-page-active~.ui-panel-dismiss-display-push{display:none}}.ui-tabs{position:relative;padding:.2em} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.css deleted file mode 100644 index 16e1f46e..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.css +++ /dev/null @@ -1,601 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -/* Globals */ -/* Font ------------------------------------------------------------------------------------------------------------*/ -html { - font-size: 100%; -} -body, -input, -select, -textarea, -button, -.ui-btn { - font-size: 1em; - line-height: 1.3; - font-family: sans-serif /*{global-font-family}*/; -} -legend, -.ui-input-text input, -.ui-input-search input { - color: inherit; - text-shadow: inherit; -} -/* Form labels (overrides font-weight bold in bars, and mini font-size) */ -.ui-mobile label, -div.ui-controlgroup-label { - font-weight: normal; - font-size: 16px; -} -/* Separators ------------------------------------------------------------------------------------------------------------*/ -/* Field contain separator (< 28em) */ -.ui-field-contain { - border-bottom-color: #828282; - border-bottom-color: rgba(0,0,0,.15); - border-bottom-width: 1px; - border-bottom-style: solid; -} -/* Table opt-in classes: strokes between each row, and alternating row stripes */ -/* Classes table-stroke and table-stripe are deprecated in 1.4. */ -.table-stroke thead th, -.table-stripe thead th, -.table-stripe tbody tr:last-child { - border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.1); -} -.table-stroke tbody th, -.table-stroke tbody td { - border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.05); -} -.table-stripe.table-stroke tbody tr:last-child th, -.table-stripe.table-stroke tbody tr:last-child td { - border-bottom: 0; -} -.table-stripe tbody tr:nth-child(odd) td, -.table-stripe tbody tr:nth-child(odd) th { - background-color: #eeeeee; /* non-RGBA fallback */ - background-color: rgba(0,0,0,.04); -} -/* Buttons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn, -label.ui-btn { - font-weight: bold; - border-width: 1px; - border-style: solid; -} -.ui-btn { - text-decoration: none !important; -} -.ui-btn-active { - cursor: pointer; -} -/* Corner rounding ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-btn-corner-all deprecated in 1.4 */ -.ui-corner-all { - -webkit-border-radius: .3125em /*{global-radii-blocks}*/; - border-radius: .3125em /*{global-radii-blocks}*/; -} -/* Buttons */ -.ui-btn-corner-all, -.ui-btn.ui-corner-all, -/* Slider track */ -.ui-slider-track.ui-corner-all, -/* Flipswitch */ -.ui-flipswitch.ui-corner-all, -/* Count bubble */ -.ui-li-count { - -webkit-border-radius: .3125em /*{global-radii-buttons}*/; - border-radius: .3125em /*{global-radii-buttons}*/; -} -/* Icon-only buttons */ -.ui-btn-icon-notext.ui-btn-corner-all, -.ui-btn-icon-notext.ui-corner-all { - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Radius clip workaround for cleaning up corner trapping */ -.ui-btn-corner-all, -.ui-corner-all { - -webkit-background-clip: padding; - background-clip: padding-box; -} -/* Popup arrow */ -.ui-popup.ui-corner-all > .ui-popup-arrow-guide { - left: .6em /*{global-radii-blocks}*/; - right: .6em /*{global-radii-blocks}*/; - top: .6em /*{global-radii-blocks}*/; - bottom: .6em /*{global-radii-blocks}*/; -} -/* Shadow ------------------------------------------------------------------------------------------------------------*/ -.ui-shadow { - -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; -} -.ui-shadow-inset { - -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; -} -.ui-overlay-shadow { - -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); - -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); - box-shadow: 0 0 12px rgba(0,0,0,.6); -} -/* Icons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; - background-position: center center; - background-repeat: no-repeat; - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Alt icons */ -.ui-alt-icon.ui-btn:after, -.ui-alt-icon .ui-btn:after, -html .ui-alt-icon.ui-checkbox-off:after, -html .ui-alt-icon.ui-radio-off:after, -html .ui-alt-icon .ui-checkbox-off:after, -html .ui-alt-icon .ui-radio-off:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.15) /*{global-icon-disc}*/; -} -/* No disc */ -.ui-nodisc-icon.ui-btn:after, -.ui-nodisc-icon .ui-btn:after { - background-color: transparent; -} -/* Icon shadow */ -.ui-shadow-icon.ui-btn:after, -.ui-shadow-icon .ui-btn:after { - -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; -} -/* Checkbox and radio */ -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after, -.ui-btn.ui-radio-off:after, -.ui-btn.ui-radio-on:after { - display: block; - width: 18px; - height: 18px; - margin: -9px 2px 0 2px; -} -.ui-checkbox-off:after, -.ui-btn.ui-radio-off:after { - filter: Alpha(Opacity=30); - opacity: .3; -} -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after { - -webkit-border-radius: .1875em; - border-radius: .1875em; -} -.ui-btn.ui-checkbox-off:after { - background-color: #666; - background-color: rgba(0,0,0,.3); -} -.ui-radio .ui-btn.ui-radio-on:after { - background-image: none; - background-color: #fff; - width: 8px; - height: 8px; - border-width: 5px; - border-style: solid; -} -.ui-alt-icon.ui-btn.ui-radio-on:after, -.ui-alt-icon .ui-btn.ui-radio-on:after { - background-color: #000; -} -/* Loader */ -.ui-icon-loading { - background: url("images/ajax-loader.gif"); - background-size: 2.875em 2.875em; -} -/* Swatches */ -/* A ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-a, -.ui-page-theme-a .ui-bar-inherit, -html .ui-bar-a .ui-bar-inherit, -html .ui-body-a .ui-bar-inherit, -html body .ui-group-theme-a .ui-bar-inherit { - background-color: #e9e9e9 /*{a-bar-background-color}*/; - border-color: #ddd /*{a-bar-border}*/; - color: #333 /*{a-bar-color}*/; - text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #eee /*{a-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-a { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-a, -.ui-page-theme-a, -.ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9 /*{a-page-background-color}*/; - border-color: #bbb /*{a-page-border}*/; - color: #333 /*{a-page-color}*/; - text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #f3f3f3 /*{a-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-a, -.ui-page-theme-a .ui-body-inherit, -html .ui-bar-a .ui-body-inherit, -html .ui-body-a .ui-body-inherit, -html body .ui-group-theme-a .ui-body-inherit, -html .ui-panel-page-container-a { - background-color: #fff /*{a-body-background-color}*/; - border-color: #ddd /*{a-body-border}*/; - color: #333 /*{a-body-color}*/; - text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #f3f3f3 /*{a-body-shadow-color}*/; -} -.ui-body-a { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-a a, -html .ui-bar-a a, -html .ui-body-a a, -html body .ui-group-theme-a a { - color: #3388cc /*{a-link-color}*/; - font-weight: bold; -} -.ui-page-theme-a a:visited, -html .ui-bar-a a:visited, -html .ui-body-a a:visited, -html body .ui-group-theme-a a:visited { - color: #3388cc /*{a-link-visited}*/; -} -.ui-page-theme-a a:hover, -html .ui-bar-a a:hover, -html .ui-body-a a:hover, -html body .ui-group-theme-a a:hover { - color: #005599 /*{a-link-hover}*/; -} -.ui-page-theme-a a:active, -html .ui-bar-a a:active, -html .ui-body-a a:active, -html body .ui-group-theme-a a:active { - color: #005599 /*{a-link-active}*/; -} -/* Button up */ -.ui-page-theme-a .ui-btn, -html .ui-bar-a .ui-btn, -html .ui-body-a .ui-btn, -html body .ui-group-theme-a .ui-btn, -html head + body .ui-btn.ui-btn-a, -/* Button visited */ -.ui-page-theme-a .ui-btn:visited, -html .ui-bar-a .ui-btn:visited, -html .ui-body-a .ui-btn:visited, -html body .ui-group-theme-a .ui-btn:visited, -html head + body .ui-btn.ui-btn-a:visited { - background-color: #f6f6f6 /*{a-bup-background-color}*/; - border-color: #ddd /*{a-bup-border}*/; - color: #333 /*{a-bup-color}*/; - text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-a .ui-btn:hover, -html .ui-bar-a .ui-btn:hover, -html .ui-body-a .ui-btn:hover, -html body .ui-group-theme-a .ui-btn:hover, -html head + body .ui-btn.ui-btn-a:hover { - background-color: #ededed /*{a-bhover-background-color}*/; - border-color: #ddd /*{a-bhover-border}*/; - color: #333 /*{a-bhover-color}*/; - text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-a .ui-btn:active, -html .ui-bar-a .ui-btn:active, -html .ui-body-a .ui-btn:active, -html body .ui-group-theme-a .ui-btn:active, -html head + body .ui-btn.ui-btn-a:active { - background-color: #e8e8e8 /*{a-bdown-background-color}*/; - border-color: #ddd /*{a-bdown-border}*/; - color: #333 /*{a-bdown-color}*/; - text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-a .ui-btn.ui-btn-active, -html .ui-bar-a .ui-btn.ui-btn-active, -html .ui-body-a .ui-btn.ui-btn-active, -html body .ui-group-theme-a .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-a.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-a .ui-checkbox-on:after, -html .ui-bar-a .ui-checkbox-on:after, -html .ui-body-a .ui-checkbox-on:after, -html body .ui-group-theme-a .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-a:after, -/* Active flipswitch background */ -.ui-page-theme-a .ui-flipswitch-active, -html .ui-bar-a .ui-flipswitch-active, -html .ui-body-a .ui-flipswitch-active, -html body .ui-group-theme-a .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-a .ui-slider-track .ui-btn-active, -html .ui-bar-a .ui-slider-track .ui-btn-active, -html .ui-body-a .ui-slider-track .ui-btn-active, -html body .ui-group-theme-a .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-a .ui-btn-active { - background-color: #3388cc /*{a-active-background-color}*/; - border-color: #3388cc /*{a-active-border}*/; - color: #fff /*{a-active-color}*/; - text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-a .ui-radio-on:after, -html .ui-bar-a .ui-radio-on:after, -html .ui-body-a .ui-radio-on:after, -html body .ui-group-theme-a .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-a:after { - border-color: #3388cc /*{a-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-a .ui-btn:focus, -html .ui-bar-a .ui-btn:focus, -html .ui-body-a .ui-btn:focus, -html body .ui-group-theme-a .ui-btn:focus, -html head + body .ui-btn.ui-btn-a:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-a .ui-focus, -html .ui-bar-a .ui-focus, -html .ui-body-a .ui-focus, -html body .ui-group-theme-a .ui-focus, -html head + body .ui-btn-a.ui-focus, -html head + body .ui-body-a.ui-focus { - -webkit-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - -moz-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; -} -/* B ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-b, -.ui-page-theme-b .ui-bar-inherit, -html .ui-bar-b .ui-bar-inherit, -html .ui-body-b .ui-bar-inherit, -html body .ui-group-theme-b .ui-bar-inherit { - background-color: #1d1d1d /*{b-bar-background-color}*/; - border-color: #1b1b1b /*{b-bar-border}*/; - color: #fff /*{b-bar-color}*/; - text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #111 /*{b-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-b { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-b, -.ui-page-theme-b, -.ui-page-theme-b .ui-panel-wrapper { - background-color: #252525 /*{b-page-background-color}*/; - border-color: #454545 /*{b-page-border}*/; - color: #fff /*{b-page-color}*/; - text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #111 /*{b-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-b, -.ui-page-theme-b .ui-body-inherit, -html .ui-bar-b .ui-body-inherit, -html .ui-body-b .ui-body-inherit, -html body .ui-group-theme-b .ui-body-inherit, -html .ui-panel-page-container-b { - background-color: #2a2a2a /*{b-body-background-color}*/; - border-color: #1d1d1d /*{b-body-border}*/; - color: #fff /*{b-body-color}*/; - text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #111 /*{b-body-shadow-color}*/; -} -.ui-body-b { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-b a, -html .ui-bar-b a, -html .ui-body-b a, -html body .ui-group-theme-b a { - color: #22aadd /*{b-link-color}*/; - font-weight: bold; -} -.ui-page-theme-b a:visited, -html .ui-bar-b a:visited, -html .ui-body-b a:visited, -html body .ui-group-theme-b a:visited { - color: #22aadd /*{b-link-visited}*/; -} -.ui-page-theme-b a:hover, -html .ui-bar-b a:hover, -html .ui-body-b a:hover, -html body .ui-group-theme-b a:hover { - color: #0088bb /*{b-link-hover}*/; -} -.ui-page-theme-b a:active, -html .ui-bar-b a:active, -html .ui-body-b a:active, -html body .ui-group-theme-b a:active { - color: #0088bb /*{b-link-active}*/; -} -/* Button up */ -.ui-page-theme-b .ui-btn, -html .ui-bar-b .ui-btn, -html .ui-body-b .ui-btn, -html body .ui-group-theme-b .ui-btn, -html head + body .ui-btn.ui-btn-b, -/* Button visited */ -.ui-page-theme-b .ui-btn:visited, -html .ui-bar-b .ui-btn:visited, -html .ui-body-b .ui-btn:visited, -html body .ui-group-theme-b .ui-btn:visited, -html head + body .ui-btn.ui-btn-b:visited { - background-color: #333 /*{b-bup-background-color}*/; - border-color: #1f1f1f /*{b-bup-border}*/; - color: #fff /*{b-bup-color}*/; - text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111 /*{b-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-b .ui-btn:hover, -html .ui-bar-b .ui-btn:hover, -html .ui-body-b .ui-btn:hover, -html body .ui-group-theme-b .ui-btn:hover, -html head + body .ui-btn.ui-btn-b:hover { - background-color: #373737 /*{b-bhover-background-color}*/; - border-color: #1f1f1f /*{b-bhover-border}*/; - color: #fff /*{b-bhover-color}*/; - text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111 /*{b-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-b .ui-btn:active, -html .ui-bar-b .ui-btn:active, -html .ui-body-b .ui-btn:active, -html body .ui-group-theme-b .ui-btn:active, -html head + body .ui-btn.ui-btn-b:active { - background-color: #404040 /*{b-bdown-background-color}*/; - border-color: #1f1f1f /*{b-bdown-border}*/; - color: #fff /*{b-bdown-color}*/; - text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111 /*{b-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-b .ui-btn.ui-btn-active, -html .ui-bar-b .ui-btn.ui-btn-active, -html .ui-body-b .ui-btn.ui-btn-active, -html body .ui-group-theme-b .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-b.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-b .ui-checkbox-on:after, -html .ui-bar-b .ui-checkbox-on:after, -html .ui-body-b .ui-checkbox-on:after, -html body .ui-group-theme-b .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-b:after, -/* Active flipswitch background */ -.ui-page-theme-b .ui-flipswitch-active, -html .ui-bar-b .ui-flipswitch-active, -html .ui-body-b .ui-flipswitch-active, -html body .ui-group-theme-b .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-b .ui-slider-track .ui-btn-active, -html .ui-bar-b .ui-slider-track .ui-btn-active, -html .ui-body-b .ui-slider-track .ui-btn-active, -html body .ui-group-theme-b .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-b .ui-btn-active { - background-color: #22aadd /*{b-active-background-color}*/; - border-color: #22aadd /*{b-active-border}*/; - color: #fff /*{b-active-color}*/; - text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-b .ui-radio-on:after, -html .ui-bar-b .ui-radio-on:after, -html .ui-body-b .ui-radio-on:after, -html body .ui-group-theme-b .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-b:after { - border-color: #22aadd /*{b-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-b .ui-btn:focus, -html .ui-bar-b .ui-btn:focus, -html .ui-body-b .ui-btn:focus, -html body .ui-group-theme-b .ui-btn:focus, -html head + body .ui-btn.ui-btn-b:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-b .ui-focus, -html .ui-bar-b .ui-focus, -html .ui-body-b .ui-focus, -html body .ui-group-theme-b .ui-focus, -html head + body .ui-btn-b.ui-focus, -html head + body .ui-body-b.ui-focus { - -webkit-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - -moz-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; -} -/* Structure */ -/* Disabled ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ -.ui-disabled, -.ui-state-disabled, -button[disabled], -.ui-select .ui-btn.ui-state-disabled { - filter: Alpha(Opacity=30); - opacity: .3; - cursor: default !important; - pointer-events: none; -} -/* Focus state outline ------------------------------------------------------------------------------------------------------------*/ -.ui-btn:focus, -.ui-btn.ui-focus { - outline: 0; -} -/* Unset box-shadow in browsers that don't do it right */ -.ui-noboxshadow .ui-shadow, -.ui-noboxshadow .ui-shadow-inset, -.ui-noboxshadow .ui-overlay-shadow, -.ui-noboxshadow .ui-shadow-icon.ui-btn:after, -.ui-noboxshadow .ui-shadow-icon .ui-btn:after, -.ui-noboxshadow .ui-focus, -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow input:focus, -.ui-noboxshadow .ui-panel { - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow .ui-focus { - outline-width: 1px; - outline-style: auto; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.min.css deleted file mode 100644 index 3a9d1193..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -html{font-size:100%}body,input,select,textarea,button,.ui-btn{font-size:1em;line-height:1.3;font-family:sans-serif}legend,.ui-input-text input,.ui-input-search input{color:inherit;text-shadow:inherit}.ui-mobile label,div.ui-controlgroup-label{font-weight:400;font-size:16px}.ui-field-contain{border-bottom-color:#828282;border-bottom-color:rgba(0,0,0,.15);border-bottom-width:1px;border-bottom-style:solid}.table-stroke thead th,.table-stripe thead th,.table-stripe tbody tr:last-child{border-bottom:1px solid #d6d6d6;border-bottom:1px solid rgba(0,0,0,.1)}.table-stroke tbody th,.table-stroke tbody td{border-bottom:1px solid #e6e6e6;border-bottom:1px solid rgba(0,0,0,.05)}.table-stripe.table-stroke tbody tr:last-child th,.table-stripe.table-stroke tbody tr:last-child td{border-bottom:0}.table-stripe tbody tr:nth-child(odd) td,.table-stripe tbody tr:nth-child(odd) th{background-color:#eee;background-color:rgba(0,0,0,.04)}.ui-btn,label.ui-btn{font-weight:700;border-width:1px;border-style:solid}.ui-btn{text-decoration:none!important}.ui-btn-active{cursor:pointer}.ui-corner-all{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-corner-all,.ui-btn.ui-corner-all,.ui-slider-track.ui-corner-all,.ui-flipswitch.ui-corner-all,.ui-li-count{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-icon-notext.ui-btn-corner-all,.ui-btn-icon-notext.ui-corner-all{-webkit-border-radius:1em;border-radius:1em}.ui-btn-corner-all,.ui-corner-all{-webkit-background-clip:padding;background-clip:padding-box}.ui-popup.ui-corner-all>.ui-popup-arrow-guide{left:.6em;right:.6em;top:.6em;bottom:.6em}.ui-shadow{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);-moz-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15)}.ui-shadow-inset{-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.ui-overlay-shadow{-webkit-box-shadow:0 0 12px rgba(0,0,0,.6);-moz-box-shadow:0 0 12px rgba(0,0,0,.6);box-shadow:0 0 12px rgba(0,0,0,.6)}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{background-color:#666;background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;-webkit-border-radius:1em;border-radius:1em}.ui-alt-icon.ui-btn:after,.ui-alt-icon .ui-btn:after,html .ui-alt-icon.ui-checkbox-off:after,html .ui-alt-icon.ui-radio-off:after,html .ui-alt-icon .ui-checkbox-off:after,html .ui-alt-icon .ui-radio-off:after{background-color:#666;background-color:rgba(0,0,0,.15)}.ui-nodisc-icon.ui-btn:after,.ui-nodisc-icon .ui-btn:after{background-color:transparent}.ui-shadow-icon.ui-btn:after,.ui-shadow-icon .ui-btn:after{-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after,.ui-btn.ui-radio-off:after,.ui-btn.ui-radio-on:after{display:block;width:18px;height:18px;margin:-9px 2px 0 2px}.ui-checkbox-off:after,.ui-btn.ui-radio-off:after{filter:Alpha(Opacity=30);opacity:.3}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after{-webkit-border-radius:.1875em;border-radius:.1875em}.ui-btn.ui-checkbox-off:after{background-color:#666;background-color:rgba(0,0,0,.3)}.ui-radio .ui-btn.ui-radio-on:after{background-image:none;background-color:#fff;width:8px;height:8px;border-width:5px;border-style:solid}.ui-alt-icon.ui-btn.ui-radio-on:after,.ui-alt-icon .ui-btn.ui-radio-on:after{background-color:#000}.ui-icon-loading{background:url(images/ajax-loader.gif);background-size:2.875em 2.875em}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background-color:#e9e9e9;border-color:#ddd;color:#333;text-shadow:0 1px 0 #eee;font-weight:700}.ui-bar-a{border-width:1px;border-style:solid}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background-color:#f9f9f9;border-color:#bbb;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background-color:#fff;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a{border-width:1px;border-style:solid}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#38c;font-weight:700}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-group-theme-a a:visited{color:#38c}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#059}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#059}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head+body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head+body .ui-btn.ui-btn-a:visited{background-color:#f6f6f6;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head+body .ui-btn.ui-btn-a:hover{background-color:#ededed;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:active,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head+body .ui-btn.ui-btn-a:active{background-color:#e8e8e8;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-track .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#38c;border-color:#38c;color:#fff;text-shadow:0 1px 0 #059}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#38c}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head+body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head+body .ui-btn-a.ui-focus,html head+body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #38c;-moz-box-shadow:0 0 12px #38c;box-shadow:0 0 12px #38c}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-bar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background-color:#1d1d1d;border-color:#1b1b1b;color:#fff;text-shadow:0 1px 0 #111;font-weight:700}.ui-bar-b{border-width:1px;border-style:solid}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background-color:#252525;border-color:#454545;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background-color:#2a2a2a;border-color:#1d1d1d;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b{border-width:1px;border-style:solid}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#2ad;font-weight:700}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{color:#2ad}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-b a:hover,html body .ui-group-theme-b a:hover{color:#08b}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#08b}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head+body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head+body .ui-btn.ui-btn-b:visited{background-color:#333;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head+body .ui-btn.ui-btn-b:hover{background-color:#373737;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-btn:active,html head+body .ui-btn.ui-btn-b:active{background-color:#404040;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-b .ui-btn-active{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#2ad}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head+body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head+body .ui-btn-b.ui-focus,html head+body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #2ad;-moz-box-shadow:0 0 12px #2ad;box-shadow:0 0 12px #2ad}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default!important;pointer-events:none}.ui-btn:focus,.ui-btn.ui-focus{outline:0}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui-overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/images/search-background-large.jpg b/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/images/search-background-large.jpg deleted file mode 100644 index e6d879206ebed32d8057c99915ae2a54ea06fb20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 453083 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ͯ&3-`nk`Y9 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 diff --git a/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/jquery.mobile.override.css b/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/jquery.mobile.override.css deleted file mode 100644 index c08fcf8e..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/jquery.mobile.override.css +++ /dev/null @@ -1,95 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -/*.ui-overlay-a, .ui-page-theme-a, .ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9; - border-color: #bbb; - color: #333; - text-shadow: 0 1px 0 #f3f3f3; -}*/ - -.ui-autocomplete { - max-height: 200px; - overflow-y: auto; - overflow-x: hidden; - padding-right: 20px; -} - -/*.ui-overlay-a, .ui-page-theme-a, .ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9; - border-color: #bbb; - color: #333; - text-shadow: 0 1px 0 #f3f3f3; -}*/ - -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { - border: 1px solid red; - background: #fef1ec url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat-x; - color: #ffffff; -} - -div.wicket-aa-container { - color: #333; - text-shadow: 0 1px 0 #f3f3f3; - margin-top: 3px; -} - -div.wicket-aa { - font-size: 1em; - line-height: 1.3; - font-family: sans-serif; - background-color: #f6f6f6; - padding: 2px; - text-align:left; - - color: #333; - text-shadow: 0 1px 0 #f3f3f3; - - border-color: #ddd; - border-width: 1px 0 0; - border-style: solid; - margin: 0; - box-shadow: 0 1px 3px rgba(0,0,0,.15); - background-clip: padding-box; - border-radius: .3125em; -} - -div.wicket-aa ul { - list-style:none; - padding: 0; - margin: 0; -} - -div.wicket-aa li { - - display: block; - position: relative; - overflow: visible; - font-size: 16px; - cursor: pointer; - padding: .7em 1em; -} - -div.wicket-aa ul li.selected { - background-color: #ededed; - margin:0; -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/ucoinj.css b/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/ucoinj.css deleted file mode 100644 index 267d4179..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/ucoinj.css +++ /dev/null @@ -1,92 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -@CHARSET "UTF-8"; -body { - margin: 0; -} -.ui-content { - padding: 0px; -} - -.container { - background-image: url(images/search-background-large.jpg); - background-position: center center; - background-repeat: no-repeat; - padding: 1em; - @media (min-width: 1200px) { - width: 1170px; - min-height: 390px; - } - @media (min-width: 992px){ - width: 970px; - min-height: 330px; - } - @media (min-width: 768px){ - width: 750px; - min-height: 256px; - } -} - -.container h2{ - margin-bottom: 206px; - @media (min-width: 1200px) { - margin-bottom: 206px; - } - @media (min-width: 992px){ - margin-bottom: 165px; - } - @media (min-width: 768px){ - margin-bottom: 128px; - } -} - -.resultContainer { - padding: 1em; -} -.inline-form { -} - -.inline-form .wrapper { - float: left; - width: 100%; -} - -.inline-form .wrapper .content { - margin: 0 120px 0 0; /* 0 RC 0 LC */ -} -.inline-form .right { - float: left; - width: 110px; /* RC */ - margin-left: -110px; /* -RC */ - margin-top: 2px; -} - -.inline-form .footer{ - clear: left; -} - -.ui-autocomplete { - max-height: 200px; - overflow-y: auto; - overflow-x: hidden; - padding-right: 20px; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/favicon.ico b/ucoinj-ui-wicket/src/main/webapp/favicon.ico deleted file mode 100644 index 895fc96a76b68b4924f1c51d022e1b82fa0f461f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1406 zcmZQzU<5(|0R}M0U}azs1F|%L7$l?s#Ec9aKoZP=&}i&OouUjIY8@C}uZw4x5z5N2 zvEG^C^vXtt_xtJ?p3O32c(KTx;lsgZhW%5M85Sf<F+87R!>}k-mf`L80)|7ga~M{a znlL=>m1Q`#uoPkbC~GtXMnhnDh5$DU1D6mx+;2QAKt3ZQFH}H~1y~00GcqzVg9QXw z_<%(a7y$V|wJgF=E>MgE#Aid|14}IyCM5MhEnxFF;pTzOK(>#80puP=gnOXwAd33` mpMe2}f66m3eB@_fcnmb^7!b1nO#opK8zcsj1F3<j2hjko`!&q~ diff --git a/ucoinj-ui-wicket/src/main/webapp/index.html b/ucoinj-ui-wicket/src/main/webapp/index.html deleted file mode 100644 index 87140a26..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/index.html +++ /dev/null @@ -1,34 +0,0 @@ -<!-- - #%L - SIH-Adagio Extractor web UI - %% - Copyright (C) 2012 - 2013 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> - <META HTTP-EQUIV="Refresh" CONTENT="0; URL=./home"> -</head> -<head> -</head> -<html> -<body> - <a href="./home">Redirection to home page...</a> -</body> -</html> diff --git a/ucoinj-ui-wicket/src/main/webapp/js/app.js b/ucoinj-ui-wicket/src/main/webapp/js/app.js deleted file mode 100644 index f3557eba..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/app.js +++ /dev/null @@ -1,56 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -(function() { - var app = (typeof module !== "undefined" && module !== null ? module.exports : void 0) || (window.app = {}); - - var - ucoinj, - - init = app.init = function() { - ucoinj = uCoinj(document); - }, - - login = app.login = function(event) { - var salt = $('#localSalt').val(); - var password = $('#localPassword').val(); - var challengeMessage = $('#challengeMessage').val(); - - if (salt === "" || password === "" || challengeMessage === "") { - event.preventDefault(); - return; - } - - var challengeMessage = $('#challengeMessage').val(); - ucoinj.connect(salt, password); - var sign = ucoinj.sign(challengeMessage); - - $('#username').val(ucoinj.wallet.pubkey); - $('#password').val(sign + '|' + challengeMessage); - $('#form').submit(); - } - ; - -}).call(this); - -$( document ).ready(function() { - app.init(); -}); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/base58.js b/ucoinj-ui-wicket/src/main/webapp/js/base58.js deleted file mode 100644 index cc9be458..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/base58.js +++ /dev/null @@ -1,94 +0,0 @@ -// Generated by CoffeeScript 1.8.0 -(function() { - var Base58 = (typeof module !== "undefined" && module !== null ? module.exports : void 0) || (window.Base58 = {}); - - Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' - Base58.alphabetMap = {} - - for(var i = 0; i < Base58.alphabet.length; i++) { - Base58.alphabetMap[Base58.alphabet.charAt(i)] = i - } - - Base58.encode = function(buffer) { - var carry, digits, j; - if (buffer.length === 0) { - return ""; - } - i = void 0; - j = void 0; - digits = [0]; - i = 0; - while (i < buffer.length) { - j = 0; - while (j < digits.length) { - digits[j] <<= 8; - j++; - } - digits[0] += buffer[i]; - carry = 0; - j = 0; - while (j < digits.length) { - digits[j] += carry; - carry = (digits[j] / 58) | 0; - digits[j] %= 58; - ++j; - } - while (carry) { - digits.push(carry % 58); - carry = (carry / 58) | 0; - } - i++; - } - i = 0; - while (buffer[i] === 0 && i < buffer.length - 1) { - digits.push(0); - i++; - } - return digits.reverse().map(function(digit) { - return Base58.alphabet[digit]; - }).join(""); - }; - - Base58.decode = function(string) { - var bytes, c, carry, j; - if (string.length === 0) { - return new (typeof Uint8Array !== "undefined" && Uint8Array !== null ? Uint8Array : Buffer)(0); - } - i = void 0; - j = void 0; - bytes = [0]; - i = 0; - while (i < string.length) { - c = string[i]; - if (!(c in Base58.alphabetMap)) { - throw "Base58.decode received unacceptable input. Character '" + c + "' is not in the Base58 alphabet."; - } - j = 0; - while (j < bytes.length) { - bytes[j] *= 58; - j++; - } - bytes[0] += Base58.alphabetMap[c]; - carry = 0; - j = 0; - while (j < bytes.length) { - bytes[j] += carry; - carry = bytes[j] >> 8; - bytes[j] &= 0xff; - ++j; - } - while (carry) { - bytes.push(carry & 0xff); - carry >>= 8; - } - i++; - } - i = 0; - while (string[i] === "1" && i < string.length - 1) { - bytes.push(0); - i++; - } - return new (typeof Uint8Array !== "undefined" && Uint8Array !== null ? Uint8Array : Buffer)(bytes.reverse()); - }; - -}).call(this); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/base64.js b/ucoinj-ui-wicket/src/main/webapp/js/base64.js deleted file mode 100644 index 2d4e8656..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/base64.js +++ /dev/null @@ -1,45 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -(function() { - var Base64 = (typeof module !== "undefined" && module !== null ? module.exports : void 0) || (window.Base64 = {}); - - Base64.encode = (function(arr) { - if (typeof btoa === 'undefined') { - return (new Buffer(arr)).toString('base64'); - } else { - var i, s = [], len = arr.length; - for (i = 0; i < len; i++) s.push(String.fromCharCode(arr[i])); - return btoa(s.join('')); - } - }); - - Base64.decode = (function(s) { - if (typeof atob === 'undefined') { - return new Uint8Array(Array.prototype.slice.call(new Buffer(s, 'base64'), 0)); - } else { - var i, d = atob(s), b = new Uint8Array(d.length); - for (i = 0; i < d.length; i++) b[i] = d.charCodeAt(i); - return b; - } - }); - -}).call(this); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.js b/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.js deleted file mode 100644 index 1d57de5f..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.js +++ /dev/null @@ -1,10367 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! - * jQuery JavaScript Library v1.11.2 - * http://jquery.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2014-12-17T15:27Z - */ - -(function( global, factory ) { - - if ( typeof module === "object" && typeof module.exports === "object" ) { - // For CommonJS and CommonJS-like environments where a proper window is present, - // execute the factory and get jQuery - // For environments that do not inherently posses a window with a document - // (such as Node.js), expose a jQuery-making factory as module.exports - // This accentuates the need for the creation of a real window - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Can't do this because several apps including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// Support: Firefox 18+ -// - -var deletedIds = []; - -var slice = deletedIds.slice; - -var concat = deletedIds.concat; - -var push = deletedIds.push; - -var indexOf = deletedIds.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var support = {}; - - - -var - version = "1.11.2", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }, - - // Support: Android<4.1, IE<9 - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }; - -jQuery.fn = jQuery.prototype = { - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num != null ? - - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // Return all the elements in a clean array - slice.call( this ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - ret.context = this.context; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: deletedIds.sort, - splice: deletedIds.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var src, copyIsArray, copy, name, options, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, - - isWindow: function( obj ) { - /* jshint eqeqeq: false */ - return obj != null && obj == obj.window; - }, - - isNumeric: function( obj ) { - // parseFloat NaNs numeric-cast false positives (null|true|false|"") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - // adding 1 corrects loss of precision from parseFloat (#15100) - return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0; - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - isPlainObject: function( obj ) { - var key; - - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - try { - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call(obj, "constructor") && - !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - } catch ( e ) { - // IE8,9 Will throw exceptions on certain host objects #9897 - return false; - } - - // Support: IE<9 - // Handle iteration over inherited properties before own properties. - if ( support.ownLast ) { - for ( key in obj ) { - return hasOwn.call( obj, key ); - } - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - for ( key in obj ) {} - - return key === undefined || hasOwn.call( obj, key ); - }, - - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call(obj) ] || "object" : - typeof obj; - }, - - // Evaluates a script in a global context - // Workarounds based on findings by Jim Driscoll - // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context - globalEval: function( data ) { - if ( data && jQuery.trim( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - // args is for internal usage only - each: function( obj, callback, args ) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike( obj ); - - if ( args ) { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } - } - - return obj; - }, - - // Support: Android<4.1, IE<9 - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - var len; - - if ( arr ) { - if ( indexOf ) { - return indexOf.call( arr, elem, i ); - } - - len = arr.length; - i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; - - for ( ; i < len; i++ ) { - // Skip accessing in sparse arrays - if ( i in arr && arr[ i ] === elem ) { - return i; - } - } - } - - return -1; - }, - - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - while ( j < len ) { - first[ i++ ] = second[ j++ ]; - } - - // Support: IE<9 - // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists) - if ( len !== len ) { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, - i = 0, - length = elems.length, - isArray = isArraylike( elems ), - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var args, proxy, tmp; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: function() { - return +( new Date() ); - }, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -}); - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -function isArraylike( obj ) { - var length = obj.length, - type = jQuery.type( obj ); - - if ( type === "function" || jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.nodeType === 1 && length ) { - return true; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.2.0-pre - * http://sizzlejs.com/ - * - * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2014-12-16 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // General-purpose constants - MAX_NEGATIVE = 1 << 31, - - // Instance methods - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf as it's faster than native - // http://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", - - pseudos = ":(" + characterEncoding + ")(?:\\((" + - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - rescape = /'|\\/g, - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - // BMP codepoint - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }; - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - // Support: Android<4.0 - // Detect silently failing push.apply - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - - context = context || document; - results = results || []; - nodeType = context.nodeType; - - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - if ( !seed && documentIsHTML ) { - - // Try to shortcut find operations when possible (e.g., not under DocumentFragment) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document (jQuery #6963) - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getElementsByClassName ) { - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // QSA path - if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - nid = old = expando; - newContext = context; - newSelector = nodeType !== 1 && selector; - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); - } - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key + " " ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return !!fn( div ); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if ( div.parentNode ) { - div.parentNode.removeChild( div ); - } - // release memory in IE - div = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = attrs.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - ( ~b.sourceIndex || MAX_NEGATIVE ) - - ( ~a.sourceIndex || MAX_NEGATIVE ); - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, parent, - doc = node ? node.ownerDocument || node : preferredDoc; - - // If no document and documentElement is available, return - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Set our document - document = doc; - docElem = doc.documentElement; - parent = doc.defaultView; - - // Support: IE>8 - // If iframe document is assigned to "document" variable and if iframe has been reloaded, - // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 - // IE6-8 do not support the defaultView property so parent will be undefined - if ( parent && parent !== parent.top ) { - // IE11 does not have attachEvent, so all must suffer - if ( parent.addEventListener ) { - parent.addEventListener( "unload", unloadHandler, false ); - } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", unloadHandler ); - } - } - - /* Support tests - ---------------------------------------------------------------------- */ - documentIsHTML = !isXML( doc ); - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert(function( div ) { - div.className = "i"; - return !div.getAttribute("className"); - }); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( div ) { - div.appendChild( doc.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( doc.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert(function( div ) { - docElem.appendChild( div ).id = expando; - return !doc.getElementsByName || !doc.getElementsByName( expando ).length; - }); - - // ID find and filter - if ( support.getById ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [ m ] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - // Support: IE6/7 - // getElementById is not reliable as a find shortcut - delete Expr.find["ID"]; - - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See http://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" + - "<select id='" + expando + "-\f]' msallowcapture=''>" + - "<option selected=''></option></select>"; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowcapture^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+ - if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibing-combinator selector` fails - if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); - } - }); - - assert(function( div ) { - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = doc.createElement("input"); - input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( div.querySelectorAll("[name=d]").length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully does not implement inclusive descendent - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - // Choose the first element that is related to our preferred document - if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { - return -1; - } - if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - return doc; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - if ( support.matchesSelector && documentIsHTML && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch (e) {} - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[6] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { return true; } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - // Use previously-cached element index if available - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) - } else { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - // Cache the index of each encountered element - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - // Don't keep the element (issue #299) - input[0] = null; - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( (tokens = []) ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push({ - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (oldCache = outerCache[ dir ]) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); - } else { - // Reuse newcache so results back-propagate to previous elements - outerCache[ dir ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), - len = elems.length; - - if ( outermost ) { - outermostContext = context !== document && context; - } - - // Add elements passing elementMatchers directly to results - // Keep `i` a string if there are no elements so `matchedCount` will be "00" below - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // Apply set filters to unmatched elements - matchedCount += i; - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); - - results = results || []; - - // Try to minimize operations if there is no seed and only one group - if ( match.length === 1 ) { - - // Take a shortcut and set the context if the root selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { - - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( div1 ) { - // Should return 1, but returns 4 (following) - return div1.compareDocumentPosition( document.createElement("div") ) & 1; -}); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( div ) { - div.innerHTML = "<a href='#'></a>"; - return div.firstChild.getAttribute("href") === "#" ; -}) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - }); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( div ) { - div.innerHTML = "<input/>"; - div.firstChild.setAttribute( "value", "" ); - return div.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - }); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( div ) { - return div.getAttribute("disabled") == null; -}) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - null; - } - }); -} - -return Sizzle; - -})( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - - -var rneedsContext = jQuery.expr.match.needsContext; - -var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); - - - -var risSimple = /^.[^:#\[\.,]*$/; - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - /* jshint -W018 */ - return !!qualifier.call( elem, i, elem ) !== not; - }); - - } - - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - }); - - } - - if ( typeof qualifier === "string" ) { - if ( risSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); - } - - return jQuery.grep( elements, function( elem ) { - return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; - }); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - })); -}; - -jQuery.fn.extend({ - find: function( selector ) { - var i, - ret = [], - self = this, - len = self.length; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }) ); - } - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = this.selector ? this.selector + " " + selector : selector; - return ret; - }, - filter: function( selector ) { - return this.pushStack( winnow(this, selector || [], false) ); - }, - not: function( selector ) { - return this.pushStack( winnow(this, selector || [], true) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -}); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - - // A simple way to check for HTML strings - // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - init = jQuery.fn.init = function( selector, context ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - - // scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[1], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return typeof rootjQuery.ready !== "undefined" ? - rootjQuery.ready( selector ) : - // Execute immediately if ready is not present - selector( jQuery ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - // methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.extend({ - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -jQuery.fn.extend({ - has: function( target ) { - var i, - targets = jQuery( target, this ), - len = targets.length; - - return this.filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { - // Always skip document fragments - if ( cur.nodeType < 11 && (pos ? - pos.index(cur) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector(cur, selectors)) ) { - - matched.push( cur ); - break; - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; - } - - // index in selector - if ( typeof elem === "string" ) { - return jQuery.inArray( this[0], jQuery( elem ) ); - } - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.unique( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) - ); - } -}); - -function sibling( cur, dir ) { - do { - cur = cur[ dir ]; - } while ( cur && cur.nodeType !== 1 ); - - return cur; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - if ( this.length > 1 ) { - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - ret = jQuery.unique( ret ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - } - - return this.pushStack( ret ); - }; -}); -var rnotwhite = (/\S+/g); - - - -// String to Object options format cache -var optionsCache = {}; - -// Convert String-formatted options into Object-formatted ones and store in cache -function createOptions( options ) { - var object = optionsCache[ options ] = {}; - jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - }); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - ( optionsCache[ options ] || createOptions( options ) ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - // Last fire value (for non-forgettable lists) - memory, - // Flag to know if list was already fired - fired, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, - // First callback to fire (used internally by add and fireWith) - firingStart, - // Actual callback list - list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], - // Fire callbacks - fire = function( data ) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for ( ; list && firingIndex < firingLength; firingIndex++ ) { - if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = false; // To prevent further calls using add - break; - } - } - firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { - list = []; - } else { - self.disable(); - } - } - }, - // Actual Callbacks object - self = { - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - // First, we save the current length - var start = list.length; - (function add( args ) { - jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && type !== "string" ) { - // Inspect recursively - add( arg ); - } - }); - })( arguments ); - // Do we need to add the callbacks to the - // current firing batch? - if ( firing ) { - firingLength = list.length; - // With memory, if we're not firing then - // we should call right away - } else if ( memory ) { - firingStart = start; - fire( memory ); - } - } - return this; - }, - // Remove a callback from the list - remove: function() { - if ( list ) { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - // Handle firing indexes - if ( firing ) { - if ( index <= firingLength ) { - firingLength--; - } - if ( index <= firingIndex ) { - firingIndex--; - } - } - } - }); - } - return this; - }, - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); - }, - // Remove all callbacks from the list - empty: function() { - list = []; - firingLength = 0; - return this; - }, - // Have the list do nothing anymore - disable: function() { - list = stack = memory = undefined; - return this; - }, - // Is it disabled? - disabled: function() { - return !list; - }, - // Lock the list in its current state - lock: function() { - stack = undefined; - if ( !memory ) { - self.disable(); - } - return this; - }, - // Is it locked? - locked: function() { - return !stack; - }, - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( list && ( !fired || stack ) ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - if ( firing ) { - stack.push( args ); - } else { - fire( args ); - } - } - return this; - }, - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -jQuery.extend({ - - Deferred: function( func ) { - var tuples = [ - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], - [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], - [ "notify", "progress", jQuery.Callbacks("memory") ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred(function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[1] ](function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); - } - }); - }); - fns = null; - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; - - // Handle state - if ( stateString ) { - list.add(function() { - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( values === progressValues ) { - deferred.notifyWith( contexts, values ); - - } else if ( !(--remaining) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); - } else { - --remaining; - } - } - } - - // if we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -}); - - -// The deferred used on DOM ready -var readyList; - -jQuery.fn.ready = function( fn ) { - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; -}; - -jQuery.extend({ - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.triggerHandler ) { - jQuery( document ).triggerHandler( "ready" ); - jQuery( document ).off( "ready" ); - } - } -}); - -/** - * Clean-up method for dom ready events - */ -function detach() { - if ( document.addEventListener ) { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); - - } else { - document.detachEvent( "onreadystatechange", completed ); - window.detachEvent( "onload", completed ); - } -} - -/** - * The ready event handler and self cleanup method - */ -function completed() { - // readyState === "complete" is good enough for us to call the dom ready in oldIE - if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { - detach(); - jQuery.ready(); - } -} - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called after the browser event has already occurred. - // we once tried to use readyState "interactive" here, but it caused issues like the one - // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); - - // Standards-based browsers support DOMContentLoaded - } else if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); - - // If IE event model is used - } else { - // Ensure firing before onload, maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", completed ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", completed ); - - // If IE and not a frame - // continually check to see if the document is ready - var top = false; - - try { - top = window.frameElement == null && document.documentElement; - } catch(e) {} - - if ( top && top.doScroll ) { - (function doScrollCheck() { - if ( !jQuery.isReady ) { - - try { - // Use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - top.doScroll("left"); - } catch(e) { - return setTimeout( doScrollCheck, 50 ); - } - - // detach all dom ready events - detach(); - - // and execute any waiting functions - jQuery.ready(); - } - })(); - } - } - } - return readyList.promise( obj ); -}; - - -var strundefined = typeof undefined; - - - -// Support: IE<9 -// Iteration over object's inherited properties before its own -var i; -for ( i in jQuery( support ) ) { - break; -} -support.ownLast = i !== "0"; - -// Note: most support tests are defined in their respective modules. -// false until the test is run -support.inlineBlockNeedsLayout = false; - -// Execute ASAP in case we need to set body.style.zoom -jQuery(function() { - // Minified: var a,b,c,d - var val, div, body, container; - - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - // Return for frameset docs that don't have a body - return; - } - - // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); - - if ( typeof div.style.zoom !== strundefined ) { - // Support: IE<8 - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; - - support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; - if ( val ) { - // Prevent IE 6 from affecting layout for positioned elements #11048 - // Prevent IE from shrinking the body in IE 7 mode #12869 - // Support: IE<8 - body.style.zoom = 1; - } - } - - body.removeChild( container ); -}); - - - - -(function() { - var div = document.createElement( "div" ); - - // Execute the test only if not already executed in another module. - if (support.deleteExpando == null) { - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - } - - // Null elements to avoid leaks in IE. - div = null; -})(); - - -/** - * Determines whether an object can have data - */ -jQuery.acceptData = function( elem ) { - var noData = jQuery.noData[ (elem.nodeName + " ").toLowerCase() ], - nodeType = +elem.nodeType || 1; - - // Do not set data on non-element DOM nodes because it will not be cleared (#8335). - return nodeType !== 1 && nodeType !== 9 ? - false : - - // Nodes accept data unless otherwise specified; rejection can be conditional - !noData || noData !== true && elem.getAttribute("classid") === noData; -}; - - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /([A-Z])/g; - -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - - var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); - - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); - - } else { - data = undefined; - } - } - - return data; -} - -// checks a cache object for emptiness -function isEmptyDataObject( obj ) { - var name; - for ( name in obj ) { - - // if the public data object is empty, the private is still empty - if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { - continue; - } - if ( name !== "toJSON" ) { - return false; - } - } - - return true; -} - -function internalData( elem, name, data, pvt /* Internal Use Only */ ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var ret, thisCache, - internalKey = jQuery.expando, - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++; - } else { - id = internalKey; - } - } - - if ( !cache[ id ] ) { - // Avoid exposing jQuery metadata on plain JS objects when the object - // is serialized using JSON.stringify - cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ] = jQuery.extend( cache[ id ], name ); - } else { - cache[ id ].data = jQuery.extend( cache[ id ].data, name ); - } - } - - thisCache = cache[ id ]; - - // jQuery data() is stored in a separate object inside the object's internal data - // cache in order to avoid key collisions between internal data and user-defined - // data. - if ( !pvt ) { - if ( !thisCache.data ) { - thisCache.data = {}; - } - - thisCache = thisCache.data; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // Check for both converted-to-camel and non-converted data property names - // If a data property was specified - if ( typeof name === "string" ) { - - // First Try to find as-is property data - ret = thisCache[ name ]; - - // Test for null|undefined property data - if ( ret == null ) { - - // Try to find the camelCased property - ret = thisCache[ jQuery.camelCase( name ) ]; - } - } else { - ret = thisCache; - } - - return ret; -} - -function internalRemoveData( elem, name, pvt ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var thisCache, i, - isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - - thisCache = pvt ? cache[ id ] : cache[ id ].data; - - if ( thisCache ) { - - // Support array or space separated string names for data keys - if ( !jQuery.isArray( name ) ) { - - // try the string as a key before any manipulation - if ( name in thisCache ) { - name = [ name ]; - } else { - - // split the camel cased version by spaces unless a key with the spaces exists - name = jQuery.camelCase( name ); - if ( name in thisCache ) { - name = [ name ]; - } else { - name = name.split(" "); - } - } - } else { - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = name.concat( jQuery.map( name, jQuery.camelCase ) ); - } - - i = name.length; - while ( i-- ) { - delete thisCache[ name[i] ]; - } - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( !pvt ) { - delete cache[ id ].data; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject( cache[ id ] ) ) { - return; - } - } - - // Destroy the cache - if ( isNode ) { - jQuery.cleanData( [ elem ], true ); - - // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) - /* jshint eqeqeq: false */ - } else if ( support.deleteExpando || cache != cache.window ) { - /* jshint eqeqeq: true */ - delete cache[ id ]; - - // When all else fails, null - } else { - cache[ id ] = null; - } -} - -jQuery.extend({ - cache: {}, - - // The following elements (space-suffixed to avoid Object.prototype collisions) - // throw uncatchable exceptions if you attempt to set expando properties - noData: { - "applet ": true, - "embed ": true, - // ...but Flash objects (which have this classid) *can* handle expandos - "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" - }, - - hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - return !!elem && !isEmptyDataObject( elem ); - }, - - data: function( elem, name, data ) { - return internalData( elem, name, data ); - }, - - removeData: function( elem, name ) { - return internalRemoveData( elem, name ); - }, - - // For internal use only. - _data: function( elem, name, data ) { - return internalData( elem, name, data, true ); - }, - - _removeData: function( elem, name ) { - return internalRemoveData( elem, name, true ); - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var i, name, data, - elem = this[0], - attrs = elem && elem.attributes; - - // Special expections of .data basically thwart jQuery.access, - // so implement the relevant behavior ourselves - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = jQuery.data( elem ); - - if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE11+ - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice(5) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - jQuery._data( elem, "parsedAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - return arguments.length > 1 ? - - // Sets one value - this.each(function() { - jQuery.data( this, key, value ); - }) : - - // Gets one value - // Try to fetch any internally stored data first - elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined; - }, - - removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); - } -}); - - -jQuery.extend({ - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = jQuery._data( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray(data) ) { - queue = jQuery._data( elem, type, jQuery.makeArray(data) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // not intended for public consumption - generates a queueHooks object, or returns the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return jQuery._data( elem, key ) || jQuery._data( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - jQuery._removeData( elem, type + "queue" ); - jQuery._removeData( elem, key ); - }) - }); - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); - } - - return data === undefined ? - this : - this.each(function() { - var queue = jQuery.queue( this, type, data ); - - // ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = jQuery._data( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -}); -var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var isHidden = function( elem, el ) { - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); - }; - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - length = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < length; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - length ? fn( elems[0], key ) : emptyGet; -}; -var rcheckableType = (/^(?:checkbox|radio)$/i); - - - -(function() { - // Minified: var a,b,c - var input = document.createElement( "input" ), - div = document.createElement( "div" ), - fragment = document.createDocumentFragment(); - - // Setup - div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; - - // IE strips leading whitespace when .innerHTML is used - support.leadingWhitespace = div.firstChild.nodeType === 3; - - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - support.tbody = !div.getElementsByTagName( "tbody" ).length; - - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - support.htmlSerialize = !!div.getElementsByTagName( "link" ).length; - - // Makes sure cloning an html5 element does not cause problems - // Where outerHTML is undefined, this still works - support.html5Clone = - document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav></:nav>"; - - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - input.type = "checkbox"; - input.checked = true; - fragment.appendChild( input ); - support.appendChecked = input.checked; - - // Make sure textarea (and checkbox) defaultValue is properly cloned - // Support: IE6-IE11+ - div.innerHTML = "<textarea>x</textarea>"; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // #11217 - WebKit loses check when the name is after the checked attribute - fragment.appendChild( div ); - div.innerHTML = "<input type='radio' checked='checked' name='t'/>"; - - // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 - // old WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<9 - // Opera does not clone events (and typeof div.attachEvent === undefined). - // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() - support.noCloneEvent = true; - if ( div.attachEvent ) { - div.attachEvent( "onclick", function() { - support.noCloneEvent = false; - }); - - div.cloneNode( true ).click(); - } - - // Execute the test only if not already executed in another module. - if (support.deleteExpando == null) { - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - } -})(); - - -(function() { - var i, eventName, - div = document.createElement( "div" ); - - // Support: IE<9 (lack submit/change bubble), Firefox 23+ (lack focusin event) - for ( i in { submit: true, change: true, focusin: true }) { - eventName = "on" + i; - - if ( !(support[ i + "Bubbles" ] = eventName in window) ) { - // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) - div.setAttribute( eventName, "t" ); - support[ i + "Bubbles" ] = div.attributes[ eventName ].expando === false; - } - } - - // Null elements to avoid leaks in IE. - div = null; -})(); - - -var rformElems = /^(?:input|select|textarea)$/i, - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - var tmp, events, t, handleObjIn, - special, eventHandle, handleObj, - handlers, type, namespaces, origType, - elemData = jQuery._data( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { - events = elemData.events = {}; - } - if ( !(eventHandle = elemData.handle) ) { - eventHandle = elemData.handle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== strundefined && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : - undefined; - }; - // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events - eventHandle.elem = elem; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend({ - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener/attachEvent if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - // Nullify elem to prevent memory leaks in IE - elem = null; - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - var j, handleObj, tmp, - origCount, t, events, - special, handlers, type, - namespaces, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ); - - if ( !elemData || !(events = elemData.events) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - - // removeData also checks for emptiness and clears the expando if empty - // so use it instead of delete - jQuery._removeData( elem, "events" ); - } - }, - - trigger: function( event, data, elem, onlyHandlers ) { - var handle, ontype, cur, - bubbleType, special, tmp, i, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf(":") < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join("."); - event.namespace_re = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === (elem.ownerDocument || document) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { - - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && jQuery.acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && - jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction() check here because IE6/7 fails that test. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - try { - elem[ type ](); - } catch ( e ) { - // IE<9 dies on focus/blur to hidden element (#1486,#12518) - // only reproducible on winXP IE8 native, not IE9 in IE8 mode - } - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, ret, handleObj, matched, j, - handlerQueue = [], - args = slice.call( arguments ), - handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[0] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or - // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). - if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) - .apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( (event.result = ret) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var sel, handleObj, matches, i, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - // Black-hole SVG <use> instance trees (#13180) - // Avoid non-left-click bubbling in Firefox (#3861) - if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { - - /* jshint eqeqeq: false */ - for ( ; cur != this; cur = cur.parentNode || this ) { - /* jshint eqeqeq: true */ - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); - } - - return handlerQueue; - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: IE<9 - // Fix target property (#1925) - if ( !event.target ) { - event.target = originalEvent.srcElement || document; - } - - // Support: Chrome 23+, Safari? - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - // Support: IE<9 - // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) - event.metaKey = !!event.metaKey; - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function( event, original ) { - var body, eventDoc, doc, - button = original.button, - fromElement = original.fromElement; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && fromElement ) { - event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - special: { - load: { - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - focus: { - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== safeActiveElement() && this.focus ) { - try { - this.focus(); - return false; - } catch ( e ) { - // Support: IE<9 - // If we error on focus to hidden element (#1486, #12518), - // let .trigger() run the handlers - } - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === safeActiveElement() && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - click: { - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { - this.click(); - return false; - } - }, - - // For cross-browser consistency, don't fire native .click() on links - _default: function( event ) { - return jQuery.nodeName( event.target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - }, - - simulate: function( type, elem, event, bubble ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true, - originalEvent: {} - } - ); - if ( bubble ) { - jQuery.event.trigger( e, null, elem ); - } else { - jQuery.event.dispatch.call( elem, e ); - } - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - var name = "on" + type; - - if ( elem.detachEvent ) { - - // #8545, #7054, preventing memory leaks for custom events in IE6-8 - // detachEvent needed property on element, by name of that event, to properly expose it to GC - if ( typeof elem[ name ] === strundefined ) { - elem[ name ] = null; - } - - elem.detachEvent( name, handle ); - } - }; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - // Support: IE < 9, Android < 4.0 - src.returnValue === false ? - returnTrue : - returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - if ( !e ) { - return; - } - - // If preventDefault exists, run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // Support: IE - // Otherwise set the returnValue property of the original event to false - } else { - e.returnValue = false; - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - if ( !e ) { - return; - } - // If stopPropagation exists, run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - - // Support: IE - // Set the cancelBubble property of the original event to true - e.cancelBubble = true; - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && e.stopImmediatePropagation ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !jQuery.contains( target, related )) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -}); - -// IE submit delegation -if ( !support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Lazy-add a submit handler when a descendant form may potentially be submitted - jQuery.event.add( this, "click._submit keypress._submit", function( e ) { - // Node name check avoids a VML-related crash in IE (#9807) - var elem = e.target, - form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; - if ( form && !jQuery._data( form, "submitBubbles" ) ) { - jQuery.event.add( form, "submit._submit", function( event ) { - event._submit_bubble = true; - }); - jQuery._data( form, "submitBubbles", true ); - } - }); - // return undefined since we don't need an event listener - }, - - postDispatch: function( event ) { - // If form was submitted by the user, bubble the event up the tree - if ( event._submit_bubble ) { - delete event._submit_bubble; - if ( this.parentNode && !event.isTrigger ) { - jQuery.event.simulate( "submit", this.parentNode, event, true ); - } - } - }, - - teardown: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Remove delegated handlers; cleanData eventually reaps submit handlers attached above - jQuery.event.remove( this, "._submit" ); - } - }; -} - -// IE change delegation and checkbox/radio fix -if ( !support.changeBubbles ) { - - jQuery.event.special.change = { - - setup: function() { - - if ( rformElems.test( this.nodeName ) ) { - // IE doesn't fire change on a check/radio until blur; trigger it on click - // after a propertychange. Eat the blur-change in special.change.handle. - // This still fires onchange a second time for check/radio after blur. - if ( this.type === "checkbox" || this.type === "radio" ) { - jQuery.event.add( this, "propertychange._change", function( event ) { - if ( event.originalEvent.propertyName === "checked" ) { - this._just_changed = true; - } - }); - jQuery.event.add( this, "click._change", function( event ) { - if ( this._just_changed && !event.isTrigger ) { - this._just_changed = false; - } - // Allow triggered, simulated change events (#11500) - jQuery.event.simulate( "change", this, event, true ); - }); - } - return false; - } - // Delegated event; lazy-add a change handler on descendant inputs - jQuery.event.add( this, "beforeactivate._change", function( e ) { - var elem = e.target; - - if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { - jQuery.event.add( elem, "change._change", function( event ) { - if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { - jQuery.event.simulate( "change", this.parentNode, event, true ); - } - }); - jQuery._data( elem, "changeBubbles", true ); - } - }); - }, - - handle: function( event ) { - var elem = event.target; - - // Swallow native change events from checkbox/radio, we already triggered them above - if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { - return event.handleObj.handler.apply( this, arguments ); - } - }, - - teardown: function() { - jQuery.event.remove( this, "._change" ); - - return !rformElems.test( this.nodeName ); - } - }; -} - -// Create "bubbling" focus and blur events -if ( !support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - jQuery._data( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - jQuery._removeData( doc, fix ); - } else { - jQuery._data( doc, fix, attaches ); - } - } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var type, origFn; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - this.on( type, selector, data, types[ type ], one ); - } - return this; - } - - if ( data == null && fn == null ) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return this.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - }); - }, - one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each(function() { - jQuery.event.remove( this, types, fn, selector ); - }); - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - triggerHandler: function( type, data ) { - var elem = this[0]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -}); - - -function createSafeFragment( document ) { - var list = nodeNames.split( "|" ), - safeFrag = document.createDocumentFragment(); - - if ( safeFrag.createElement ) { - while ( list.length ) { - safeFrag.createElement( - list.pop() - ); - } - } - return safeFrag; -} - -var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + - "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", - rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, - rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rtbody = /<tbody/i, - rhtml = /<|&#?\w+;/, - rnoInnerhtml = /<(?:script|style|link)/i, - // checked="checked" or checked - rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, - rscriptType = /^$|\/(?:java|ecma)script/i, - rscriptTypeMasked = /^true\/(.*)/, - rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - option: [ 1, "<select multiple='multiple'>", "</select>" ], - legend: [ 1, "<fieldset>", "</fieldset>" ], - area: [ 1, "<map>", "</map>" ], - param: [ 1, "<object>", "</object>" ], - thead: [ 1, "<table>", "</table>" ], - tr: [ 2, "<table><tbody>", "</tbody></table>" ], - col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], - td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], - - // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, - // unless wrapped in a div with non-breaking characters in front of it. - _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X<div>", "</div>" ] - }, - safeFragment = createSafeFragment( document ), - fragmentDiv = safeFragment.appendChild( document.createElement("div") ); - -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -function getAll( context, tag ) { - var elems, elem, - i = 0, - found = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== strundefined ? context.querySelectorAll( tag || "*" ) : - undefined; - - if ( !found ) { - for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { - if ( !tag || jQuery.nodeName( elem, tag ) ) { - found.push( elem ); - } else { - jQuery.merge( found, getAll( elem, tag ) ); - } - } - } - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], found ) : - found; -} - -// Used in buildFragment, fixes the defaultChecked property -function fixDefaultChecked( elem ) { - if ( rcheckableType.test( elem.type ) ) { - elem.defaultChecked = elem.checked; - } -} - -// Support: IE<8 -// Manipulating tables requires a tbody -function manipulationTarget( elem, content ) { - return jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? - - elem.getElementsByTagName("tbody")[0] || - elem.appendChild( elem.ownerDocument.createElement("tbody") ) : - elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - if ( match ) { - elem.type = match[1]; - } else { - elem.removeAttribute("type"); - } - return elem; -} - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var elem, - i = 0; - for ( ; (elem = elems[i]) != null; i++ ) { - jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); - } -} - -function cloneCopyEvent( src, dest ) { - - if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { - return; - } - - var type, i, l, - oldData = jQuery._data( src ), - curData = jQuery._data( dest, oldData ), - events = oldData.events; - - if ( events ) { - delete curData.handle; - curData.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - - // make the cloned public data object a copy from the original - if ( curData.data ) { - curData.data = jQuery.extend( {}, curData.data ); - } -} - -function fixCloneNodeIssues( src, dest ) { - var nodeName, e, data; - - // We do not need to do anything for non-Elements - if ( dest.nodeType !== 1 ) { - return; - } - - nodeName = dest.nodeName.toLowerCase(); - - // IE6-8 copies events bound via attachEvent when using cloneNode. - if ( !support.noCloneEvent && dest[ jQuery.expando ] ) { - data = jQuery._data( dest ); - - for ( e in data.events ) { - jQuery.removeEvent( dest, e, data.handle ); - } - - // Event data gets referenced instead of copied if the expando gets copied too - dest.removeAttribute( jQuery.expando ); - } - - // IE blanks contents when cloning scripts, and tries to evaluate newly-set text - if ( nodeName === "script" && dest.text !== src.text ) { - disableScript( dest ).text = src.text; - restoreScript( dest ); - - // IE6-10 improperly clones children of object elements using classid. - // IE10 throws NoModificationAllowedError if parent is null, #12132. - } else if ( nodeName === "object" ) { - if ( dest.parentNode ) { - dest.outerHTML = src.outerHTML; - } - - // This path appears unavoidable for IE9. When cloning an object - // element in IE9, the outerHTML strategy above is not sufficient. - // If the src has innerHTML and the destination does not, - // copy the src.innerHTML into the dest.innerHTML. #10324 - if ( support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { - dest.innerHTML = src.innerHTML; - } - - } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - // IE6-8 fails to persist the checked state of a cloned checkbox - // or radio button. Worse, IE6-7 fail to give the cloned element - // a checked appearance if the defaultChecked value isn't also set - - dest.defaultChecked = dest.checked = src.checked; - - // IE6-7 get confused and end up setting the value of a cloned - // checkbox/radio button to an empty string instead of "on" - if ( dest.value !== src.value ) { - dest.value = src.value; - } - - // IE6-8 fails to return the selected option to the default selected - // state when cloning options - } else if ( nodeName === "option" ) { - dest.defaultSelected = dest.selected = src.defaultSelected; - - // IE6-8 fails to set the defaultValue to the correct value when - // cloning other types of input fields - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -jQuery.extend({ - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var destElements, node, clone, i, srcElements, - inPage = jQuery.contains( elem.ownerDocument, elem ); - - if ( support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { - clone = elem.cloneNode( true ); - - // IE<=8 does not properly clone detached, unknown element nodes - } else { - fragmentDiv.innerHTML = elem.outerHTML; - fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); - } - - if ( (!support.noCloneEvent || !support.noCloneChecked) && - (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - // Fix all IE cloning issues - for ( i = 0; (node = srcElements[i]) != null; ++i ) { - // Ensure that the destination node is not null; Fixes #9587 - if ( destElements[i] ) { - fixCloneNodeIssues( node, destElements[i] ); - } - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0; (node = srcElements[i]) != null; i++ ) { - cloneCopyEvent( node, destElements[i] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - destElements = srcElements = node = null; - - // Return the cloned set - return clone; - }, - - buildFragment: function( elems, context, scripts, selection ) { - var j, elem, contains, - tmp, tag, tbody, wrap, - l = elems.length, - - // Ensure a safe fragment - safe = createSafeFragment( context ), - - nodes = [], - i = 0; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || safe.appendChild( context.createElement("div") ); - - // Deserialize a standard representation - tag = (rtagName.exec( elem ) || [ "", "" ])[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - - tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[2]; - - // Descend through wrappers to the right content - j = wrap[0]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Manually add leading whitespace removed by IE - if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { - nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); - } - - // Remove IE's autoinserted <tbody> from table fragments - if ( !support.tbody ) { - - // String was a <table>, *may* have spurious <tbody> - elem = tag === "table" && !rtbody.test( elem ) ? - tmp.firstChild : - - // String was a bare <thead> or <tfoot> - wrap[1] === "<table>" && !rtbody.test( elem ) ? - tmp : - 0; - - j = elem && elem.childNodes.length; - while ( j-- ) { - if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { - elem.removeChild( tbody ); - } - } - } - - jQuery.merge( nodes, tmp.childNodes ); - - // Fix #12392 for WebKit and IE > 9 - tmp.textContent = ""; - - // Fix #12392 for oldIE - while ( tmp.firstChild ) { - tmp.removeChild( tmp.firstChild ); - } - - // Remember the top-level container for proper cleanup - tmp = safe.lastChild; - } - } - } - - // Fix #11356: Clear elements from fragment - if ( tmp ) { - safe.removeChild( tmp ); - } - - // Reset defaultChecked for any radios and checkboxes - // about to be appended to the DOM in IE 6/7 (#8060) - if ( !support.appendChecked ) { - jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); - } - - i = 0; - while ( (elem = nodes[ i++ ]) ) { - - // #4087 - If origin and destination elements are the same, and this is - // that element, do not do anything - if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( safe.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - tmp = null; - - return safe; - }, - - cleanData: function( elems, /* internal */ acceptData ) { - var elem, type, id, data, - i = 0, - internalKey = jQuery.expando, - cache = jQuery.cache, - deleteExpando = support.deleteExpando, - special = jQuery.event.special; - - for ( ; (elem = elems[i]) != null; i++ ) { - if ( acceptData || jQuery.acceptData( elem ) ) { - - id = elem[ internalKey ]; - data = id && cache[ id ]; - - if ( data ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Remove cache only if it was not already removed by jQuery.event.remove - if ( cache[ id ] ) { - - delete cache[ id ]; - - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( deleteExpando ) { - delete elem[ internalKey ]; - - } else if ( typeof elem.removeAttribute !== strundefined ) { - elem.removeAttribute( internalKey ); - - } else { - elem[ internalKey ] = null; - } - - deletedIds.push( id ); - } - } - } - } - } -}); - -jQuery.fn.extend({ - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); - }, null, value, arguments.length ); - }, - - append: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - }); - }, - - prepend: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - }); - }, - - before: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - }); - }, - - after: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - }); - }, - - remove: function( selector, keepData /* Internal Use Only */ ) { - var elem, - elems = selector ? jQuery.filter( selector, this ) : this, - i = 0; - - for ( ; (elem = elems[i]) != null; i++ ) { - - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem ) ); - } - - if ( elem.parentNode ) { - if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { - setGlobalEval( getAll( elem, "script" ) ); - } - elem.parentNode.removeChild( elem ); - } - } - - return this; - }, - - empty: function() { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - } - - // Remove any remaining nodes - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - - // If this is a select, ensure that it displays empty (#12336) - // Support: IE<9 - if ( elem.options && jQuery.nodeName( elem, "select" ) ) { - elem.options.length = 0; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map(function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined ) { - return elem.nodeType === 1 ? - elem.innerHTML.replace( rinlinejQuery, "" ) : - undefined; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - ( support.htmlSerialize || !rnoshimcache.test( value ) ) && - ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && - !wrapMap[ (rtagName.exec( value ) || [ "", "" ])[ 1 ].toLowerCase() ] ) { - - value = value.replace( rxhtmlTag, "<$1></$2>" ); - - try { - for (; i < l; i++ ) { - // Remove element nodes and prevent memory leaks - elem = this[i] || {}; - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch(e) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var arg = arguments[ 0 ]; - - // Make the changes, replacing each context element with the new content - this.domManip( arguments, function( elem ) { - arg = this.parentNode; - - jQuery.cleanData( getAll( this ) ); - - if ( arg ) { - arg.replaceChild( elem, this ); - } - }); - - // Force removal if there was no new content (e.g., from empty arguments) - return arg && (arg.length || arg.nodeType) ? this : this.remove(); - }, - - detach: function( selector ) { - return this.remove( selector, true ); - }, - - domManip: function( args, callback ) { - - // Flatten any nested arrays - args = concat.apply( [], args ); - - var first, node, hasScripts, - scripts, doc, fragment, - i = 0, - l = this.length, - set = this, - iNoClone = l - 1, - value = args[0], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return this.each(function( index ) { - var self = set.eq( index ); - if ( isFunction ) { - args[0] = value.call( this, index, self.html() ); - } - self.domManip( args, callback ); - }); - } - - if ( l ) { - fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - if ( first ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( this[i], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - - if ( node.src ) { - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); - } - } else { - jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); - } - } - } - } - - // Fix #11809: Avoid leaking memory - fragment = first = null; - } - } - - return this; - } -}); - -jQuery.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - i = 0, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone(true); - jQuery( insert[i] )[ original ]( elems ); - - // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -}); - - -var iframe, - elemdisplay = {}; - -/** - * Retrieve the actual display of a element - * @param {String} name nodeName of the element - * @param {Object} doc Document object - */ -// Called only from within defaultDisplay -function actualDisplay( name, doc ) { - var style, - elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - - // getDefaultComputedStyle might be reliably used only on attached element - display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? - - // Use of this method is a temporary fix (more like optmization) until something better comes along, - // since it was removed from specification and supported only in FF - style.display : jQuery.css( elem[ 0 ], "display" ); - - // We don't have any data stored on the element, - // so use "detach" method as fast way to get rid of the element - elem.detach(); - - return display; -} - -/** - * Try to determine the default display value of an element - * @param {String} nodeName - */ -function defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - - // Use the already-created iframe if possible - iframe = (iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" )).appendTo( doc.documentElement ); - - // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse - doc = ( iframe[ 0 ].contentWindow || iframe[ 0 ].contentDocument ).document; - - // Support: IE - doc.write(); - doc.close(); - - display = actualDisplay( nodeName, doc ); - iframe.detach(); - } - - // Store the correct default display - elemdisplay[ nodeName ] = display; - } - - return display; -} - - -(function() { - var shrinkWrapBlocksVal; - - support.shrinkWrapBlocks = function() { - if ( shrinkWrapBlocksVal != null ) { - return shrinkWrapBlocksVal; - } - - // Will be changed later if needed. - shrinkWrapBlocksVal = false; - - // Minified: var b,c,d - var div, body, container; - - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - // Test fired too early or in an unsupported environment, exit. - return; - } - - // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); - - // Support: IE6 - // Check if elements with layout shrink-wrap their children - if ( typeof div.style.zoom !== strundefined ) { - // Reset CSS: box-sizing; display; margin; border - div.style.cssText = - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + - "box-sizing:content-box;display:block;margin:0;border:0;" + - "padding:1px;width:1px;zoom:1"; - div.appendChild( document.createElement( "div" ) ).style.width = "5px"; - shrinkWrapBlocksVal = div.offsetWidth !== 3; - } - - body.removeChild( container ); - - return shrinkWrapBlocksVal; - }; - -})(); -var rmargin = (/^margin/); - -var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); - - - -var getStyles, curCSS, - rposition = /^(top|right|bottom|left)$/; - -if ( window.getComputedStyle ) { - getStyles = function( elem ) { - // Support: IE<=11+, Firefox<=30+ (#15098, #14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - if ( elem.ownerDocument.defaultView.opener ) { - return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); - } - - return window.getComputedStyle( elem, null ); - }; - - curCSS = function( elem, name, computed ) { - var width, minWidth, maxWidth, ret, - style = elem.style; - - computed = computed || getStyles( elem ); - - // getPropertyValue is only needed for .css('filter') in IE9, see #12537 - ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined; - - if ( computed ) { - - if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right - // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels - // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values - if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - // Support: IE - // IE returns zIndex value as an integer. - return ret === undefined ? - ret : - ret + ""; - }; -} else if ( document.documentElement.currentStyle ) { - getStyles = function( elem ) { - return elem.currentStyle; - }; - - curCSS = function( elem, name, computed ) { - var left, rs, rsLeft, ret, - style = elem.style; - - computed = computed || getStyles( elem ); - ret = computed ? computed[ name ] : undefined; - - // Avoid setting ret to empty string here - // so we don't default to auto - if ( ret == null && style && style[ name ] ) { - ret = style[ name ]; - } - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - // but not position css attributes, as those are proportional to the parent element instead - // and we can't measure the parent instead because it might trigger a "stacking dolls" problem - if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { - - // Remember the original values - left = style.left; - rs = elem.runtimeStyle; - rsLeft = rs && rs.left; - - // Put in the new values to get a computed value out - if ( rsLeft ) { - rs.left = elem.currentStyle.left; - } - style.left = name === "fontSize" ? "1em" : ret; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - if ( rsLeft ) { - rs.left = rsLeft; - } - } - - // Support: IE - // IE returns zIndex value as an integer. - return ret === undefined ? - ret : - ret + "" || "auto"; - }; -} - - - - -function addGetHookIf( conditionFn, hookFn ) { - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function() { - var condition = conditionFn(); - - if ( condition == null ) { - // The test was not ready at this point; screw the hook this time - // but check again when needed next time. - return; - } - - if ( condition ) { - // Hook not needed (or it's not possible to use it due to missing dependency), - // remove it. - // Since there are no other hooks for marginRight, remove the whole object. - delete this.get; - return; - } - - // Hook needed; redefine it so that the support test is not executed again. - - return (this.get = hookFn).apply( this, arguments ); - } - }; -} - - -(function() { - // Minified: var b,c,d,e,f,g, h,i - var div, style, a, pixelPositionVal, boxSizingReliableVal, - reliableHiddenOffsetsVal, reliableMarginRightVal; - - // Setup - div = document.createElement( "div" ); - div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; - a = div.getElementsByTagName( "a" )[ 0 ]; - style = a && a.style; - - // Finish early in limited (non-browser) environments - if ( !style ) { - return; - } - - style.cssText = "float:left;opacity:.5"; - - // Support: IE<9 - // Make sure that element opacity exists (as opposed to filter) - support.opacity = style.opacity === "0.5"; - - // Verify style float existence - // (IE uses styleFloat instead of cssFloat) - support.cssFloat = !!style.cssFloat; - - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - support.boxSizing = style.boxSizing === "" || style.MozBoxSizing === "" || - style.WebkitBoxSizing === ""; - - jQuery.extend(support, { - reliableHiddenOffsets: function() { - if ( reliableHiddenOffsetsVal == null ) { - computeStyleTests(); - } - return reliableHiddenOffsetsVal; - }, - - boxSizingReliable: function() { - if ( boxSizingReliableVal == null ) { - computeStyleTests(); - } - return boxSizingReliableVal; - }, - - pixelPosition: function() { - if ( pixelPositionVal == null ) { - computeStyleTests(); - } - return pixelPositionVal; - }, - - // Support: Android 2.3 - reliableMarginRight: function() { - if ( reliableMarginRightVal == null ) { - computeStyleTests(); - } - return reliableMarginRightVal; - } - }); - - function computeStyleTests() { - // Minified: var b,c,d,j - var div, body, container, contents; - - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - // Test fired too early or in an unsupported environment, exit. - return; - } - - // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); - - div.style.cssText = - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" + - "box-sizing:border-box;display:block;margin-top:1%;top:1%;" + - "border:1px;padding:1px;width:4px;position:absolute"; - - // Support: IE<9 - // Assume reasonable values in the absence of getComputedStyle - pixelPositionVal = boxSizingReliableVal = false; - reliableMarginRightVal = true; - - // Check for getComputedStyle so that this code is not run in IE<9. - if ( window.getComputedStyle ) { - pixelPositionVal = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; - boxSizingReliableVal = - ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; - - // Support: Android 2.3 - // Div with explicit width and no margin-right incorrectly - // gets computed margin-right based on width of container (#3333) - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - contents = div.appendChild( document.createElement( "div" ) ); - - // Reset CSS: box-sizing; display; margin; border; padding - contents.style.cssText = div.style.cssText = - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + - "box-sizing:content-box;display:block;margin:0;border:0;padding:0"; - contents.style.marginRight = contents.style.width = "0"; - div.style.width = "1px"; - - reliableMarginRightVal = - !parseFloat( ( window.getComputedStyle( contents, null ) || {} ).marginRight ); - - div.removeChild( contents ); - } - - // Support: IE8 - // Check if table cells still have offsetWidth/Height when they are set - // to display:none and there are still other visible table cells in a - // table row; if so, offsetWidth/Height are not reliable for use when - // determining if an element has been hidden directly using - // display:none (it is still safe to use offsets if a parent element is - // hidden; don safety goggles and see bug #4512 for more information). - div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"; - contents = div.getElementsByTagName( "td" ); - contents[ 0 ].style.cssText = "margin:0;border:0;padding:0;display:none"; - reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0; - if ( reliableHiddenOffsetsVal ) { - contents[ 0 ].style.display = ""; - contents[ 1 ].style.display = "none"; - reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0; - } - - body.removeChild( container ); - } - -})(); - - -// A method for quickly swapping in/out CSS properties to get correct calculations. -jQuery.swap = function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - -var - ralpha = /alpha\([^)]*\)/i, - ropacity = /opacity\s*=\s*([^)]*)/, - - // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" - // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ), - rrelNum = new RegExp( "^([+-])=(" + pnum + ")", "i" ), - - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }, - - cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; - - -// return a css property mapped to a potentially vendor prefixed property -function vendorPropName( style, name ) { - - // shortcut for names that are not vendor prefixed - if ( name in style ) { - return name; - } - - // check for vendor prefixed names - var capName = name.charAt(0).toUpperCase() + name.slice(1), - origName = name, - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in style ) { - return name; - } - } - - return origName; -} - -function showHide( elements, show ) { - var display, elem, hidden, - values = [], - index = 0, - length = elements.length; - - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - values[ index ] = jQuery._data( elem, "olddisplay" ); - display = elem.style.display; - if ( show ) { - // Reset the inline display of this element to learn if it is - // being hidden by cascaded rules or not - if ( !values[ index ] && display === "none" ) { - elem.style.display = ""; - } - - // Set elements which have been overridden with display: none - // in a stylesheet to whatever the default browser style is - // for such an element - if ( elem.style.display === "" && isHidden( elem ) ) { - values[ index ] = jQuery._data( elem, "olddisplay", defaultDisplay(elem.nodeName) ); - } - } else { - hidden = isHidden( elem ); - - if ( display && display !== "none" || !hidden ) { - jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); - } - } - } - - // Set the display of most of the elements in a second loop - // to avoid the constant reflow - for ( index = 0; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - if ( !show || elem.style.display === "none" || elem.style.display === "" ) { - elem.style.display = show ? values[ index ] || "" : "none"; - } - } - - return elements; -} - -function setPositiveNumber( elem, value, subtract ) { - var matches = rnumsplit.exec( value ); - return matches ? - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : - value; -} - -function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { - var i = extra === ( isBorderBox ? "border" : "content" ) ? - // If we already have the right measurement, avoid augmentation - 4 : - // Otherwise initialize for horizontal or vertical properties - name === "width" ? 1 : 0, - - val = 0; - - for ( ; i < 4; i += 2 ) { - // both box models exclude margin, so add it if we want it - if ( extra === "margin" ) { - val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); - } - - if ( isBorderBox ) { - // border-box includes padding, so remove it if we want content - if ( extra === "content" ) { - val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // at this point, extra isn't border nor margin, so remove border - if ( extra !== "margin" ) { - val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } else { - // at this point, extra isn't content, so add padding - val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // at this point, extra isn't content nor padding, so add border - if ( extra !== "padding" ) { - val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - return val; -} - -function getWidthOrHeight( elem, name, extra ) { - - // Start with offset property, which is equivalent to the border-box value - var valueIsBorderBox = true, - val = name === "width" ? elem.offsetWidth : elem.offsetHeight, - styles = getStyles( elem ), - isBorderBox = support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // some non-html elements return undefined for offsetWidth, so check for null/undefined - // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 - // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 - if ( val <= 0 || val == null ) { - // Fall back to computed then uncomputed css if necessary - val = curCSS( elem, name, styles ); - if ( val < 0 || val == null ) { - val = elem.style[ name ]; - } - - // Computed unit is not pixels. Stop here and return. - if ( rnumnonpx.test(val) ) { - return val; - } - - // we need the check for style in case a browser which returns unreliable values - // for getComputedStyle silently falls back to the reliable elem.style - valueIsBorderBox = isBorderBox && ( support.boxSizingReliable() || val === elem.style[ name ] ); - - // Normalize "", auto, and prepare for extra - val = parseFloat( val ) || 0; - } - - // use the active box-sizing model to add/subtract irrelevant styles - return ( val + - augmentWidthOrHeight( - elem, - name, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles - ) - ) + "px"; -} - -jQuery.extend({ - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: { - // normalize float css property - "float": support.cssFloat ? "cssFloat" : "styleFloat" - }, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = jQuery.camelCase( name ), - style = elem.style; - - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); - - // gets hook for the prefixed version - // followed by the unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // convert relative number strings (+= or -=) to relative numbers. #7345 - if ( type === "string" && (ret = rrelNum.exec( value )) ) { - value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); - // Fixes bug #9237 - type = "number"; - } - - // Make sure that null and NaN values aren't set. See: #7116 - if ( value == null || value !== value ) { - return; - } - - // If a number was passed in, add 'px' to the (except for certain CSS properties) - if ( type === "number" && !jQuery.cssNumber[ origName ] ) { - value += "px"; - } - - // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, - // but it would mean to define eight (for every problematic property) identical functions - if ( !support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { - - // Support: IE - // Swallow errors from 'invalid' CSS values (#5509) - try { - style[ name ] = value; - } catch(e) {} - } - - } else { - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var num, val, hooks, - origName = jQuery.camelCase( name ); - - // Make sure that we're working with the right name - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); - - // gets hook for the prefixed version - // followed by the unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - //convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Return, converting to number if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; - } - return val; - } -}); - -jQuery.each([ "height", "width" ], function( i, name ) { - jQuery.cssHooks[ name ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - // certain elements can have dimension info if we invisibly show them - // however, it must have a current display style that would benefit from this - return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ? - jQuery.swap( elem, cssShow, function() { - return getWidthOrHeight( elem, name, extra ); - }) : - getWidthOrHeight( elem, name, extra ); - } - }, - - set: function( elem, value, extra ) { - var styles = extra && getStyles( elem ); - return setPositiveNumber( elem, value, extra ? - augmentWidthOrHeight( - elem, - name, - extra, - support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - styles - ) : 0 - ); - } - }; -}); - -if ( !support.opacity ) { - jQuery.cssHooks.opacity = { - get: function( elem, computed ) { - // IE uses filters for opacity - return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? - ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : - computed ? "1" : ""; - }, - - set: function( elem, value ) { - var style = elem.style, - currentStyle = elem.currentStyle, - opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", - filter = currentStyle && currentStyle.filter || style.filter || ""; - - // IE has trouble with opacity if it does not have layout - // Force it by setting the zoom level - style.zoom = 1; - - // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652 - // if value === "", then remove inline opacity #12685 - if ( ( value >= 1 || value === "" ) && - jQuery.trim( filter.replace( ralpha, "" ) ) === "" && - style.removeAttribute ) { - - // Setting style.filter to null, "" & " " still leave "filter:" in the cssText - // if "filter:" is present at all, clearType is disabled, we want to avoid this - // style.removeAttribute is IE Only, but so apparently is this code path... - style.removeAttribute( "filter" ); - - // if there is no filter style applied in a css rule or unset inline opacity, we are done - if ( value === "" || currentStyle && !currentStyle.filter ) { - return; - } - } - - // otherwise, set new filter values - style.filter = ralpha.test( filter ) ? - filter.replace( ralpha, opacity ) : - filter + " " + opacity; - } - }; -} - -jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight, - function( elem, computed ) { - if ( computed ) { - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - // Work around by temporarily setting element display to inline-block - return jQuery.swap( elem, { "display": "inline-block" }, - curCSS, [ elem, "marginRight" ] ); - } - } -); - -// These hooks are used by animate to expand properties -jQuery.each({ - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // assumes a single number if not a string - parts = typeof value === "string" ? value.split(" ") : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( !rmargin.test( prefix ) ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -}); - -jQuery.fn.extend({ - css: function( name, value ) { - return access( this, function( elem, name, value ) { - var styles, len, - map = {}, - i = 0; - - if ( jQuery.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - }, - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each(function() { - if ( isHidden( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - }); - } -}); - - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || "swing"; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - if ( tween.elem[ tween.prop ] != null && - (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { - return tween.elem[ tween.prop ]; - } - - // passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails - // so, simple values such as "10px" are parsed to Float. - // complex values such as "rotate(1rad)" are returned as is. - result = jQuery.css( tween.elem, tween.prop, "" ); - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - // use step hook for back compat - use cssHook if its there - use .style if its - // available and use plain properties where available - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Support: IE <=9 -// Panic based approach to setting things on disconnected nodes - -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p * Math.PI ) / 2; - } -}; - -jQuery.fx = Tween.prototype.init; - -// Back Compat <1.8 extension point -jQuery.fx.step = {}; - - - - -var - fxNow, timerId, - rfxtypes = /^(?:toggle|show|hide)$/, - rfxnum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ), - rrun = /queueHooks$/, - animationPrefilters = [ defaultPrefilter ], - tweeners = { - "*": [ function( prop, value ) { - var tween = this.createTween( prop, value ), - target = tween.cur(), - parts = rfxnum.exec( value ), - unit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - start = ( jQuery.cssNumber[ prop ] || unit !== "px" && +target ) && - rfxnum.exec( jQuery.css( tween.elem, prop ) ), - scale = 1, - maxIterations = 20; - - if ( start && start[ 3 ] !== unit ) { - // Trust units reported by jQuery.css - unit = unit || start[ 3 ]; - - // Make sure we update the tween properties later on - parts = parts || []; - - // Iteratively approximate from a nonzero starting point - start = +target || 1; - - do { - // If previous iteration zeroed out, double until we get *something* - // Use a string for doubling factor so we don't accidentally see scale as unchanged below - scale = scale || ".5"; - - // Adjust and apply - start = start / scale; - jQuery.style( tween.elem, prop, start + unit ); - - // Update scale, tolerating zero or NaN from tween.cur() - // And breaking the loop if scale is unchanged or perfect, or if we've just had enough - } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); - } - - // Update tween properties - if ( parts ) { - start = tween.start = +start || +target || 0; - tween.unit = unit; - // If a +=/-= token was provided, we're doing a relative animation - tween.end = parts[ 1 ] ? - start + ( parts[ 1 ] + 1 ) * parts[ 2 ] : - +parts[ 2 ]; - } - - return tween; - } ] - }; - -// Animations created synchronously will run synchronously -function createFxNow() { - setTimeout(function() { - fxNow = undefined; - }); - return ( fxNow = jQuery.now() ); -} - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - attrs = { height: type }, - i = 0; - - // if we include width, step value is 1 to do all cssExpand values, - // if we don't include width, step value is 2 to skip over Left and Right - includeWidth = includeWidth ? 1 : 0; - for ( ; i < 4 ; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -function createTween( value, prop, animation ) { - var tween, - collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( (tween = collection[ index ].call( animation, prop, value )) ) { - - // we're done with this property - return tween; - } - } -} - -function defaultPrefilter( elem, props, opts ) { - /* jshint validthis: true */ - var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHidden( elem ), - dataShow = jQuery._data( elem, "fxshow" ); - - // handle queue: false promises - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always(function() { - // doing this makes sure that the complete handler will be called - // before this completes - anim.always(function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - }); - }); - } - - // height/width overflow pass - if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { - // Make sure that nothing sneaks out - // Record all 3 overflow attributes because IE does not - // change the overflow attribute when overflowX and - // overflowY are set to the same value - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Set display property to inline-block for height/width - // animations on inline elements that are having width/height animated - display = jQuery.css( elem, "display" ); - - // Test default display if display is currently "none" - checkDisplay = display === "none" ? - jQuery._data( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display; - - if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) { - - // inline-level elements accept inline-block; - // block-level elements need to be inline with layout - if ( !support.inlineBlockNeedsLayout || defaultDisplay( elem.nodeName ) === "inline" ) { - style.display = "inline-block"; - } else { - style.zoom = 1; - } - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - if ( !support.shrinkWrapBlocks() ) { - anim.always(function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - }); - } - } - - // show/hide pass - for ( prop in props ) { - value = props[ prop ]; - if ( rfxtypes.exec( value ) ) { - delete props[ prop ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - - // If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden - if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { - hidden = true; - } else { - continue; - } - } - orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); - - // Any non-fx value stops us from restoring the original display value - } else { - display = undefined; - } - } - - if ( !jQuery.isEmptyObject( orig ) ) { - if ( dataShow ) { - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - } else { - dataShow = jQuery._data( elem, "fxshow", {} ); - } - - // store state if its toggle - enables .stop().toggle() to "reverse" - if ( toggle ) { - dataShow.hidden = !hidden; - } - if ( hidden ) { - jQuery( elem ).show(); - } else { - anim.done(function() { - jQuery( elem ).hide(); - }); - } - anim.done(function() { - var prop; - jQuery._removeData( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - }); - for ( prop in orig ) { - tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); - - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = tween.start; - if ( hidden ) { - tween.end = tween.start; - tween.start = prop === "width" || prop === "height" ? 1 : 0; - } - } - } - - // If this is a noop like .hide().hide(), restore an overwritten display value - } else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) { - style.display = display; - } -} - -function propFilter( props, specialEasing ) { - var index, name, easing, value, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = jQuery.camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( jQuery.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // not quite $.extend, this wont overwrite keys already present. - // also - reusing 'index' from above because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = animationPrefilters.length, - deferred = jQuery.Deferred().always( function() { - // don't match elem in the :animated selector - delete tick.elem; - }), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length ; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ]); - - if ( percent < 1 && length ) { - return remaining; - } else { - deferred.resolveWith( elem, [ animation ] ); - return false; - } - }, - animation = deferred.promise({ - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { specialEasing: {} }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - // if we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length ; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // resolve when we played the last frame - // otherwise, reject - if ( gotoEnd ) { - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - }), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length ; index++ ) { - result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - return result; - } - } - - jQuery.map( props, createTween, animation ); - - if ( jQuery.isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - }) - ); - - // attach callbacks from options - return animation.progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); -} - -jQuery.Animation = jQuery.extend( Animation, { - tweener: function( props, callback ) { - if ( jQuery.isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.split(" "); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length ; index++ ) { - prop = props[ index ]; - tweeners[ prop ] = tweeners[ prop ] || []; - tweeners[ prop ].unshift( callback ); - } - }, - - prefilter: function( callback, prepend ) { - if ( prepend ) { - animationPrefilters.unshift( callback ); - } else { - animationPrefilters.push( callback ); - } - } -}); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - jQuery.isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing - }; - - opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : - opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; - - // normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( jQuery.isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.fn.extend({ - fadeTo: function( speed, to, easing, callback ) { - - // show any hidden elements after setting opacity to 0 - return this.filter( isHidden ).css( "opacity", 0 ).show() - - // animate to the value specified - .end().animate({ opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - - // Empty animations, or finishing resolves immediately - if ( empty || jQuery._data( this, "finish" ) ) { - anim.stop( true ); - } - }; - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue && type !== false ) { - this.queue( type || "fx", [] ); - } - - return this.each(function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = jQuery._data( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // start the next in the queue if the last step wasn't forced - // timers currently will call their complete callbacks, which will dequeue - // but only if they were gotoEnd - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - }); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each(function() { - var index, - data = jQuery._data( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // enable finishing flag on private data - data.finish = true; - - // empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.stop ) { - hooks.stop.call( this, true ); - } - - // look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // turn off finishing flag - delete data.finish; - }); - } -}); - -jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -}); - -// Generate shortcuts for custom animations -jQuery.each({ - slideDown: genFx("show"), - slideUp: genFx("hide"), - slideToggle: genFx("toggle"), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -}); - -jQuery.timers = []; -jQuery.fx.tick = function() { - var timer, - timers = jQuery.timers, - i = 0; - - fxNow = jQuery.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - // Checks the timer has not already been removed - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - jQuery.timers.push( timer ); - if ( timer() ) { - jQuery.fx.start(); - } else { - jQuery.timers.pop(); - } -}; - -jQuery.fx.interval = 13; - -jQuery.fx.start = function() { - if ( !timerId ) { - timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); - } -}; - -jQuery.fx.stop = function() { - clearInterval( timerId ); - timerId = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - // Default speed - _default: 400 -}; - - -// Based off of the plugin by Clint Helfers, with permission. -// http://blindsignals.com/index.php/2009/07/jquery-delay/ -jQuery.fn.delay = function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = setTimeout( next, time ); - hooks.stop = function() { - clearTimeout( timeout ); - }; - }); -}; - - -(function() { - // Minified: var a,b,c,d,e - var input, div, select, a, opt; - - // Setup - div = document.createElement( "div" ); - div.setAttribute( "className", "t" ); - div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; - a = div.getElementsByTagName("a")[ 0 ]; - - // First batch of tests. - select = document.createElement("select"); - opt = select.appendChild( document.createElement("option") ); - input = div.getElementsByTagName("input")[ 0 ]; - - a.style.cssText = "top:1px"; - - // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) - support.getSetAttribute = div.className !== "t"; - - // Get the style information from getAttribute - // (IE uses .cssText instead) - support.style = /top/.test( a.getAttribute("style") ); - - // Make sure that URLs aren't manipulated - // (IE normalizes it by default) - support.hrefNormalized = a.getAttribute("href") === "/a"; - - // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) - support.checkOn = !!input.value; - - // Make sure that a selected-by-default option has a working selected property. - // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) - support.optSelected = opt.selected; - - // Tests for enctype support on a form (#6743) - support.enctype = !!document.createElement("form").enctype; - - // Make sure that the options inside disabled selects aren't marked as disabled - // (WebKit marks them as disabled) - select.disabled = true; - support.optDisabled = !opt.disabled; - - // Support: IE8 only - // Check if we can trust getAttribute("value") - input = document.createElement( "input" ); - input.setAttribute( "value", "" ); - support.input = input.getAttribute( "value" ) === ""; - - // Check if an input maintains its value after becoming a radio - input.value = "t"; - input.setAttribute( "type", "radio" ); - support.radioValue = input.value === "t"; -})(); - - -var rreturn = /\r/g; - -jQuery.fn.extend({ - val: function( value ) { - var hooks, ret, isFunction, - elem = this[0]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { - return ret; - } - - ret = elem.value; - - return typeof ret === "string" ? - // handle most common string cases - ret.replace(rreturn, "") : - // handle cases where value is null/undef or number - ret == null ? "" : ret; - } - - return; - } - - isFunction = jQuery.isFunction( value ); - - return this.each(function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - } else if ( typeof val === "number" ) { - val += ""; - } else if ( jQuery.isArray( val ) ) { - val = jQuery.map( val, function( value ) { - return value == null ? "" : value + ""; - }); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - }); - } -}); - -jQuery.extend({ - valHooks: { - option: { - get: function( elem ) { - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - // Support: IE10-11+ - // option.text throws exceptions (#14686, #14858) - jQuery.trim( jQuery.text( elem ) ); - } - }, - select: { - get: function( elem ) { - var value, option, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one" || index < 0, - values = one ? null : [], - max = one ? index + 1 : options.length, - i = index < 0 ? - max : - one ? index : 0; - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // oldIE doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - // Don't return options that are disabled or in a disabled optgroup - ( support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && - ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - - if ( jQuery.inArray( jQuery.valHooks.option.get( option ), values ) >= 0 ) { - - // Support: IE6 - // When new option element is added to select box we need to - // force reflow of newly added node in order to workaround delay - // of initialization properties - try { - option.selected = optionSet = true; - - } catch ( _ ) { - - // Will be executed only in IE6 - option.scrollHeight; - } - - } else { - option.selected = false; - } - } - - // Force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - - return options; - } - } - } -}); - -// Radios and checkboxes getter/setter -jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( jQuery.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); - } - } - }; - if ( !support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - // Support: Webkit - // "" is returned instead of "on" if a value isn't specified - return elem.getAttribute("value") === null ? "on" : elem.value; - }; - } -}); - - - - -var nodeHook, boolHook, - attrHandle = jQuery.expr.attrHandle, - ruseDefault = /^(?:checked|selected)$/i, - getSetAttribute = support.getSetAttribute, - getSetInput = support.input; - -jQuery.fn.extend({ - attr: function( name, value ) { - return access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each(function() { - jQuery.removeAttr( this, name ); - }); - } -}); - -jQuery.extend({ - attr: function( elem, name, value ) { - var hooks, ret, - nType = elem.nodeType; - - // don't get/set attributes on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === strundefined ) { - return jQuery.prop( elem, name, value ); - } - - // All attributes are lowercase - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - name = name.toLowerCase(); - hooks = jQuery.attrHooks[ name ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook ); - } - - if ( value !== undefined ) { - - if ( value === null ) { - jQuery.removeAttr( elem, name ); - - } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - elem.setAttribute( name, value + "" ); - return value; - } - - } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { - return ret; - - } else { - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? - undefined : - ret; - } - }, - - removeAttr: function( elem, value ) { - var name, propName, - i = 0, - attrNames = value && value.match( rnotwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( (name = attrNames[i++]) ) { - propName = jQuery.propFix[ name ] || name; - - // Boolean attributes get special treatment (#10870) - if ( jQuery.expr.match.bool.test( name ) ) { - // Set corresponding property to false - if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { - elem[ propName ] = false; - // Support: IE<9 - // Also clear defaultChecked/defaultSelected (if appropriate) - } else { - elem[ jQuery.camelCase( "default-" + name ) ] = - elem[ propName ] = false; - } - - // See #9699 for explanation of this approach (setting first, then removal) - } else { - jQuery.attr( elem, name, "" ); - } - - elem.removeAttribute( getSetAttribute ? name : propName ); - } - } - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { - // Setting the type on a radio button after the value resets the value in IE6-9 - // Reset value to default in case type is set after value during creation - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - } -}); - -// Hook for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { - // IE<8 needs the *property* name - elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); - - // Use defaultChecked and defaultSelected for oldIE - } else { - elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; - } - - return name; - } -}; - -// Retrieve booleans specially -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { - - var getter = attrHandle[ name ] || jQuery.find.attr; - - attrHandle[ name ] = getSetInput && getSetAttribute || !ruseDefault.test( name ) ? - function( elem, name, isXML ) { - var ret, handle; - if ( !isXML ) { - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[ name ]; - attrHandle[ name ] = ret; - ret = getter( elem, name, isXML ) != null ? - name.toLowerCase() : - null; - attrHandle[ name ] = handle; - } - return ret; - } : - function( elem, name, isXML ) { - if ( !isXML ) { - return elem[ jQuery.camelCase( "default-" + name ) ] ? - name.toLowerCase() : - null; - } - }; -}); - -// fix oldIE attroperties -if ( !getSetInput || !getSetAttribute ) { - jQuery.attrHooks.value = { - set: function( elem, value, name ) { - if ( jQuery.nodeName( elem, "input" ) ) { - // Does not return so that setAttribute is also used - elem.defaultValue = value; - } else { - // Use nodeHook if defined (#1954); otherwise setAttribute is fine - return nodeHook && nodeHook.set( elem, value, name ); - } - } - }; -} - -// IE6/7 do not support getting/setting some attributes with get/setAttribute -if ( !getSetAttribute ) { - - // Use this for any attribute in IE6/7 - // This fixes almost every IE6/7 issue - nodeHook = { - set: function( elem, value, name ) { - // Set the existing or create a new attribute node - var ret = elem.getAttributeNode( name ); - if ( !ret ) { - elem.setAttributeNode( - (ret = elem.ownerDocument.createAttribute( name )) - ); - } - - ret.value = value += ""; - - // Break association with cloned elements by also using setAttribute (#9646) - if ( name === "value" || value === elem.getAttribute( name ) ) { - return value; - } - } - }; - - // Some attributes are constructed with empty-string values when not defined - attrHandle.id = attrHandle.name = attrHandle.coords = - function( elem, name, isXML ) { - var ret; - if ( !isXML ) { - return (ret = elem.getAttributeNode( name )) && ret.value !== "" ? - ret.value : - null; - } - }; - - // Fixing value retrieval on a button requires this module - jQuery.valHooks.button = { - get: function( elem, name ) { - var ret = elem.getAttributeNode( name ); - if ( ret && ret.specified ) { - return ret.value; - } - }, - set: nodeHook.set - }; - - // Set contenteditable to false on removals(#10429) - // Setting to empty string throws an error as an invalid value - jQuery.attrHooks.contenteditable = { - set: function( elem, value, name ) { - nodeHook.set( elem, value === "" ? false : value, name ); - } - }; - - // Set width and height to auto instead of 0 on empty string( Bug #8150 ) - // This is for removals - jQuery.each([ "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = { - set: function( elem, value ) { - if ( value === "" ) { - elem.setAttribute( name, "auto" ); - return value; - } - } - }; - }); -} - -if ( !support.style ) { - jQuery.attrHooks.style = { - get: function( elem ) { - // Return undefined in the case of empty string - // Note: IE uppercases css property names, but if we were to .toLowerCase() - // .cssText, that would destroy case senstitivity in URL's, like in "background" - return elem.style.cssText || undefined; - }, - set: function( elem, value ) { - return ( elem.style.cssText = value + "" ); - } - }; -} - - - - -var rfocusable = /^(?:input|select|textarea|button|object)$/i, - rclickable = /^(?:a|area)$/i; - -jQuery.fn.extend({ - prop: function( name, value ) { - return access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - name = jQuery.propFix[ name ] || name; - return this.each(function() { - // try/catch handles cases where IE balks (such as removing a property on window) - try { - this[ name ] = undefined; - delete this[ name ]; - } catch( e ) {} - }); - } -}); - -jQuery.extend({ - propFix: { - "for": "htmlFor", - "class": "className" - }, - - prop: function( elem, name, value ) { - var ret, hooks, notxml, - nType = elem.nodeType; - - // don't get/set properties on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - if ( notxml ) { - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ? - ret : - ( elem[ name ] = value ); - - } else { - return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ? - ret : - elem[ name ]; - } - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - // Use proper attribute retrieval(#12072) - var tabindex = jQuery.find.attr( elem, "tabindex" ); - - return tabindex ? - parseInt( tabindex, 10 ) : - rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? - 0 : - -1; - } - } - } -}); - -// Some attributes require a special call on IE -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !support.hrefNormalized ) { - // href/src property should get the full normalized URL (#10299/#12915) - jQuery.each([ "href", "src" ], function( i, name ) { - jQuery.propHooks[ name ] = { - get: function( elem ) { - return elem.getAttribute( name, 4 ); - } - }; - }); -} - -// Support: Safari, IE9+ -// mis-reports the default selected property of an option -// Accessing the parent's selectedIndex property fixes it -if ( !support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - var parent = elem.parentNode; - - if ( parent ) { - parent.selectedIndex; - - // Make sure that it also works with optgroups, see #5701 - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - return null; - } - }; -} - -jQuery.each([ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -}); - -// IE6/7 call enctype encoding -if ( !support.enctype ) { - jQuery.propFix.enctype = "encoding"; -} - - - - -var rclass = /[\t\r\n\f]/g; - -jQuery.fn.extend({ - addClass: function( value ) { - var classes, elem, cur, clazz, j, finalValue, - i = 0, - len = this.length, - proceed = typeof value === "string" && value; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).addClass( value.call( this, j, this.className ) ); - }); - } - - if ( proceed ) { - // The disjunction here is for better compressibility (see removeClass) - classes = ( value || "" ).match( rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - " " - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - - // only assign if different to avoid unneeded rendering. - finalValue = jQuery.trim( cur ); - if ( elem.className !== finalValue ) { - elem.className = finalValue; - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, clazz, j, finalValue, - i = 0, - len = this.length, - proceed = arguments.length === 0 || typeof value === "string" && value; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).removeClass( value.call( this, j, this.className ) ); - }); - } - if ( proceed ) { - classes = ( value || "" ).match( rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - "" - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - - // only assign if different to avoid unneeded rendering. - finalValue = value ? jQuery.trim( cur ) : ""; - if ( elem.className !== finalValue ) { - elem.className = finalValue; - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value; - - if ( typeof stateVal === "boolean" && type === "string" ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - if ( jQuery.isFunction( value ) ) { - return this.each(function( i ) { - jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); - }); - } - - return this.each(function() { - if ( type === "string" ) { - // toggle individual class names - var className, - i = 0, - self = jQuery( this ), - classNames = value.match( rnotwhite ) || []; - - while ( (className = classNames[ i++ ]) ) { - // check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( type === strundefined || type === "boolean" ) { - if ( this.className ) { - // store className if set - jQuery._data( this, "__className__", this.className ); - } - - // If the element has a class name or if we're passed "false", - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; - } - }); - }, - - hasClass: function( selector ) { - var className = " " + selector + " ", - i = 0, - l = this.length; - for ( ; i < l; i++ ) { - if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { - return true; - } - } - - return false; - } -}); - - - - -// Return jQuery for attributes-only inclusion - - -jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + - "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + - "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - return arguments.length > 0 ? - this.on( name, null, data, fn ) : - this.trigger( name ); - }; -}); - -jQuery.fn.extend({ - hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); - }, - - bind: function( types, data, fn ) { - return this.on( types, null, data, fn ); - }, - unbind: function( types, fn ) { - return this.off( types, null, fn ); - }, - - delegate: function( selector, types, data, fn ) { - return this.on( types, selector, data, fn ); - }, - undelegate: function( selector, types, fn ) { - // ( namespace ) or ( selector, types [, fn] ) - return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); - } -}); - - -var nonce = jQuery.now(); - -var rquery = (/\?/); - - - -var rvalidtokens = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g; - -jQuery.parseJSON = function( data ) { - // Attempt to parse using the native JSON parser first - if ( window.JSON && window.JSON.parse ) { - // Support: Android 2.3 - // Workaround failure to string-cast null input - return window.JSON.parse( data + "" ); - } - - var requireNonComma, - depth = null, - str = jQuery.trim( data + "" ); - - // Guard against invalid (and possibly dangerous) input by ensuring that nothing remains - // after removing valid tokens - return str && !jQuery.trim( str.replace( rvalidtokens, function( token, comma, open, close ) { - - // Force termination if we see a misplaced comma - if ( requireNonComma && comma ) { - depth = 0; - } - - // Perform no more replacements after returning to outermost depth - if ( depth === 0 ) { - return token; - } - - // Commas must not follow "[", "{", or "," - requireNonComma = open || comma; - - // Determine new depth - // array/object open ("[" or "{"): depth += true - false (increment) - // array/object close ("]" or "}"): depth += false - true (decrement) - // other cases ("," or primitive): depth += true - true (numeric cast) - depth += !close - !open; - - // Remove this token - return ""; - }) ) ? - ( Function( "return " + str ) )() : - jQuery.error( "Invalid JSON: " + data ); -}; - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml, tmp; - if ( !data || typeof data !== "string" ) { - return null; - } - try { - if ( window.DOMParser ) { // Standard - tmp = new DOMParser(); - xml = tmp.parseFromString( data, "text/xml" ); - } else { // IE - xml = new ActiveXObject( "Microsoft.XMLDOM" ); - xml.async = "false"; - xml.loadXML( data ); - } - } catch( e ) { - xml = undefined; - } - if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); - } - return xml; -}; - - -var - // Document location - ajaxLocParts, - ajaxLocation, - - rhash = /#.*$/, - rts = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - rurl = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat("*"); - -// #8138, IE may throw an exception when accessing -// a field from window.location if document.domain has been set -try { - ajaxLocation = location.href; -} catch( e ) { - // Use the href attribute of an A element - // since IE will modify it given document.location - ajaxLocation = document.createElement( "a" ); - ajaxLocation.href = ""; - ajaxLocation = ajaxLocation.href; -} - -// Segment location into parts -ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || []; - - if ( jQuery.isFunction( func ) ) { - // For each dataType in the dataTypeExpression - while ( (dataType = dataTypes[i++]) ) { - // Prepend if requested - if ( dataType.charAt( 0 ) === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - (structure[ dataType ] = structure[ dataType ] || []).unshift( func ); - - // Otherwise append - } else { - (structure[ dataType ] = structure[ dataType ] || []).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if ( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - }); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var deep, key, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -/* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - var firstDataType, ct, finalDataType, type, - contents = s.contents, - dataTypes = s.dataTypes; - - // Remove auto dataType and get content-type in the process - while ( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -/* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ -function ajaxConvert( s, response, jqXHR, isSuccess ) { - var conv2, current, conv, tmp, prev, - converters = {}, - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - current = dataTypes.shift(); - - // Convert to each sequential dataType - while ( current ) { - - if ( s.responseFields[ current ] ) { - jqXHR[ s.responseFields[ current ] ] = response; - } - - // Apply the dataFilter if provided - if ( !prev && isSuccess && s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - prev = current; - current = dataTypes.shift(); - - if ( current ) { - - // There's only work to do if current dataType is non-auto - if ( current === "*" ) { - - current = prev; - - // Convert response if prev dataType is non-auto and differs from current - } else if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split( " " ); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.unshift( tmp[ 1 ] ); - } - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s[ "throws" ] ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; - } - } - } - } - } - } - - return { state: "success", data: response }; -} - -jQuery.extend({ - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: ajaxLocation, - type: "GET", - isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /xml/, - html: /html/, - json: /json/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": jQuery.parseJSON, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var // Cross-domain detection vars - parts, - // Loop variable - i, - // URL without anti-cache param - cacheURL, - // Response headers as string - responseHeadersString, - // timeout handle - timeoutTimer, - - // To know if global events are to be dispatched - fireGlobals, - - transport, - // Response headers - responseHeaders, - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - // Callbacks context - callbackContext = s.context || s, - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks("once memory"), - // Status-dependent callbacks - statusCode = s.statusCode || {}, - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - // The jqXHR state - state = 0, - // Default abort message - strAbort = "canceled", - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( state === 2 ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( (match = rheaders.exec( responseHeadersString )) ) { - responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; - } - } - match = responseHeaders[ key.toLowerCase() ]; - } - return match == null ? null : match; - }, - - // Raw string - getAllResponseHeaders: function() { - return state === 2 ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - var lname = name.toLowerCase(); - if ( !state ) { - name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( !state ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( state < 2 ) { - for ( code in map ) { - // Lazy-add the new callback in a way that preserves old ones - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } else { - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ).complete = completeDeferred.add; - jqXHR.success = jqXHR.done; - jqXHR.error = jqXHR.fail; - - // Remove hash character (#7531: and string promotion) - // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ]; - - // A cross-domain request is in order when we have a protocol:host:port mismatch - if ( s.crossDomain == null ) { - parts = rurl.exec( s.url.toLowerCase() ); - s.crossDomain = !!( parts && - ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] || - ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !== - ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) ) - ); - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( state === 2 ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) - fireGlobals = jQuery.event && s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger("ajaxStart"); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - cacheURL = s.url; - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // If data is available, append data to url - if ( s.data ) { - cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data ); - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add anti-cache in url if needed - if ( s.cache === false ) { - s.url = rts.test( cacheURL ) ? - - // If there is already a '_' parameter, set its value - cacheURL.replace( rts, "$1_=" + nonce++ ) : - - // Otherwise add one to the end - cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++; - } - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? - s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { - // Abort if not done already and return - return jqXHR.abort(); - } - - // aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - for ( i in { success: 1, error: 1, complete: 1 } ) { - jqXHR[ i ]( s[ i ] ); - } - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = setTimeout(function() { - jqXHR.abort("timeout"); - }, s.timeout ); - } - - try { - state = 1; - transport.send( requestHeaders, done ); - } catch ( e ) { - // Propagate exception as error if not done - if ( state < 2 ) { - done( -1, e ); - // Simply rethrow otherwise - } else { - throw e; - } - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Called once - if ( state === 2 ) { - return; - } - - // State is "done" now - state = 2; - - // Clear timeout if it exists - if ( timeoutTimer ) { - clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Determine if successful - isSuccess = status >= 200 && status < 300 || status === 304; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // Convert no matter what (that way responseXXX fields are always set) - response = ajaxConvert( s, response, jqXHR, isSuccess ); - - // If successful, handle type chaining - if ( isSuccess ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader("Last-Modified"); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader("etag"); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 || s.type === "HEAD" ) { - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - // We extract error from statusText - // then normalize statusText and status for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger("ajaxStop"); - } - } - } - - return jqXHR; - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - } -}); - -jQuery.each( [ "get", "post" ], function( i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - // shift arguments if data argument was omitted - if ( jQuery.isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - return jQuery.ajax({ - url: url, - type: method, - dataType: type, - data: data, - success: callback - }); - }; -}); - - -jQuery._evalUrl = function( url ) { - return jQuery.ajax({ - url: url, - type: "GET", - dataType: "script", - async: false, - global: false, - "throws": true - }); -}; - - -jQuery.fn.extend({ - wrapAll: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapAll( html.call(this, i) ); - }); - } - - if ( this[0] ) { - // The elements to wrap the target around - var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); - - if ( this[0].parentNode ) { - wrap.insertBefore( this[0] ); - } - - wrap.map(function() { - var elem = this; - - while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { - elem = elem.firstChild; - } - - return elem; - }).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapInner( html.call(this, i) ); - }); - } - - return this.each(function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - }); - }, - - wrap: function( html ) { - var isFunction = jQuery.isFunction( html ); - - return this.each(function(i) { - jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); - }); - }, - - unwrap: function() { - return this.parent().each(function() { - if ( !jQuery.nodeName( this, "body" ) ) { - jQuery( this ).replaceWith( this.childNodes ); - } - }).end(); - } -}); - - -jQuery.expr.filters.hidden = function( elem ) { - // Support: Opera <= 12.12 - // Opera reports offsetWidths and offsetHeights less than zero on some elements - return elem.offsetWidth <= 0 && elem.offsetHeight <= 0 || - (!support.reliableHiddenOffsets() && - ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none"); -}; - -jQuery.expr.filters.visible = function( elem ) { - return !jQuery.expr.filters.hidden( elem ); -}; - - - - -var r20 = /%20/g, - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( jQuery.isArray( obj ) ) { - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - // Item is non-scalar (array or object), encode its numeric index. - buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); - } - }); - - } else if ( !traditional && jQuery.type( obj ) === "object" ) { - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - // Serialize scalar item. - add( prefix, obj ); - } -} - -// Serialize an array of form elements or a set of -// key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, value ) { - // If value is a function, invoke it and return its value - value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); - s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); - }; - - // Set traditional to true for jQuery <= 1.3.2 behavior. - if ( traditional === undefined ) { - traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - }); - - } else { - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ).replace( r20, "+" ); -}; - -jQuery.fn.extend({ - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map(function() { - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - }) - .filter(function() { - var type = this.type; - // Use .is(":disabled") so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !rcheckableType.test( type ) ); - }) - .map(function( i, elem ) { - var val = jQuery( this ).val(); - - return val == null ? - null : - jQuery.isArray( val ) ? - jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }) : - { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }).get(); - } -}); - - -// Create the request object -// (This is still attached to ajaxSettings for backward compatibility) -jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ? - // Support: IE6+ - function() { - - // XHR cannot access local files, always use ActiveX for that case - return !this.isLocal && - - // Support: IE7-8 - // oldIE XHR does not support non-RFC2616 methods (#13240) - // See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx - // and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9 - // Although this check for six methods instead of eight - // since IE also does not support "trace" and "connect" - /^(get|post|head|put|delete|options)$/i.test( this.type ) && - - createStandardXHR() || createActiveXHR(); - } : - // For all other browsers, use the standard XMLHttpRequest object - createStandardXHR; - -var xhrId = 0, - xhrCallbacks = {}, - xhrSupported = jQuery.ajaxSettings.xhr(); - -// Support: IE<10 -// Open requests must be manually aborted on unload (#5280) -// See https://support.microsoft.com/kb/2856746 for more info -if ( window.attachEvent ) { - window.attachEvent( "onunload", function() { - for ( var key in xhrCallbacks ) { - xhrCallbacks[ key ]( undefined, true ); - } - }); -} - -// Determine support properties -support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -xhrSupported = support.ajax = !!xhrSupported; - -// Create transport if the browser can provide an xhr -if ( xhrSupported ) { - - jQuery.ajaxTransport(function( options ) { - // Cross domain only allowed if supported through XMLHttpRequest - if ( !options.crossDomain || support.cors ) { - - var callback; - - return { - send: function( headers, complete ) { - var i, - xhr = options.xhr(), - id = ++xhrId; - - // Open the socket - xhr.open( options.type, options.url, options.async, options.username, options.password ); - - // Apply custom fields if provided - if ( options.xhrFields ) { - for ( i in options.xhrFields ) { - xhr[ i ] = options.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( options.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( options.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !options.crossDomain && !headers["X-Requested-With"] ) { - headers["X-Requested-With"] = "XMLHttpRequest"; - } - - // Set headers - for ( i in headers ) { - // Support: IE<9 - // IE's ActiveXObject throws a 'Type Mismatch' exception when setting - // request header to a null-value. - // - // To keep consistent with other XHR implementations, cast the value - // to string and ignore `undefined`. - if ( headers[ i ] !== undefined ) { - xhr.setRequestHeader( i, headers[ i ] + "" ); - } - } - - // Do send the request - // This may raise an exception which is actually - // handled in jQuery.ajax (so no try/catch here) - xhr.send( ( options.hasContent && options.data ) || null ); - - // Listener - callback = function( _, isAbort ) { - var status, statusText, responses; - - // Was never called and is aborted or complete - if ( callback && ( isAbort || xhr.readyState === 4 ) ) { - // Clean up - delete xhrCallbacks[ id ]; - callback = undefined; - xhr.onreadystatechange = jQuery.noop; - - // Abort manually if needed - if ( isAbort ) { - if ( xhr.readyState !== 4 ) { - xhr.abort(); - } - } else { - responses = {}; - status = xhr.status; - - // Support: IE<10 - // Accessing binary-data responseText throws an exception - // (#11426) - if ( typeof xhr.responseText === "string" ) { - responses.text = xhr.responseText; - } - - // Firefox throws an exception when accessing - // statusText for faulty cross-domain requests - try { - statusText = xhr.statusText; - } catch( e ) { - // We normalize with Webkit giving an empty statusText - statusText = ""; - } - - // Filter status for non standard behaviors - - // If the request is local and we have data: assume a success - // (success with no data won't get notified, that's the best we - // can do given current implementations) - if ( !status && options.isLocal && !options.crossDomain ) { - status = responses.text ? 200 : 404; - // IE - #1450: sometimes returns 1223 when it should be 204 - } else if ( status === 1223 ) { - status = 204; - } - } - } - - // Call complete if needed - if ( responses ) { - complete( status, statusText, responses, xhr.getAllResponseHeaders() ); - } - }; - - if ( !options.async ) { - // if we're in sync mode we fire the callback - callback(); - } else if ( xhr.readyState === 4 ) { - // (IE6 & IE7) if it's in cache and has been - // retrieved directly we need to fire the callback - setTimeout( callback ); - } else { - // Add to the list of active xhr callbacks - xhr.onreadystatechange = xhrCallbacks[ id ] = callback; - } - }, - - abort: function() { - if ( callback ) { - callback( undefined, true ); - } - } - }; - } - }); -} - -// Functions to create xhrs -function createStandardXHR() { - try { - return new window.XMLHttpRequest(); - } catch( e ) {} -} - -function createActiveXHR() { - try { - return new window.ActiveXObject( "Microsoft.XMLHTTP" ); - } catch( e ) {} -} - - - - -// Install script dataType -jQuery.ajaxSetup({ - accepts: { - script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /(?:java|ecma)script/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -}); - -// Handle cache's special case and global -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - s.global = false; - } -}); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function(s) { - - // This transport only deals with cross domain requests - if ( s.crossDomain ) { - - var script, - head = document.head || jQuery("head")[0] || document.documentElement; - - return { - - send: function( _, callback ) { - - script = document.createElement("script"); - - script.async = true; - - if ( s.scriptCharset ) { - script.charset = s.scriptCharset; - } - - script.src = s.url; - - // Attach handlers for all browsers - script.onload = script.onreadystatechange = function( _, isAbort ) { - - if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { - - // Handle memory leak in IE - script.onload = script.onreadystatechange = null; - - // Remove the script - if ( script.parentNode ) { - script.parentNode.removeChild( script ); - } - - // Dereference the script - script = null; - - // Callback if not abort - if ( !isAbort ) { - callback( 200, "success" ); - } - } - }; - - // Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending - // Use native DOM manipulation to avoid our domManip AJAX trickery - head.insertBefore( script, head.firstChild ); - }, - - abort: function() { - if ( script ) { - script.onload( undefined, true ); - } - } - }; - } -}); - - - - -var oldCallbacks = [], - rjsonp = /(=)\?(?=&|$)|\?\?/; - -// Default jsonp settings -jQuery.ajaxSetup({ - jsonp: "callback", - jsonpCallback: function() { - var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); - this[ callback ] = true; - return callback; - } -}); - -// Detect, normalize options and install callbacks for jsonp requests -jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { - - var callbackName, overwritten, responseContainer, - jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? - "url" : - typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data" - ); - - // Handle iff the expected data type is "jsonp" or we have a parameter to set - if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { - - // Get callback name, remembering preexisting value associated with it - callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? - s.jsonpCallback() : - s.jsonpCallback; - - // Insert callback into url or form data - if ( jsonProp ) { - s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); - } else if ( s.jsonp !== false ) { - s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; - } - - // Use data converter to retrieve json after script execution - s.converters["script json"] = function() { - if ( !responseContainer ) { - jQuery.error( callbackName + " was not called" ); - } - return responseContainer[ 0 ]; - }; - - // force json dataType - s.dataTypes[ 0 ] = "json"; - - // Install callback - overwritten = window[ callbackName ]; - window[ callbackName ] = function() { - responseContainer = arguments; - }; - - // Clean-up function (fires after converters) - jqXHR.always(function() { - // Restore preexisting value - window[ callbackName ] = overwritten; - - // Save back as free - if ( s[ callbackName ] ) { - // make sure that re-using the options doesn't screw things around - s.jsonpCallback = originalSettings.jsonpCallback; - - // save the callback name for future use - oldCallbacks.push( callbackName ); - } - - // Call if it was a function and we have a response - if ( responseContainer && jQuery.isFunction( overwritten ) ) { - overwritten( responseContainer[ 0 ] ); - } - - responseContainer = overwritten = undefined; - }); - - // Delegate to script - return "script"; - } -}); - - - - -// data: string of html -// context (optional): If specified, the fragment will be created in this context, defaults to document -// keepScripts (optional): If true, will include scripts passed in the html string -jQuery.parseHTML = function( data, context, keepScripts ) { - if ( !data || typeof data !== "string" ) { - return null; - } - if ( typeof context === "boolean" ) { - keepScripts = context; - context = false; - } - context = context || document; - - var parsed = rsingleTag.exec( data ), - scripts = !keepScripts && []; - - // Single tag - if ( parsed ) { - return [ context.createElement( parsed[1] ) ]; - } - - parsed = jQuery.buildFragment( [ data ], context, scripts ); - - if ( scripts && scripts.length ) { - jQuery( scripts ).remove(); - } - - return jQuery.merge( [], parsed.childNodes ); -}; - - -// Keep a copy of the old load method -var _load = jQuery.fn.load; - -/** - * Load a url into a page - */ -jQuery.fn.load = function( url, params, callback ) { - if ( typeof url !== "string" && _load ) { - return _load.apply( this, arguments ); - } - - var selector, response, type, - self = this, - off = url.indexOf(" "); - - if ( off >= 0 ) { - selector = jQuery.trim( url.slice( off, url.length ) ); - url = url.slice( 0, off ); - } - - // If it's a function - if ( jQuery.isFunction( params ) ) { - - // We assume that it's the callback - callback = params; - params = undefined; - - // Otherwise, build a param string - } else if ( params && typeof params === "object" ) { - type = "POST"; - } - - // If we have elements to modify, make the request - if ( self.length > 0 ) { - jQuery.ajax({ - url: url, - - // if "type" variable is undefined, then "GET" method will be used - type: type, - dataType: "html", - data: params - }).done(function( responseText ) { - - // Save response for use in complete callback - response = arguments; - - self.html( selector ? - - // If a selector was specified, locate the right elements in a dummy div - // Exclude scripts to avoid IE 'Permission Denied' errors - jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) : - - // Otherwise use the full result - responseText ); - - }).complete( callback && function( jqXHR, status ) { - self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); - }); - } - - return this; -}; - - - - -// Attach a bunch of functions for handling common AJAX events -jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) { - jQuery.fn[ type ] = function( fn ) { - return this.on( type, fn ); - }; -}); - - - - -jQuery.expr.filters.animated = function( elem ) { - return jQuery.grep(jQuery.timers, function( fn ) { - return elem === fn.elem; - }).length; -}; - - - - - -var docElem = window.document.documentElement; - -/** - * Gets a window from an element - */ -function getWindow( elem ) { - return jQuery.isWindow( elem ) ? - elem : - elem.nodeType === 9 ? - elem.defaultView || elem.parentWindow : - false; -} - -jQuery.offset = { - setOffset: function( elem, options, i ) { - var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, - position = jQuery.css( elem, "position" ), - curElem = jQuery( elem ), - props = {}; - - // set position first, in-case top/left are set even on static elem - if ( position === "static" ) { - elem.style.position = "relative"; - } - - curOffset = curElem.offset(); - curCSSTop = jQuery.css( elem, "top" ); - curCSSLeft = jQuery.css( elem, "left" ); - calculatePosition = ( position === "absolute" || position === "fixed" ) && - jQuery.inArray("auto", [ curCSSTop, curCSSLeft ] ) > -1; - - // need to be able to calculate position if either top or left is auto and position is either absolute or fixed - if ( calculatePosition ) { - curPosition = curElem.position(); - curTop = curPosition.top; - curLeft = curPosition.left; - } else { - curTop = parseFloat( curCSSTop ) || 0; - curLeft = parseFloat( curCSSLeft ) || 0; - } - - if ( jQuery.isFunction( options ) ) { - options = options.call( elem, i, curOffset ); - } - - if ( options.top != null ) { - props.top = ( options.top - curOffset.top ) + curTop; - } - if ( options.left != null ) { - props.left = ( options.left - curOffset.left ) + curLeft; - } - - if ( "using" in options ) { - options.using.call( elem, props ); - } else { - curElem.css( props ); - } - } -}; - -jQuery.fn.extend({ - offset: function( options ) { - if ( arguments.length ) { - return options === undefined ? - this : - this.each(function( i ) { - jQuery.offset.setOffset( this, options, i ); - }); - } - - var docElem, win, - box = { top: 0, left: 0 }, - elem = this[ 0 ], - doc = elem && elem.ownerDocument; - - if ( !doc ) { - return; - } - - docElem = doc.documentElement; - - // Make sure it's not a disconnected DOM node - if ( !jQuery.contains( docElem, elem ) ) { - return box; - } - - // If we don't have gBCR, just use 0,0 rather than error - // BlackBerry 5, iOS 3 (original iPhone) - if ( typeof elem.getBoundingClientRect !== strundefined ) { - box = elem.getBoundingClientRect(); - } - win = getWindow( doc ); - return { - top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ), - left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 ) - }; - }, - - position: function() { - if ( !this[ 0 ] ) { - return; - } - - var offsetParent, offset, - parentOffset = { top: 0, left: 0 }, - elem = this[ 0 ]; - - // fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent - if ( jQuery.css( elem, "position" ) === "fixed" ) { - // we assume that getBoundingClientRect is available when computed position is fixed - offset = elem.getBoundingClientRect(); - } else { - // Get *real* offsetParent - offsetParent = this.offsetParent(); - - // Get correct offsets - offset = this.offset(); - if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { - parentOffset = offsetParent.offset(); - } - - // Add offsetParent borders - parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ); - parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ); - } - - // Subtract parent offsets and element margins - // note: when an element has margin: auto the offsetLeft and marginLeft - // are the same in Safari causing offset.left to incorrectly be 0 - return { - top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), - left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true) - }; - }, - - offsetParent: function() { - return this.map(function() { - var offsetParent = this.offsetParent || docElem; - - while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position" ) === "static" ) ) { - offsetParent = offsetParent.offsetParent; - } - return offsetParent || docElem; - }); - } -}); - -// Create scrollLeft and scrollTop methods -jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { - var top = /Y/.test( prop ); - - jQuery.fn[ method ] = function( val ) { - return access( this, function( elem, method, val ) { - var win = getWindow( elem ); - - if ( val === undefined ) { - return win ? (prop in win) ? win[ prop ] : - win.document.documentElement[ method ] : - elem[ method ]; - } - - if ( win ) { - win.scrollTo( - !top ? val : jQuery( win ).scrollLeft(), - top ? val : jQuery( win ).scrollTop() - ); - - } else { - elem[ method ] = val; - } - }, method, val, arguments.length, null ); - }; -}); - -// Add the top/left cssHooks using jQuery.fn.position -// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 -// getComputedStyle returns percent when specified for top/left/bottom/right -// rather than make the css module depend on the offset module, we just check for it here -jQuery.each( [ "top", "left" ], function( i, prop ) { - jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, - function( elem, computed ) { - if ( computed ) { - computed = curCSS( elem, prop ); - // if curCSS returns percentage, fallback to offset - return rnumnonpx.test( computed ) ? - jQuery( elem ).position()[ prop ] + "px" : - computed; - } - } - ); -}); - - -// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods -jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { - jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { - // margin is only for outerHeight, outerWidth - jQuery.fn[ funcName ] = function( margin, value ) { - var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), - extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); - - return access( this, function( elem, type, value ) { - var doc; - - if ( jQuery.isWindow( elem ) ) { - // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there - // isn't a whole lot we can do. See pull request at this URL for discussion: - // https://github.com/jquery/jquery/pull/764 - return elem.document.documentElement[ "client" + name ]; - } - - // Get document width or height - if ( elem.nodeType === 9 ) { - doc = elem.documentElement; - - // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest - // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. - return Math.max( - elem.body[ "scroll" + name ], doc[ "scroll" + name ], - elem.body[ "offset" + name ], doc[ "offset" + name ], - doc[ "client" + name ] - ); - } - - return value === undefined ? - // Get width or height on the element, requesting but not forcing parseFloat - jQuery.css( elem, type, extra ) : - - // Set width or height on the element - jQuery.style( elem, type, value, extra ); - }, type, chainable ? margin : undefined, chainable, null ); - }; - }); -}); - - -// The number of elements contained in the matched element set -jQuery.fn.size = function() { - return this.length; -}; - -jQuery.fn.andSelf = jQuery.fn.addBack; - - - - -// Register as a named AMD module, since jQuery can be concatenated with other -// files that may use define, but not via a proper concatenation script that -// understands anonymous AMD modules. A named AMD is safest and most robust -// way to register. Lowercase jquery is used because AMD module names are -// derived from file names, and jQuery is normally delivered in a lowercase -// file name. Do this after creating the global so that if an AMD module wants -// to call noConflict to hide this version of jQuery, it will work. - -// Note that for maximum portability, libraries that are not jQuery should -// declare themselves as anonymous modules, and avoid setting a global if an -// AMD loader is present. jQuery is a special case. For more information, see -// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon - -if ( typeof define === "function" && define.amd ) { - define( "jquery", [], function() { - return jQuery; - }); -} - - - - -var - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - - // Map over the $ in case of overwrite - _$ = window.$; - -jQuery.noConflict = function( deep ) { - if ( window.$ === jQuery ) { - window.$ = _$; - } - - if ( deep && window.jQuery === jQuery ) { - window.jQuery = _jQuery; - } - - return jQuery; -}; - -// Expose jQuery and $ identifiers, even in -// AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557) -// and CommonJS for browser emulators (#13566) -if ( typeof noGlobal === strundefined ) { - window.jQuery = window.$ = jQuery; -} - - - - -return jQuery; - -})); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.js b/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.js deleted file mode 100644 index 62d57eaa..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=mb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=nb(b);function qb(){}qb.prototype=d.filters=d.pseudos,d.setFilters=new qb,g=gb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?gb.error(a):z(a,i).slice(0)};function rb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; -return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e) -}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m}); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.map b/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.map deleted file mode 100644 index 837de0b5..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"jquery-1.11.2.min.js","sources":["jquery-1.11.2.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","deletedIds","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","support","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","length","toArray","call","get","num","pushStack","elems","ret","merge","prevObject","each","callback","args","map","elem","i","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","src","copyIsArray","copy","name","options","clone","target","deep","isFunction","isPlainObject","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","Array","isWindow","isNumeric","parseFloat","isEmptyObject","key","nodeType","e","ownLast","globalEval","data","trim","execScript","camelCase","string","nodeName","toLowerCase","value","isArraylike","text","makeArray","arr","results","Object","inArray","max","second","grep","invert","callbackInverse","matches","callbackExpect","arg","guid","proxy","tmp","now","Date","split","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","MAX_NEGATIVE","pop","push_native","list","booleans","whitespace","characterEncoding","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","childNodes","els","seed","match","m","groups","old","nid","newContext","newSelector","ownerDocument","exec","getElementById","parentNode","id","getElementsByTagName","getElementsByClassName","qsa","test","getAttribute","setAttribute","toSelector","testContext","join","querySelectorAll","qsaError","removeAttribute","keys","cache","cacheLength","shift","markFunction","assert","div","createElement","removeChild","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","parent","doc","defaultView","top","addEventListener","attachEvent","className","appendChild","createComment","getById","getElementsByName","find","filter","attrId","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">","dir"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","outerCache","nodeIndex","start","useCache","lastChild","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","disabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","div1","defaultValue","unique","isXMLDoc","rneedsContext","rsingleTag","risSimple","winnow","qualifier","self","is","rootjQuery","charAt","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","next","prev","until","sibling","n","r","targets","closest","l","pos","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","contentDocument","contentWindow","reverse","rnotwhite","optionsCache","createOptions","object","flag","Callbacks","firing","memory","fired","firingLength","firingIndex","firingStart","stack","once","fire","stopOnFalse","disable","remove","lock","locked","fireWith","Deferred","func","tuples","state","promise","always","deferred","fail","then","fns","newDefer","tuple","returned","resolve","reject","progress","notify","pipe","stateString","when","subordinate","resolveValues","remaining","updateFunc","values","progressValues","notifyWith","resolveWith","progressContexts","resolveContexts","readyList","readyWait","holdReady","hold","wait","body","setTimeout","triggerHandler","off","detach","removeEventListener","completed","detachEvent","event","readyState","frameElement","doScroll","doScrollCheck","strundefined","inlineBlockNeedsLayout","container","style","cssText","zoom","offsetWidth","deleteExpando","acceptData","noData","rbrace","rmultiDash","dataAttr","parseJSON","isEmptyDataObject","internalData","pvt","thisCache","internalKey","isNode","toJSON","internalRemoveData","cleanData","applet ","embed ","object ","hasData","removeData","_data","_removeData","queue","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","cssExpand","isHidden","el","css","access","chainable","emptyGet","raw","bulk","rcheckableType","fragment","createDocumentFragment","leadingWhitespace","tbody","htmlSerialize","html5Clone","cloneNode","outerHTML","appendChecked","noCloneChecked","checkClone","noCloneEvent","click","eventName","change","focusin","rformElems","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","types","events","t","handleObjIn","special","eventHandle","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","trigger","onlyHandlers","ontype","bubbleType","eventPath","Event","isTrigger","namespace_re","noBubble","parentWindow","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","sel","prop","originalEvent","fixHook","fixHooks","mouseHooks","keyHooks","props","srcElement","metaKey","original","which","charCode","keyCode","eventDoc","fromElement","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","relatedTarget","toElement","load","blur","beforeunload","returnValue","simulate","bubble","isSimulated","defaultPrevented","timeStamp","cancelBubble","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","submitBubbles","form","_submit_bubble","changeBubbles","propertyName","_just_changed","focusinBubbles","attaches","on","one","origFn","createSafeFragment","nodeNames","safeFrag","rinlinejQuery","rnoshimcache","rleadingWhitespace","rxhtmlTag","rtagName","rtbody","rhtml","rnoInnerhtml","rchecked","rscriptType","rscriptTypeMasked","rcleanScript","wrapMap","option","legend","area","param","thead","tr","col","td","safeFragment","fragmentDiv","optgroup","tfoot","colgroup","caption","th","getAll","found","fixDefaultChecked","defaultChecked","manipulationTarget","content","disableScript","restoreScript","setGlobalEval","refElements","cloneCopyEvent","dest","oldData","curData","fixCloneNodeIssues","defaultSelected","dataAndEvents","deepDataAndEvents","destElements","srcElements","inPage","buildFragment","scripts","selection","wrap","safe","nodes","createTextNode","append","domManip","prepend","insertBefore","before","after","keepData","html","replaceWith","replaceChild","hasScripts","set","iNoClone","_evalUrl","appendTo","prependTo","insertAfter","replaceAll","insert","iframe","elemdisplay","actualDisplay","display","getDefaultComputedStyle","defaultDisplay","write","close","shrinkWrapBlocksVal","shrinkWrapBlocks","width","rmargin","rnumnonpx","getStyles","curCSS","rposition","getComputedStyle","opener","computed","minWidth","maxWidth","getPropertyValue","currentStyle","left","rs","rsLeft","runtimeStyle","pixelLeft","addGetHookIf","conditionFn","hookFn","condition","pixelPositionVal","boxSizingReliableVal","reliableHiddenOffsetsVal","reliableMarginRightVal","opacity","cssFloat","backgroundClip","clearCloneStyle","boxSizing","MozBoxSizing","WebkitBoxSizing","reliableHiddenOffsets","computeStyleTests","boxSizingReliable","pixelPosition","reliableMarginRight","marginRight","offsetHeight","swap","ralpha","ropacity","rdisplayswap","rnumsplit","rrelNum","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","vendorPropName","capName","origName","showHide","show","hidden","setPositiveNumber","subtract","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","cssHooks","cssNumber","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","cssProps","float","$1","margin","padding","border","prefix","suffix","expand","expanded","parts","hide","toggle","Tween","easing","unit","propHooks","run","percent","eased","duration","step","tween","fx","linear","p","swing","cos","PI","fxNow","timerId","rfxtypes","rfxnum","rrun","animationPrefilters","defaultPrefilter","tweeners","*","createTween","scale","maxIterations","createFxNow","genFx","includeWidth","height","animation","collection","opts","oldfire","checkDisplay","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","Animation","properties","stopped","tick","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","rejectWith","timer","complete","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","getSetAttribute","hrefNormalized","checkOn","optSelected","enctype","optDisabled","radioValue","rreturn","valHooks","optionSet","scrollHeight","nodeHook","boolHook","ruseDefault","getSetInput","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","setAttributeNode","createAttribute","coords","contenteditable","rfocusable","rclickable","removeProp","for","class","notxml","tabindex","parseInt","rclass","addClass","classes","clazz","finalValue","proceed","removeClass","toggleClass","stateVal","classNames","hasClass","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","nonce","rquery","rvalidtokens","JSON","parse","requireNonComma","depth","str","comma","open","Function","parseXML","DOMParser","parseFromString","ActiveXObject","async","loadXML","ajaxLocParts","ajaxLocation","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","prefilters","transports","allTypes","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","firstDataType","ct","finalDataType","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","responseFields","dataFilter","active","lastModified","etag","url","isLocal","processData","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","cacheURL","responseHeadersString","timeoutTimer","fireGlobals","transport","responseHeaders","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","code","status","abort","statusText","finalText","success","method","crossDomain","traditional","hasContent","ifModified","headers","beforeSend","send","nativeStatusText","modified","getJSON","getScript","throws","wrapAll","wrapInner","unwrap","visible","r20","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","v","encodeURIComponent","serialize","serializeArray","xhr","createStandardXHR","createActiveXHR","xhrId","xhrCallbacks","xhrSupported","cors","username","xhrFields","isAbort","onreadystatechange","responseText","XMLHttpRequest","script","text script","head","scriptCharset","charset","onload","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","getWindow","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","box","getBoundingClientRect","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","size","andSelf","define","amd","_jQuery","_$","$","noConflict"],"mappings":";CAcC,SAAUA,EAAQC,GAEK,gBAAXC,SAAiD,gBAAnBA,QAAOC,QAQhDD,OAAOC,QAAUH,EAAOI,SACvBH,EAASD,GAAQ,GACjB,SAAUK,GACT,IAAMA,EAAED,SACP,KAAM,IAAIE,OAAO,2CAElB,OAAOL,GAASI,IAGlBJ,EAASD,IAIS,mBAAXO,QAAyBA,OAASC,KAAM,SAAUD,EAAQE,GAQnE,GAAIC,MAEAC,EAAQD,EAAWC,MAEnBC,EAASF,EAAWE,OAEpBC,EAAOH,EAAWG,KAElBC,EAAUJ,EAAWI,QAErBC,KAEAC,EAAWD,EAAWC,SAEtBC,EAASF,EAAWG,eAEpBC,KAKHC,EAAU,SAGVC,EAAS,SAAUC,EAAUC,GAG5B,MAAO,IAAIF,GAAOG,GAAGC,KAAMH,EAAUC,IAKtCG,EAAQ,qCAGRC,EAAY,QACZC,EAAa,eAGbC,EAAa,SAAUC,EAAKC,GAC3B,MAAOA,GAAOC,cAGhBX,GAAOG,GAAKH,EAAOY,WAElBC,OAAQd,EAERe,YAAad,EAGbC,SAAU,GAGVc,OAAQ,EAERC,QAAS,WACR,MAAO1B,GAAM2B,KAAM9B,OAKpB+B,IAAK,SAAUC,GACd,MAAc,OAAPA,EAGE,EAANA,EAAUhC,KAAMgC,EAAMhC,KAAK4B,QAAW5B,KAAMgC,GAG9C7B,EAAM2B,KAAM9B,OAKdiC,UAAW,SAAUC,GAGpB,GAAIC,GAAMtB,EAAOuB,MAAOpC,KAAK2B,cAAeO,EAO5C,OAJAC,GAAIE,WAAarC,KACjBmC,EAAIpB,QAAUf,KAAKe,QAGZoB,GAMRG,KAAM,SAAUC,EAAUC,GACzB,MAAO3B,GAAOyB,KAAMtC,KAAMuC,EAAUC,IAGrCC,IAAK,SAAUF,GACd,MAAOvC,MAAKiC,UAAWpB,EAAO4B,IAAIzC,KAAM,SAAU0C,EAAMC,GACvD,MAAOJ,GAAST,KAAMY,EAAMC,EAAGD,OAIjCvC,MAAO,WACN,MAAOH,MAAKiC,UAAW9B,EAAMyC,MAAO5C,KAAM6C,aAG3CC,MAAO,WACN,MAAO9C,MAAK+C,GAAI,IAGjBC,KAAM,WACL,MAAOhD,MAAK+C,GAAI,KAGjBA,GAAI,SAAUJ,GACb,GAAIM,GAAMjD,KAAK4B,OACdsB,GAAKP,GAAU,EAAJA,EAAQM,EAAM,EAC1B,OAAOjD,MAAKiC,UAAWiB,GAAK,GAASD,EAAJC,GAAYlD,KAAKkD,SAGnDC,IAAK,WACJ,MAAOnD,MAAKqC,YAAcrC,KAAK2B,YAAY,OAK5CtB,KAAMA,EACN+C,KAAMlD,EAAWkD,KACjBC,OAAQnD,EAAWmD,QAGpBxC,EAAOyC,OAASzC,EAAOG,GAAGsC,OAAS,WAClC,GAAIC,GAAKC,EAAaC,EAAMC,EAAMC,EAASC,EAC1CC,EAAShB,UAAU,OACnBF,EAAI,EACJf,EAASiB,UAAUjB,OACnBkC,GAAO,CAsBR,KAnBuB,iBAAXD,KACXC,EAAOD,EAGPA,EAAShB,UAAWF,OACpBA,KAIsB,gBAAXkB,IAAwBhD,EAAOkD,WAAWF,KACrDA,MAIIlB,IAAMf,IACViC,EAAS7D,KACT2C,KAGWf,EAAJe,EAAYA,IAEnB,GAAmC,OAA7BgB,EAAUd,UAAWF,IAE1B,IAAMe,IAAQC,GACbJ,EAAMM,EAAQH,GACdD,EAAOE,EAASD,GAGXG,IAAWJ,IAKXK,GAAQL,IAAU5C,EAAOmD,cAAcP,KAAUD,EAAc3C,EAAOoD,QAAQR,MAC7ED,GACJA,GAAc,EACdI,EAAQL,GAAO1C,EAAOoD,QAAQV,GAAOA,MAGrCK,EAAQL,GAAO1C,EAAOmD,cAAcT,GAAOA,KAI5CM,EAAQH,GAAS7C,EAAOyC,OAAQQ,EAAMF,EAAOH,IAGzBS,SAATT,IACXI,EAAQH,GAASD,GAOrB,OAAOI,IAGRhD,EAAOyC,QAENa,QAAS,UAAavD,EAAUwD,KAAKC,UAAWC,QAAS,MAAO,IAGhEC,SAAS,EAETC,MAAO,SAAUC,GAChB,KAAM,IAAI3E,OAAO2E,IAGlBC,KAAM,aAKNX,WAAY,SAAUY,GACrB,MAA4B,aAArB9D,EAAO+D,KAAKD,IAGpBV,QAASY,MAAMZ,SAAW,SAAUU,GACnC,MAA4B,UAArB9D,EAAO+D,KAAKD,IAGpBG,SAAU,SAAUH,GAEnB,MAAc,OAAPA,GAAeA,GAAOA,EAAI5E,QAGlCgF,UAAW,SAAUJ,GAKpB,OAAQ9D,EAAOoD,QAASU,IAAUA,EAAMK,WAAYL,GAAQ,GAAM,GAGnEM,cAAe,SAAUN,GACxB,GAAIjB,EACJ,KAAMA,IAAQiB,GACb,OAAO,CAER,QAAO,GAGRX,cAAe,SAAUW,GACxB,GAAIO,EAKJ,KAAMP,GAA4B,WAArB9D,EAAO+D,KAAKD,IAAqBA,EAAIQ,UAAYtE,EAAOiE,SAAUH,GAC9E,OAAO,CAGR,KAEC,GAAKA,EAAIhD,cACPlB,EAAOqB,KAAK6C,EAAK,iBACjBlE,EAAOqB,KAAK6C,EAAIhD,YAAYF,UAAW,iBACxC,OAAO,EAEP,MAAQ2D,GAET,OAAO,EAKR,GAAKzE,EAAQ0E,QACZ,IAAMH,IAAOP,GACZ,MAAOlE,GAAOqB,KAAM6C,EAAKO,EAM3B,KAAMA,IAAOP,IAEb,MAAeT,UAARgB,GAAqBzE,EAAOqB,KAAM6C,EAAKO,IAG/CN,KAAM,SAAUD,GACf,MAAY,OAAPA,EACGA,EAAM,GAEQ,gBAARA,IAAmC,kBAARA,GACxCpE,EAAYC,EAASsB,KAAK6C,KAAU,eAC7BA,IAMTW,WAAY,SAAUC,GAChBA,GAAQ1E,EAAO2E,KAAMD,KAIvBxF,EAAO0F,YAAc,SAAUF,GAChCxF,EAAe,KAAE+B,KAAM/B,EAAQwF,KAC3BA,IAMPG,UAAW,SAAUC,GACpB,MAAOA,GAAOrB,QAASnD,EAAW,OAAQmD,QAASlD,EAAYC,IAGhEuE,SAAU,SAAUlD,EAAMgB,GACzB,MAAOhB,GAAKkD,UAAYlD,EAAKkD,SAASC,gBAAkBnC,EAAKmC,eAI9DvD,KAAM,SAAUqC,EAAKpC,EAAUC,GAC9B,GAAIsD,GACHnD,EAAI,EACJf,EAAS+C,EAAI/C,OACbqC,EAAU8B,EAAapB,EAExB,IAAKnC,GACJ,GAAKyB,GACJ,KAAYrC,EAAJe,EAAYA,IAGnB,GAFAmD,EAAQvD,EAASK,MAAO+B,EAAKhC,GAAKH,GAE7BsD,KAAU,EACd,UAIF,KAAMnD,IAAKgC,GAGV,GAFAmB,EAAQvD,EAASK,MAAO+B,EAAKhC,GAAKH,GAE7BsD,KAAU,EACd,UAOH,IAAK7B,GACJ,KAAYrC,EAAJe,EAAYA,IAGnB,GAFAmD,EAAQvD,EAAST,KAAM6C,EAAKhC,GAAKA,EAAGgC,EAAKhC,IAEpCmD,KAAU,EACd,UAIF,KAAMnD,IAAKgC,GAGV,GAFAmB,EAAQvD,EAAST,KAAM6C,EAAKhC,GAAKA,EAAGgC,EAAKhC,IAEpCmD,KAAU,EACd,KAMJ,OAAOnB,IAIRa,KAAM,SAAUQ,GACf,MAAe,OAARA,EACN,IACEA,EAAO,IAAK1B,QAASpD,EAAO,KAIhC+E,UAAW,SAAUC,EAAKC,GACzB,GAAIhE,GAAMgE,KAaV,OAXY,OAAPD,IACCH,EAAaK,OAAOF,IACxBrF,EAAOuB,MAAOD,EACE,gBAAR+D,IACLA,GAAQA,GAGX7F,EAAKyB,KAAMK,EAAK+D,IAIX/D,GAGRkE,QAAS,SAAU3D,EAAMwD,EAAKvD,GAC7B,GAAIM,EAEJ,IAAKiD,EAAM,CACV,GAAK5F,EACJ,MAAOA,GAAQwB,KAAMoE,EAAKxD,EAAMC,EAMjC,KAHAM,EAAMiD,EAAItE,OACVe,EAAIA,EAAQ,EAAJA,EAAQyB,KAAKkC,IAAK,EAAGrD,EAAMN,GAAMA,EAAI,EAEjCM,EAAJN,EAASA,IAEhB,GAAKA,IAAKuD,IAAOA,EAAKvD,KAAQD,EAC7B,MAAOC,GAKV,MAAO,IAGRP,MAAO,SAAUU,EAAOyD,GACvB,GAAItD,IAAOsD,EAAO3E,OACjBsB,EAAI,EACJP,EAAIG,EAAMlB,MAEX,OAAYqB,EAAJC,EACPJ,EAAOH,KAAQ4D,EAAQrD,IAKxB,IAAKD,IAAQA,EACZ,MAAsBiB,SAAdqC,EAAOrD,GACdJ,EAAOH,KAAQ4D,EAAQrD,IAMzB,OAFAJ,GAAMlB,OAASe,EAERG,GAGR0D,KAAM,SAAUtE,EAAOK,EAAUkE,GAShC,IARA,GAAIC,GACHC,KACAhE,EAAI,EACJf,EAASM,EAAMN,OACfgF,GAAkBH,EAIP7E,EAAJe,EAAYA,IACnB+D,GAAmBnE,EAAUL,EAAOS,GAAKA,GACpC+D,IAAoBE,GACxBD,EAAQtG,KAAM6B,EAAOS,GAIvB,OAAOgE,IAIRlE,IAAK,SAAUP,EAAOK,EAAUsE,GAC/B,GAAIf,GACHnD,EAAI,EACJf,EAASM,EAAMN,OACfqC,EAAU8B,EAAa7D,GACvBC,IAGD,IAAK8B,EACJ,KAAYrC,EAAJe,EAAYA,IACnBmD,EAAQvD,EAAUL,EAAOS,GAAKA,EAAGkE,GAEnB,MAATf,GACJ3D,EAAI9B,KAAMyF,OAMZ,KAAMnD,IAAKT,GACV4D,EAAQvD,EAAUL,EAAOS,GAAKA,EAAGkE,GAEnB,MAATf,GACJ3D,EAAI9B,KAAMyF,EAMb,OAAO1F,GAAOwC,SAAWT,IAI1B2E,KAAM,EAINC,MAAO,SAAU/F,EAAID,GACpB,GAAIyB,GAAMuE,EAAOC,CAUjB,OARwB,gBAAZjG,KACXiG,EAAMhG,EAAID,GACVA,EAAUC,EACVA,EAAKgG,GAKAnG,EAAOkD,WAAY/C,IAKzBwB,EAAOrC,EAAM2B,KAAMe,UAAW,GAC9BkE,EAAQ,WACP,MAAO/F,GAAG4B,MAAO7B,GAAWf,KAAMwC,EAAKpC,OAAQD,EAAM2B,KAAMe,cAI5DkE,EAAMD,KAAO9F,EAAG8F,KAAO9F,EAAG8F,MAAQjG,EAAOiG,OAElCC,GAZC7C,QAeT+C,IAAK,WACJ,OAAQ,GAAMC,OAKfvG,QAASA,IAIVE,EAAOyB,KAAK,gEAAgE6E,MAAM,KAAM,SAASxE,EAAGe,GACnGnD,EAAY,WAAamD,EAAO,KAAQA,EAAKmC,eAG9C,SAASE,GAAapB,GACrB,GAAI/C,GAAS+C,EAAI/C,OAChBgD,EAAO/D,EAAO+D,KAAMD,EAErB,OAAc,aAATC,GAAuB/D,EAAOiE,SAAUH,IACrC,EAGc,IAAjBA,EAAIQ,UAAkBvD,GACnB,EAGQ,UAATgD,GAA+B,IAAXhD,GACR,gBAAXA,IAAuBA,EAAS,GAAOA,EAAS,IAAO+C,GAEhE,GAAIyC,GAWJ,SAAWrH,GAEX,GAAI4C,GACHhC,EACA0G,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAlI,EACAmI,EACAC,EACAC,EACAC,EACAvB,EACAwB,EAGAhE,EAAU,SAAW,EAAI,GAAI+C,MAC7BkB,EAAerI,EAAOH,SACtByI,EAAU,EACVC,EAAO,EACPC,EAAaC,KACbC,EAAaD,KACbE,EAAgBF,KAChBG,EAAY,SAAUC,EAAGC,GAIxB,MAHKD,KAAMC,IACVhB,GAAe,GAET,GAIRiB,EAAe,GAAK,GAGpBrI,KAAcC,eACdwF,KACA6C,EAAM7C,EAAI6C,IACVC,EAAc9C,EAAI7F,KAClBA,EAAO6F,EAAI7F,KACXF,EAAQ+F,EAAI/F,MAGZG,EAAU,SAAU2I,EAAMvG,GAGzB,IAFA,GAAIC,GAAI,EACPM,EAAMgG,EAAKrH,OACAqB,EAAJN,EAASA,IAChB,GAAKsG,EAAKtG,KAAOD,EAChB,MAAOC,EAGT,OAAO,IAGRuG,EAAW,6HAKXC,EAAa,sBAEbC,EAAoB,mCAKpBC,EAAaD,EAAkB9E,QAAS,IAAK,MAG7CgF,EAAa,MAAQH,EAAa,KAAOC,EAAoB,OAASD,EAErE,gBAAkBA,EAElB,2DAA6DE,EAAa,OAASF,EACnF,OAEDI,EAAU,KAAOH,EAAoB,wFAKPE,EAAa,eAM3CE,EAAc,GAAIC,QAAQN,EAAa,IAAK,KAC5CjI,EAAQ,GAAIuI,QAAQ,IAAMN,EAAa,8BAAgCA,EAAa,KAAM,KAE1FO,EAAS,GAAID,QAAQ,IAAMN,EAAa,KAAOA,EAAa,KAC5DQ,EAAe,GAAIF,QAAQ,IAAMN,EAAa,WAAaA,EAAa,IAAMA,EAAa,KAE3FS,EAAmB,GAAIH,QAAQ,IAAMN,EAAa,iBAAmBA,EAAa,OAAQ,KAE1FU,EAAU,GAAIJ,QAAQF,GACtBO,EAAc,GAAIL,QAAQ,IAAMJ,EAAa,KAE7CU,GACCC,GAAM,GAAIP,QAAQ,MAAQL,EAAoB,KAC9Ca,MAAS,GAAIR,QAAQ,QAAUL,EAAoB,KACnDc,IAAO,GAAIT,QAAQ,KAAOL,EAAkB9E,QAAS,IAAK,MAAS,KACnE6F,KAAQ,GAAIV,QAAQ,IAAMH,GAC1Bc,OAAU,GAAIX,QAAQ,IAAMF,GAC5Bc,MAAS,GAAIZ,QAAQ,yDAA2DN,EAC/E,+BAAiCA,EAAa,cAAgBA,EAC9D,aAAeA,EAAa,SAAU,KACvCmB,KAAQ,GAAIb,QAAQ,OAASP,EAAW,KAAM,KAG9CqB,aAAgB,GAAId,QAAQ,IAAMN,EAAa,mDAC9CA,EAAa,mBAAqBA,EAAa,mBAAoB,MAGrEqB,EAAU,sCACVC,EAAU,SAEVC,EAAU,yBAGVC,EAAa,mCAEbC,GAAW,OACXC,GAAU,QAGVC,GAAY,GAAIrB,QAAQ,qBAAuBN,EAAa,MAAQA,EAAa,OAAQ,MACzF4B,GAAY,SAAUC,EAAGC,EAASC,GACjC,GAAIC,GAAO,KAAOF,EAAU,KAI5B,OAAOE,KAASA,GAAQD,EACvBD,EACO,EAAPE,EAECC,OAAOC,aAAcF,EAAO,OAE5BC,OAAOC,aAAcF,GAAQ,GAAK,MAAe,KAAPA,EAAe,QAO5DG,GAAgB,WACfxD,IAIF,KACCzH,EAAKuC,MACHsD,EAAM/F,EAAM2B,KAAMsG,EAAamD,YAChCnD,EAAamD,YAIdrF,EAAKkC,EAAamD,WAAW3J,QAASuD,SACrC,MAAQC,IACT/E,GAASuC,MAAOsD,EAAItE,OAGnB,SAAUiC,EAAQ2H,GACjBxC,EAAYpG,MAAOiB,EAAQ1D,EAAM2B,KAAK0J,KAKvC,SAAU3H,EAAQ2H,GACjB,GAAItI,GAAIW,EAAOjC,OACde,EAAI,CAEL,OAASkB,EAAOX,KAAOsI,EAAI7I,MAC3BkB,EAAOjC,OAASsB,EAAI,IAKvB,QAASkE,IAAQtG,EAAUC,EAASoF,EAASsF,GAC5C,GAAIC,GAAOhJ,EAAMiJ,EAAGxG,EAEnBxC,EAAGiJ,EAAQC,EAAKC,EAAKC,EAAYC,CAUlC,KAROjL,EAAUA,EAAQkL,eAAiBlL,EAAUqH,KAAmBxI,GACtEkI,EAAa/G,GAGdA,EAAUA,GAAWnB,EACrBuG,EAAUA,MACVhB,EAAWpE,EAAQoE,SAEM,gBAAbrE,KAA0BA,GACxB,IAAbqE,GAA+B,IAAbA,GAA+B,KAAbA,EAEpC,MAAOgB,EAGR,KAAMsF,GAAQzD,EAAiB,CAG9B,GAAkB,KAAb7C,IAAoBuG,EAAQf,EAAWuB,KAAMpL,IAEjD,GAAM6K,EAAID,EAAM,IACf,GAAkB,IAAbvG,EAAiB,CAIrB,GAHAzC,EAAO3B,EAAQoL,eAAgBR,IAG1BjJ,IAAQA,EAAK0J,WAQjB,MAAOjG,EALP,IAAKzD,EAAK2J,KAAOV,EAEhB,MADAxF,GAAQ9F,KAAMqC,GACPyD,MAOT,IAAKpF,EAAQkL,gBAAkBvJ,EAAO3B,EAAQkL,cAAcE,eAAgBR,KAC3ExD,EAAUpH,EAAS2B,IAAUA,EAAK2J,KAAOV,EAEzC,MADAxF,GAAQ9F,KAAMqC,GACPyD,MAKH,CAAA,GAAKuF,EAAM,GAEjB,MADArL,GAAKuC,MAAOuD,EAASpF,EAAQuL,qBAAsBxL,IAC5CqF,CAGD,KAAMwF,EAAID,EAAM,KAAO/K,EAAQ4L,uBAErC,MADAlM,GAAKuC,MAAOuD,EAASpF,EAAQwL,uBAAwBZ,IAC9CxF,EAKT,GAAKxF,EAAQ6L,OAASvE,IAAcA,EAAUwE,KAAM3L,IAAc,CASjE,GARAgL,EAAMD,EAAM1H,EACZ4H,EAAahL,EACbiL,EAA2B,IAAb7G,GAAkBrE,EAMd,IAAbqE,GAAqD,WAAnCpE,EAAQ6E,SAASC,cAA6B,CACpE+F,EAASpE,EAAU1G,IAEb+K,EAAM9K,EAAQ2L,aAAa,OAChCZ,EAAMD,EAAIvH,QAASuG,GAAS,QAE5B9J,EAAQ4L,aAAc,KAAMb,GAE7BA,EAAM,QAAUA,EAAM,MAEtBnJ,EAAIiJ,EAAOhK,MACX,OAAQe,IACPiJ,EAAOjJ,GAAKmJ,EAAMc,GAAYhB,EAAOjJ,GAEtCoJ,GAAanB,GAAS6B,KAAM3L,IAAc+L,GAAa9L,EAAQqL,aAAgBrL,EAC/EiL,EAAcJ,EAAOkB,KAAK,KAG3B,GAAKd,EACJ,IAIC,MAHA3L,GAAKuC,MAAOuD,EACX4F,EAAWgB,iBAAkBf,IAEvB7F,EACN,MAAM6G,IACN,QACKnB,GACL9K,EAAQkM,gBAAgB,QAQ7B,MAAOvF,GAAQ5G,EAASwD,QAASpD,EAAO,MAAQH,EAASoF,EAASsF,GASnE,QAASjD,MACR,GAAI0E,KAEJ,SAASC,GAAOjI,EAAKY,GAMpB,MAJKoH,GAAK7M,KAAM6E,EAAM,KAAQmC,EAAK+F,mBAE3BD,GAAOD,EAAKG,SAEZF,EAAOjI,EAAM,KAAQY,EAE9B,MAAOqH,GAOR,QAASG,IAActM,GAEtB,MADAA,GAAImD,IAAY,EACTnD,EAOR,QAASuM,IAAQvM,GAChB,GAAIwM,GAAM5N,EAAS6N,cAAc,MAEjC,KACC,QAASzM,EAAIwM,GACZ,MAAOpI,GACR,OAAO,EACN,QAEIoI,EAAIpB,YACRoB,EAAIpB,WAAWsB,YAAaF,GAG7BA,EAAM,MASR,QAASG,IAAWC,EAAOC,GAC1B,GAAI3H,GAAM0H,EAAMzG,MAAM,KACrBxE,EAAIiL,EAAMhM,MAEX,OAAQe,IACP0E,EAAKyG,WAAY5H,EAAIvD,IAAOkL,EAU9B,QAASE,IAAcnF,EAAGC,GACzB,GAAImF,GAAMnF,GAAKD,EACdqF,EAAOD,GAAsB,IAAfpF,EAAEzD,UAAiC,IAAf0D,EAAE1D,YAChC0D,EAAEqF,aAAepF,KACjBF,EAAEsF,aAAepF,EAGtB,IAAKmF,EACJ,MAAOA,EAIR,IAAKD,EACJ,MAASA,EAAMA,EAAIG,YAClB,GAAKH,IAAQnF,EACZ,MAAO,EAKV,OAAOD,GAAI,EAAI,GAOhB,QAASwF,IAAmBxJ,GAC3B,MAAO,UAAUlC,GAChB,GAAIgB,GAAOhB,EAAKkD,SAASC,aACzB,OAAgB,UAATnC,GAAoBhB,EAAKkC,OAASA,GAQ3C,QAASyJ,IAAoBzJ,GAC5B,MAAO,UAAUlC,GAChB,GAAIgB,GAAOhB,EAAKkD,SAASC,aACzB,QAAiB,UAATnC,GAA6B,WAATA,IAAsBhB,EAAKkC,OAASA,GAQlE,QAAS0J,IAAwBtN,GAChC,MAAOsM,IAAa,SAAUiB,GAE7B,MADAA,IAAYA,EACLjB,GAAa,SAAU7B,EAAM9E,GACnC,GAAIzD,GACHsL,EAAexN,KAAQyK,EAAK7J,OAAQ2M,GACpC5L,EAAI6L,EAAa5M,MAGlB,OAAQe,IACF8I,EAAOvI,EAAIsL,EAAa7L,MAC5B8I,EAAKvI,KAAOyD,EAAQzD,GAAKuI,EAAKvI,SAYnC,QAAS2J,IAAa9L,GACrB,MAAOA,IAAmD,mBAAjCA,GAAQuL,sBAAwCvL,EAI1EJ,EAAUyG,GAAOzG,WAOjB4G,EAAQH,GAAOG,MAAQ,SAAU7E,GAGhC,GAAI+L,GAAkB/L,IAASA,EAAKuJ,eAAiBvJ,GAAM+L,eAC3D,OAAOA,GAA+C,SAA7BA,EAAgB7I,UAAsB,GAQhEkC,EAAcV,GAAOU,YAAc,SAAU4G,GAC5C,GAAIC,GAAYC,EACfC,EAAMH,EAAOA,EAAKzC,eAAiByC,EAAOtG,CAG3C,OAAKyG,KAAQjP,GAA6B,IAAjBiP,EAAI1J,UAAmB0J,EAAIJ,iBAKpD7O,EAAWiP,EACX9G,EAAU8G,EAAIJ,gBACdG,EAASC,EAAIC,YAMRF,GAAUA,IAAWA,EAAOG,MAE3BH,EAAOI,iBACXJ,EAAOI,iBAAkB,SAAU1D,IAAe,GACvCsD,EAAOK,aAClBL,EAAOK,YAAa,WAAY3D,KAMlCtD,GAAkBT,EAAOsH,GAQzBlO,EAAQ2I,WAAaiE,GAAO,SAAUC,GAErC,MADAA,GAAI0B,UAAY,KACR1B,EAAId,aAAa,eAO1B/L,EAAQ2L,qBAAuBiB,GAAO,SAAUC,GAE/C,MADAA,GAAI2B,YAAaN,EAAIO,cAAc,MAC3B5B,EAAIlB,qBAAqB,KAAK1K,SAIvCjB,EAAQ4L,uBAAyB7B,EAAQ+B,KAAMoC,EAAItC,wBAMnD5L,EAAQ0O,QAAU9B,GAAO,SAAUC,GAElC,MADAzF,GAAQoH,YAAa3B,GAAMnB,GAAKlI,GACxB0K,EAAIS,oBAAsBT,EAAIS,kBAAmBnL,GAAUvC,SAI/DjB,EAAQ0O,SACZhI,EAAKkI,KAAS,GAAI,SAAUlD,EAAItL,GAC/B,GAAuC,mBAA3BA,GAAQoL,gBAAkCnE,EAAiB,CACtE,GAAI2D,GAAI5K,EAAQoL,eAAgBE,EAGhC,OAAOV,IAAKA,EAAES,YAAeT,QAG/BtE,EAAKmI,OAAW,GAAI,SAAUnD,GAC7B,GAAIoD,GAASpD,EAAG/H,QAASwG,GAAWC,GACpC,OAAO,UAAUrI,GAChB,MAAOA,GAAKgK,aAAa,QAAU+C,YAM9BpI,GAAKkI,KAAS,GAErBlI,EAAKmI,OAAW,GAAK,SAAUnD,GAC9B,GAAIoD,GAASpD,EAAG/H,QAASwG,GAAWC,GACpC,OAAO,UAAUrI,GAChB,GAAIgM,GAAwC,mBAA1BhM,GAAKgN,kBAAoChN,EAAKgN,iBAAiB,KACjF,OAAOhB,IAAQA,EAAK5I,QAAU2J,KAMjCpI,EAAKkI,KAAU,IAAI5O,EAAQ2L,qBAC1B,SAAUqD,EAAK5O,GACd,MAA6C,mBAAjCA,GAAQuL,qBACZvL,EAAQuL,qBAAsBqD,GAG1BhP,EAAQ6L,IACZzL,EAAQgM,iBAAkB4C,GAD3B,QAKR,SAAUA,EAAK5O,GACd,GAAI2B,GACHsE,KACArE,EAAI,EAEJwD,EAAUpF,EAAQuL,qBAAsBqD,EAGzC,IAAa,MAARA,EAAc,CAClB,MAASjN,EAAOyD,EAAQxD,KACA,IAAlBD,EAAKyC,UACT6B,EAAI3G,KAAMqC,EAIZ,OAAOsE,GAER,MAAOb,IAITkB,EAAKkI,KAAY,MAAI5O,EAAQ4L,wBAA0B,SAAU2C,EAAWnO,GAC3E,MAAKiH,GACGjH,EAAQwL,uBAAwB2C,GADxC,QAWDhH,KAOAD,MAEMtH,EAAQ6L,IAAM9B,EAAQ+B,KAAMoC,EAAI9B,qBAGrCQ,GAAO,SAAUC,GAMhBzF,EAAQoH,YAAa3B,GAAMoC,UAAY,UAAYzL,EAAU,qBAC3CA,EAAU,iEAOvBqJ,EAAIT,iBAAiB,wBAAwBnL,QACjDqG,EAAU5H,KAAM,SAAW8I,EAAa,gBAKnCqE,EAAIT,iBAAiB,cAAcnL,QACxCqG,EAAU5H,KAAM,MAAQ8I,EAAa,aAAeD,EAAW,KAI1DsE,EAAIT,iBAAkB,QAAU5I,EAAU,MAAOvC,QACtDqG,EAAU5H,KAAK,MAMVmN,EAAIT,iBAAiB,YAAYnL,QACtCqG,EAAU5H,KAAK,YAMVmN,EAAIT,iBAAkB,KAAO5I,EAAU,MAAOvC,QACnDqG,EAAU5H,KAAK,cAIjBkN,GAAO,SAAUC,GAGhB,GAAIqC,GAAQhB,EAAIpB,cAAc,QAC9BoC,GAAMlD,aAAc,OAAQ,UAC5Ba,EAAI2B,YAAaU,GAAQlD,aAAc,OAAQ,KAI1Ca,EAAIT,iBAAiB,YAAYnL,QACrCqG,EAAU5H,KAAM,OAAS8I,EAAa,eAKjCqE,EAAIT,iBAAiB,YAAYnL,QACtCqG,EAAU5H,KAAM,WAAY,aAI7BmN,EAAIT,iBAAiB,QACrB9E,EAAU5H,KAAK,YAIXM,EAAQmP,gBAAkBpF,EAAQ+B,KAAO9F,EAAUoB,EAAQpB,SAChEoB,EAAQgI,uBACRhI,EAAQiI,oBACRjI,EAAQkI,kBACRlI,EAAQmI,qBAER3C,GAAO,SAAUC,GAGhB7M,EAAQwP,kBAAoBxJ,EAAQ7E,KAAM0L,EAAK,OAI/C7G,EAAQ7E,KAAM0L,EAAK,aACnBtF,EAAc7H,KAAM,KAAMkJ,KAI5BtB,EAAYA,EAAUrG,QAAU,GAAI6H,QAAQxB,EAAU6E,KAAK,MAC3D5E,EAAgBA,EAActG,QAAU,GAAI6H,QAAQvB,EAAc4E,KAAK,MAIvE6B,EAAajE,EAAQ+B,KAAM1E,EAAQqI,yBAKnCjI,EAAWwG,GAAcjE,EAAQ+B,KAAM1E,EAAQI,UAC9C,SAAUS,EAAGC,GACZ,GAAIwH,GAAuB,IAAfzH,EAAEzD,SAAiByD,EAAE6F,gBAAkB7F,EAClD0H,EAAMzH,GAAKA,EAAEuD,UACd,OAAOxD,KAAM0H,MAAWA,GAAwB,IAAjBA,EAAInL,YAClCkL,EAAMlI,SACLkI,EAAMlI,SAAUmI,GAChB1H,EAAEwH,yBAA8D,GAAnCxH,EAAEwH,wBAAyBE,MAG3D,SAAU1H,EAAGC,GACZ,GAAKA,EACJ,MAASA,EAAIA,EAAEuD,WACd,GAAKvD,IAAMD,EACV,OAAO,CAIV,QAAO,GAOTD,EAAYgG,EACZ,SAAU/F,EAAGC,GAGZ,GAAKD,IAAMC,EAEV,MADAhB,IAAe,EACR,CAIR,IAAI0I,IAAW3H,EAAEwH,yBAA2BvH,EAAEuH,uBAC9C,OAAKG,GACGA,GAIRA,GAAY3H,EAAEqD,eAAiBrD,MAAUC,EAAEoD,eAAiBpD,GAC3DD,EAAEwH,wBAAyBvH,GAG3B,EAGc,EAAV0H,IACF5P,EAAQ6P,cAAgB3H,EAAEuH,wBAAyBxH,KAAQ2H,EAGxD3H,IAAMiG,GAAOjG,EAAEqD,gBAAkB7D,GAAgBD,EAASC,EAAcQ,GACrE,GAEHC,IAAMgG,GAAOhG,EAAEoD,gBAAkB7D,GAAgBD,EAASC,EAAcS,GACrE,EAIDjB,EACJtH,EAASsH,EAAWgB,GAAMtI,EAASsH,EAAWiB,GAChD,EAGe,EAAV0H,EAAc,GAAK,IAE3B,SAAU3H,EAAGC,GAEZ,GAAKD,IAAMC,EAEV,MADAhB,IAAe,EACR,CAGR,IAAImG,GACHrL,EAAI,EACJ8N,EAAM7H,EAAEwD,WACRkE,EAAMzH,EAAEuD,WACRsE,GAAO9H,GACP+H,GAAO9H,EAGR,KAAM4H,IAAQH,EACb,MAAO1H,KAAMiG,EAAM,GAClBhG,IAAMgG,EAAM,EACZ4B,EAAM,GACNH,EAAM,EACN1I,EACEtH,EAASsH,EAAWgB,GAAMtI,EAASsH,EAAWiB,GAChD,CAGK,IAAK4H,IAAQH,EACnB,MAAOvC,IAAcnF,EAAGC,EAIzBmF,GAAMpF,CACN,OAASoF,EAAMA,EAAI5B,WAClBsE,EAAGE,QAAS5C,EAEbA,GAAMnF,CACN,OAASmF,EAAMA,EAAI5B,WAClBuE,EAAGC,QAAS5C,EAIb,OAAQ0C,EAAG/N,KAAOgO,EAAGhO,GACpBA,GAGD,OAAOA,GAENoL,GAAc2C,EAAG/N,GAAIgO,EAAGhO,IAGxB+N,EAAG/N,KAAOyF,EAAe,GACzBuI,EAAGhO,KAAOyF,EAAe,EACzB,GAGKyG,GA1WCjP,GA6WTwH,GAAOT,QAAU,SAAUkK,EAAMC,GAChC,MAAO1J,IAAQyJ,EAAM,KAAM,KAAMC,IAGlC1J,GAAO0I,gBAAkB,SAAUpN,EAAMmO,GASxC,IAPOnO,EAAKuJ,eAAiBvJ,KAAW9C,GACvCkI,EAAapF,GAIdmO,EAAOA,EAAKvM,QAASsF,EAAkB,aAElCjJ,EAAQmP,kBAAmB9H,GAC5BE,GAAkBA,EAAcuE,KAAMoE,IACtC5I,GAAkBA,EAAUwE,KAAMoE,IAErC,IACC,GAAI1O,GAAMwE,EAAQ7E,KAAMY,EAAMmO,EAG9B,IAAK1O,GAAOxB,EAAQwP,mBAGlBzN,EAAK9C,UAAuC,KAA3B8C,EAAK9C,SAASuF,SAChC,MAAOhD,GAEP,MAAOiD,IAGV,MAAOgC,IAAQyJ,EAAMjR,EAAU,MAAQ8C,IAASd,OAAS,GAG1DwF,GAAOe,SAAW,SAAUpH,EAAS2B,GAKpC,OAHO3B,EAAQkL,eAAiBlL,KAAcnB,GAC7CkI,EAAa/G,GAEPoH,EAAUpH,EAAS2B,IAG3B0E,GAAO2J,KAAO,SAAUrO,EAAMgB,IAEtBhB,EAAKuJ,eAAiBvJ,KAAW9C,GACvCkI,EAAapF,EAGd,IAAI1B,GAAKqG,EAAKyG,WAAYpK,EAAKmC,eAE9BmL,EAAMhQ,GAAMP,EAAOqB,KAAMuF,EAAKyG,WAAYpK,EAAKmC,eAC9C7E,EAAI0B,EAAMgB,GAAOsE,GACjB9D,MAEF,OAAeA,UAAR8M,EACNA,EACArQ,EAAQ2I,aAAetB,EACtBtF,EAAKgK,aAAchJ,IAClBsN,EAAMtO,EAAKgN,iBAAiBhM,KAAUsN,EAAIC,UAC1CD,EAAIlL,MACJ,MAGJsB,GAAO5C,MAAQ,SAAUC,GACxB,KAAM,IAAI3E,OAAO,0CAA4C2E,IAO9D2C,GAAO8J,WAAa,SAAU/K,GAC7B,GAAIzD,GACHyO,KACAjO,EAAI,EACJP,EAAI,CAOL,IAJAkF,GAAgBlH,EAAQyQ,iBACxBxJ,GAAajH,EAAQ0Q,YAAclL,EAAQhG,MAAO,GAClDgG,EAAQ/C,KAAMuF,GAETd,EAAe,CACnB,MAASnF,EAAOyD,EAAQxD,KAClBD,IAASyD,EAASxD,KACtBO,EAAIiO,EAAW9Q,KAAMsC,GAGvB,OAAQO,IACPiD,EAAQ9C,OAAQ8N,EAAYjO,GAAK,GAQnC,MAFA0E,GAAY,KAELzB,GAORmB,EAAUF,GAAOE,QAAU,SAAU5E,GACpC,GAAIgM,GACHvM,EAAM,GACNQ,EAAI,EACJwC,EAAWzC,EAAKyC,QAEjB,IAAMA,GAMC,GAAkB,IAAbA,GAA+B,IAAbA,GAA+B,KAAbA,EAAkB,CAGjE,GAAiC,gBAArBzC,GAAK4O,YAChB,MAAO5O,GAAK4O,WAGZ,KAAM5O,EAAOA,EAAK6O,WAAY7O,EAAMA,EAAOA,EAAKyL,YAC/ChM,GAAOmF,EAAS5E,OAGZ,IAAkB,IAAbyC,GAA+B,IAAbA,EAC7B,MAAOzC,GAAK8O,cAhBZ,OAAS9C,EAAOhM,EAAKC,KAEpBR,GAAOmF,EAASoH,EAkBlB,OAAOvM,IAGRkF,EAAOD,GAAOqK,WAGbrE,YAAa,GAEbsE,aAAcpE,GAEd5B,MAAO3B,EAEP+D,cAEAyB,QAEAoC,UACCC,KAAOC,IAAK,aAAc/O,OAAO,GACjCgP,KAAOD,IAAK,cACZE,KAAOF,IAAK,kBAAmB/O,OAAO,GACtCkP,KAAOH,IAAK,oBAGbI,WACC9H,KAAQ,SAAUuB,GAUjB,MATAA,GAAM,GAAKA,EAAM,GAAGpH,QAASwG,GAAWC,IAGxCW,EAAM,IAAOA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAM,IAAKpH,QAASwG,GAAWC,IAExD,OAAbW,EAAM,KACVA,EAAM,GAAK,IAAMA,EAAM,GAAK,KAGtBA,EAAMvL,MAAO,EAAG,IAGxBkK,MAAS,SAAUqB,GA6BlB,MAlBAA,GAAM,GAAKA,EAAM,GAAG7F,cAEY,QAA3B6F,EAAM,GAAGvL,MAAO,EAAG,IAEjBuL,EAAM,IACXtE,GAAO5C,MAAOkH,EAAM,IAKrBA,EAAM,KAAQA,EAAM,GAAKA,EAAM,IAAMA,EAAM,IAAM,GAAK,GAAmB,SAAbA,EAAM,IAA8B,QAAbA,EAAM,KACzFA,EAAM,KAAUA,EAAM,GAAKA,EAAM,IAAqB,QAAbA,EAAM,KAGpCA,EAAM,IACjBtE,GAAO5C,MAAOkH,EAAM,IAGdA,GAGRtB,OAAU,SAAUsB,GACnB,GAAIwG,GACHC,GAAYzG,EAAM,IAAMA,EAAM,EAE/B,OAAK3B,GAAiB,MAAE0C,KAAMf,EAAM,IAC5B,MAIHA,EAAM,GACVA,EAAM,GAAKA,EAAM,IAAMA,EAAM,IAAM,GAGxByG,GAAYtI,EAAQ4C,KAAM0F,KAEpCD,EAAS1K,EAAU2K,GAAU,MAE7BD,EAASC,EAAS7R,QAAS,IAAK6R,EAASvQ,OAASsQ,GAAWC,EAASvQ,UAGvE8J,EAAM,GAAKA,EAAM,GAAGvL,MAAO,EAAG+R,GAC9BxG,EAAM,GAAKyG,EAAShS,MAAO,EAAG+R,IAIxBxG,EAAMvL,MAAO,EAAG,MAIzBqP,QAECtF,IAAO,SAAUkI,GAChB,GAAIxM,GAAWwM,EAAiB9N,QAASwG,GAAWC,IAAYlF,aAChE,OAA4B,MAArBuM,EACN,WAAa,OAAO,GACpB,SAAU1P,GACT,MAAOA,GAAKkD,UAAYlD,EAAKkD,SAASC,gBAAkBD,IAI3DqE,MAAS,SAAUiF,GAClB,GAAImD,GAAU9J,EAAY2G,EAAY,IAEtC,OAAOmD,KACLA,EAAU,GAAI5I,QAAQ,MAAQN,EAAa,IAAM+F,EAAY,IAAM/F,EAAa,SACjFZ,EAAY2G,EAAW,SAAUxM,GAChC,MAAO2P,GAAQ5F,KAAgC,gBAAnB/J,GAAKwM,WAA0BxM,EAAKwM,WAA0C,mBAAtBxM,GAAKgK,cAAgChK,EAAKgK,aAAa,UAAY,OAI1JvC,KAAQ,SAAUzG,EAAM4O,EAAUC,GACjC,MAAO,UAAU7P,GAChB,GAAI8P,GAASpL,GAAO2J,KAAMrO,EAAMgB,EAEhC,OAAe,OAAV8O,EACgB,OAAbF,EAEFA,GAINE,GAAU,GAEU,MAAbF,EAAmBE,IAAWD,EACvB,OAAbD,EAAoBE,IAAWD,EAClB,OAAbD,EAAoBC,GAAqC,IAA5BC,EAAOlS,QAASiS,GAChC,OAAbD,EAAoBC,GAASC,EAAOlS,QAASiS,GAAU,GAC1C,OAAbD,EAAoBC,GAASC,EAAOrS,OAAQoS,EAAM3Q,UAAa2Q,EAClD,OAAbD,GAAsB,IAAME,EAAOlO,QAASkF,EAAa,KAAQ,KAAMlJ,QAASiS,GAAU,GAC7E,OAAbD,EAAoBE,IAAWD,GAASC,EAAOrS,MAAO,EAAGoS,EAAM3Q,OAAS,KAAQ2Q,EAAQ,KACxF,IAZO,IAgBVlI,MAAS,SAAUzF,EAAM6N,EAAMlE,EAAUzL,EAAOE,GAC/C,GAAI0P,GAAgC,QAAvB9N,EAAKzE,MAAO,EAAG,GAC3BwS,EAA+B,SAArB/N,EAAKzE,MAAO,IACtByS,EAAkB,YAATH,CAEV,OAAiB,KAAV3P,GAAwB,IAATE,EAGrB,SAAUN,GACT,QAASA,EAAK0J,YAGf,SAAU1J,EAAM3B,EAAS8R,GACxB,GAAI1F,GAAO2F,EAAYpE,EAAMT,EAAM8E,EAAWC,EAC7CnB,EAAMa,IAAWC,EAAU,cAAgB,kBAC3C/D,EAASlM,EAAK0J,WACd1I,EAAOkP,GAAUlQ,EAAKkD,SAASC,cAC/BoN,GAAYJ,IAAQD,CAErB,IAAKhE,EAAS,CAGb,GAAK8D,EAAS,CACb,MAAQb,EAAM,CACbnD,EAAOhM,CACP,OAASgM,EAAOA,EAAMmD,GACrB,GAAKe,EAASlE,EAAK9I,SAASC,gBAAkBnC,EAAyB,IAAlBgL,EAAKvJ,SACzD,OAAO,CAIT6N,GAAQnB,EAAe,SAATjN,IAAoBoO,GAAS,cAE5C,OAAO,EAMR,GAHAA,GAAUL,EAAU/D,EAAO2C,WAAa3C,EAAOsE,WAG1CP,GAAWM,EAAW,CAE1BH,EAAalE,EAAQzK,KAAcyK,EAAQzK,OAC3CgJ,EAAQ2F,EAAYlO,OACpBmO,EAAY5F,EAAM,KAAO9E,GAAW8E,EAAM,GAC1Cc,EAAOd,EAAM,KAAO9E,GAAW8E,EAAM,GACrCuB,EAAOqE,GAAanE,EAAOrD,WAAYwH,EAEvC,OAASrE,IAASqE,GAAarE,GAAQA,EAAMmD,KAG3C5D,EAAO8E,EAAY,IAAMC,EAAMjK,MAGhC,GAAuB,IAAlB2F,EAAKvJ,YAAoB8I,GAAQS,IAAShM,EAAO,CACrDoQ,EAAYlO,IAAWyD,EAAS0K,EAAW9E,EAC3C,YAKI,IAAKgF,IAAa9F,GAASzK,EAAMyB,KAAczB,EAAMyB,QAAkBS,KAAWuI,EAAM,KAAO9E,EACrG4F,EAAOd,EAAM,OAKb,OAASuB,IAASqE,GAAarE,GAAQA,EAAMmD,KAC3C5D,EAAO8E,EAAY,IAAMC,EAAMjK,MAEhC,IAAO6J,EAASlE,EAAK9I,SAASC,gBAAkBnC,EAAyB,IAAlBgL,EAAKvJ,aAAsB8I,IAE5EgF,KACHvE,EAAMvK,KAAcuK,EAAMvK,QAAkBS,IAAWyD,EAAS4F,IAG7DS,IAAShM,GACb,KAQJ,OADAuL,IAAQjL,EACDiL,IAASnL,GAAWmL,EAAOnL,IAAU,GAAKmL,EAAOnL,GAAS,KAKrEsH,OAAU,SAAU+I,EAAQ5E,GAK3B,GAAI/L,GACHxB,EAAKqG,EAAKkC,QAAS4J,IAAY9L,EAAK+L,WAAYD,EAAOtN,gBACtDuB,GAAO5C,MAAO,uBAAyB2O,EAKzC,OAAKnS,GAAImD,GACDnD,EAAIuN,GAIPvN,EAAGY,OAAS,GAChBY,GAAS2Q,EAAQA,EAAQ,GAAI5E,GACtBlH,EAAK+L,WAAW1S,eAAgByS,EAAOtN,eAC7CyH,GAAa,SAAU7B,EAAM9E,GAC5B,GAAI0M,GACHC,EAAUtS,EAAIyK,EAAM8C,GACpB5L,EAAI2Q,EAAQ1R,MACb,OAAQe,IACP0Q,EAAM/S,EAASmL,EAAM6H,EAAQ3Q,IAC7B8I,EAAM4H,KAAW1M,EAAS0M,GAAQC,EAAQ3Q,MAG5C,SAAUD,GACT,MAAO1B,GAAI0B,EAAM,EAAGF,KAIhBxB,IAITuI,SAECgK,IAAOjG,GAAa,SAAUxM,GAI7B,GAAI+O,MACH1J,KACAqN,EAAU/L,EAAS3G,EAASwD,QAASpD,EAAO,MAE7C,OAAOsS,GAASrP,GACfmJ,GAAa,SAAU7B,EAAM9E,EAAS5F,EAAS8R,GAC9C,GAAInQ,GACH+Q,EAAYD,EAAS/H,EAAM,KAAMoH,MACjClQ,EAAI8I,EAAK7J,MAGV,OAAQe,KACDD,EAAO+Q,EAAU9Q,MACtB8I,EAAK9I,KAAOgE,EAAQhE,GAAKD,MAI5B,SAAUA,EAAM3B,EAAS8R,GAKxB,MAJAhD,GAAM,GAAKnN,EACX8Q,EAAS3D,EAAO,KAAMgD,EAAK1M,GAE3B0J,EAAM,GAAK,MACH1J,EAAQ4C,SAInB2K,IAAOpG,GAAa,SAAUxM,GAC7B,MAAO,UAAU4B,GAChB,MAAO0E,IAAQtG,EAAU4B,GAAOd,OAAS,KAI3CuG,SAAYmF,GAAa,SAAUtH,GAElC,MADAA,GAAOA,EAAK1B,QAASwG,GAAWC,IACzB,SAAUrI,GAChB,OAASA,EAAK4O,aAAe5O,EAAKiR,WAAarM,EAAS5E,IAASpC,QAAS0F,GAAS,MAWrF4N,KAAQtG,GAAc,SAAUsG,GAM/B,MAJM9J,GAAY2C,KAAKmH,GAAQ,KAC9BxM,GAAO5C,MAAO,qBAAuBoP,GAEtCA,EAAOA,EAAKtP,QAASwG,GAAWC,IAAYlF,cACrC,SAAUnD,GAChB,GAAImR,EACJ,GACC,IAAMA,EAAW7L,EAChBtF,EAAKkR,KACLlR,EAAKgK,aAAa,aAAehK,EAAKgK,aAAa,QAGnD,MADAmH,GAAWA,EAAShO,cACbgO,IAAaD,GAA2C,IAAnCC,EAASvT,QAASsT,EAAO,YAE5ClR,EAAOA,EAAK0J,aAAiC,IAAlB1J,EAAKyC,SAC3C,QAAO,KAKTtB,OAAU,SAAUnB,GACnB,GAAIoR,GAAO/T,EAAOgU,UAAYhU,EAAOgU,SAASD,IAC9C,OAAOA,IAAQA,EAAK3T,MAAO,KAAQuC,EAAK2J,IAGzC2H,KAAQ,SAAUtR,GACjB,MAAOA,KAASqF,GAGjBkM,MAAS,SAAUvR,GAClB,MAAOA,KAAS9C,EAASsU,iBAAmBtU,EAASuU,UAAYvU,EAASuU,gBAAkBzR,EAAKkC,MAAQlC,EAAK0R,OAAS1R,EAAK2R,WAI7HC,QAAW,SAAU5R,GACpB,MAAOA,GAAK6R,YAAa,GAG1BA,SAAY,SAAU7R,GACrB,MAAOA,GAAK6R,YAAa,GAG1BC,QAAW,SAAU9R,GAGpB,GAAIkD,GAAWlD,EAAKkD,SAASC,aAC7B,OAAqB,UAAbD,KAA0BlD,EAAK8R,SAA0B,WAAb5O,KAA2BlD,EAAK+R,UAGrFA,SAAY,SAAU/R,GAOrB,MAJKA,GAAK0J,YACT1J,EAAK0J,WAAWsI,cAGVhS,EAAK+R,YAAa,GAI1BE,MAAS,SAAUjS,GAKlB,IAAMA,EAAOA,EAAK6O,WAAY7O,EAAMA,EAAOA,EAAKyL,YAC/C,GAAKzL,EAAKyC,SAAW,EACpB,OAAO,CAGT,QAAO,GAGRyJ,OAAU,SAAUlM,GACnB,OAAQ2E,EAAKkC,QAAe,MAAG7G,IAIhCkS,OAAU,SAAUlS,GACnB,MAAO+H,GAAQgC,KAAM/J,EAAKkD,WAG3BiK,MAAS,SAAUnN,GAClB,MAAO8H,GAAQiC,KAAM/J,EAAKkD,WAG3BiP,OAAU,SAAUnS,GACnB,GAAIgB,GAAOhB,EAAKkD,SAASC,aACzB,OAAgB,UAATnC,GAAkC,WAAdhB,EAAKkC,MAA8B,WAATlB,GAGtDsC,KAAQ,SAAUtD,GACjB,GAAIqO,EACJ,OAAuC,UAAhCrO,EAAKkD,SAASC,eACN,SAAdnD,EAAKkC,OAImC,OAArCmM,EAAOrO,EAAKgK,aAAa,UAA2C,SAAvBqE,EAAKlL,gBAIvD/C,MAASwL,GAAuB,WAC/B,OAAS,KAGVtL,KAAQsL,GAAuB,SAAUE,EAAc5M,GACtD,OAASA,EAAS,KAGnBmB,GAAMuL,GAAuB,SAAUE,EAAc5M,EAAQ2M,GAC5D,OAAoB,EAAXA,EAAeA,EAAW3M,EAAS2M,KAG7CuG,KAAQxG,GAAuB,SAAUE,EAAc5M,GAEtD,IADA,GAAIe,GAAI,EACIf,EAAJe,EAAYA,GAAK,EACxB6L,EAAanO,KAAMsC,EAEpB,OAAO6L,KAGRuG,IAAOzG,GAAuB,SAAUE,EAAc5M,GAErD,IADA,GAAIe,GAAI,EACIf,EAAJe,EAAYA,GAAK,EACxB6L,EAAanO,KAAMsC,EAEpB,OAAO6L,KAGRwG,GAAM1G,GAAuB,SAAUE,EAAc5M,EAAQ2M,GAE5D,IADA,GAAI5L,GAAe,EAAX4L,EAAeA,EAAW3M,EAAS2M,IACjC5L,GAAK,GACd6L,EAAanO,KAAMsC,EAEpB,OAAO6L,KAGRyG,GAAM3G,GAAuB,SAAUE,EAAc5M,EAAQ2M,GAE5D,IADA,GAAI5L,GAAe,EAAX4L,EAAeA,EAAW3M,EAAS2M,IACjC5L,EAAIf,GACb4M,EAAanO,KAAMsC,EAEpB,OAAO6L,OAKVnH,EAAKkC,QAAa,IAAIlC,EAAKkC,QAAY,EAGvC,KAAM5G,KAAOuS,OAAO,EAAMC,UAAU,EAAMC,MAAM,EAAMC,UAAU,EAAMC,OAAO,GAC5EjO,EAAKkC,QAAS5G,GAAMyL,GAAmBzL,EAExC,KAAMA,KAAO4S,QAAQ,EAAMC,OAAO,GACjCnO,EAAKkC,QAAS5G,GAAM0L,GAAoB1L,EAIzC,SAASyQ,OACTA,GAAW3R,UAAY4F,EAAKoO,QAAUpO,EAAKkC,QAC3ClC,EAAK+L,WAAa,GAAIA,IAEtB5L,EAAWJ,GAAOI,SAAW,SAAU1G,EAAU4U,GAChD,GAAIpC,GAAS5H,EAAOiK,EAAQ/Q,EAC3BgR,EAAOhK,EAAQiK,EACfC,EAASrN,EAAY3H,EAAW,IAEjC,IAAKgV,EACJ,MAAOJ,GAAY,EAAII,EAAO3V,MAAO,EAGtCyV,GAAQ9U,EACR8K,KACAiK,EAAaxO,EAAK4K,SAElB,OAAQ2D,EAAQ,GAGTtC,IAAY5H,EAAQhC,EAAOwC,KAAM0J,OACjClK,IAEJkK,EAAQA,EAAMzV,MAAOuL,EAAM,GAAG9J,SAAYgU,GAE3ChK,EAAOvL,KAAOsV,OAGfrC,GAAU,GAGJ5H,EAAQ/B,EAAauC,KAAM0J,MAChCtC,EAAU5H,EAAM2B,QAChBsI,EAAOtV,MACNyF,MAAOwN,EAEP1O,KAAM8G,EAAM,GAAGpH,QAASpD,EAAO,OAEhC0U,EAAQA,EAAMzV,MAAOmT,EAAQ1R,QAI9B,KAAMgD,IAAQyC,GAAKmI,SACZ9D,EAAQ3B,EAAWnF,GAAOsH,KAAM0J,KAAcC,EAAYjR,MAC9D8G,EAAQmK,EAAYjR,GAAQ8G,MAC7B4H,EAAU5H,EAAM2B,QAChBsI,EAAOtV,MACNyF,MAAOwN,EACP1O,KAAMA,EACN+B,QAAS+E,IAEVkK,EAAQA,EAAMzV,MAAOmT,EAAQ1R,QAI/B,KAAM0R,EACL,MAOF,MAAOoC,GACNE,EAAMhU,OACNgU,EACCxO,GAAO5C,MAAO1D,GAEd2H,EAAY3H,EAAU8K,GAASzL,MAAO,GAGzC,SAASyM,IAAY+I,GAIpB,IAHA,GAAIhT,GAAI,EACPM,EAAM0S,EAAO/T,OACbd,EAAW,GACAmC,EAAJN,EAASA,IAChB7B,GAAY6U,EAAOhT,GAAGmD,KAEvB,OAAOhF,GAGR,QAASiV,IAAevC,EAASwC,EAAYC,GAC5C,GAAIpE,GAAMmE,EAAWnE,IACpBqE,EAAmBD,GAAgB,eAARpE,EAC3BsE,EAAW7N,GAEZ,OAAO0N,GAAWlT,MAEjB,SAAUJ,EAAM3B,EAAS8R,GACxB,MAASnQ,EAAOA,EAAMmP,GACrB,GAAuB,IAAlBnP,EAAKyC,UAAkB+Q,EAC3B,MAAO1C,GAAS9Q,EAAM3B,EAAS8R,IAMlC,SAAUnQ,EAAM3B,EAAS8R,GACxB,GAAIuD,GAAUtD,EACbuD,GAAahO,EAAS8N,EAGvB,IAAKtD,GACJ,MAASnQ,EAAOA,EAAMmP,GACrB,IAAuB,IAAlBnP,EAAKyC,UAAkB+Q,IACtB1C,EAAS9Q,EAAM3B,EAAS8R,GAC5B,OAAO,MAKV,OAASnQ,EAAOA,EAAMmP,GACrB,GAAuB,IAAlBnP,EAAKyC,UAAkB+Q,EAAmB,CAE9C,GADApD,EAAapQ,EAAMyB,KAAczB,EAAMyB,QACjCiS,EAAWtD,EAAYjB,KAC5BuE,EAAU,KAAQ/N,GAAW+N,EAAU,KAAQD,EAG/C,MAAQE,GAAU,GAAMD,EAAU,EAMlC,IAHAtD,EAAYjB,GAAQwE,EAGdA,EAAU,GAAM7C,EAAS9Q,EAAM3B,EAAS8R,GAC7C,OAAO,IASf,QAASyD,IAAgBC,GACxB,MAAOA,GAAS3U,OAAS,EACxB,SAAUc,EAAM3B,EAAS8R,GACxB,GAAIlQ,GAAI4T,EAAS3U,MACjB,OAAQe,IACP,IAAM4T,EAAS5T,GAAID,EAAM3B,EAAS8R,GACjC,OAAO,CAGT,QAAO,GAER0D,EAAS,GAGX,QAASC,IAAkB1V,EAAU2V,EAAUtQ,GAG9C,IAFA,GAAIxD,GAAI,EACPM,EAAMwT,EAAS7U,OACJqB,EAAJN,EAASA,IAChByE,GAAQtG,EAAU2V,EAAS9T,GAAIwD,EAEhC,OAAOA,GAGR,QAASuQ,IAAUjD,EAAWhR,EAAK+M,EAAQzO,EAAS8R,GAOnD,IANA,GAAInQ,GACHiU,KACAhU,EAAI,EACJM,EAAMwQ,EAAU7R,OAChBgV,EAAgB,MAAPnU,EAEEQ,EAAJN,EAASA,KACVD,EAAO+Q,EAAU9Q,OAChB6M,GAAUA,EAAQ9M,EAAM3B,EAAS8R,MACtC8D,EAAatW,KAAMqC,GACdkU,GACJnU,EAAIpC,KAAMsC,GAMd,OAAOgU,GAGR,QAASE,IAAY5E,EAAWnR,EAAU0S,EAASsD,EAAYC,EAAYC,GAO1E,MANKF,KAAeA,EAAY3S,KAC/B2S,EAAaD,GAAYC,IAErBC,IAAeA,EAAY5S,KAC/B4S,EAAaF,GAAYE,EAAYC,IAE/B1J,GAAa,SAAU7B,EAAMtF,EAASpF,EAAS8R,GACrD,GAAIoE,GAAMtU,EAAGD,EACZwU,KACAC,KACAC,EAAcjR,EAAQvE,OAGtBM,EAAQuJ,GAAQ+K,GAAkB1V,GAAY,IAAKC,EAAQoE,UAAapE,GAAYA,MAGpFsW,GAAYpF,IAAexG,GAAS3K,EAEnCoB,EADAwU,GAAUxU,EAAOgV,EAAQjF,EAAWlR,EAAS8R,GAG9CyE,EAAa9D,EAEZuD,IAAgBtL,EAAOwG,EAAYmF,GAAeN,MAMjD3Q,EACDkR,CAQF,IALK7D,GACJA,EAAS6D,EAAWC,EAAYvW,EAAS8R,GAIrCiE,EAAa,CACjBG,EAAOP,GAAUY,EAAYH,GAC7BL,EAAYG,KAAUlW,EAAS8R,GAG/BlQ,EAAIsU,EAAKrV,MACT,OAAQe,KACDD,EAAOuU,EAAKtU,MACjB2U,EAAYH,EAAQxU,MAAS0U,EAAWF,EAAQxU,IAAOD,IAK1D,GAAK+I,GACJ,GAAKsL,GAAc9E,EAAY,CAC9B,GAAK8E,EAAa,CAEjBE,KACAtU,EAAI2U,EAAW1V,MACf,OAAQe,KACDD,EAAO4U,EAAW3U,KAEvBsU,EAAK5W,KAAOgX,EAAU1U,GAAKD,EAG7BqU,GAAY,KAAOO,KAAkBL,EAAMpE,GAI5ClQ,EAAI2U,EAAW1V,MACf,OAAQe,KACDD,EAAO4U,EAAW3U,MACtBsU,EAAOF,EAAazW,EAASmL,EAAM/I,GAASwU,EAAOvU,IAAM,KAE1D8I,EAAKwL,KAAU9Q,EAAQ8Q,GAAQvU,SAOlC4U,GAAaZ,GACZY,IAAenR,EACdmR,EAAWjU,OAAQ+T,EAAaE,EAAW1V,QAC3C0V,GAEGP,EACJA,EAAY,KAAM5Q,EAASmR,EAAYzE,GAEvCxS,EAAKuC,MAAOuD,EAASmR,KAMzB,QAASC,IAAmB5B,GAwB3B,IAvBA,GAAI6B,GAAchE,EAAStQ,EAC1BD,EAAM0S,EAAO/T,OACb6V,EAAkBpQ,EAAKsK,SAAUgE,EAAO,GAAG/Q,MAC3C8S,EAAmBD,GAAmBpQ,EAAKsK,SAAS,KACpDhP,EAAI8U,EAAkB,EAAI,EAG1BE,EAAe5B,GAAe,SAAUrT,GACvC,MAAOA,KAAS8U,GACdE,GAAkB,GACrBE,EAAkB7B,GAAe,SAAUrT,GAC1C,MAAOpC,GAASkX,EAAc9U,GAAS,IACrCgV,GAAkB,GACrBnB,GAAa,SAAU7T,EAAM3B,EAAS8R,GACrC,GAAI1Q,IAASsV,IAAqB5E,GAAO9R,IAAY4G,MACnD6P,EAAezW,GAASoE,SACxBwS,EAAcjV,EAAM3B,EAAS8R,GAC7B+E,EAAiBlV,EAAM3B,EAAS8R,GAGlC,OADA2E,GAAe,KACRrV,IAGGc,EAAJN,EAASA,IAChB,GAAM6Q,EAAUnM,EAAKsK,SAAUgE,EAAOhT,GAAGiC,MACxC2R,GAAaR,GAAcO,GAAgBC,GAAY/C,QACjD,CAIN,GAHAA,EAAUnM,EAAKmI,OAAQmG,EAAOhT,GAAGiC,MAAOhC,MAAO,KAAM+S,EAAOhT,GAAGgE,SAG1D6M,EAASrP,GAAY,CAGzB,IADAjB,IAAMP,EACMM,EAAJC,EAASA,IAChB,GAAKmE,EAAKsK,SAAUgE,EAAOzS,GAAG0B,MAC7B,KAGF,OAAOiS,IACNlU,EAAI,GAAK2T,GAAgBC,GACzB5T,EAAI,GAAKiK,GAER+I,EAAOxV,MAAO,EAAGwC,EAAI,GAAIvC,QAAS0F,MAAgC,MAAzB6P,EAAQhT,EAAI,GAAIiC,KAAe,IAAM,MAC7EN,QAASpD,EAAO,MAClBsS,EACItQ,EAAJP,GAAS4U,GAAmB5B,EAAOxV,MAAOwC,EAAGO,IACzCD,EAAJC,GAAWqU,GAAoB5B,EAASA,EAAOxV,MAAO+C,IAClDD,EAAJC,GAAW0J,GAAY+I,IAGzBY,EAASlW,KAAMmT,GAIjB,MAAO8C,IAAgBC,GAGxB,QAASsB,IAA0BC,EAAiBC,GACnD,GAAIC,GAAQD,EAAYnW,OAAS,EAChCqW,EAAYH,EAAgBlW,OAAS,EACrCsW,EAAe,SAAUzM,EAAM1K,EAAS8R,EAAK1M,EAASgS,GACrD,GAAIzV,GAAMQ,EAAGsQ,EACZ4E,EAAe,EACfzV,EAAI,IACJ8Q,EAAYhI,MACZ4M,KACAC,EAAgB3Q,EAEhBzF,EAAQuJ,GAAQwM,GAAa5Q,EAAKkI,KAAU,IAAG,IAAK4I,GAEpDI,EAAiBlQ,GAA4B,MAAjBiQ,EAAwB,EAAIlU,KAAKC,UAAY,GACzEpB,EAAMf,EAAMN,MAUb,KARKuW,IACJxQ,EAAmB5G,IAAYnB,GAAYmB,GAOpC4B,IAAMM,GAA4B,OAApBP,EAAOR,EAAMS,IAAaA,IAAM,CACrD,GAAKsV,GAAavV,EAAO,CACxBQ,EAAI,CACJ,OAASsQ,EAAUsE,EAAgB5U,KAClC,GAAKsQ,EAAS9Q,EAAM3B,EAAS8R,GAAQ,CACpC1M,EAAQ9F,KAAMqC,EACd,OAGGyV,IACJ9P,EAAUkQ,GAKPP,KAEEtV,GAAQ8Q,GAAW9Q,IACxB0V,IAII3M,GACJgI,EAAUpT,KAAMqC,IAOnB,GADA0V,GAAgBzV,EACXqV,GAASrV,IAAMyV,EAAe,CAClClV,EAAI,CACJ,OAASsQ,EAAUuE,EAAY7U,KAC9BsQ,EAASC,EAAW4E,EAAYtX,EAAS8R,EAG1C,IAAKpH,EAAO,CAEX,GAAK2M,EAAe,EACnB,MAAQzV,IACA8Q,EAAU9Q,IAAM0V,EAAW1V,KACjC0V,EAAW1V,GAAKoG,EAAIjH,KAAMqE,GAM7BkS,GAAa3B,GAAU2B,GAIxBhY,EAAKuC,MAAOuD,EAASkS,GAGhBF,IAAc1M,GAAQ4M,EAAWzW,OAAS,GAC5CwW,EAAeL,EAAYnW,OAAW,GAExCwF,GAAO8J,WAAY/K,GAUrB,MALKgS,KACJ9P,EAAUkQ,EACV5Q,EAAmB2Q,GAGb7E,EAGT,OAAOuE,GACN1K,GAAc4K,GACdA,EA+KF,MA5KAzQ,GAAUL,GAAOK,QAAU,SAAU3G,EAAU4K,GAC9C,GAAI/I,GACHoV,KACAD,KACAhC,EAASpN,EAAe5H,EAAW,IAEpC,KAAMgV,EAAS,CAERpK,IACLA,EAAQlE,EAAU1G,IAEnB6B,EAAI+I,EAAM9J,MACV,OAAQe,IACPmT,EAASyB,GAAmB7L,EAAM/I,IAC7BmT,EAAQ3R,GACZ4T,EAAY1X,KAAMyV,GAElBgC,EAAgBzX,KAAMyV,EAKxBA,GAASpN,EAAe5H,EAAU+W,GAA0BC,EAAiBC,IAG7EjC,EAAOhV,SAAWA,EAEnB,MAAOgV,IAYRpO,EAASN,GAAOM,OAAS,SAAU5G,EAAUC,EAASoF,EAASsF,GAC9D,GAAI9I,GAAGgT,EAAQ6C,EAAO5T,EAAM2K,EAC3BkJ,EAA+B,kBAAb3X,IAA2BA,EAC7C4K,GAASD,GAAQjE,EAAW1G,EAAW2X,EAAS3X,UAAYA,EAK7D,IAHAqF,EAAUA,MAGY,IAAjBuF,EAAM9J,OAAe,CAIzB,GADA+T,EAASjK,EAAM,GAAKA,EAAM,GAAGvL,MAAO,GAC/BwV,EAAO/T,OAAS,GAAkC,QAA5B4W,EAAQ7C,EAAO,IAAI/Q,MAC5CjE,EAAQ0O,SAAgC,IAArBtO,EAAQoE,UAAkB6C,GAC7CX,EAAKsK,SAAUgE,EAAO,GAAG/Q,MAAS,CAGnC,GADA7D,GAAYsG,EAAKkI,KAAS,GAAGiJ,EAAM7R,QAAQ,GAAGrC,QAAQwG,GAAWC,IAAYhK,QAAkB,IACzFA,EACL,MAAOoF,EAGIsS,KACX1X,EAAUA,EAAQqL,YAGnBtL,EAAWA,EAASX,MAAOwV,EAAOtI,QAAQvH,MAAMlE,QAIjDe,EAAIoH,EAAwB,aAAE0C,KAAM3L,GAAa,EAAI6U,EAAO/T,MAC5D,OAAQe,IAAM,CAIb,GAHA6V,EAAQ7C,EAAOhT,GAGV0E,EAAKsK,SAAW/M,EAAO4T,EAAM5T,MACjC,KAED,KAAM2K,EAAOlI,EAAKkI,KAAM3K,MAEjB6G,EAAO8D,EACZiJ,EAAM7R,QAAQ,GAAGrC,QAASwG,GAAWC,IACrCH,GAAS6B,KAAMkJ,EAAO,GAAG/Q,OAAUiI,GAAa9L,EAAQqL,aAAgBrL,IACpE,CAKJ,GAFA4U,EAAOtS,OAAQV,EAAG,GAClB7B,EAAW2K,EAAK7J,QAAUgL,GAAY+I,IAChC7U,EAEL,MADAT,GAAKuC,MAAOuD,EAASsF,GACdtF,CAGR,SAeJ,OAPEsS,GAAYhR,EAAS3G,EAAU4K,IAChCD,EACA1K,GACCiH,EACD7B,EACAyE,GAAS6B,KAAM3L,IAAc+L,GAAa9L,EAAQqL,aAAgBrL,GAE5DoF,GAMRxF,EAAQ0Q,WAAalN,EAAQgD,MAAM,IAAI/D,KAAMuF,GAAYmE,KAAK,MAAQ3I,EAItExD,EAAQyQ,mBAAqBvJ,EAG7BC,IAIAnH,EAAQ6P,aAAejD,GAAO,SAAUmL,GAEvC,MAAuE,GAAhEA,EAAKtI,wBAAyBxQ,EAAS6N,cAAc,UAMvDF,GAAO,SAAUC,GAEtB,MADAA,GAAIoC,UAAY,mBAC+B,MAAxCpC,EAAI+D,WAAW7E,aAAa,WAEnCiB,GAAW,yBAA0B,SAAUjL,EAAMgB,EAAM6D,GAC1D,MAAMA,GAAN,OACQ7E,EAAKgK,aAAchJ,EAA6B,SAAvBA,EAAKmC,cAA2B,EAAI,KAOjElF,EAAQ2I,YAAeiE,GAAO,SAAUC,GAG7C,MAFAA,GAAIoC,UAAY,WAChBpC,EAAI+D,WAAW5E,aAAc,QAAS,IACY,KAA3Ca,EAAI+D,WAAW7E,aAAc,YAEpCiB,GAAW,QAAS,SAAUjL,EAAMgB,EAAM6D,GACzC,MAAMA,IAAyC,UAAhC7E,EAAKkD,SAASC,cAA7B,OACQnD,EAAKiW,eAOTpL,GAAO,SAAUC,GACtB,MAAuC,OAAhCA,EAAId,aAAa,eAExBiB,GAAWzE,EAAU,SAAUxG,EAAMgB,EAAM6D,GAC1C,GAAIyJ,EACJ,OAAMzJ,GAAN,OACQ7E,EAAMgB,MAAW,EAAOA,EAAKmC,eACjCmL,EAAMtO,EAAKgN,iBAAkBhM,KAAWsN,EAAIC,UAC7CD,EAAIlL,MACL,OAKGsB,IAEHrH,EAIJc,GAAO0O,KAAOnI,EACdvG,EAAOgQ,KAAOzJ,EAAOqK,UACrB5Q,EAAOgQ,KAAK,KAAOhQ,EAAOgQ,KAAKtH,QAC/B1I,EAAO+X,OAASxR,EAAO8J,WACvBrQ,EAAOmF,KAAOoB,EAAOE,QACrBzG,EAAOgY,SAAWzR,EAAOG,MACzB1G,EAAOsH,SAAWf,EAAOe,QAIzB,IAAI2Q,GAAgBjY,EAAOgQ,KAAKnF,MAAMnB,aAElCwO,EAAa,6BAIbC,EAAY,gBAGhB,SAASC,GAAQnI,EAAUoI,EAAW3F,GACrC,GAAK1S,EAAOkD,WAAYmV,GACvB,MAAOrY,GAAO2F,KAAMsK,EAAU,SAAUpO,EAAMC,GAE7C,QAASuW,EAAUpX,KAAMY,EAAMC,EAAGD,KAAW6Q,GAK/C,IAAK2F,EAAU/T,SACd,MAAOtE,GAAO2F,KAAMsK,EAAU,SAAUpO,GACvC,MAASA,KAASwW,IAAgB3F,GAKpC,IAA0B,gBAAd2F,GAAyB,CACpC,GAAKF,EAAUvM,KAAMyM,GACpB,MAAOrY,GAAO2O,OAAQ0J,EAAWpI,EAAUyC,EAG5C2F,GAAYrY,EAAO2O,OAAQ0J,EAAWpI,GAGvC,MAAOjQ,GAAO2F,KAAMsK,EAAU,SAAUpO,GACvC,MAAS7B,GAAOwF,QAAS3D,EAAMwW,IAAe,IAAQ3F,IAIxD1S,EAAO2O,OAAS,SAAUqB,EAAM3O,EAAOqR,GACtC,GAAI7Q,GAAOR,EAAO,EAMlB,OAJKqR,KACJ1C,EAAO,QAAUA,EAAO,KAGD,IAAjB3O,EAAMN,QAAkC,IAAlBc,EAAKyC,SACjCtE,EAAO0O,KAAKO,gBAAiBpN,EAAMmO,IAAWnO,MAC9C7B,EAAO0O,KAAK5I,QAASkK,EAAMhQ,EAAO2F,KAAMtE,EAAO,SAAUQ,GACxD,MAAyB,KAAlBA,EAAKyC,aAIftE,EAAOG,GAAGsC,QACTiM,KAAM,SAAUzO,GACf,GAAI6B,GACHR,KACAgX,EAAOnZ,KACPiD,EAAMkW,EAAKvX,MAEZ,IAAyB,gBAAbd,GACX,MAAOd,MAAKiC,UAAWpB,EAAQC,GAAW0O,OAAO,WAChD,IAAM7M,EAAI,EAAOM,EAAJN,EAASA,IACrB,GAAK9B,EAAOsH,SAAUgR,EAAMxW,GAAK3C,MAChC,OAAO,IAMX,KAAM2C,EAAI,EAAOM,EAAJN,EAASA,IACrB9B,EAAO0O,KAAMzO,EAAUqY,EAAMxW,GAAKR,EAMnC,OAFAA,GAAMnC,KAAKiC,UAAWgB,EAAM,EAAIpC,EAAO+X,OAAQzW,GAAQA,GACvDA,EAAIrB,SAAWd,KAAKc,SAAWd,KAAKc,SAAW,IAAMA,EAAWA,EACzDqB,GAERqN,OAAQ,SAAU1O,GACjB,MAAOd,MAAKiC,UAAWgX,EAAOjZ,KAAMc,OAAgB,KAErDyS,IAAK,SAAUzS,GACd,MAAOd,MAAKiC,UAAWgX,EAAOjZ,KAAMc,OAAgB,KAErDsY,GAAI,SAAUtY,GACb,QAASmY,EACRjZ,KAIoB,gBAAbc,IAAyBgY,EAAcrM,KAAM3L,GACnDD,EAAQC,GACRA,OACD,GACCc,SASJ,IAAIyX,GAGHzZ,EAAWG,EAAOH,SAKlB+K,EAAa,sCAEb1J,EAAOJ,EAAOG,GAAGC,KAAO,SAAUH,EAAUC,GAC3C,GAAI2K,GAAOhJ,CAGX,KAAM5B,EACL,MAAOd,KAIR,IAAyB,gBAAbc,GAAwB,CAUnC,GAPC4K,EAF2B,MAAvB5K,EAASwY,OAAO,IAAyD,MAA3CxY,EAASwY,OAAQxY,EAASc,OAAS,IAAed,EAASc,QAAU,GAE7F,KAAMd,EAAU,MAGlB6J,EAAWuB,KAAMpL,IAIrB4K,IAAUA,EAAM,IAAO3K,EAsDrB,OAAMA,GAAWA,EAAQW,QACtBX,GAAWsY,GAAa9J,KAAMzO,GAKhCd,KAAK2B,YAAaZ,GAAUwO,KAAMzO,EAzDzC,IAAK4K,EAAM,GAAK,CAYf,GAXA3K,EAAUA,YAAmBF,GAASE,EAAQ,GAAKA,EAInDF,EAAOuB,MAAOpC,KAAMa,EAAO0Y,UAC1B7N,EAAM,GACN3K,GAAWA,EAAQoE,SAAWpE,EAAQkL,eAAiBlL,EAAUnB,GACjE,IAIImZ,EAAWtM,KAAMf,EAAM,KAAQ7K,EAAOmD,cAAejD,GACzD,IAAM2K,IAAS3K,GAETF,EAAOkD,WAAY/D,KAAM0L,IAC7B1L,KAAM0L,GAAS3K,EAAS2K,IAIxB1L,KAAK+Q,KAAMrF,EAAO3K,EAAS2K,GAK9B,OAAO1L,MAQP,GAJA0C,EAAO9C,EAASuM,eAAgBT,EAAM,IAIjChJ,GAAQA,EAAK0J,WAAa,CAG9B,GAAK1J,EAAK2J,KAAOX,EAAM,GACtB,MAAO2N,GAAW9J,KAAMzO,EAIzBd,MAAK4B,OAAS,EACd5B,KAAK,GAAK0C,EAKX,MAFA1C,MAAKe,QAAUnB,EACfI,KAAKc,SAAWA,EACTd,KAcH,MAAKc,GAASqE,UACpBnF,KAAKe,QAAUf,KAAK,GAAKc,EACzBd,KAAK4B,OAAS,EACP5B,MAIIa,EAAOkD,WAAYjD,GACK,mBAArBuY,GAAWG,MACxBH,EAAWG,MAAO1Y,GAElBA,EAAUD,IAGeqD,SAAtBpD,EAASA,WACbd,KAAKc,SAAWA,EAASA,SACzBd,KAAKe,QAAUD,EAASC,SAGlBF,EAAOoF,UAAWnF,EAAUd,OAIrCiB,GAAKQ,UAAYZ,EAAOG,GAGxBqY,EAAaxY,EAAQjB,EAGrB,IAAI6Z,GAAe,iCAElBC,GACCC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,MAAM,EAGRjZ,GAAOyC,QACNuO,IAAK,SAAUnP,EAAMmP,EAAKkI,GACzB,GAAIzG,MACHtF,EAAMtL,EAAMmP,EAEb,OAAQ7D,GAAwB,IAAjBA,EAAI7I,WAA6BjB,SAAV6V,GAAwC,IAAjB/L,EAAI7I,WAAmBtE,EAAQmN,GAAMoL,GAAIW,IAC/E,IAAjB/L,EAAI7I,UACRmO,EAAQjT,KAAM2N,GAEfA,EAAMA,EAAI6D,EAEX,OAAOyB,IAGR0G,QAAS,SAAUC,EAAGvX,GAGrB,IAFA,GAAIwX,MAEID,EAAGA,EAAIA,EAAE9L,YACI,IAAf8L,EAAE9U,UAAkB8U,IAAMvX,GAC9BwX,EAAE7Z,KAAM4Z,EAIV,OAAOC,MAITrZ,EAAOG,GAAGsC,QACToQ,IAAK,SAAU7P,GACd,GAAIlB,GACHwX,EAAUtZ,EAAQgD,EAAQ7D,MAC1BiD,EAAMkX,EAAQvY,MAEf,OAAO5B,MAAKwP,OAAO,WAClB,IAAM7M,EAAI,EAAOM,EAAJN,EAASA,IACrB,GAAK9B,EAAOsH,SAAUnI,KAAMma,EAAQxX,IACnC,OAAO,KAMXyX,QAAS,SAAU3I,EAAW1Q,GAS7B,IARA,GAAIiN,GACHrL,EAAI,EACJ0X,EAAIra,KAAK4B,OACT0R,KACAgH,EAAMxB,EAAcrM,KAAMgF,IAAoC,gBAAdA,GAC/C5Q,EAAQ4Q,EAAW1Q,GAAWf,KAAKe,SACnC,EAEUsZ,EAAJ1X,EAAOA,IACd,IAAMqL,EAAMhO,KAAK2C,GAAIqL,GAAOA,IAAQjN,EAASiN,EAAMA,EAAI5B,WAEtD,GAAK4B,EAAI7I,SAAW,KAAOmV,EAC1BA,EAAIC,MAAMvM,GAAO,GAGA,IAAjBA,EAAI7I,UACHtE,EAAO0O,KAAKO,gBAAgB9B,EAAKyD,IAAc,CAEhD6B,EAAQjT,KAAM2N,EACd,OAKH,MAAOhO,MAAKiC,UAAWqR,EAAQ1R,OAAS,EAAIf,EAAO+X,OAAQtF,GAAYA,IAKxEiH,MAAO,SAAU7X,GAGhB,MAAMA,GAKe,gBAATA,GACJ7B,EAAOwF,QAASrG,KAAK,GAAIa,EAAQ6B,IAIlC7B,EAAOwF,QAEb3D,EAAKhB,OAASgB,EAAK,GAAKA,EAAM1C,MAXrBA,KAAK,IAAMA,KAAK,GAAGoM,WAAepM,KAAK8C,QAAQ0X,UAAU5Y,OAAS,IAc7E6Y,IAAK,SAAU3Z,EAAUC,GACxB,MAAOf,MAAKiC,UACXpB,EAAO+X,OACN/X,EAAOuB,MAAOpC,KAAK+B,MAAOlB,EAAQC,EAAUC,OAK/C2Z,QAAS,SAAU5Z,GAClB,MAAOd,MAAKya,IAAiB,MAAZ3Z,EAChBd,KAAKqC,WAAarC,KAAKqC,WAAWmN,OAAO1O,MAK5C,SAASkZ,GAAShM,EAAK6D,GACtB,EACC7D,GAAMA,EAAK6D,SACF7D,GAAwB,IAAjBA,EAAI7I,SAErB,OAAO6I,GAGRnN,EAAOyB,MACNsM,OAAQ,SAAUlM,GACjB,GAAIkM,GAASlM,EAAK0J,UAClB,OAAOwC,IAA8B,KAApBA,EAAOzJ,SAAkByJ,EAAS,MAEpD+L,QAAS,SAAUjY,GAClB,MAAO7B,GAAOgR,IAAKnP,EAAM,eAE1BkY,aAAc,SAAUlY,EAAMC,EAAGoX,GAChC,MAAOlZ,GAAOgR,IAAKnP,EAAM,aAAcqX,IAExCF,KAAM,SAAUnX,GACf,MAAOsX,GAAStX,EAAM,gBAEvBoX,KAAM,SAAUpX,GACf,MAAOsX,GAAStX,EAAM,oBAEvBmY,QAAS,SAAUnY,GAClB,MAAO7B,GAAOgR,IAAKnP,EAAM,gBAE1B8X,QAAS,SAAU9X,GAClB,MAAO7B,GAAOgR,IAAKnP,EAAM,oBAE1BoY,UAAW,SAAUpY,EAAMC,EAAGoX,GAC7B,MAAOlZ,GAAOgR,IAAKnP,EAAM,cAAeqX,IAEzCgB,UAAW,SAAUrY,EAAMC,EAAGoX,GAC7B,MAAOlZ,GAAOgR,IAAKnP,EAAM,kBAAmBqX,IAE7CiB,SAAU,SAAUtY,GACnB,MAAO7B,GAAOmZ,SAAWtX,EAAK0J,gBAAmBmF,WAAY7O,IAE9DiX,SAAU,SAAUjX,GACnB,MAAO7B,GAAOmZ,QAAStX,EAAK6O,aAE7BqI,SAAU,SAAUlX,GACnB,MAAO7B,GAAO+E,SAAUlD,EAAM,UAC7BA,EAAKuY,iBAAmBvY,EAAKwY,cAActb,SAC3CiB,EAAOuB,SAAWM,EAAK6I,cAEvB,SAAU7H,EAAM1C,GAClBH,EAAOG,GAAI0C,GAAS,SAAUqW,EAAOjZ,GACpC,GAAIqB,GAAMtB,EAAO4B,IAAKzC,KAAMgB,EAAI+Y,EAsBhC,OApB0B,UAArBrW,EAAKvD,MAAO,MAChBW,EAAWiZ,GAGPjZ,GAAgC,gBAAbA,KACvBqB,EAAMtB,EAAO2O,OAAQ1O,EAAUqB,IAG3BnC,KAAK4B,OAAS,IAEZ8X,EAAkBhW,KACvBvB,EAAMtB,EAAO+X,OAAQzW,IAIjBsX,EAAahN,KAAM/I,KACvBvB,EAAMA,EAAIgZ,YAILnb,KAAKiC,UAAWE,KAGzB,IAAIiZ,GAAY,OAKZC,IAGJ,SAASC,GAAe3X,GACvB,GAAI4X,GAASF,EAAc1X,KAI3B,OAHA9C,GAAOyB,KAAMqB,EAAQ+H,MAAO0P,OAAmB,SAAUpQ,EAAGwQ,GAC3DD,EAAQC,IAAS,IAEXD,EAyBR1a,EAAO4a,UAAY,SAAU9X,GAI5BA,EAA6B,gBAAZA,GACd0X,EAAc1X,IAAa2X,EAAe3X,GAC5C9C,EAAOyC,UAAYK,EAEpB,IACC+X,GAEAC,EAEAC,EAEAC,EAEAC,EAEAC,EAEA9S,KAEA+S,GAASrY,EAAQsY,SAEjBC,EAAO,SAAU3W,GAOhB,IANAoW,EAAShY,EAAQgY,QAAUpW,EAC3BqW,GAAQ,EACRE,EAAcC,GAAe,EAC7BA,EAAc,EACdF,EAAe5S,EAAKrH,OACpB8Z,GAAS,EACDzS,GAAsB4S,EAAdC,EAA4BA,IAC3C,GAAK7S,EAAM6S,GAAclZ,MAAO2C,EAAM,GAAKA,EAAM,OAAU,GAAS5B,EAAQwY,YAAc,CACzFR,GAAS,CACT,OAGFD,GAAS,EACJzS,IACC+S,EACCA,EAAMpa,QACVsa,EAAMF,EAAM3O,SAEFsO,EACX1S,KAEAkQ,EAAKiD,YAKRjD,GAECsB,IAAK,WACJ,GAAKxR,EAAO,CAEX,GAAI+J,GAAQ/J,EAAKrH,QACjB,QAAU6Y,GAAKjY,GACd3B,EAAOyB,KAAME,EAAM,SAAUwI,EAAGnE,GAC/B,GAAIjC,GAAO/D,EAAO+D,KAAMiC,EACV,cAATjC,EACEjB,EAAQiV,QAAWO,EAAKzF,IAAK7M,IAClCoC,EAAK5I,KAAMwG,GAEDA,GAAOA,EAAIjF,QAAmB,WAATgD,GAEhC6V,EAAK5T,MAGJhE,WAGC6Y,EACJG,EAAe5S,EAAKrH,OAGT+Z,IACXI,EAAc/I,EACdkJ,EAAMP,IAGR,MAAO3b,OAGRqc,OAAQ,WAkBP,MAjBKpT,IACJpI,EAAOyB,KAAMO,UAAW,SAAUmI,EAAGnE,GACpC,GAAI0T,EACJ,QAAUA,EAAQ1Z,EAAOwF,QAASQ,EAAKoC,EAAMsR,IAAY,GACxDtR,EAAK5F,OAAQkX,EAAO,GAEfmB,IACUG,GAATtB,GACJsB,IAEaC,GAATvB,GACJuB,OAME9b,MAIR0T,IAAK,SAAU1S,GACd,MAAOA,GAAKH,EAAOwF,QAASrF,EAAIiI,GAAS,MAASA,IAAQA,EAAKrH,SAGhE+S,MAAO,WAGN,MAFA1L,MACA4S,EAAe,EACR7b,MAGRoc,QAAS,WAER,MADAnT,GAAO+S,EAAQL,EAASzX,OACjBlE,MAGRuU,SAAU,WACT,OAAQtL,GAGTqT,KAAM,WAKL,MAJAN,GAAQ9X,OACFyX,GACLxC,EAAKiD,UAECpc,MAGRuc,OAAQ,WACP,OAAQP,GAGTQ,SAAU,SAAUzb,EAASyB,GAU5B,OATKyG,GAAW2S,IAASI,IACxBxZ,EAAOA,MACPA,GAASzB,EAASyB,EAAKrC,MAAQqC,EAAKrC,QAAUqC,GACzCkZ,EACJM,EAAM3b,KAAMmC,GAEZ0Z,EAAM1Z,IAGDxC,MAGRkc,KAAM,WAEL,MADA/C,GAAKqD,SAAUxc,KAAM6C,WACd7C,MAGR4b,MAAO,WACN,QAASA,GAIZ,OAAOzC,IAIRtY,EAAOyC,QAENmZ,SAAU,SAAUC,GACnB,GAAIC,KAEA,UAAW,OAAQ9b,EAAO4a,UAAU,eAAgB,aACpD,SAAU,OAAQ5a,EAAO4a,UAAU,eAAgB,aACnD,SAAU,WAAY5a,EAAO4a,UAAU,YAE1CmB,EAAQ,UACRC,GACCD,MAAO,WACN,MAAOA,IAERE,OAAQ,WAEP,MADAC,GAASzU,KAAMzF,WAAYma,KAAMna,WAC1B7C,MAERid,KAAM,WACL,GAAIC,GAAMra,SACV,OAAOhC,GAAO4b,SAAS,SAAUU,GAChCtc,EAAOyB,KAAMqa,EAAQ,SAAUha,EAAGya,GACjC,GAAIpc,GAAKH,EAAOkD,WAAYmZ,EAAKva,KAASua,EAAKva,EAE/Coa,GAAUK,EAAM,IAAK,WACpB,GAAIC,GAAWrc,GAAMA,EAAG4B,MAAO5C,KAAM6C,UAChCwa,IAAYxc,EAAOkD,WAAYsZ,EAASR,SAC5CQ,EAASR,UACPvU,KAAM6U,EAASG,SACfN,KAAMG,EAASI,QACfC,SAAUL,EAASM,QAErBN,EAAUC,EAAO,GAAM,QAAUpd,OAAS6c,EAAUM,EAASN,UAAY7c,KAAMgB,GAAOqc,GAAaxa,eAItGqa,EAAM,OACJL,WAIJA,QAAS,SAAUlY,GAClB,MAAc,OAAPA,EAAc9D,EAAOyC,OAAQqB,EAAKkY,GAAYA,IAGvDE,IAwCD,OArCAF,GAAQa,KAAOb,EAAQI,KAGvBpc,EAAOyB,KAAMqa,EAAQ,SAAUha,EAAGya,GACjC,GAAInU,GAAOmU,EAAO,GACjBO,EAAcP,EAAO,EAGtBP,GAASO,EAAM,IAAOnU,EAAKwR,IAGtBkD,GACJ1U,EAAKwR,IAAI,WAERmC,EAAQe,GAGNhB,EAAY,EAAJha,GAAS,GAAIyZ,QAASO,EAAQ,GAAK,GAAIL,MAInDS,EAAUK,EAAM,IAAO,WAEtB,MADAL,GAAUK,EAAM,GAAK,QAAUpd,OAAS+c,EAAWF,EAAU7c,KAAM6C,WAC5D7C,MAER+c,EAAUK,EAAM,GAAK,QAAWnU,EAAKuT,WAItCK,EAAQA,QAASE,GAGZL,GACJA,EAAK5a,KAAMib,EAAUA,GAIfA,GAIRa,KAAM,SAAUC,GACf,GAAIlb,GAAI,EACPmb,EAAgB3d,EAAM2B,KAAMe,WAC5BjB,EAASkc,EAAclc,OAGvBmc,EAAuB,IAAXnc,GAAkBic,GAAehd,EAAOkD,WAAY8Z,EAAYhB,SAAcjb,EAAS,EAGnGmb,EAAyB,IAAdgB,EAAkBF,EAAchd,EAAO4b,WAGlDuB,EAAa,SAAUrb,EAAG8T,EAAUwH,GACnC,MAAO,UAAUnY,GAChB2Q,EAAU9T,GAAM3C,KAChBie,EAAQtb,GAAME,UAAUjB,OAAS,EAAIzB,EAAM2B,KAAMe,WAAciD,EAC1DmY,IAAWC,EACfnB,EAASoB,WAAY1H,EAAUwH,KAEhBF,GACfhB,EAASqB,YAAa3H,EAAUwH,KAKnCC,EAAgBG,EAAkBC,CAGnC,IAAK1c,EAAS,EAIb,IAHAsc,EAAiB,GAAIrZ,OAAOjD,GAC5Byc,EAAmB,GAAIxZ,OAAOjD,GAC9B0c,EAAkB,GAAIzZ,OAAOjD,GACjBA,EAAJe,EAAYA,IACdmb,EAAenb,IAAO9B,EAAOkD,WAAY+Z,EAAenb,GAAIka,SAChEiB,EAAenb,GAAIka,UACjBvU,KAAM0V,EAAYrb,EAAG2b,EAAiBR,IACtCd,KAAMD,EAASQ,QACfC,SAAUQ,EAAYrb,EAAG0b,EAAkBH,MAE3CH,CAUL,OAJMA,IACLhB,EAASqB,YAAaE,EAAiBR,GAGjCf,EAASF,YAMlB,IAAI0B,EAEJ1d,GAAOG,GAAGwY,MAAQ,SAAUxY,GAI3B,MAFAH,GAAO2Y,MAAMqD,UAAUvU,KAAMtH,GAEtBhB,MAGRa,EAAOyC,QAENiB,SAAS,EAITia,UAAW,EAGXC,UAAW,SAAUC,GACfA,EACJ7d,EAAO2d,YAEP3d,EAAO2Y,OAAO,IAKhBA,MAAO,SAAUmF,GAGhB,GAAKA,KAAS,KAAS9d,EAAO2d,WAAY3d,EAAO0D,QAAjD,CAKA,IAAM3E,EAASgf,KACd,MAAOC,YAAYhe,EAAO2Y,MAI3B3Y,GAAO0D,SAAU,EAGZoa,KAAS,KAAU9d,EAAO2d,UAAY,IAK3CD,EAAUH,YAAaxe,GAAYiB,IAG9BA,EAAOG,GAAG8d,iBACdje,EAAQjB,GAAWkf,eAAgB,SACnCje,EAAQjB,GAAWmf,IAAK,cAQ3B,SAASC,KACHpf,EAASoP,kBACbpP,EAASqf,oBAAqB,mBAAoBC,GAAW,GAC7Dnf,EAAOkf,oBAAqB,OAAQC,GAAW,KAG/Ctf,EAASuf,YAAa,qBAAsBD,GAC5Cnf,EAAOof,YAAa,SAAUD,IAOhC,QAASA,MAEHtf,EAASoP,kBAAmC,SAAfoQ,MAAMxa,MAA2C,aAAxBhF,EAASyf,cACnEL,IACAne,EAAO2Y,SAIT3Y,EAAO2Y,MAAMqD,QAAU,SAAUlY,GAChC,IAAM4Z,EAOL,GALAA,EAAY1d,EAAO4b,WAKU,aAAxB7c,EAASyf,WAEbR,WAAYhe,EAAO2Y,WAGb,IAAK5Z,EAASoP,iBAEpBpP,EAASoP,iBAAkB,mBAAoBkQ,GAAW,GAG1Dnf,EAAOiP,iBAAkB,OAAQkQ,GAAW,OAGtC,CAENtf,EAASqP,YAAa,qBAAsBiQ,GAG5Cnf,EAAOkP,YAAa,SAAUiQ,EAI9B,IAAInQ,IAAM,CAEV,KACCA,EAA6B,MAAvBhP,EAAOuf,cAAwB1f,EAAS6O,gBAC7C,MAAMrJ,IAEH2J,GAAOA,EAAIwQ,WACf,QAAUC,KACT,IAAM3e,EAAO0D,QAAU,CAEtB,IAGCwK,EAAIwQ,SAAS,QACZ,MAAMna,GACP,MAAOyZ,YAAYW,EAAe,IAInCR,IAGAne,EAAO2Y,YAMZ,MAAO+E,GAAU1B,QAASlY,GAI3B,IAAI8a,GAAe,YAMf9c,CACJ,KAAMA,IAAK9B,GAAQF,GAClB,KAEDA,GAAQ0E,QAAgB,MAAN1C,EAIlBhC,EAAQ+e,wBAAyB,EAGjC7e,EAAO,WAEN,GAAImQ,GAAKxD,EAAKoR,EAAMe,CAEpBf,GAAOhf,EAAS0M,qBAAsB,QAAU,GAC1CsS,GAASA,EAAKgB,QAMpBpS,EAAM5N,EAAS6N,cAAe,OAC9BkS,EAAY/f,EAAS6N,cAAe,OACpCkS,EAAUC,MAAMC,QAAU,iEAC1BjB,EAAKzP,YAAawQ,GAAYxQ,YAAa3B,SAE/BA,GAAIoS,MAAME,OAASL,IAK9BjS,EAAIoS,MAAMC,QAAU,gEAEpBlf,EAAQ+e,uBAAyB1O,EAA0B,IAApBxD,EAAIuS,YACtC/O,IAIJ4N,EAAKgB,MAAME,KAAO,IAIpBlB,EAAKlR,YAAaiS,MAMnB,WACC,GAAInS,GAAM5N,EAAS6N,cAAe,MAGlC,IAA6B,MAAzB9M,EAAQqf,cAAuB,CAElCrf,EAAQqf,eAAgB,CACxB,WACQxS,GAAIf,KACV,MAAOrH,GACRzE,EAAQqf,eAAgB,GAK1BxS,EAAM,QAOP3M,EAAOof,WAAa,SAAUvd,GAC7B,GAAIwd,GAASrf,EAAOqf,QAASxd,EAAKkD,SAAW,KAAKC,eACjDV,GAAYzC,EAAKyC,UAAY,CAG9B,OAAoB,KAAbA,GAA+B,IAAbA,GACxB,GAGC+a,GAAUA,KAAW,GAAQxd,EAAKgK,aAAa,aAAewT,EAIjE,IAAIC,GAAS,gCACZC,EAAa,UAEd,SAASC,GAAU3d,EAAMwC,EAAKK,GAG7B,GAAcrB,SAATqB,GAAwC,IAAlB7C,EAAKyC,SAAiB,CAEhD,GAAIzB,GAAO,QAAUwB,EAAIZ,QAAS8b,EAAY,OAAQva,aAItD,IAFAN,EAAO7C,EAAKgK,aAAchJ,GAEL,gBAAT6B,GAAoB,CAC/B,IACCA,EAAgB,SAATA,GAAkB,EACf,UAATA,GAAmB,EACV,SAATA,EAAkB,MAEjBA,EAAO,KAAOA,GAAQA,EACvB4a,EAAO1T,KAAMlH,GAAS1E,EAAOyf,UAAW/a,GACxCA,EACA,MAAOH,IAGTvE,EAAO0E,KAAM7C,EAAMwC,EAAKK,OAGxBA,GAAOrB,OAIT,MAAOqB,GAIR,QAASgb,GAAmB5b,GAC3B,GAAIjB,EACJ,KAAMA,IAAQiB,GAGb,IAAc,SAATjB,IAAmB7C,EAAOoE,cAAeN,EAAIjB,MAGpC,WAATA,EACJ,OAAO,CAIT;OAAO,EAGR,QAAS8c,GAAc9d,EAAMgB,EAAM6B,EAAMkb,GACxC,GAAM5f,EAAOof,WAAYvd,GAAzB,CAIA,GAAIP,GAAKue,EACRC,EAAc9f,EAAOsD,QAIrByc,EAASle,EAAKyC,SAIdgI,EAAQyT,EAAS/f,EAAOsM,MAAQzK,EAIhC2J,EAAKuU,EAASle,EAAMie,GAAgBje,EAAMie,IAAiBA,CAI5D,IAAOtU,GAAOc,EAAMd,KAASoU,GAAQtT,EAAMd,GAAI9G,OAAmBrB,SAATqB,GAAsC,gBAAT7B,GAgEtF,MA5DM2I,KAIJA,EADIuU,EACCle,EAAMie,GAAgBzgB,EAAW6I,OAASlI,EAAOiG,OAEjD6Z,GAIDxT,EAAOd,KAGZc,EAAOd,GAAOuU,MAAgBC,OAAQhgB,EAAO6D,QAKzB,gBAAThB,IAAqC,kBAATA,MAClC+c,EACJtT,EAAOd,GAAOxL,EAAOyC,OAAQ6J,EAAOd,GAAM3I,GAE1CyJ,EAAOd,GAAK9G,KAAO1E,EAAOyC,OAAQ6J,EAAOd,GAAK9G,KAAM7B,IAItDgd,EAAYvT,EAAOd,GAKboU,IACCC,EAAUnb,OACfmb,EAAUnb,SAGXmb,EAAYA,EAAUnb,MAGTrB,SAATqB,IACJmb,EAAW7f,EAAO6E,UAAWhC,IAAW6B,GAKpB,gBAAT7B,IAGXvB,EAAMue,EAAWhd,GAGL,MAAPvB,IAGJA,EAAMue,EAAW7f,EAAO6E,UAAWhC,MAGpCvB,EAAMue,EAGAve,GAGR,QAAS2e,GAAoBpe,EAAMgB,EAAM+c,GACxC,GAAM5f,EAAOof,WAAYvd,GAAzB,CAIA,GAAIge,GAAW/d,EACdie,EAASle,EAAKyC,SAGdgI,EAAQyT,EAAS/f,EAAOsM,MAAQzK,EAChC2J,EAAKuU,EAASle,EAAM7B,EAAOsD,SAAYtD,EAAOsD,OAI/C,IAAMgJ,EAAOd,GAAb,CAIA,GAAK3I,IAEJgd,EAAYD,EAAMtT,EAAOd,GAAOc,EAAOd,GAAK9G,MAE3B,CAGV1E,EAAOoD,QAASP,GAsBrBA,EAAOA,EAAKtD,OAAQS,EAAO4B,IAAKiB,EAAM7C,EAAO6E,YAnBxChC,IAAQgd,GACZhd,GAASA,IAITA,EAAO7C,EAAO6E,UAAWhC,GAExBA,EADIA,IAAQgd,IACHhd,GAEFA,EAAKyD,MAAM,MAarBxE,EAAIe,EAAK9B,MACT,OAAQe,UACA+d,GAAWhd,EAAKf,GAKxB,IAAK8d,GAAOF,EAAkBG,IAAc7f,EAAOoE,cAAcyb,GAChE,QAMGD,UACEtT,GAAOd,GAAK9G,KAIbgb,EAAmBpT,EAAOd,QAM5BuU,EACJ/f,EAAOkgB,WAAare,IAAQ,GAIjB/B,EAAQqf,eAAiB7S,GAASA,EAAMpN,aAE5CoN,GAAOd,GAIdc,EAAOd,GAAO,QAIhBxL,EAAOyC,QACN6J,SAIA+S,QACCc,WAAW,EACXC,UAAU,EAEVC,UAAW,8CAGZC,QAAS,SAAUze,GAElB,MADAA,GAAOA,EAAKyC,SAAWtE,EAAOsM,MAAOzK,EAAK7B,EAAOsD,UAAazB,EAAM7B,EAAOsD,WAClEzB,IAAS6d,EAAmB7d,IAGtC6C,KAAM,SAAU7C,EAAMgB,EAAM6B,GAC3B,MAAOib,GAAc9d,EAAMgB,EAAM6B,IAGlC6b,WAAY,SAAU1e,EAAMgB,GAC3B,MAAOod,GAAoBpe,EAAMgB,IAIlC2d,MAAO,SAAU3e,EAAMgB,EAAM6B,GAC5B,MAAOib,GAAc9d,EAAMgB,EAAM6B,GAAM,IAGxC+b,YAAa,SAAU5e,EAAMgB,GAC5B,MAAOod,GAAoBpe,EAAMgB,GAAM,MAIzC7C,EAAOG,GAAGsC,QACTiC,KAAM,SAAUL,EAAKY,GACpB,GAAInD,GAAGe,EAAM6B,EACZ7C,EAAO1C,KAAK,GACZ4N,EAAQlL,GAAQA,EAAK4G,UAMtB,IAAapF,SAARgB,EAAoB,CACxB,GAAKlF,KAAK4B,SACT2D,EAAO1E,EAAO0E,KAAM7C,GAEG,IAAlBA,EAAKyC,WAAmBtE,EAAOwgB,MAAO3e,EAAM,gBAAkB,CAClEC,EAAIiL,EAAMhM,MACV,OAAQe,IAIFiL,EAAOjL,KACXe,EAAOkK,EAAOjL,GAAIe,KACe,IAA5BA,EAAKpD,QAAS,WAClBoD,EAAO7C,EAAO6E,UAAWhC,EAAKvD,MAAM,IACpCkgB,EAAU3d,EAAMgB,EAAM6B,EAAM7B,KAI/B7C,GAAOwgB,MAAO3e,EAAM,eAAe,GAIrC,MAAO6C,GAIR,MAAoB,gBAARL,GACJlF,KAAKsC,KAAK,WAChBzB,EAAO0E,KAAMvF,KAAMkF,KAIdrC,UAAUjB,OAAS,EAGzB5B,KAAKsC,KAAK,WACTzB,EAAO0E,KAAMvF,KAAMkF,EAAKY,KAKzBpD,EAAO2d,EAAU3d,EAAMwC,EAAKrE,EAAO0E,KAAM7C,EAAMwC,IAAUhB,QAG3Dkd,WAAY,SAAUlc,GACrB,MAAOlF,MAAKsC,KAAK,WAChBzB,EAAOugB,WAAYphB,KAAMkF,QAM5BrE,EAAOyC,QACNie,MAAO,SAAU7e,EAAMkC,EAAMW,GAC5B,GAAIgc,EAEJ,OAAK7e,IACJkC,GAASA,GAAQ,MAAS,QAC1B2c,EAAQ1gB,EAAOwgB,MAAO3e,EAAMkC,GAGvBW,KACEgc,GAAS1gB,EAAOoD,QAAQsB,GAC7Bgc,EAAQ1gB,EAAOwgB,MAAO3e,EAAMkC,EAAM/D,EAAOoF,UAAUV,IAEnDgc,EAAMlhB,KAAMkF,IAGPgc,OAZR,QAgBDC,QAAS,SAAU9e,EAAMkC,GACxBA,EAAOA,GAAQ,IAEf,IAAI2c,GAAQ1gB,EAAO0gB,MAAO7e,EAAMkC,GAC/B6c,EAAcF,EAAM3f,OACpBZ,EAAKugB,EAAMlU,QACXqU,EAAQ7gB,EAAO8gB,YAAajf,EAAMkC,GAClCiV,EAAO,WACNhZ,EAAO2gB,QAAS9e,EAAMkC,GAIZ,gBAAP5D,IACJA,EAAKugB,EAAMlU,QACXoU,KAGIzgB,IAIU,OAAT4D,GACJ2c,EAAM3Q,QAAS,oBAIT8Q,GAAME,KACb5gB,EAAGc,KAAMY,EAAMmX,EAAM6H,KAGhBD,GAAeC,GACpBA,EAAM/M,MAAMuH,QAKdyF,YAAa,SAAUjf,EAAMkC,GAC5B,GAAIM,GAAMN,EAAO,YACjB,OAAO/D,GAAOwgB,MAAO3e,EAAMwC,IAASrE,EAAOwgB,MAAO3e,EAAMwC,GACvDyP,MAAO9T,EAAO4a,UAAU,eAAehB,IAAI,WAC1C5Z,EAAOygB,YAAa5e,EAAMkC,EAAO,SACjC/D,EAAOygB,YAAa5e,EAAMwC,UAM9BrE,EAAOG,GAAGsC,QACTie,MAAO,SAAU3c,EAAMW,GACtB,GAAIsc,GAAS,CAQb,OANqB,gBAATjd,KACXW,EAAOX,EACPA,EAAO,KACPid,KAGIhf,UAAUjB,OAASigB,EAChBhhB,EAAO0gB,MAAOvhB,KAAK,GAAI4E,GAGfV,SAATqB,EACNvF,KACAA,KAAKsC,KAAK,WACT,GAAIif,GAAQ1gB,EAAO0gB,MAAOvhB,KAAM4E,EAAMW,EAGtC1E,GAAO8gB,YAAa3hB,KAAM4E,GAEZ,OAATA,GAA8B,eAAb2c,EAAM,IAC3B1gB,EAAO2gB,QAASxhB,KAAM4E,MAI1B4c,QAAS,SAAU5c,GAClB,MAAO5E,MAAKsC,KAAK,WAChBzB,EAAO2gB,QAASxhB,KAAM4E,MAGxBkd,WAAY,SAAUld,GACrB,MAAO5E,MAAKuhB,MAAO3c,GAAQ,UAI5BiY,QAAS,SAAUjY,EAAMD,GACxB,GAAIqC,GACH+a,EAAQ,EACRC,EAAQnhB,EAAO4b,WACf3L,EAAW9Q,KACX2C,EAAI3C,KAAK4B,OACT0b,EAAU,aACCyE,GACTC,EAAM5D,YAAatN,GAAYA,IAIb,iBAATlM,KACXD,EAAMC,EACNA,EAAOV,QAERU,EAAOA,GAAQ,IAEf,OAAQjC,IACPqE,EAAMnG,EAAOwgB,MAAOvQ,EAAUnO,GAAKiC,EAAO,cACrCoC,GAAOA,EAAI2N,QACfoN,IACA/a,EAAI2N,MAAM8F,IAAK6C,GAIjB,OADAA,KACO0E,EAAMnF,QAASlY,KAGxB,IAAIsd,GAAO,sCAAwCC,OAE/CC,GAAc,MAAO,QAAS,SAAU,QAExCC,EAAW,SAAU1f,EAAM2f,GAI7B,MADA3f,GAAO2f,GAAM3f,EAC4B,SAAlC7B,EAAOyhB,IAAK5f,EAAM,aAA2B7B,EAAOsH,SAAUzF,EAAKuJ,cAAevJ,IAOvF6f,EAAS1hB,EAAO0hB,OAAS,SAAUrgB,EAAOlB,EAAIkE,EAAKY,EAAO0c,EAAWC,EAAUC,GAClF,GAAI/f,GAAI,EACPf,EAASM,EAAMN,OACf+gB,EAAc,MAAPzd,CAGR,IAA4B,WAAvBrE,EAAO+D,KAAMM,GAAqB,CACtCsd,GAAY,CACZ,KAAM7f,IAAKuC,GACVrE,EAAO0hB,OAAQrgB,EAAOlB,EAAI2B,EAAGuC,EAAIvC,IAAI,EAAM8f,EAAUC,OAIhD,IAAexe,SAAV4B,IACX0c,GAAY,EAEN3hB,EAAOkD,WAAY+B,KACxB4c,GAAM,GAGFC,IAECD,GACJ1hB,EAAGc,KAAMI,EAAO4D,GAChB9E,EAAK,OAIL2hB,EAAO3hB,EACPA,EAAK,SAAU0B,EAAMwC,EAAKY,GACzB,MAAO6c,GAAK7gB,KAAMjB,EAAQ6B,GAAQoD,MAKhC9E,GACJ,KAAYY,EAAJe,EAAYA,IACnB3B,EAAIkB,EAAMS,GAAIuC,EAAKwd,EAAM5c,EAAQA,EAAMhE,KAAMI,EAAMS,GAAIA,EAAG3B,EAAIkB,EAAMS,GAAIuC,IAK3E,OAAOsd,GACNtgB,EAGAygB,EACC3hB,EAAGc,KAAMI,GACTN,EAASZ,EAAIkB,EAAM,GAAIgD,GAAQud,GAE9BG,EAAiB,yBAIrB,WAEC,GAAI/S,GAAQjQ,EAAS6N,cAAe,SACnCD,EAAM5N,EAAS6N,cAAe,OAC9BoV,EAAWjjB,EAASkjB,wBAsDrB,IAnDAtV,EAAIoC,UAAY,qEAGhBjP,EAAQoiB,kBAAgD,IAA5BvV,EAAI+D,WAAWpM,SAI3CxE,EAAQqiB,OAASxV,EAAIlB,qBAAsB,SAAU1K,OAIrDjB,EAAQsiB,gBAAkBzV,EAAIlB,qBAAsB,QAAS1K,OAI7DjB,EAAQuiB,WACyD,kBAAhEtjB,EAAS6N,cAAe,OAAQ0V,WAAW,GAAOC,UAInDvT,EAAMjL,KAAO,WACbiL,EAAM2E,SAAU,EAChBqO,EAAS1T,YAAaU,GACtBlP,EAAQ0iB,cAAgBxT,EAAM2E,QAI9BhH,EAAIoC,UAAY,yBAChBjP,EAAQ2iB,iBAAmB9V,EAAI2V,WAAW,GAAOjQ,UAAUyF,aAG3DkK,EAAS1T,YAAa3B,GACtBA,EAAIoC,UAAY,mDAIhBjP,EAAQ4iB,WAAa/V,EAAI2V,WAAW,GAAOA,WAAW,GAAOjQ,UAAUsB,QAKvE7T,EAAQ6iB,cAAe,EAClBhW,EAAIyB,cACRzB,EAAIyB,YAAa,UAAW,WAC3BtO,EAAQ6iB,cAAe,IAGxBhW,EAAI2V,WAAW,GAAOM,SAIM,MAAzB9iB,EAAQqf,cAAuB,CAElCrf,EAAQqf,eAAgB,CACxB,WACQxS,GAAIf,KACV,MAAOrH,GACRzE,EAAQqf,eAAgB,OAM3B,WACC,GAAIrd,GAAG+gB,EACNlW,EAAM5N,EAAS6N,cAAe,MAG/B,KAAM9K,KAAO4S,QAAQ,EAAMoO,QAAQ,EAAMC,SAAS,GACjDF,EAAY,KAAO/gB,GAEZhC,EAASgC,EAAI,WAAc+gB,IAAa3jB,MAE9CyN,EAAIb,aAAc+W,EAAW,KAC7B/iB,EAASgC,EAAI,WAAc6K,EAAIlE,WAAYoa,GAAYvf,WAAY,EAKrEqJ,GAAM,OAIP,IAAIqW,GAAa,+BAChBC,EAAY,OACZC,EAAc,uCACdC,EAAc,kCACdC,EAAiB,sBAElB,SAASC,MACR,OAAO,EAGR,QAASC,MACR,OAAO,EAGR,QAASC,MACR,IACC,MAAOxkB,GAASsU,cACf,MAAQmQ,KAOXxjB,EAAOue,OAEN5f,UAEAib,IAAK,SAAU/X,EAAM4hB,EAAOzW,EAAStI,EAAMzE,GAC1C,GAAIkG,GAAKud,EAAQC,EAAGC,EACnBC,EAASC,EAAaC,EACtBC,EAAUjgB,EAAMkgB,EAAYC,EAC5BC,EAAWnkB,EAAOwgB,MAAO3e,EAG1B,IAAMsiB,EAAN,CAKKnX,EAAQA,UACZ4W,EAAc5W,EACdA,EAAU4W,EAAY5W,QACtB/M,EAAW2jB,EAAY3jB,UAIlB+M,EAAQ/G,OACb+G,EAAQ/G,KAAOjG,EAAOiG,SAIhByd,EAASS,EAAST,UACxBA,EAASS,EAAST,YAEZI,EAAcK,EAASC,UAC7BN,EAAcK,EAASC,OAAS,SAAU7f,GAGzC,aAAcvE,KAAW4e,GAAkBra,GAAKvE,EAAOue,MAAM8F,YAAc9f,EAAER,KAE5EV,OADArD,EAAOue,MAAM+F,SAASviB,MAAO+hB,EAAYjiB,KAAMG,YAIjD8hB,EAAYjiB,KAAOA,GAIpB4hB,GAAUA,GAAS,IAAK5Y,MAAO0P,KAAiB,IAChDoJ,EAAIF,EAAM1iB,MACV,OAAQ4iB,IACPxd,EAAMid,EAAe/X,KAAMoY,EAAME,QACjC5f,EAAOmgB,EAAW/d,EAAI,GACtB8d,GAAe9d,EAAI,IAAM,IAAKG,MAAO,KAAM/D,OAGrCwB,IAKN8f,EAAU7jB,EAAOue,MAAMsF,QAAS9f,OAGhCA,GAAS9D,EAAW4jB,EAAQU,aAAeV,EAAQW,WAAczgB,EAGjE8f,EAAU7jB,EAAOue,MAAMsF,QAAS9f,OAGhCggB,EAAY/jB,EAAOyC,QAClBsB,KAAMA,EACNmgB,SAAUA,EACVxf,KAAMA,EACNsI,QAASA,EACT/G,KAAM+G,EAAQ/G,KACdhG,SAAUA,EACVyJ,aAAczJ,GAAYD,EAAOgQ,KAAKnF,MAAMnB,aAAakC,KAAM3L,GAC/DwkB,UAAWR,EAAWhY,KAAK,MACzB2X,IAGII,EAAWN,EAAQ3f,MACzBigB,EAAWN,EAAQ3f,MACnBigB,EAASU,cAAgB,EAGnBb,EAAQc,OAASd,EAAQc,MAAM1jB,KAAMY,EAAM6C,EAAMuf,EAAYH,MAAkB,IAE/EjiB,EAAKsM,iBACTtM,EAAKsM,iBAAkBpK,EAAM+f,GAAa,GAE/BjiB,EAAKuM,aAChBvM,EAAKuM,YAAa,KAAOrK,EAAM+f,KAK7BD,EAAQjK,MACZiK,EAAQjK,IAAI3Y,KAAMY,EAAMkiB,GAElBA,EAAU/W,QAAQ/G,OACvB8d,EAAU/W,QAAQ/G,KAAO+G,EAAQ/G,OAK9BhG,EACJ+jB,EAASxhB,OAAQwhB,EAASU,gBAAiB,EAAGX,GAE9CC,EAASxkB,KAAMukB,GAIhB/jB,EAAOue,MAAM5f,OAAQoF,IAAS,EAI/BlC,GAAO,OAIR2Z,OAAQ,SAAU3Z,EAAM4hB,EAAOzW,EAAS/M,EAAU2kB,GACjD,GAAIviB,GAAG0hB,EAAW5d,EACjB0e,EAAWlB,EAAGD,EACdG,EAASG,EAAUjgB,EACnBkgB,EAAYC,EACZC,EAAWnkB,EAAOsgB,QAASze,IAAU7B,EAAOwgB,MAAO3e,EAEpD,IAAMsiB,IAAcT,EAASS,EAAST,QAAtC,CAKAD,GAAUA,GAAS,IAAK5Y,MAAO0P,KAAiB,IAChDoJ,EAAIF,EAAM1iB,MACV,OAAQ4iB,IAMP,GALAxd,EAAMid,EAAe/X,KAAMoY,EAAME,QACjC5f,EAAOmgB,EAAW/d,EAAI,GACtB8d,GAAe9d,EAAI,IAAM,IAAKG,MAAO,KAAM/D,OAGrCwB,EAAN,CAOA8f,EAAU7jB,EAAOue,MAAMsF,QAAS9f,OAChCA,GAAS9D,EAAW4jB,EAAQU,aAAeV,EAAQW,WAAczgB,EACjEigB,EAAWN,EAAQ3f,OACnBoC,EAAMA,EAAI,IAAM,GAAIyC,QAAQ,UAAYqb,EAAWhY,KAAK,iBAAmB,WAG3E4Y,EAAYxiB,EAAI2hB,EAASjjB,MACzB,OAAQsB,IACP0hB,EAAYC,EAAU3hB,IAEfuiB,GAAeV,IAAaH,EAAUG,UACzClX,GAAWA,EAAQ/G,OAAS8d,EAAU9d,MACtCE,IAAOA,EAAIyF,KAAMmY,EAAUU,YAC3BxkB,GAAYA,IAAa8jB,EAAU9jB,WAAyB,OAAbA,IAAqB8jB,EAAU9jB,YACjF+jB,EAASxhB,OAAQH,EAAG,GAEf0hB,EAAU9jB,UACd+jB,EAASU,gBAELb,EAAQrI,QACZqI,EAAQrI,OAAOva,KAAMY,EAAMkiB,GAOzBc,KAAcb,EAASjjB,SACrB8iB,EAAQiB,UAAYjB,EAAQiB,SAAS7jB,KAAMY,EAAMoiB,EAAYE,EAASC,WAAa,GACxFpkB,EAAO+kB,YAAaljB,EAAMkC,EAAMogB,EAASC,cAGnCV,GAAQ3f,QAtCf,KAAMA,IAAQ2f,GACb1jB,EAAOue,MAAM/C,OAAQ3Z,EAAMkC,EAAO0f,EAAOE,GAAK3W,EAAS/M,GAAU,EA0C/DD,GAAOoE,cAAesf,WACnBS,GAASC,OAIhBpkB,EAAOygB,YAAa5e,EAAM,aAI5BmjB,QAAS,SAAUzG,EAAO7Z,EAAM7C,EAAMojB,GACrC,GAAIb,GAAQc,EAAQ/X,EACnBgY,EAAYtB,EAAS1d,EAAKrE,EAC1BsjB,GAAcvjB,GAAQ9C,GACtBgF,EAAOnE,EAAOqB,KAAMsd,EAAO,QAAWA,EAAMxa,KAAOwa,EACnD0F,EAAarkB,EAAOqB,KAAMsd,EAAO,aAAgBA,EAAMkG,UAAUne,MAAM,OAKxE,IAHA6G,EAAMhH,EAAMtE,EAAOA,GAAQ9C,EAGJ,IAAlB8C,EAAKyC,UAAoC,IAAlBzC,EAAKyC,WAK5B6e,EAAYvX,KAAM7H,EAAO/D,EAAOue,MAAM8F,aAItCtgB,EAAKtE,QAAQ,MAAQ,IAEzBwkB,EAAalgB,EAAKuC,MAAM,KACxBvC,EAAOkgB,EAAWzX,QAClByX,EAAW1hB,QAEZ2iB,EAASnhB,EAAKtE,QAAQ,KAAO,GAAK,KAAOsE,EAGzCwa,EAAQA,EAAOve,EAAOsD,SACrBib,EACA,GAAIve,GAAOqlB,MAAOthB,EAAuB,gBAAVwa,IAAsBA,GAGtDA,EAAM+G,UAAYL,EAAe,EAAI,EACrC1G,EAAMkG,UAAYR,EAAWhY,KAAK,KAClCsS,EAAMgH,aAAehH,EAAMkG,UAC1B,GAAI7b,QAAQ,UAAYqb,EAAWhY,KAAK,iBAAmB,WAC3D,KAGDsS,EAAM5M,OAAStO,OACTkb,EAAMvb,SACXub,EAAMvb,OAASnB,GAIhB6C,EAAe,MAARA,GACJ6Z,GACFve,EAAOoF,UAAWV,GAAQ6Z,IAG3BsF,EAAU7jB,EAAOue,MAAMsF,QAAS9f,OAC1BkhB,IAAgBpB,EAAQmB,SAAWnB,EAAQmB,QAAQjjB,MAAOF,EAAM6C,MAAW,GAAjF,CAMA,IAAMugB,IAAiBpB,EAAQ2B,WAAaxlB,EAAOiE,SAAUpC,GAAS,CAMrE,IAJAsjB,EAAatB,EAAQU,cAAgBxgB,EAC/Bof,EAAYvX,KAAMuZ,EAAaphB,KACpCoJ,EAAMA,EAAI5B,YAEH4B,EAAKA,EAAMA,EAAI5B,WACtB6Z,EAAU5lB,KAAM2N,GAChBhH,EAAMgH,CAIFhH,MAAStE,EAAKuJ,eAAiBrM,IACnCqmB,EAAU5lB,KAAM2G,EAAI8H,aAAe9H,EAAIsf,cAAgBvmB,GAKzD4C,EAAI,CACJ,QAASqL,EAAMiY,EAAUtjB,QAAUyc,EAAMmH,uBAExCnH,EAAMxa,KAAOjC,EAAI,EAChBqjB,EACAtB,EAAQW,UAAYzgB,EAGrBqgB,GAAWpkB,EAAOwgB,MAAOrT,EAAK,eAAoBoR,EAAMxa,OAAU/D,EAAOwgB,MAAOrT,EAAK,UAChFiX,GACJA,EAAOriB,MAAOoL,EAAKzI,GAIpB0f,EAASc,GAAU/X,EAAK+X,GACnBd,GAAUA,EAAOriB,OAAS/B,EAAOof,WAAYjS,KACjDoR,EAAM5M,OAASyS,EAAOriB,MAAOoL,EAAKzI,GAC7B6Z,EAAM5M,UAAW,GACrB4M,EAAMoH,iBAOT,IAHApH,EAAMxa,KAAOA,GAGPkhB,IAAiB1G,EAAMqH,wBAErB/B,EAAQgC,UAAYhC,EAAQgC,SAAS9jB,MAAOqjB,EAAUld,MAAOxD,MAAW,IAC9E1E,EAAOof,WAAYvd,IAKdqjB,GAAUrjB,EAAMkC,KAAW/D,EAAOiE,SAAUpC,GAAS,CAGzDsE,EAAMtE,EAAMqjB,GAEP/e,IACJtE,EAAMqjB,GAAW,MAIlBllB,EAAOue,MAAM8F,UAAYtgB,CACzB,KACClC,EAAMkC,KACL,MAAQQ,IAIVvE,EAAOue,MAAM8F,UAAYhhB,OAEpB8C,IACJtE,EAAMqjB,GAAW/e,GAMrB,MAAOoY,GAAM5M,SAGd2S,SAAU,SAAU/F,GAGnBA,EAAQve,EAAOue,MAAMuH,IAAKvH,EAE1B,IAAIzc,GAAGR,EAAKyiB,EAAWtR,EAASpQ,EAC/B0jB,KACApkB,EAAOrC,EAAM2B,KAAMe,WACnBgiB,GAAahkB,EAAOwgB,MAAOrhB,KAAM,eAAoBof,EAAMxa,UAC3D8f,EAAU7jB,EAAOue,MAAMsF,QAAStF,EAAMxa,SAOvC,IAJApC,EAAK,GAAK4c,EACVA,EAAMyH,eAAiB7mB,MAGlB0kB,EAAQoC,aAAepC,EAAQoC,YAAYhlB,KAAM9B,KAAMof,MAAY,EAAxE,CAKAwH,EAAe/lB,EAAOue,MAAMyF,SAAS/iB,KAAM9B,KAAMof,EAAOyF,GAGxDliB,EAAI,CACJ,QAAS2Q,EAAUsT,EAAcjkB,QAAWyc,EAAMmH,uBAAyB,CAC1EnH,EAAM2H,cAAgBzT,EAAQ5Q,KAE9BQ,EAAI,CACJ,QAAS0hB,EAAYtR,EAAQuR,SAAU3hB,QAAWkc,EAAM4H,kCAIjD5H,EAAMgH,cAAgBhH,EAAMgH,aAAa3Z,KAAMmY,EAAUU,cAE9DlG,EAAMwF,UAAYA,EAClBxF,EAAM7Z,KAAOqf,EAAUrf,KAEvBpD,IAAStB,EAAOue,MAAMsF,QAASE,EAAUG,eAAkBE,QAAUL,EAAU/W,SAC5EjL,MAAO0Q,EAAQ5Q,KAAMF,GAEX0B,SAAR/B,IACEid,EAAM5M,OAASrQ,MAAS,IAC7Bid,EAAMoH,iBACNpH,EAAM6H,oBAYX,MAJKvC,GAAQwC,cACZxC,EAAQwC,aAAaplB,KAAM9B,KAAMof,GAG3BA,EAAM5M,SAGdqS,SAAU,SAAUzF,EAAOyF,GAC1B,GAAIsC,GAAKvC,EAAWje,EAAShE,EAC5BikB,KACArB,EAAgBV,EAASU,cACzBvX,EAAMoR,EAAMvb,MAKb,IAAK0hB,GAAiBvX,EAAI7I,YAAcia,EAAMvK,QAAyB,UAAfuK,EAAMxa,MAG7D,KAAQoJ,GAAOhO,KAAMgO,EAAMA,EAAI5B,YAAcpM,KAK5C,GAAsB,IAAjBgO,EAAI7I,WAAmB6I,EAAIuG,YAAa,GAAuB,UAAf6K,EAAMxa,MAAoB,CAE9E,IADA+B,KACMhE,EAAI,EAAO4iB,EAAJ5iB,EAAmBA,IAC/BiiB,EAAYC,EAAUliB,GAGtBwkB,EAAMvC,EAAU9jB,SAAW,IAEHoD,SAAnByC,EAASwgB,KACbxgB,EAASwgB,GAAQvC,EAAUra,aAC1B1J,EAAQsmB,EAAKnnB,MAAOua,MAAOvM,IAAS,EACpCnN,EAAO0O,KAAM4X,EAAKnnB,KAAM,MAAQgO,IAAQpM,QAErC+E,EAASwgB,IACbxgB,EAAQtG,KAAMukB,EAGXje,GAAQ/E,QACZglB,EAAavmB,MAAOqC,KAAMsL,EAAK6W,SAAUle,IAW7C,MAJK4e,GAAgBV,EAASjjB,QAC7BglB,EAAavmB,MAAOqC,KAAM1C,KAAM6kB,SAAUA,EAAS1kB,MAAOolB,KAGpDqB,GAGRD,IAAK,SAAUvH,GACd,GAAKA,EAAOve,EAAOsD,SAClB,MAAOib,EAIR,IAAIzc,GAAGykB,EAAM3jB,EACZmB,EAAOwa,EAAMxa,KACbyiB,EAAgBjI,EAChBkI,EAAUtnB,KAAKunB,SAAU3iB,EAEpB0iB,KACLtnB,KAAKunB,SAAU3iB,GAAS0iB,EACvBvD,EAAYtX,KAAM7H,GAAS5E,KAAKwnB,WAChC1D,EAAUrX,KAAM7H,GAAS5E,KAAKynB,aAGhChkB,EAAO6jB,EAAQI,MAAQ1nB,KAAK0nB,MAAMtnB,OAAQknB,EAAQI,OAAU1nB,KAAK0nB,MAEjEtI,EAAQ,GAAIve,GAAOqlB,MAAOmB,GAE1B1kB,EAAIc,EAAK7B,MACT,OAAQe,IACPykB,EAAO3jB,EAAMd,GACbyc,EAAOgI,GAASC,EAAeD,EAmBhC,OAdMhI,GAAMvb,SACXub,EAAMvb,OAASwjB,EAAcM,YAAc/nB,GAKb,IAA1Bwf,EAAMvb,OAAOsB,WACjBia,EAAMvb,OAASub,EAAMvb,OAAOuI,YAK7BgT,EAAMwI,UAAYxI,EAAMwI,QAEjBN,EAAQ9X,OAAS8X,EAAQ9X,OAAQ4P,EAAOiI,GAAkBjI,GAIlEsI,MAAO,wHAAwHvgB,MAAM,KAErIogB,YAEAE,UACCC,MAAO,4BAA4BvgB,MAAM,KACzCqI,OAAQ,SAAU4P,EAAOyI,GAOxB,MAJoB,OAAfzI,EAAM0I,QACV1I,EAAM0I,MAA6B,MAArBD,EAASE,SAAmBF,EAASE,SAAWF,EAASG,SAGjE5I,IAIToI,YACCE,MAAO,mGAAmGvgB,MAAM,KAChHqI,OAAQ,SAAU4P,EAAOyI,GACxB,GAAIjJ,GAAMqJ,EAAUpZ,EACnBgG,EAASgT,EAAShT,OAClBqT,EAAcL,EAASK,WAuBxB,OApBoB,OAAf9I,EAAM+I,OAAqC,MAApBN,EAASO,UACpCH,EAAW7I,EAAMvb,OAAOoI,eAAiBrM,EACzCiP,EAAMoZ,EAASxZ,gBACfmQ,EAAOqJ,EAASrJ,KAEhBQ,EAAM+I,MAAQN,EAASO,SAAYvZ,GAAOA,EAAIwZ,YAAczJ,GAAQA,EAAKyJ,YAAc,IAAQxZ,GAAOA,EAAIyZ,YAAc1J,GAAQA,EAAK0J,YAAc,GACnJlJ,EAAMmJ,MAAQV,EAASW,SAAY3Z,GAAOA,EAAI4Z,WAAc7J,GAAQA,EAAK6J,WAAc,IAAQ5Z,GAAOA,EAAI6Z,WAAc9J,GAAQA,EAAK8J,WAAc,KAI9ItJ,EAAMuJ,eAAiBT,IAC5B9I,EAAMuJ,cAAgBT,IAAgB9I,EAAMvb,OAASgkB,EAASe,UAAYV,GAKrE9I,EAAM0I,OAAoB5jB,SAAX2Q,IACpBuK,EAAM0I,MAAmB,EAATjT,EAAa,EAAe,EAATA,EAAa,EAAe,EAATA,EAAa,EAAI,GAGjEuK,IAITsF,SACCmE,MAECxC,UAAU,GAEXpS,OAEC4R,QAAS,WACR,GAAK7lB,OAASokB,MAAuBpkB,KAAKiU,MACzC,IAEC,MADAjU,MAAKiU,SACE,EACN,MAAQ7O,MAOZggB,aAAc,WAEf0D,MACCjD,QAAS,WACR,MAAK7lB,QAASokB,MAAuBpkB,KAAK8oB,MACzC9oB,KAAK8oB,QACE,GAFR,QAKD1D,aAAc,YAEf3B,OAECoC,QAAS,WACR,MAAKhlB,GAAO+E,SAAU5F,KAAM,UAA2B,aAAdA,KAAK4E,MAAuB5E,KAAKyjB,OACzEzjB,KAAKyjB,SACE,GAFR,QAODiD,SAAU,SAAUtH,GACnB,MAAOve,GAAO+E,SAAUwZ,EAAMvb,OAAQ,OAIxCklB,cACC7B,aAAc,SAAU9H,GAIDlb,SAAjBkb,EAAM5M,QAAwB4M,EAAMiI,gBACxCjI,EAAMiI,cAAc2B,YAAc5J,EAAM5M,WAM5CyW,SAAU,SAAUrkB,EAAMlC,EAAM0c,EAAO8J,GAItC,GAAI9jB,GAAIvE,EAAOyC,OACd,GAAIzC,GAAOqlB,MACX9G,GAECxa,KAAMA,EACNukB,aAAa,EACb9B,kBAGG6B,GACJroB,EAAOue,MAAMyG,QAASzgB,EAAG,KAAM1C,GAE/B7B,EAAOue,MAAM+F,SAASrjB,KAAMY,EAAM0C,GAE9BA,EAAEqhB,sBACNrH,EAAMoH,mBAKT3lB,EAAO+kB,YAAchmB,EAASqf,oBAC7B,SAAUvc,EAAMkC,EAAMqgB,GAChBviB,EAAKuc,qBACTvc,EAAKuc,oBAAqBra,EAAMqgB,GAAQ,IAG1C,SAAUviB,EAAMkC,EAAMqgB,GACrB,GAAIvhB,GAAO,KAAOkB,CAEblC,GAAKyc,oBAIGzc,GAAMgB,KAAW+b,IAC5B/c,EAAMgB,GAAS,MAGhBhB,EAAKyc,YAAazb,EAAMuhB,KAI3BpkB,EAAOqlB,MAAQ,SAAU3iB,EAAKmkB,GAE7B,MAAO1nB,gBAAgBa,GAAOqlB,OAKzB3iB,GAAOA,EAAIqB,MACf5E,KAAKqnB,cAAgB9jB,EACrBvD,KAAK4E,KAAOrB,EAAIqB,KAIhB5E,KAAKymB,mBAAqBljB,EAAI6lB,kBACHllB,SAAzBX,EAAI6lB,kBAEJ7lB,EAAIylB,eAAgB,EACrB9E,GACAC,IAIDnkB,KAAK4E,KAAOrB,EAIRmkB,GACJ7mB,EAAOyC,OAAQtD,KAAM0nB,GAItB1nB,KAAKqpB,UAAY9lB,GAAOA,EAAI8lB,WAAaxoB,EAAOoG,WAGhDjH,KAAMa,EAAOsD,UAAY,IA/BjB,GAAItD,GAAOqlB,MAAO3iB,EAAKmkB,IAoChC7mB,EAAOqlB,MAAMzkB,WACZglB,mBAAoBtC,GACpBoC,qBAAsBpC,GACtB6C,8BAA+B7C,GAE/BqC,eAAgB,WACf,GAAIphB,GAAIpF,KAAKqnB,aAEbrnB,MAAKymB,mBAAqBvC,GACpB9e,IAKDA,EAAEohB,eACNphB,EAAEohB,iBAKFphB,EAAE4jB,aAAc,IAGlB/B,gBAAiB,WAChB,GAAI7hB,GAAIpF,KAAKqnB,aAEbrnB,MAAKumB,qBAAuBrC,GACtB9e,IAIDA,EAAE6hB,iBACN7hB,EAAE6hB,kBAKH7hB,EAAEkkB,cAAe,IAElBC,yBAA0B,WACzB,GAAInkB,GAAIpF,KAAKqnB,aAEbrnB,MAAKgnB,8BAAgC9C,GAEhC9e,GAAKA,EAAEmkB,0BACXnkB,EAAEmkB,2BAGHvpB,KAAKinB,oBAKPpmB,EAAOyB,MACNknB,WAAY,YACZC,WAAY,WACZC,aAAc,cACdC,aAAc,cACZ,SAAUC,EAAMjD,GAClB9lB,EAAOue,MAAMsF,QAASkF,IACrBxE,aAAcuB,EACdtB,SAAUsB,EAEV1B,OAAQ,SAAU7F,GACjB,GAAIjd,GACH0B,EAAS7D,KACT6pB,EAAUzK,EAAMuJ,cAChB/D,EAAYxF,EAAMwF,SASnB,SALMiF,GAAYA,IAAYhmB,IAAWhD,EAAOsH,SAAUtE,EAAQgmB,MACjEzK,EAAMxa,KAAOggB,EAAUG,SACvB5iB,EAAMyiB,EAAU/W,QAAQjL,MAAO5C,KAAM6C,WACrCuc,EAAMxa,KAAO+hB,GAEPxkB,MAMJxB,EAAQmpB,gBAEbjpB,EAAOue,MAAMsF,QAAQnP,QACpBiQ,MAAO,WAEN,MAAK3kB,GAAO+E,SAAU5F,KAAM,SACpB,MAIRa,GAAOue,MAAM3E,IAAKza,KAAM,iCAAkC,SAAUoF,GAEnE,GAAI1C,GAAO0C,EAAEvB,OACZkmB,EAAOlpB,EAAO+E,SAAUlD,EAAM,UAAa7B,EAAO+E,SAAUlD,EAAM,UAAaA,EAAKqnB,KAAO7lB,MACvF6lB,KAASlpB,EAAOwgB,MAAO0I,EAAM,mBACjClpB,EAAOue,MAAM3E,IAAKsP,EAAM,iBAAkB,SAAU3K,GACnDA,EAAM4K,gBAAiB,IAExBnpB,EAAOwgB,MAAO0I,EAAM,iBAAiB,OAMxC7C,aAAc,SAAU9H,GAElBA,EAAM4K,uBACH5K,GAAM4K,eACRhqB,KAAKoM,aAAegT,EAAM+G,WAC9BtlB,EAAOue,MAAM6J,SAAU,SAAUjpB,KAAKoM,WAAYgT,GAAO,KAK5DuG,SAAU,WAET,MAAK9kB,GAAO+E,SAAU5F,KAAM,SACpB,MAIRa,GAAOue,MAAM/C,OAAQrc,KAAM,eAMxBW,EAAQspB,gBAEbppB,EAAOue,MAAMsF,QAAQf,QAEpB6B,MAAO,WAEN,MAAK3B,GAAWpX,KAAMzM,KAAK4F,YAIP,aAAd5F,KAAK4E,MAAqC,UAAd5E,KAAK4E,QACrC/D,EAAOue,MAAM3E,IAAKza,KAAM,yBAA0B,SAAUof,GACjB,YAArCA,EAAMiI,cAAc6C,eACxBlqB,KAAKmqB,eAAgB,KAGvBtpB,EAAOue,MAAM3E,IAAKza,KAAM,gBAAiB,SAAUof,GAC7Cpf,KAAKmqB,gBAAkB/K,EAAM+G,YACjCnmB,KAAKmqB,eAAgB,GAGtBtpB,EAAOue,MAAM6J,SAAU,SAAUjpB,KAAMof,GAAO,OAGzC,OAGRve,GAAOue,MAAM3E,IAAKza,KAAM,yBAA0B,SAAUoF,GAC3D,GAAI1C,GAAO0C,EAAEvB,MAERggB,GAAWpX,KAAM/J,EAAKkD,YAAe/E,EAAOwgB,MAAO3e,EAAM,mBAC7D7B,EAAOue,MAAM3E,IAAK/X,EAAM,iBAAkB,SAAU0c,IAC9Cpf,KAAKoM,YAAegT,EAAM+J,aAAgB/J,EAAM+G,WACpDtlB,EAAOue,MAAM6J,SAAU,SAAUjpB,KAAKoM,WAAYgT,GAAO,KAG3Dve,EAAOwgB,MAAO3e,EAAM,iBAAiB,OAKxCuiB,OAAQ,SAAU7F,GACjB,GAAI1c,GAAO0c,EAAMvb,MAGjB,OAAK7D,QAAS0C,GAAQ0c,EAAM+J,aAAe/J,EAAM+G,WAA4B,UAAdzjB,EAAKkC,MAAkC,aAAdlC,EAAKkC,KACrFwa,EAAMwF,UAAU/W,QAAQjL,MAAO5C,KAAM6C,WAD7C,QAKD8iB,SAAU,WAGT,MAFA9kB,GAAOue,MAAM/C,OAAQrc,KAAM,aAEnB6jB,EAAWpX,KAAMzM,KAAK4F,aAM3BjF,EAAQypB,gBACbvpB,EAAOyB,MAAO2R,MAAO,UAAW6U,KAAM,YAAc,SAAUc,EAAMjD,GAGnE,GAAI9Y,GAAU,SAAUuR,GACtBve,EAAOue,MAAM6J,SAAUtC,EAAKvH,EAAMvb,OAAQhD,EAAOue,MAAMuH,IAAKvH,IAAS,GAGvEve,GAAOue,MAAMsF,QAASiC,IACrBnB,MAAO,WACN,GAAI3W,GAAM7O,KAAKiM,eAAiBjM,KAC/BqqB,EAAWxpB,EAAOwgB,MAAOxS,EAAK8X,EAEzB0D,IACLxb,EAAIG,iBAAkB4a,EAAM/b,GAAS,GAEtChN,EAAOwgB,MAAOxS,EAAK8X,GAAO0D,GAAY,GAAM,IAE7C1E,SAAU,WACT,GAAI9W,GAAM7O,KAAKiM,eAAiBjM,KAC/BqqB,EAAWxpB,EAAOwgB,MAAOxS,EAAK8X,GAAQ,CAEjC0D,GAILxpB,EAAOwgB,MAAOxS,EAAK8X,EAAK0D,IAHxBxb,EAAIoQ,oBAAqB2K,EAAM/b,GAAS,GACxChN,EAAOygB,YAAazS,EAAK8X,QAS9B9lB,EAAOG,GAAGsC,QAETgnB,GAAI,SAAUhG,EAAOxjB,EAAUyE,EAAMvE,EAAiBupB,GACrD,GAAI3lB,GAAM4lB,CAGV,IAAsB,gBAAVlG,GAAqB,CAEP,gBAAbxjB,KAEXyE,EAAOA,GAAQzE,EACfA,EAAWoD,OAEZ,KAAMU,IAAQ0f,GACbtkB,KAAKsqB,GAAI1lB,EAAM9D,EAAUyE,EAAM+e,EAAO1f,GAAQ2lB,EAE/C,OAAOvqB,MAmBR,GAhBa,MAARuF,GAAsB,MAANvE,GAEpBA,EAAKF,EACLyE,EAAOzE,EAAWoD,QACD,MAANlD,IACc,gBAAbF,IAEXE,EAAKuE,EACLA,EAAOrB,SAGPlD,EAAKuE,EACLA,EAAOzE,EACPA,EAAWoD,SAGRlD,KAAO,EACXA,EAAKmjB,OACC,KAAMnjB,EACZ,MAAOhB,KAaR,OAVa,KAARuqB,IACJC,EAASxpB,EACTA,EAAK,SAAUoe,GAGd,MADAve,KAASke,IAAKK,GACPoL,EAAO5nB,MAAO5C,KAAM6C,YAG5B7B,EAAG8F,KAAO0jB,EAAO1jB,OAAU0jB,EAAO1jB,KAAOjG,EAAOiG,SAE1C9G,KAAKsC,KAAM,WACjBzB,EAAOue,MAAM3E,IAAKza,KAAMskB,EAAOtjB,EAAIuE,EAAMzE,MAG3CypB,IAAK,SAAUjG,EAAOxjB,EAAUyE,EAAMvE,GACrC,MAAOhB,MAAKsqB,GAAIhG,EAAOxjB,EAAUyE,EAAMvE,EAAI,IAE5C+d,IAAK,SAAUuF,EAAOxjB,EAAUE,GAC/B,GAAI4jB,GAAWhgB,CACf,IAAK0f,GAASA,EAAMkC,gBAAkBlC,EAAMM,UAQ3C,MANAA,GAAYN,EAAMM,UAClB/jB,EAAQyjB,EAAMuC,gBAAiB9H,IAC9B6F,EAAUU,UAAYV,EAAUG,SAAW,IAAMH,EAAUU,UAAYV,EAAUG,SACjFH,EAAU9jB,SACV8jB,EAAU/W,SAEJ7N,IAER,IAAsB,gBAAVskB,GAAqB,CAEhC,IAAM1f,IAAQ0f,GACbtkB,KAAK+e,IAAKna,EAAM9D,EAAUwjB,EAAO1f,GAElC,OAAO5E,MAUR,OARKc,KAAa,GAA6B,kBAAbA,MAEjCE,EAAKF,EACLA,EAAWoD,QAEPlD,KAAO,IACXA,EAAKmjB,IAECnkB,KAAKsC,KAAK,WAChBzB,EAAOue,MAAM/C,OAAQrc,KAAMskB,EAAOtjB,EAAIF,MAIxC+kB,QAAS,SAAUjhB,EAAMW,GACxB,MAAOvF,MAAKsC,KAAK,WAChBzB,EAAOue,MAAMyG,QAASjhB,EAAMW,EAAMvF,SAGpC8e,eAAgB,SAAUla,EAAMW,GAC/B,GAAI7C,GAAO1C,KAAK,EAChB,OAAK0C,GACG7B,EAAOue,MAAMyG,QAASjhB,EAAMW,EAAM7C,GAAM,GADhD,SAOF,SAAS+nB,IAAoB7qB,GAC5B,GAAIqJ,GAAOyhB,GAAUvjB,MAAO,KAC3BwjB,EAAW/qB,EAASkjB,wBAErB,IAAK6H,EAASld,cACb,MAAQxE,EAAKrH,OACZ+oB,EAASld,cACRxE,EAAKF,MAIR,OAAO4hB,GAGR,GAAID,IAAY,6JAEfE,GAAgB,6BAChBC,GAAe,GAAIphB,QAAO,OAASihB,GAAY,WAAY,KAC3DI,GAAqB,OACrBC,GAAY,0EACZC,GAAW,YACXC,GAAS,UACTC,GAAQ,YACRC,GAAe,0BAEfC,GAAW,oCACXC,GAAc,4BACdC,GAAoB,cACpBC,GAAe,2CAGfC,IACCC,QAAU,EAAG,+BAAgC,aAC7CC,QAAU,EAAG,aAAc,eAC3BC,MAAQ,EAAG,QAAS,UACpBC,OAAS,EAAG,WAAY,aACxBC,OAAS,EAAG,UAAW,YACvBC,IAAM,EAAG,iBAAkB,oBAC3BC,KAAO,EAAG,mCAAoC,uBAC9CC,IAAM,EAAG,qBAAsB,yBAI/BtF,SAAU/lB,EAAQsiB,eAAkB,EAAG,GAAI,KAAS,EAAG,SAAU,WAElEgJ,GAAexB,GAAoB7qB,GACnCssB,GAAcD,GAAa9c,YAAavP,EAAS6N,cAAc,OAEhE+d,IAAQW,SAAWX,GAAQC,OAC3BD,GAAQxI,MAAQwI,GAAQY,MAAQZ,GAAQa,SAAWb,GAAQc,QAAUd,GAAQK,MAC7EL,GAAQe,GAAKf,GAAQQ,EAErB,SAASQ,IAAQzrB,EAAS4O,GACzB,GAAIzN,GAAOQ,EACVC,EAAI,EACJ8pB,QAAe1rB,GAAQuL,uBAAyBmT,EAAe1e,EAAQuL,qBAAsBqD,GAAO,WAC5F5O,GAAQgM,mBAAqB0S,EAAe1e,EAAQgM,iBAAkB4C,GAAO,KACpFzL,MAEF,KAAMuoB,EACL,IAAMA,KAAYvqB,EAAQnB,EAAQwK,YAAcxK,EAA8B,OAApB2B,EAAOR,EAAMS,IAAaA,KAC7EgN,GAAO9O,EAAO+E,SAAUlD,EAAMiN,GACnC8c,EAAMpsB,KAAMqC,GAEZ7B,EAAOuB,MAAOqqB,EAAOD,GAAQ9pB,EAAMiN,GAKtC,OAAezL,UAARyL,GAAqBA,GAAO9O,EAAO+E,SAAU7E,EAAS4O,GAC5D9O,EAAOuB,OAASrB,GAAW0rB,GAC3BA,EAIF,QAASC,IAAmBhqB,GACtBkgB,EAAenW,KAAM/J,EAAKkC,QAC9BlC,EAAKiqB,eAAiBjqB,EAAK8R,SAM7B,QAASoY,IAAoBlqB,EAAMmqB,GAClC,MAAOhsB,GAAO+E,SAAUlD,EAAM,UAC7B7B,EAAO+E,SAA+B,KAArBinB,EAAQ1nB,SAAkB0nB,EAAUA,EAAQtb,WAAY,MAEzE7O,EAAK4J,qBAAqB,SAAS,IAClC5J,EAAKyM,YAAazM,EAAKuJ,cAAcwB,cAAc,UACpD/K,EAIF,QAASoqB,IAAepqB,GAEvB,MADAA,GAAKkC,MAA6C,OAArC/D,EAAO0O,KAAKwB,KAAMrO,EAAM,SAAqB,IAAMA,EAAKkC,KAC9DlC,EAER,QAASqqB,IAAerqB,GACvB,GAAIgJ,GAAQ4f,GAAkBpf,KAAMxJ,EAAKkC,KAMzC,OALK8G,GACJhJ,EAAKkC,KAAO8G,EAAM,GAElBhJ,EAAKuK,gBAAgB,QAEfvK,EAIR,QAASsqB,IAAe9qB,EAAO+qB,GAG9B,IAFA,GAAIvqB,GACHC,EAAI,EACwB,OAApBD,EAAOR,EAAMS,IAAaA,IAClC9B,EAAOwgB,MAAO3e,EAAM,cAAeuqB,GAAepsB,EAAOwgB,MAAO4L,EAAYtqB,GAAI,eAIlF,QAASuqB,IAAgB3pB,EAAK4pB,GAE7B,GAAuB,IAAlBA,EAAKhoB,UAAmBtE,EAAOsgB,QAAS5d,GAA7C,CAIA,GAAIqB,GAAMjC,EAAG0X,EACZ+S,EAAUvsB,EAAOwgB,MAAO9d,GACxB8pB,EAAUxsB,EAAOwgB,MAAO8L,EAAMC,GAC9B7I,EAAS6I,EAAQ7I,MAElB,IAAKA,EAAS,OACN8I,GAAQpI,OACfoI,EAAQ9I,SAER,KAAM3f,IAAQ2f,GACb,IAAM5hB,EAAI,EAAG0X,EAAIkK,EAAQ3f,GAAOhD,OAAYyY,EAAJ1X,EAAOA,IAC9C9B,EAAOue,MAAM3E,IAAK0S,EAAMvoB,EAAM2f,EAAQ3f,GAAQjC,IAM5C0qB,EAAQ9nB,OACZ8nB,EAAQ9nB,KAAO1E,EAAOyC,UAAY+pB,EAAQ9nB,QAI5C,QAAS+nB,IAAoB/pB,EAAK4pB,GACjC,GAAIvnB,GAAUR,EAAGG,CAGjB,IAAuB,IAAlB4nB,EAAKhoB,SAAV,CAOA,GAHAS,EAAWunB,EAAKvnB,SAASC,eAGnBlF,EAAQ6iB,cAAgB2J,EAAMtsB,EAAOsD,SAAY,CACtDoB,EAAO1E,EAAOwgB,MAAO8L,EAErB,KAAM/nB,IAAKG,GAAKgf,OACf1jB,EAAO+kB,YAAauH,EAAM/nB,EAAGG,EAAK0f,OAInCkI,GAAKlgB,gBAAiBpM,EAAOsD,SAIZ,WAAbyB,GAAyBunB,EAAKnnB,OAASzC,EAAIyC,MAC/C8mB,GAAeK,GAAOnnB,KAAOzC,EAAIyC,KACjC+mB,GAAeI,IAIS,WAAbvnB,GACNunB,EAAK/gB,aACT+gB,EAAK/J,UAAY7f,EAAI6f,WAOjBziB,EAAQuiB,YAAgB3f,EAAIqM,YAAc/O,EAAO2E,KAAK2nB,EAAKvd,aAC/Dud,EAAKvd,UAAYrM,EAAIqM,YAGE,UAAbhK,GAAwBgd,EAAenW,KAAMlJ,EAAIqB,OAK5DuoB,EAAKR,eAAiBQ,EAAK3Y,QAAUjR,EAAIiR,QAIpC2Y,EAAKrnB,QAAUvC,EAAIuC,QACvBqnB,EAAKrnB,MAAQvC,EAAIuC,QAKM,WAAbF,EACXunB,EAAKI,gBAAkBJ,EAAK1Y,SAAWlR,EAAIgqB,iBAInB,UAAb3nB,GAAqC,aAAbA,KACnCunB,EAAKxU,aAAepV,EAAIoV,eAI1B9X,EAAOyC,QACNM,MAAO,SAAUlB,EAAM8qB,EAAeC,GACrC,GAAIC,GAAchf,EAAM9K,EAAOjB,EAAGgrB,EACjCC,EAAS/sB,EAAOsH,SAAUzF,EAAKuJ,cAAevJ,EAW/C,IATK/B,EAAQuiB,YAAcriB,EAAOgY,SAASnW,KAAUmoB,GAAape,KAAM,IAAM/J,EAAKkD,SAAW,KAC7FhC,EAAQlB,EAAKygB,WAAW,IAIxB+I,GAAYtc,UAAYlN,EAAK0gB,UAC7B8I,GAAYxe,YAAa9J,EAAQsoB,GAAY3a,eAGvC5Q,EAAQ6iB,cAAiB7iB,EAAQ2iB,gBACnB,IAAlB5gB,EAAKyC,UAAoC,KAAlBzC,EAAKyC,UAAqBtE,EAAOgY,SAASnW,IAOnE,IAJAgrB,EAAelB,GAAQ5oB,GACvB+pB,EAAcnB,GAAQ9pB,GAGhBC,EAAI,EAA8B,OAA1B+L,EAAOif,EAAYhrB,MAAeA,EAE1C+qB,EAAa/qB,IACjB2qB,GAAoB5e,EAAMgf,EAAa/qB,GAM1C,IAAK6qB,EACJ,GAAKC,EAIJ,IAHAE,EAAcA,GAAenB,GAAQ9pB,GACrCgrB,EAAeA,GAAgBlB,GAAQ5oB,GAEjCjB,EAAI,EAA8B,OAA1B+L,EAAOif,EAAYhrB,IAAaA,IAC7CuqB,GAAgBxe,EAAMgf,EAAa/qB,QAGpCuqB,IAAgBxqB,EAAMkB,EAaxB,OARA8pB,GAAelB,GAAQ5oB,EAAO,UACzB8pB,EAAa9rB,OAAS,GAC1BorB,GAAeU,GAAeE,GAAUpB,GAAQ9pB,EAAM,WAGvDgrB,EAAeC,EAAcjf,EAAO,KAG7B9K,GAGRiqB,cAAe,SAAU3rB,EAAOnB,EAAS+sB,EAASC,GAWjD,IAVA,GAAI7qB,GAAGR,EAAMyF,EACZnB,EAAK2I,EAAKqT,EAAOgL,EACjB3T,EAAInY,EAAMN,OAGVqsB,EAAOxD,GAAoB1pB,GAE3BmtB,KACAvrB,EAAI,EAEO0X,EAAJ1X,EAAOA,IAGd,GAFAD,EAAOR,EAAOS,GAETD,GAAiB,IAATA,EAGZ,GAA6B,WAAxB7B,EAAO+D,KAAMlC,GACjB7B,EAAOuB,MAAO8rB,EAAOxrB,EAAKyC,UAAazC,GAASA,OAG1C,IAAMwoB,GAAMze,KAAM/J,GAIlB,CACNsE,EAAMA,GAAOinB,EAAK9e,YAAapO,EAAQ0M,cAAc,QAGrDkC,GAAOqb,GAAS9e,KAAMxJ,KAAY,GAAI,KAAO,GAAImD,cACjDmoB,EAAOxC,GAAS7b,IAAS6b,GAAQ9E,SAEjC1f,EAAI4I,UAAYoe,EAAK,GAAKtrB,EAAK4B,QAASymB,GAAW,aAAgBiD,EAAK,GAGxE9qB,EAAI8qB,EAAK,EACT,OAAQ9qB,IACP8D,EAAMA,EAAIkM,SASX,KALMvS,EAAQoiB,mBAAqB+H,GAAmBre,KAAM/J,IAC3DwrB,EAAM7tB,KAAMU,EAAQotB,eAAgBrD,GAAmB5e,KAAMxJ,GAAO,MAI/D/B,EAAQqiB,MAAQ,CAGrBtgB,EAAe,UAARiN,GAAoBsb,GAAOxe,KAAM/J,GAI3B,YAAZsrB,EAAK,IAAqB/C,GAAOxe,KAAM/J,GAEtC,EADAsE,EAJDA,EAAIuK,WAOLrO,EAAIR,GAAQA,EAAK6I,WAAW3J,MAC5B,OAAQsB,IACFrC,EAAO+E,SAAWod,EAAQtgB,EAAK6I,WAAWrI,GAAK,WAAc8f,EAAMzX,WAAW3J,QAClFc,EAAKgL,YAAasV,GAKrBniB,EAAOuB,MAAO8rB,EAAOlnB,EAAIuE,YAGzBvE,EAAIsK,YAAc,EAGlB,OAAQtK,EAAIuK,WACXvK,EAAI0G,YAAa1G,EAAIuK,WAItBvK,GAAMinB,EAAK/a,cAtDXgb,GAAM7tB,KAAMU,EAAQotB,eAAgBzrB,GA4DlCsE,IACJinB,EAAKvgB,YAAa1G,GAKbrG,EAAQ0iB,eACbxiB,EAAO2F,KAAMgmB,GAAQ0B,EAAO,SAAWxB,IAGxC/pB,EAAI,CACJ,OAASD,EAAOwrB,EAAOvrB,KAItB,KAAKorB,GAAmD,KAAtCltB,EAAOwF,QAAS3D,EAAMqrB,MAIxC5lB,EAAWtH,EAAOsH,SAAUzF,EAAKuJ,cAAevJ,GAGhDsE,EAAMwlB,GAAQyB,EAAK9e,YAAazM,GAAQ,UAGnCyF,GACJ6kB,GAAehmB,GAIX8mB,GAAU,CACd5qB,EAAI,CACJ,OAASR,EAAOsE,EAAK9D,KACfmoB,GAAY5e,KAAM/J,EAAKkC,MAAQ,KACnCkpB,EAAQztB,KAAMqC,GAQlB,MAFAsE,GAAM,KAECinB,GAGRlN,UAAW,SAAU7e,EAAsB+d,GAQ1C,IAPA,GAAIvd,GAAMkC,EAAMyH,EAAI9G,EACnB5C,EAAI,EACJge,EAAc9f,EAAOsD,QACrBgJ,EAAQtM,EAAOsM,MACf6S,EAAgBrf,EAAQqf,cACxB0E,EAAU7jB,EAAOue,MAAMsF,QAEK,OAApBhiB,EAAOR,EAAMS,IAAaA,IAClC,IAAKsd,GAAcpf,EAAOof,WAAYvd,MAErC2J,EAAK3J,EAAMie,GACXpb,EAAO8G,GAAMc,EAAOd,IAER,CACX,GAAK9G,EAAKgf,OACT,IAAM3f,IAAQW,GAAKgf,OACbG,EAAS9f,GACb/D,EAAOue,MAAM/C,OAAQ3Z,EAAMkC,GAI3B/D,EAAO+kB,YAAaljB,EAAMkC,EAAMW,EAAK0f,OAMnC9X,GAAOd,WAEJc,GAAOd,GAKT2T,QACGtd,GAAMie,SAEKje,GAAKuK,kBAAoBwS,EAC3C/c,EAAKuK,gBAAiB0T,GAGtBje,EAAMie,GAAgB,KAGvBzgB,EAAWG,KAAMgM,QAQvBxL,EAAOG,GAAGsC,QACT0C,KAAM,SAAUF,GACf,MAAOyc,GAAQviB,KAAM,SAAU8F,GAC9B,MAAiB5B,UAAV4B,EACNjF,EAAOmF,KAAMhG,MACbA,KAAK2U,QAAQyZ,QAAUpuB,KAAK,IAAMA,KAAK,GAAGiM,eAAiBrM,GAAWuuB,eAAgBroB,KACrF,KAAMA,EAAOjD,UAAUjB,SAG3BwsB,OAAQ,WACP,MAAOpuB,MAAKquB,SAAUxrB,UAAW,SAAUH,GAC1C,GAAuB,IAAlB1C,KAAKmF,UAAoC,KAAlBnF,KAAKmF,UAAqC,IAAlBnF,KAAKmF,SAAiB,CACzE,GAAItB,GAAS+oB,GAAoB5sB,KAAM0C,EACvCmB,GAAOsL,YAAazM,OAKvB4rB,QAAS,WACR,MAAOtuB,MAAKquB,SAAUxrB,UAAW,SAAUH,GAC1C,GAAuB,IAAlB1C,KAAKmF,UAAoC,KAAlBnF,KAAKmF,UAAqC,IAAlBnF,KAAKmF,SAAiB,CACzE,GAAItB,GAAS+oB,GAAoB5sB,KAAM0C,EACvCmB,GAAO0qB,aAAc7rB,EAAMmB,EAAO0N,gBAKrCid,OAAQ,WACP,MAAOxuB,MAAKquB,SAAUxrB,UAAW,SAAUH,GACrC1C,KAAKoM,YACTpM,KAAKoM,WAAWmiB,aAAc7rB,EAAM1C,SAKvCyuB,MAAO,WACN,MAAOzuB,MAAKquB,SAAUxrB,UAAW,SAAUH,GACrC1C,KAAKoM,YACTpM,KAAKoM,WAAWmiB,aAAc7rB,EAAM1C,KAAKmO,gBAK5CkO,OAAQ,SAAUvb,EAAU4tB,GAK3B,IAJA,GAAIhsB,GACHR,EAAQpB,EAAWD,EAAO2O,OAAQ1O,EAAUd,MAASA,KACrD2C,EAAI,EAEwB,OAApBD,EAAOR,EAAMS,IAAaA,IAE5B+rB,GAA8B,IAAlBhsB,EAAKyC,UACtBtE,EAAOkgB,UAAWyL,GAAQ9pB,IAGtBA,EAAK0J,aACJsiB,GAAY7tB,EAAOsH,SAAUzF,EAAKuJ,cAAevJ,IACrDsqB,GAAeR,GAAQ9pB,EAAM,WAE9BA,EAAK0J,WAAWsB,YAAahL,GAI/B,OAAO1C,OAGR2U,MAAO,WAIN,IAHA,GAAIjS,GACHC,EAAI,EAEuB,OAAnBD,EAAO1C,KAAK2C,IAAaA,IAAM,CAEhB,IAAlBD,EAAKyC,UACTtE,EAAOkgB,UAAWyL,GAAQ9pB,GAAM,GAIjC,OAAQA,EAAK6O,WACZ7O,EAAKgL,YAAahL,EAAK6O,WAKnB7O,GAAKiB,SAAW9C,EAAO+E,SAAUlD,EAAM,YAC3CA,EAAKiB,QAAQ/B,OAAS,GAIxB,MAAO5B,OAGR4D,MAAO,SAAU4pB,EAAeC,GAI/B,MAHAD,GAAiC,MAAjBA,GAAwB,EAAQA,EAChDC,EAAyC,MAArBA,EAA4BD,EAAgBC,EAEzDztB,KAAKyC,IAAI,WACf,MAAO5B,GAAO+C,MAAO5D,KAAMwtB,EAAeC,MAI5CkB,KAAM,SAAU7oB,GACf,MAAOyc,GAAQviB,KAAM,SAAU8F,GAC9B,GAAIpD,GAAO1C,KAAM,OAChB2C,EAAI,EACJ0X,EAAIra,KAAK4B,MAEV,IAAesC,SAAV4B,EACJ,MAAyB,KAAlBpD,EAAKyC,SACXzC,EAAKkN,UAAUtL,QAASsmB,GAAe,IACvC1mB,MAIF,MAAsB,gBAAV4B,IAAuBqlB,GAAa1e,KAAM3G,KACnDnF,EAAQsiB,eAAkB4H,GAAape,KAAM3G,KAC7CnF,EAAQoiB,mBAAsB+H,GAAmBre,KAAM3G,IACxD0lB,IAAUR,GAAS9e,KAAMpG,KAAa,GAAI,KAAO,GAAID,gBAAkB,CAExEC,EAAQA,EAAMxB,QAASymB,GAAW,YAElC,KACC,KAAW1Q,EAAJ1X,EAAOA,IAEbD,EAAO1C,KAAK2C,OACW,IAAlBD,EAAKyC,WACTtE,EAAOkgB,UAAWyL,GAAQ9pB,GAAM,IAChCA,EAAKkN,UAAY9J,EAInBpD,GAAO,EAGN,MAAM0C,KAGJ1C,GACJ1C,KAAK2U,QAAQyZ,OAAQtoB,IAEpB,KAAMA,EAAOjD,UAAUjB,SAG3BgtB,YAAa,WACZ,GAAI/nB,GAAMhE,UAAW,EAcrB,OAXA7C,MAAKquB,SAAUxrB,UAAW,SAAUH,GACnCmE,EAAM7G,KAAKoM,WAEXvL,EAAOkgB,UAAWyL,GAAQxsB,OAErB6G,GACJA,EAAIgoB,aAAcnsB,EAAM1C,QAKnB6G,IAAQA,EAAIjF,QAAUiF,EAAI1B,UAAYnF,KAAOA,KAAKqc,UAG1D2C,OAAQ,SAAUle,GACjB,MAAOd,MAAKqc,OAAQvb,GAAU,IAG/ButB,SAAU,SAAU7rB,EAAMD,GAGzBC,EAAOpC,EAAOwC,SAAWJ,EAEzB,IAAIM,GAAO4L,EAAMogB,EAChBhB,EAASjf,EAAKgU,EACdlgB,EAAI,EACJ0X,EAAIra,KAAK4B,OACTmtB,EAAM/uB,KACNgvB,EAAW3U,EAAI,EACfvU,EAAQtD,EAAK,GACbuB,EAAalD,EAAOkD,WAAY+B,EAGjC,IAAK/B,GACDsW,EAAI,GAAsB,gBAAVvU,KAChBnF,EAAQ4iB,YAAc6H,GAAS3e,KAAM3G,GACxC,MAAO9F,MAAKsC,KAAK,SAAUiY,GAC1B,GAAIpB,GAAO4V,EAAIhsB,GAAIwX,EACdxW,KACJvB,EAAK,GAAKsD,EAAMhE,KAAM9B,KAAMua,EAAOpB,EAAKwV,SAEzCxV,EAAKkV,SAAU7rB,EAAMD,IAIvB,IAAK8X,IACJwI,EAAWhiB,EAAOgtB,cAAerrB,EAAMxC,KAAM,GAAIiM,eAAe,EAAOjM,MACvE8C,EAAQ+f,EAAStR,WAEmB,IAA/BsR,EAAStX,WAAW3J,SACxBihB,EAAW/f,GAGPA,GAAQ,CAMZ,IALAgrB,EAAUjtB,EAAO4B,IAAK+pB,GAAQ3J,EAAU,UAAYiK,IACpDgC,EAAahB,EAAQlsB,OAITyY,EAAJ1X,EAAOA,IACd+L,EAAOmU,EAEFlgB,IAAMqsB,IACVtgB,EAAO7N,EAAO+C,MAAO8K,GAAM,GAAM,GAG5BogB,GACJjuB,EAAOuB,MAAO0rB,EAAStB,GAAQ9d,EAAM,YAIvCnM,EAAST,KAAM9B,KAAK2C,GAAI+L,EAAM/L,EAG/B,IAAKmsB,EAOJ,IANAjgB,EAAMif,EAASA,EAAQlsB,OAAS,GAAIqK,cAGpCpL,EAAO4B,IAAKqrB,EAASf,IAGfpqB,EAAI,EAAOmsB,EAAJnsB,EAAgBA,IAC5B+L,EAAOof,EAASnrB,GACX0oB,GAAY5e,KAAMiC,EAAK9J,MAAQ,MAClC/D,EAAOwgB,MAAO3S,EAAM,eAAkB7N,EAAOsH,SAAU0G,EAAKH,KAExDA,EAAKnL,IAEJ1C,EAAOouB,UACXpuB,EAAOouB,SAAUvgB,EAAKnL,KAGvB1C,EAAOyE,YAAcoJ,EAAK1I,MAAQ0I,EAAK4C,aAAe5C,EAAKkB,WAAa,IAAKtL,QAASinB,GAAc,KAOxG1I,GAAW/f,EAAQ,KAIrB,MAAO9C,SAITa,EAAOyB,MACN4sB,SAAU,SACVC,UAAW,UACXZ,aAAc,SACda,YAAa,QACbC,WAAY,eACV,SAAU3rB,EAAMmkB,GAClBhnB,EAAOG,GAAI0C,GAAS,SAAU5C,GAO7B,IANA,GAAIoB,GACHS,EAAI,EACJR,KACAmtB,EAASzuB,EAAQC,GACjBkC,EAAOssB,EAAO1tB,OAAS,EAEXoB,GAALL,EAAWA,IAClBT,EAAQS,IAAMK,EAAOhD,KAAOA,KAAK4D,OAAM,GACvC/C,EAAQyuB,EAAO3sB,IAAMklB,GAAY3lB,GAGjC7B,EAAKuC,MAAOT,EAAKD,EAAMH,MAGxB,OAAO/B,MAAKiC,UAAWE,KAKzB,IAAIotB,IACHC,KAQD,SAASC,IAAe/rB,EAAMmL,GAC7B,GAAI+Q,GACHld,EAAO7B,EAAQgO,EAAIpB,cAAe/J,IAASwrB,SAAUrgB,EAAI+P,MAGzD8Q,EAAU3vB,EAAO4vB,0BAA6B/P,EAAQ7f,EAAO4vB,wBAAyBjtB,EAAM,KAI3Fkd,EAAM8P,QAAU7uB,EAAOyhB,IAAK5f,EAAM,GAAK,UAMzC,OAFAA,GAAKsc,SAEE0Q,EAOR,QAASE,IAAgBhqB,GACxB,GAAIiJ,GAAMjP,EACT8vB,EAAUF,GAAa5pB,EA0BxB,OAxBM8pB,KACLA,EAAUD,GAAe7pB,EAAUiJ,GAGlB,SAAZ6gB,GAAuBA,IAG3BH,IAAUA,IAAU1uB,EAAQ,mDAAoDquB,SAAUrgB,EAAIJ,iBAG9FI,GAAQ0gB,GAAQ,GAAIrU,eAAiBqU,GAAQ,GAAItU,iBAAkBrb,SAGnEiP,EAAIghB,QACJhhB,EAAIihB,QAEJJ,EAAUD,GAAe7pB,EAAUiJ,GACnC0gB,GAAOvQ,UAIRwQ,GAAa5pB,GAAa8pB,GAGpBA,GAIR,WACC,GAAIK,EAEJpvB,GAAQqvB,iBAAmB,WAC1B,GAA4B,MAAvBD,EACJ,MAAOA,EAIRA,IAAsB,CAGtB,IAAIviB,GAAKoR,EAAMe,CAGf,OADAf,GAAOhf,EAAS0M,qBAAsB,QAAU,GAC1CsS,GAASA,EAAKgB,OAMpBpS,EAAM5N,EAAS6N,cAAe,OAC9BkS,EAAY/f,EAAS6N,cAAe,OACpCkS,EAAUC,MAAMC,QAAU,iEAC1BjB,EAAKzP,YAAawQ,GAAYxQ,YAAa3B,SAI/BA,GAAIoS,MAAME,OAASL,IAE9BjS,EAAIoS,MAAMC,QAGT,iJAGDrS,EAAI2B,YAAavP,EAAS6N,cAAe,QAAUmS,MAAMqQ,MAAQ,MACjEF,EAA0C,IAApBviB,EAAIuS,aAG3BnB,EAAKlR,YAAaiS,GAEXoQ,GA3BP,UA+BF,IAAIG,IAAU,UAEVC,GAAY,GAAI1mB,QAAQ,KAAOwY,EAAO,kBAAmB,KAIzDmO,GAAWC,GACdC,GAAY,2BAERvwB,GAAOwwB,kBACXH,GAAY,SAAU1tB,GAIrB,MAAKA,GAAKuJ,cAAc6C,YAAY0hB,OAC5B9tB,EAAKuJ,cAAc6C,YAAYyhB,iBAAkB7tB,EAAM,MAGxD3C,EAAOwwB,iBAAkB7tB,EAAM,OAGvC2tB,GAAS,SAAU3tB,EAAMgB,EAAM+sB,GAC9B,GAAIR,GAAOS,EAAUC,EAAUxuB,EAC9Byd,EAAQld,EAAKkd,KAqCd,OAnCA6Q,GAAWA,GAAYL,GAAW1tB,GAGlCP,EAAMsuB,EAAWA,EAASG,iBAAkBltB,IAAU+sB,EAAU/sB,GAASQ,OAEpEusB,IAES,KAARtuB,GAAetB,EAAOsH,SAAUzF,EAAKuJ,cAAevJ,KACxDP,EAAMtB,EAAO+e,MAAOld,EAAMgB,IAOtBysB,GAAU1jB,KAAMtK,IAAS+tB,GAAQzjB,KAAM/I,KAG3CusB,EAAQrQ,EAAMqQ,MACdS,EAAW9Q,EAAM8Q,SACjBC,EAAW/Q,EAAM+Q,SAGjB/Q,EAAM8Q,SAAW9Q,EAAM+Q,SAAW/Q,EAAMqQ,MAAQ9tB,EAChDA,EAAMsuB,EAASR,MAGfrQ,EAAMqQ,MAAQA,EACdrQ,EAAM8Q,SAAWA,EACjB9Q,EAAM+Q,SAAWA,IAMJzsB,SAAR/B,EACNA,EACAA,EAAM,KAEGvC,EAAS6O,gBAAgBoiB,eACpCT,GAAY,SAAU1tB,GACrB,MAAOA,GAAKmuB,cAGbR,GAAS,SAAU3tB,EAAMgB,EAAM+sB,GAC9B,GAAIK,GAAMC,EAAIC,EAAQ7uB,EACrByd,EAAQld,EAAKkd,KAyCd,OAvCA6Q,GAAWA,GAAYL,GAAW1tB,GAClCP,EAAMsuB,EAAWA,EAAU/sB,GAASQ,OAIxB,MAAP/B,GAAeyd,GAASA,EAAOlc,KACnCvB,EAAMyd,EAAOlc,IAUTysB,GAAU1jB,KAAMtK,KAAUmuB,GAAU7jB,KAAM/I,KAG9CotB,EAAOlR,EAAMkR,KACbC,EAAKruB,EAAKuuB,aACVD,EAASD,GAAMA,EAAGD,KAGbE,IACJD,EAAGD,KAAOpuB,EAAKmuB,aAAaC,MAE7BlR,EAAMkR,KAAgB,aAATptB,EAAsB,MAAQvB,EAC3CA,EAAMyd,EAAMsR,UAAY,KAGxBtR,EAAMkR,KAAOA,EACRE,IACJD,EAAGD,KAAOE,IAMG9sB,SAAR/B,EACNA,EACAA,EAAM,IAAM,QAOf,SAASgvB,IAAcC,EAAaC,GAEnC,OACCtvB,IAAK,WACJ,GAAIuvB,GAAYF,GAEhB,IAAkB,MAAbE,EAML,MAAKA,cAIGtxB,MAAK+B,KAML/B,KAAK+B,IAAMsvB,GAAQzuB,MAAO5C,KAAM6C,cAM3C,WAEC,GAAI2K,GAAKoS,EAAOhX,EAAG2oB,EAAkBC,EACpCC,EAA0BC,CAS3B,IANAlkB,EAAM5N,EAAS6N,cAAe,OAC9BD,EAAIoC,UAAY,qEAChBhH,EAAI4E,EAAIlB,qBAAsB,KAAO,GACrCsT,EAAQhX,GAAKA,EAAEgX,MAGf,CAIAA,EAAMC,QAAU,wBAIhBlf,EAAQgxB,QAA4B,QAAlB/R,EAAM+R,QAIxBhxB,EAAQixB,WAAahS,EAAMgS,SAE3BpkB,EAAIoS,MAAMiS,eAAiB,cAC3BrkB,EAAI2V,WAAW,GAAOvD,MAAMiS,eAAiB,GAC7ClxB,EAAQmxB,gBAA+C,gBAA7BtkB,EAAIoS,MAAMiS,eAIpClxB,EAAQoxB,UAAgC,KAApBnS,EAAMmS,WAA2C,KAAvBnS,EAAMoS,cACzB,KAA1BpS,EAAMqS,gBAEPpxB,EAAOyC,OAAO3C,GACbuxB,sBAAuB,WAItB,MAHiC,OAA5BT,GACJU,IAEMV,GAGRW,kBAAmB,WAIlB,MAH6B,OAAxBZ,GACJW,IAEMX,GAGRa,cAAe,WAId,MAHyB,OAApBd,GACJY,IAEMZ,GAIRe,oBAAqB,WAIpB,MAH+B,OAA1BZ,GACJS,IAEMT,IAIT,SAASS,KAER,GAAI3kB,GAAKoR,EAAMe,EAAW/F,CAE1BgF,GAAOhf,EAAS0M,qBAAsB,QAAU,GAC1CsS,GAASA,EAAKgB,QAMpBpS,EAAM5N,EAAS6N,cAAe,OAC9BkS,EAAY/f,EAAS6N,cAAe,OACpCkS,EAAUC,MAAMC,QAAU,iEAC1BjB,EAAKzP,YAAawQ,GAAYxQ,YAAa3B,GAE3CA,EAAIoS,MAAMC,QAGT,uKAMD0R,EAAmBC,GAAuB,EAC1CE,GAAyB,EAGpB3xB,EAAOwwB,mBACXgB,EAA0E,QAArDxxB,EAAOwwB,iBAAkB/iB,EAAK,WAAeuB,IAClEyiB,EACwE,SAArEzxB,EAAOwwB,iBAAkB/iB,EAAK,QAAYyiB,MAAO,QAAUA,MAM9DrW,EAAWpM,EAAI2B,YAAavP,EAAS6N,cAAe,QAGpDmM,EAASgG,MAAMC,QAAUrS,EAAIoS,MAAMC,QAGlC,8HAEDjG,EAASgG,MAAM2S,YAAc3Y,EAASgG,MAAMqQ,MAAQ,IACpDziB,EAAIoS,MAAMqQ,MAAQ,MAElByB,GACE1sB,YAAcjF,EAAOwwB,iBAAkB3W,EAAU,WAAe2Y,aAElE/kB,EAAIE,YAAakM,IAUlBpM,EAAIoC,UAAY,8CAChBgK,EAAWpM,EAAIlB,qBAAsB,MACrCsN,EAAU,GAAIgG,MAAMC,QAAU,2CAC9B4R,EAA0D,IAA/B7X,EAAU,GAAI4Y,aACpCf,IACJ7X,EAAU,GAAIgG,MAAM8P,QAAU,GAC9B9V,EAAU,GAAIgG,MAAM8P,QAAU,OAC9B+B,EAA0D,IAA/B7X,EAAU,GAAI4Y,cAG1C5T,EAAKlR,YAAaiS,SAOpB9e,EAAO4xB,KAAO,SAAU/vB,EAAMiB,EAASpB,EAAUC,GAChD,GAAIL,GAAKuB,EACRmI,IAGD,KAAMnI,IAAQC,GACbkI,EAAKnI,GAAShB,EAAKkd,MAAOlc,GAC1BhB,EAAKkd,MAAOlc,GAASC,EAASD,EAG/BvB,GAAMI,EAASK,MAAOF,EAAMF,MAG5B,KAAMkB,IAAQC,GACbjB,EAAKkd,MAAOlc,GAASmI,EAAKnI,EAG3B,OAAOvB,GAIR,IACEuwB,IAAS,kBACVC,GAAW,wBAIXC,GAAe,4BACfC,GAAY,GAAIppB,QAAQ,KAAOwY,EAAO,SAAU,KAChD6Q,GAAU,GAAIrpB,QAAQ,YAAcwY,EAAO,IAAK,KAEhD8Q,IAAYC,SAAU,WAAYC,WAAY,SAAUvD,QAAS,SACjEwD,IACCC,cAAe,IACfC,WAAY,OAGbC,IAAgB,SAAU,IAAK,MAAO,KAIvC,SAASC,IAAgB1T,EAAOlc,GAG/B,GAAKA,IAAQkc,GACZ,MAAOlc,EAIR,IAAI6vB,GAAU7vB,EAAK4V,OAAO,GAAG9X,cAAgBkC,EAAKvD,MAAM,GACvDqzB,EAAW9vB,EACXf,EAAI0wB,GAAYzxB,MAEjB,OAAQe,IAEP,GADAe,EAAO2vB,GAAa1wB,GAAM4wB,EACrB7vB,IAAQkc,GACZ,MAAOlc,EAIT,OAAO8vB,GAGR,QAASC,IAAU3iB,EAAU4iB,GAM5B,IALA,GAAIhE,GAAShtB,EAAMixB,EAClB1V,KACA1D,EAAQ,EACR3Y,EAASkP,EAASlP,OAEHA,EAAR2Y,EAAgBA,IACvB7X,EAAOoO,EAAUyJ,GACX7X,EAAKkd,QAIX3B,EAAQ1D,GAAU1Z,EAAOwgB,MAAO3e,EAAM,cACtCgtB,EAAUhtB,EAAKkd,MAAM8P,QAChBgE,GAGEzV,EAAQ1D,IAAuB,SAAZmV,IACxBhtB,EAAKkd,MAAM8P,QAAU,IAMM,KAAvBhtB,EAAKkd,MAAM8P,SAAkBtN,EAAU1f,KAC3Cub,EAAQ1D,GAAU1Z,EAAOwgB,MAAO3e,EAAM,aAAcktB,GAAeltB,EAAKkD,cAGzE+tB,EAASvR,EAAU1f,IAEdgtB,GAAuB,SAAZA,IAAuBiE,IACtC9yB,EAAOwgB,MAAO3e,EAAM,aAAcixB,EAASjE,EAAU7uB,EAAOyhB,IAAK5f,EAAM,aAO1E,KAAM6X,EAAQ,EAAW3Y,EAAR2Y,EAAgBA,IAChC7X,EAAOoO,EAAUyJ,GACX7X,EAAKkd,QAGL8T,GAA+B,SAAvBhxB,EAAKkd,MAAM8P,SAA6C,KAAvBhtB,EAAKkd,MAAM8P,UACzDhtB,EAAKkd,MAAM8P,QAAUgE,EAAOzV,EAAQ1D,IAAW,GAAK,QAItD,OAAOzJ,GAGR,QAAS8iB,IAAmBlxB,EAAMoD,EAAO+tB,GACxC,GAAIltB,GAAUksB,GAAU3mB,KAAMpG,EAC9B,OAAOa,GAENvC,KAAKkC,IAAK,EAAGK,EAAS,IAAQktB,GAAY,KAAUltB,EAAS,IAAO,MACpEb,EAGF,QAASguB,IAAsBpxB,EAAMgB,EAAMqwB,EAAOC,EAAaC,GAS9D,IARA,GAAItxB,GAAIoxB,KAAYC,EAAc,SAAW,WAE5C,EAES,UAATtwB,EAAmB,EAAI,EAEvBsN,EAAM,EAEK,EAAJrO,EAAOA,GAAK,EAEJ,WAAVoxB,IACJ/iB,GAAOnQ,EAAOyhB,IAAK5f,EAAMqxB,EAAQ5R,EAAWxf,IAAK,EAAMsxB,IAGnDD,GAEW,YAAVD,IACJ/iB,GAAOnQ,EAAOyhB,IAAK5f,EAAM,UAAYyf,EAAWxf,IAAK,EAAMsxB,IAI7C,WAAVF,IACJ/iB,GAAOnQ,EAAOyhB,IAAK5f,EAAM,SAAWyf,EAAWxf,GAAM,SAAS,EAAMsxB,MAIrEjjB,GAAOnQ,EAAOyhB,IAAK5f,EAAM,UAAYyf,EAAWxf,IAAK,EAAMsxB,GAG5C,YAAVF,IACJ/iB,GAAOnQ,EAAOyhB,IAAK5f,EAAM,SAAWyf,EAAWxf,GAAM,SAAS,EAAMsxB,IAKvE,OAAOjjB,GAGR,QAASkjB,IAAkBxxB,EAAMgB,EAAMqwB,GAGtC,GAAII,IAAmB,EACtBnjB,EAAe,UAATtN,EAAmBhB,EAAKqd,YAAcrd,EAAK8vB,aACjDyB,EAAS7D,GAAW1tB,GACpBsxB,EAAcrzB,EAAQoxB,WAAgE,eAAnDlxB,EAAOyhB,IAAK5f,EAAM,aAAa,EAAOuxB,EAK1E,IAAY,GAAPjjB,GAAmB,MAAPA,EAAc,CAQ9B,GANAA,EAAMqf,GAAQ3tB,EAAMgB,EAAMuwB,IACf,EAANjjB,GAAkB,MAAPA,KACfA,EAAMtO,EAAKkd,MAAOlc,IAIdysB,GAAU1jB,KAAKuE,GACnB,MAAOA,EAKRmjB,GAAmBH,IAAiBrzB,EAAQyxB,qBAAuBphB,IAAQtO,EAAKkd,MAAOlc,IAGvFsN,EAAMhM,WAAYgM,IAAS,EAI5B,MAASA,GACR8iB,GACCpxB,EACAgB,EACAqwB,IAAWC,EAAc,SAAW,WACpCG,EACAF,GAEE,KAGLpzB,EAAOyC,QAGN8wB,UACCzC,SACC5vB,IAAK,SAAUW,EAAM+tB,GACpB,GAAKA,EAAW,CAEf,GAAItuB,GAAMkuB,GAAQ3tB,EAAM,UACxB,OAAe,KAARP,EAAa,IAAMA,MAO9BkyB,WACCC,aAAe,EACfC,aAAe,EACfC,UAAY,EACZC,YAAc,EACdrB,YAAc,EACdsB,YAAc,EACd/C,SAAW,EACXgD,OAAS,EACTC,SAAW,EACXC,QAAU,EACVC,QAAU,EACVhV,MAAQ,GAKTiV,UAECC,QAASr0B,EAAQixB,SAAW,WAAa,cAI1ChS,MAAO,SAAUld,EAAMgB,EAAMoC,EAAOiuB,GAEnC,GAAMrxB,GAA0B,IAAlBA,EAAKyC,UAAoC,IAAlBzC,EAAKyC,UAAmBzC,EAAKkd,MAAlE,CAKA,GAAIzd,GAAKyC,EAAM8c,EACd8R,EAAW3yB,EAAO6E,UAAWhC,GAC7Bkc,EAAQld,EAAKkd,KASd,IAPAlc,EAAO7C,EAAOk0B,SAAUvB,KAAgB3yB,EAAOk0B,SAAUvB,GAAaF,GAAgB1T,EAAO4T,IAI7F9R,EAAQ7gB,EAAOuzB,SAAU1wB,IAAU7C,EAAOuzB,SAAUZ,GAGrCtvB,SAAV4B,EAsCJ,MAAK4b,IAAS,OAASA,IAAqDxd,UAA3C/B,EAAMuf,EAAM3f,IAAKW,GAAM,EAAOqxB,IACvD5xB,EAIDyd,EAAOlc,EAhCd,IAVAkB,QAAckB,GAGA,WAATlB,IAAsBzC,EAAM2wB,GAAQ5mB,KAAMpG,MAC9CA,GAAU3D,EAAI,GAAK,GAAMA,EAAI,GAAK6C,WAAYnE,EAAOyhB,IAAK5f,EAAMgB,IAEhEkB,EAAO,UAIM,MAATkB,GAAiBA,IAAUA,IAKlB,WAATlB,GAAsB/D,EAAOwzB,UAAWb,KAC5C1tB,GAAS,MAKJnF,EAAQmxB,iBAA6B,KAAVhsB,GAA+C,IAA/BpC,EAAKpD,QAAQ,gBAC7Dsf,EAAOlc,GAAS,aAIXge,GAAW,OAASA,IAAwDxd,UAA7C4B,EAAQ4b,EAAMqN,IAAKrsB,EAAMoD,EAAOiuB,MAIpE,IACCnU,EAAOlc,GAASoC,EACf,MAAMV,OAcXkd,IAAK,SAAU5f,EAAMgB,EAAMqwB,EAAOE,GACjC,GAAIjyB,GAAKgP,EAAK0Q,EACb8R,EAAW3yB,EAAO6E,UAAWhC,EAyB9B,OAtBAA,GAAO7C,EAAOk0B,SAAUvB,KAAgB3yB,EAAOk0B,SAAUvB,GAAaF,GAAgB5wB,EAAKkd,MAAO4T,IAIlG9R,EAAQ7gB,EAAOuzB,SAAU1wB,IAAU7C,EAAOuzB,SAAUZ,GAG/C9R,GAAS,OAASA,KACtB1Q,EAAM0Q,EAAM3f,IAAKW,GAAM,EAAMqxB,IAIjB7vB,SAAR8M,IACJA,EAAMqf,GAAQ3tB,EAAMgB,EAAMuwB,IAId,WAARjjB,GAAoBtN,IAAQwvB,MAChCliB,EAAMkiB,GAAoBxvB,IAIZ,KAAVqwB,GAAgBA,GACpB/xB,EAAMgD,WAAYgM,GACX+iB,KAAU,GAAQlzB,EAAOkE,UAAW/C,GAAQA,GAAO,EAAIgP,GAExDA,KAITnQ,EAAOyB,MAAO,SAAU,SAAW,SAAUK,EAAGe,GAC/C7C,EAAOuzB,SAAU1wB,IAChB3B,IAAK,SAAUW,EAAM+tB,EAAUsD,GAC9B,MAAKtD,GAGGmC,GAAanmB,KAAM5L,EAAOyhB,IAAK5f,EAAM,aAAsC,IAArBA,EAAKqd,YACjElf,EAAO4xB,KAAM/vB,EAAMqwB,GAAS,WAC3B,MAAOmB,IAAkBxxB,EAAMgB,EAAMqwB,KAEtCG,GAAkBxxB,EAAMgB,EAAMqwB,GAPhC,QAWDhF,IAAK,SAAUrsB,EAAMoD,EAAOiuB,GAC3B,GAAIE,GAASF,GAAS3D,GAAW1tB,EACjC,OAAOkxB,IAAmBlxB,EAAMoD,EAAOiuB,EACtCD,GACCpxB,EACAgB,EACAqwB,EACApzB,EAAQoxB,WAAgE,eAAnDlxB,EAAOyhB,IAAK5f,EAAM,aAAa,EAAOuxB,GAC3DA,GACG,OAMFtzB,EAAQgxB,UACb9wB,EAAOuzB,SAASzC,SACf5vB,IAAK,SAAUW,EAAM+tB,GAEpB,MAAOkC,IAASlmB,MAAOgkB,GAAY/tB,EAAKmuB,aAAenuB,EAAKmuB,aAAarhB,OAAS9M,EAAKkd,MAAMpQ,SAAW,IACrG,IAAOxK,WAAYyE,OAAOwrB,IAAS,GACrCxE,EAAW,IAAM,IAGnB1B,IAAK,SAAUrsB,EAAMoD,GACpB,GAAI8Z,GAAQld,EAAKkd,MAChBiR,EAAenuB,EAAKmuB,aACpBc,EAAU9wB,EAAOkE,UAAWe,GAAU,iBAA2B,IAARA,EAAc,IAAM,GAC7E0J,EAASqhB,GAAgBA,EAAarhB,QAAUoQ,EAAMpQ,QAAU,EAIjEoQ,GAAME,KAAO,GAINha,GAAS,GAAe,KAAVA,IAC6B,KAAhDjF,EAAO2E,KAAMgK,EAAOlL,QAASouB,GAAQ,MACrC9S,EAAM3S,kBAKP2S,EAAM3S,gBAAiB,UAGR,KAAVnH,GAAgB+qB,IAAiBA,EAAarhB,UAMpDoQ,EAAMpQ,OAASkjB,GAAOjmB,KAAM+C,GAC3BA,EAAOlL,QAASouB,GAAQf,GACxBniB,EAAS,IAAMmiB,MAKnB9wB,EAAOuzB,SAAS7B,YAAcpB,GAAcxwB,EAAQ2xB,oBACnD,SAAU5vB,EAAM+tB,GACf,MAAKA,GAGG5vB,EAAO4xB,KAAM/vB,GAAQgtB,QAAW,gBACtCW,IAAU3tB,EAAM,gBAJlB,SAUF7B,EAAOyB,MACN4yB,OAAQ,GACRC,QAAS,GACTC,OAAQ,SACN,SAAUC,EAAQC,GACpBz0B,EAAOuzB,SAAUiB,EAASC,IACzBC,OAAQ,SAAUzvB,GAOjB,IANA,GAAInD,GAAI,EACP6yB,KAGAC,EAAyB,gBAAV3vB,GAAqBA,EAAMqB,MAAM,MAASrB,GAE9C,EAAJnD,EAAOA,IACd6yB,EAAUH,EAASlT,EAAWxf,GAAM2yB,GACnCG,EAAO9yB,IAAO8yB,EAAO9yB,EAAI,IAAO8yB,EAAO,EAGzC,OAAOD,KAIHtF,GAAQzjB,KAAM4oB,KACnBx0B,EAAOuzB,SAAUiB,EAASC,GAASvG,IAAM6E,MAI3C/yB,EAAOG,GAAGsC,QACTgf,IAAK,SAAU5e,EAAMoC,GACpB,MAAOyc,GAAQviB,KAAM,SAAU0C,EAAMgB,EAAMoC,GAC1C,GAAImuB,GAAQhxB,EACXR,KACAE,EAAI,CAEL,IAAK9B,EAAOoD,QAASP,GAAS,CAI7B,IAHAuwB,EAAS7D,GAAW1tB,GACpBO,EAAMS,EAAK9B,OAECqB,EAAJN,EAASA,IAChBF,EAAKiB,EAAMf,IAAQ9B,EAAOyhB,IAAK5f,EAAMgB,EAAMf,IAAK,EAAOsxB,EAGxD,OAAOxxB,GAGR,MAAiByB,UAAV4B,EACNjF,EAAO+e,MAAOld,EAAMgB,EAAMoC,GAC1BjF,EAAOyhB,IAAK5f,EAAMgB,IACjBA,EAAMoC,EAAOjD,UAAUjB,OAAS,IAEpC8xB,KAAM,WACL,MAAOD,IAAUzzB,MAAM,IAExB01B,KAAM,WACL,MAAOjC,IAAUzzB,OAElB21B,OAAQ,SAAU/Y,GACjB,MAAsB,iBAAVA,GACJA,EAAQ5c,KAAK0zB,OAAS1zB,KAAK01B,OAG5B11B,KAAKsC,KAAK,WACX8f,EAAUpiB,MACda,EAAQb,MAAO0zB,OAEf7yB,EAAQb,MAAO01B,WAOnB,SAASE,IAAOlzB,EAAMiB,EAASyjB,EAAMjkB,EAAK0yB,GACzC,MAAO,IAAID,IAAMn0B,UAAUR,KAAMyB,EAAMiB,EAASyjB,EAAMjkB,EAAK0yB;CAE5Dh1B,EAAO+0B,MAAQA,GAEfA,GAAMn0B,WACLE,YAAai0B,GACb30B,KAAM,SAAUyB,EAAMiB,EAASyjB,EAAMjkB,EAAK0yB,EAAQC,GACjD91B,KAAK0C,KAAOA,EACZ1C,KAAKonB,KAAOA,EACZpnB,KAAK61B,OAASA,GAAU,QACxB71B,KAAK2D,QAAUA,EACf3D,KAAKgT,MAAQhT,KAAKiH,IAAMjH,KAAKgO,MAC7BhO,KAAKmD,IAAMA,EACXnD,KAAK81B,KAAOA,IAAUj1B,EAAOwzB,UAAWjN,GAAS,GAAK,OAEvDpZ,IAAK,WACJ,GAAI0T,GAAQkU,GAAMG,UAAW/1B,KAAKonB,KAElC,OAAO1F,IAASA,EAAM3f,IACrB2f,EAAM3f,IAAK/B,MACX41B,GAAMG,UAAUrP,SAAS3kB,IAAK/B,OAEhCg2B,IAAK,SAAUC,GACd,GAAIC,GACHxU,EAAQkU,GAAMG,UAAW/1B,KAAKonB,KAoB/B,OAjBCpnB,MAAKsa,IAAM4b,EADPl2B,KAAK2D,QAAQwyB,SACEt1B,EAAOg1B,OAAQ71B,KAAK61B,QACtCI,EAASj2B,KAAK2D,QAAQwyB,SAAWF,EAAS,EAAG,EAAGj2B,KAAK2D,QAAQwyB,UAG3CF,EAEpBj2B,KAAKiH,KAAQjH,KAAKmD,IAAMnD,KAAKgT,OAAUkjB,EAAQl2B,KAAKgT,MAE/ChT,KAAK2D,QAAQyyB,MACjBp2B,KAAK2D,QAAQyyB,KAAKt0B,KAAM9B,KAAK0C,KAAM1C,KAAKiH,IAAKjH,MAGzC0hB,GAASA,EAAMqN,IACnBrN,EAAMqN,IAAK/uB,MAEX41B,GAAMG,UAAUrP,SAASqI,IAAK/uB,MAExBA,OAIT41B,GAAMn0B,UAAUR,KAAKQ,UAAYm0B,GAAMn0B,UAEvCm0B,GAAMG,WACLrP,UACC3kB,IAAK,SAAUs0B,GACd,GAAI7jB,EAEJ,OAAiC,OAA5B6jB,EAAM3zB,KAAM2zB,EAAMjP,OACpBiP,EAAM3zB,KAAKkd,OAA2C,MAAlCyW,EAAM3zB,KAAKkd,MAAOyW,EAAMjP,OAQ/C5U,EAAS3R,EAAOyhB,IAAK+T,EAAM3zB,KAAM2zB,EAAMjP,KAAM,IAErC5U,GAAqB,SAAXA,EAAwBA,EAAJ,GAT9B6jB,EAAM3zB,KAAM2zB,EAAMjP,OAW3B2H,IAAK,SAAUsH,GAGTx1B,EAAOy1B,GAAGF,KAAMC,EAAMjP,MAC1BvmB,EAAOy1B,GAAGF,KAAMC,EAAMjP,MAAQiP,GACnBA,EAAM3zB,KAAKkd,QAAgE,MAArDyW,EAAM3zB,KAAKkd,MAAO/e,EAAOk0B,SAAUsB,EAAMjP,QAAoBvmB,EAAOuzB,SAAUiC,EAAMjP,OACrHvmB,EAAO+e,MAAOyW,EAAM3zB,KAAM2zB,EAAMjP,KAAMiP,EAAMpvB,IAAMovB,EAAMP,MAExDO,EAAM3zB,KAAM2zB,EAAMjP,MAASiP,EAAMpvB,OASrC2uB,GAAMG,UAAUtN,UAAYmN,GAAMG,UAAU1N,YAC3C0G,IAAK,SAAUsH,GACTA,EAAM3zB,KAAKyC,UAAYkxB,EAAM3zB,KAAK0J,aACtCiqB,EAAM3zB,KAAM2zB,EAAMjP,MAASiP,EAAMpvB,OAKpCpG,EAAOg1B,QACNU,OAAQ,SAAUC,GACjB,MAAOA,IAERC,MAAO,SAAUD,GAChB,MAAO,GAAMpyB,KAAKsyB,IAAKF,EAAIpyB,KAAKuyB,IAAO,IAIzC91B,EAAOy1B,GAAKV,GAAMn0B,UAAUR,KAG5BJ,EAAOy1B,GAAGF,OAKV,IACCQ,IAAOC,GACPC,GAAW,yBACXC,GAAS,GAAIttB,QAAQ,iBAAmBwY,EAAO,cAAe,KAC9D+U,GAAO,cACPC,IAAwBC,IACxBC,IACCC,KAAO,SAAUhQ,EAAMthB,GACtB,GAAIuwB,GAAQr2B,KAAKq3B,YAAajQ,EAAMthB,GACnCjC,EAASwyB,EAAMroB,MACfynB,EAAQsB,GAAO7qB,KAAMpG,GACrBgwB,EAAOL,GAASA,EAAO,KAAS50B,EAAOwzB,UAAWjN,GAAS,GAAK,MAGhEpU,GAAUnS,EAAOwzB,UAAWjN,IAAmB,OAAT0O,IAAkBjyB,IACvDkzB,GAAO7qB,KAAMrL,EAAOyhB,IAAK+T,EAAM3zB,KAAM0kB,IACtCkQ,EAAQ,EACRC,EAAgB,EAEjB,IAAKvkB,GAASA,EAAO,KAAQ8iB,EAAO,CAEnCA,EAAOA,GAAQ9iB,EAAO,GAGtByiB,EAAQA,MAGRziB,GAASnP,GAAU,CAEnB,GAGCyzB,GAAQA,GAAS,KAGjBtkB,GAAgBskB,EAChBz2B,EAAO+e,MAAOyW,EAAM3zB,KAAM0kB,EAAMpU,EAAQ8iB,SAI/BwB,KAAWA,EAAQjB,EAAMroB,MAAQnK,IAAqB,IAAVyzB,KAAiBC,GAaxE,MATK9B,KACJziB,EAAQqjB,EAAMrjB,OAASA,IAAUnP,GAAU,EAC3CwyB,EAAMP,KAAOA,EAEbO,EAAMlzB,IAAMsyB,EAAO,GAClBziB,GAAUyiB,EAAO,GAAM,GAAMA,EAAO,IACnCA,EAAO,IAGHY,IAKV,SAASmB,MAIR,MAHA3Y,YAAW,WACV+X,GAAQ1yB,SAEA0yB,GAAQ/1B,EAAOoG,MAIzB,QAASwwB,IAAO7yB,EAAM8yB,GACrB,GAAI5P,GACHla,GAAU+pB,OAAQ/yB,GAClBjC,EAAI,CAKL,KADA+0B,EAAeA,EAAe,EAAI,EACtB,EAAJ/0B,EAAQA,GAAK,EAAI+0B,EACxB5P,EAAQ3F,EAAWxf,GACnBiL,EAAO,SAAWka,GAAUla,EAAO,UAAYka,GAAUljB,CAO1D,OAJK8yB,KACJ9pB,EAAM+jB,QAAU/jB,EAAMqiB,MAAQrrB,GAGxBgJ,EAGR,QAASypB,IAAavxB,EAAOshB,EAAMwQ,GAKlC,IAJA,GAAIvB,GACHwB,GAAeV,GAAU/P,QAAehnB,OAAQ+2B,GAAU,MAC1D5c,EAAQ,EACR3Y,EAASi2B,EAAWj2B,OACLA,EAAR2Y,EAAgBA,IACvB,GAAM8b,EAAQwB,EAAYtd,GAAQzY,KAAM81B,EAAWxQ,EAAMthB,GAGxD,MAAOuwB,GAKV,QAASa,IAAkBx0B,EAAMglB,EAAOoQ,GAEvC,GAAI1Q,GAAMthB,EAAO6vB,EAAQU,EAAO3U,EAAOqW,EAASrI,EAASsI,EACxDC,EAAOj4B,KACP4pB,KACAhK,EAAQld,EAAKkd,MACb+T,EAASjxB,EAAKyC,UAAYid,EAAU1f,GACpCw1B,EAAWr3B,EAAOwgB,MAAO3e,EAAM,SAG1Bo1B,GAAKvW,QACVG,EAAQ7gB,EAAO8gB,YAAajf,EAAM,MACX,MAAlBgf,EAAMyW,WACVzW,EAAMyW,SAAW,EACjBJ,EAAUrW,EAAM/M,MAAMuH,KACtBwF,EAAM/M,MAAMuH,KAAO,WACZwF,EAAMyW,UACXJ,MAIHrW,EAAMyW,WAENF,EAAKnb,OAAO,WAGXmb,EAAKnb,OAAO,WACX4E,EAAMyW,WACAt3B,EAAO0gB,MAAO7e,EAAM,MAAOd,QAChC8f,EAAM/M,MAAMuH,YAOO,IAAlBxZ,EAAKyC,WAAoB,UAAYuiB,IAAS,SAAWA,MAK7DoQ,EAAKM,UAAaxY,EAAMwY,SAAUxY,EAAMyY,UAAWzY,EAAM0Y,WAIzD5I,EAAU7uB,EAAOyhB,IAAK5f,EAAM,WAG5Bs1B,EAA2B,SAAZtI,EACd7uB,EAAOwgB,MAAO3e,EAAM,eAAkBktB,GAAgBltB,EAAKkD,UAAa8pB,EAEnD,WAAjBsI,GAA6D,SAAhCn3B,EAAOyhB,IAAK5f,EAAM,WAI7C/B,EAAQ+e,wBAA8D,WAApCkQ,GAAgBltB,EAAKkD,UAG5Dga,EAAME,KAAO,EAFbF,EAAM8P,QAAU,iBAOdoI,EAAKM,WACTxY,EAAMwY,SAAW,SACXz3B,EAAQqvB,oBACbiI,EAAKnb,OAAO,WACX8C,EAAMwY,SAAWN,EAAKM,SAAU,GAChCxY,EAAMyY,UAAYP,EAAKM,SAAU,GACjCxY,EAAM0Y,UAAYR,EAAKM,SAAU,KAMpC,KAAMhR,IAAQM,GAEb,GADA5hB,EAAQ4hB,EAAON,GACV0P,GAAS5qB,KAAMpG,GAAU,CAG7B,SAFO4hB,GAAON,GACduO,EAASA,GAAoB,WAAV7vB,EACdA,KAAY6tB,EAAS,OAAS,QAAW,CAG7C,GAAe,SAAV7tB,IAAoBoyB,GAAiCh0B,SAArBg0B,EAAU9Q,GAG9C,QAFAuM,IAAS,EAKX/J,EAAMxC,GAAS8Q,GAAYA,EAAU9Q,IAAUvmB,EAAO+e,MAAOld,EAAM0kB,OAInEsI,GAAUxrB,MAIZ,IAAMrD,EAAOoE,cAAe2kB,GAwCqD,YAAxD,SAAZ8F,EAAqBE,GAAgBltB,EAAKkD,UAAa8pB,KACnE9P,EAAM8P,QAAUA,OAzCoB,CAC/BwI,EACC,UAAYA,KAChBvE,EAASuE,EAASvE,QAGnBuE,EAAWr3B,EAAOwgB,MAAO3e,EAAM,aAI3BizB,IACJuC,EAASvE,QAAUA,GAEfA,EACJ9yB,EAAQ6B,GAAOgxB,OAEfuE,EAAK3vB,KAAK,WACTzH,EAAQ6B,GAAOgzB,SAGjBuC,EAAK3vB,KAAK,WACT,GAAI8e,EACJvmB,GAAOygB,YAAa5e,EAAM,SAC1B,KAAM0kB,IAAQwC,GACb/oB,EAAO+e,MAAOld,EAAM0kB,EAAMwC,EAAMxC,KAGlC,KAAMA,IAAQwC,GACbyM,EAAQgB,GAAa1D,EAASuE,EAAU9Q,GAAS,EAAGA,EAAM6Q,GAElD7Q,IAAQ8Q,KACfA,EAAU9Q,GAASiP,EAAMrjB,MACpB2gB,IACJ0C,EAAMlzB,IAAMkzB,EAAMrjB,MAClBqjB,EAAMrjB,MAAiB,UAAToU,GAA6B,WAATA,EAAoB,EAAI,KAW/D,QAASmR,IAAY7Q,EAAO8Q,GAC3B,GAAIje,GAAO7W,EAAMmyB,EAAQ/vB,EAAO4b,CAGhC,KAAMnH,IAASmN,GAed,GAdAhkB,EAAO7C,EAAO6E,UAAW6U,GACzBsb,EAAS2C,EAAe90B,GACxBoC,EAAQ4hB,EAAOnN,GACV1Z,EAAOoD,QAAS6B,KACpB+vB,EAAS/vB,EAAO,GAChBA,EAAQ4hB,EAAOnN,GAAUzU,EAAO,IAG5ByU,IAAU7W,IACdgkB,EAAOhkB,GAASoC,QACT4hB,GAAOnN,IAGfmH,EAAQ7gB,EAAOuzB,SAAU1wB,GACpBge,GAAS,UAAYA,GAAQ,CACjC5b,EAAQ4b,EAAM6T,OAAQzvB,SACf4hB,GAAOhkB,EAId,KAAM6W,IAASzU,GACNyU,IAASmN,KAChBA,EAAOnN,GAAUzU,EAAOyU,GACxBie,EAAeje,GAAUsb,OAI3B2C,GAAe90B,GAASmyB,EAK3B,QAAS4C,IAAW/1B,EAAMg2B,EAAY/0B,GACrC,GAAI6O,GACHmmB,EACApe,EAAQ,EACR3Y,EAASq1B,GAAoBr1B,OAC7Bmb,EAAWlc,EAAO4b,WAAWK,OAAQ,iBAE7B8b,GAAKl2B,OAEbk2B,EAAO,WACN,GAAKD,EACJ,OAAO,CAUR,KARA,GAAIE,GAAcjC,IAASY,KAC1BzZ,EAAY3Z,KAAKkC,IAAK,EAAGsxB,EAAUkB,UAAYlB,EAAUzB,SAAW0C,GAEpE5hB,EAAO8G,EAAY6Z,EAAUzB,UAAY,EACzCF,EAAU,EAAIhf,EACdsD,EAAQ,EACR3Y,EAASg2B,EAAUmB,OAAOn3B,OAEXA,EAAR2Y,EAAiBA,IACxBqd,EAAUmB,OAAQxe,GAAQyb,IAAKC,EAKhC,OAFAlZ,GAASoB,WAAYzb,GAAQk1B,EAAW3B,EAASlY,IAElC,EAAVkY,GAAer0B,EACZmc,GAEPhB,EAASqB,YAAa1b,GAAQk1B,KACvB,IAGTA,EAAY7a,EAASF,SACpBna,KAAMA,EACNglB,MAAO7mB,EAAOyC,UAAYo1B,GAC1BZ,KAAMj3B,EAAOyC,QAAQ,GAAQk1B,kBAAqB70B,GAClDq1B,mBAAoBN,EACpBO,gBAAiBt1B,EACjBm1B,UAAWlC,IAASY,KACpBrB,SAAUxyB,EAAQwyB,SAClB4C,UACA1B,YAAa,SAAUjQ,EAAMjkB,GAC5B,GAAIkzB,GAAQx1B,EAAO+0B,MAAOlzB,EAAMk1B,EAAUE,KAAM1Q,EAAMjkB,EACpDy0B,EAAUE,KAAKU,cAAepR,IAAUwQ,EAAUE,KAAKjC,OAEzD,OADA+B,GAAUmB,OAAO14B,KAAMg2B,GAChBA,GAERzU,KAAM,SAAUsX,GACf,GAAI3e,GAAQ,EAGX3Y,EAASs3B,EAAUtB,EAAUmB,OAAOn3B,OAAS,CAC9C,IAAK+2B,EACJ,MAAO34B,KAGR,KADA24B,GAAU,EACM/2B,EAAR2Y,EAAiBA,IACxBqd,EAAUmB,OAAQxe,GAAQyb,IAAK,EAUhC,OALKkD,GACJnc,EAASqB,YAAa1b,GAAQk1B,EAAWsB,IAEzCnc,EAASoc,WAAYz2B,GAAQk1B,EAAWsB,IAElCl5B,QAGT0nB,EAAQkQ,EAAUlQ,KAInB,KAFA6Q,GAAY7Q,EAAOkQ,EAAUE,KAAKU,eAElB52B,EAAR2Y,EAAiBA,IAExB,GADA/H,EAASykB,GAAqB1c,GAAQzY,KAAM81B,EAAWl1B,EAAMglB,EAAOkQ,EAAUE,MAE7E,MAAOtlB,EAmBT,OAfA3R,GAAO4B,IAAKilB,EAAO2P,GAAaO,GAE3B/2B,EAAOkD,WAAY6zB,EAAUE,KAAK9kB,QACtC4kB,EAAUE,KAAK9kB,MAAMlR,KAAMY,EAAMk1B,GAGlC/2B,EAAOy1B,GAAG8C,MACTv4B,EAAOyC,OAAQs1B,GACdl2B,KAAMA,EACNu1B,KAAML,EACNrW,MAAOqW,EAAUE,KAAKvW,SAKjBqW,EAAUpa,SAAUoa,EAAUE,KAAKta,UACxClV,KAAMsvB,EAAUE,KAAKxvB,KAAMsvB,EAAUE,KAAKuB,UAC1Crc,KAAM4a,EAAUE,KAAK9a,MACrBF,OAAQ8a,EAAUE,KAAKhb,QAG1Bjc,EAAO43B,UAAY53B,EAAOyC,OAAQm1B,IACjCa,QAAS,SAAU5R,EAAOnlB,GACpB1B,EAAOkD,WAAY2jB,IACvBnlB,EAAWmlB,EACXA,GAAU,MAEVA,EAAQA,EAAMvgB,MAAM,IAOrB,KAJA,GAAIigB,GACH7M,EAAQ,EACR3Y,EAAS8lB,EAAM9lB,OAEAA,EAAR2Y,EAAiBA,IACxB6M,EAAOM,EAAOnN,GACd4c,GAAU/P,GAAS+P,GAAU/P,OAC7B+P,GAAU/P,GAAOxW,QAASrO,IAI5Bg3B,UAAW,SAAUh3B,EAAU+rB,GACzBA,EACJ2I,GAAoBrmB,QAASrO,GAE7B00B,GAAoB52B,KAAMkC,MAK7B1B,EAAO24B,MAAQ,SAAUA,EAAO3D,EAAQ70B,GACvC,GAAIy4B,GAAMD,GAA0B,gBAAVA,GAAqB34B,EAAOyC,UAAYk2B,IACjEH,SAAUr4B,IAAOA,GAAM60B,GACtBh1B,EAAOkD,WAAYy1B,IAAWA,EAC/BrD,SAAUqD,EACV3D,OAAQ70B,GAAM60B,GAAUA,IAAWh1B,EAAOkD,WAAY8xB,IAAYA,EAwBnE,OArBA4D,GAAItD,SAAWt1B,EAAOy1B,GAAGvX,IAAM,EAA4B,gBAAjB0a,GAAItD,SAAwBsD,EAAItD,SACzEsD,EAAItD,WAAYt1B,GAAOy1B,GAAGoD,OAAS74B,EAAOy1B,GAAGoD,OAAQD,EAAItD,UAAat1B,EAAOy1B,GAAGoD,OAAOhT,UAGtE,MAAb+S,EAAIlY,OAAiBkY,EAAIlY,SAAU,KACvCkY,EAAIlY,MAAQ,MAIbkY,EAAI5tB,IAAM4tB,EAAIJ,SAEdI,EAAIJ,SAAW,WACTx4B,EAAOkD,WAAY01B,EAAI5tB,MAC3B4tB,EAAI5tB,IAAI/J,KAAM9B,MAGVy5B,EAAIlY,OACR1gB,EAAO2gB,QAASxhB,KAAMy5B,EAAIlY,QAIrBkY,GAGR54B,EAAOG,GAAGsC,QACTq2B,OAAQ,SAAUH,EAAOI,EAAI/D,EAAQtzB,GAGpC,MAAOvC,MAAKwP,OAAQ4S,GAAWE,IAAK,UAAW,GAAIoR,OAGjDvwB,MAAM02B,SAAUlI,QAASiI,GAAMJ,EAAO3D,EAAQtzB,IAEjDs3B,QAAS,SAAUzS,EAAMoS,EAAO3D,EAAQtzB,GACvC,GAAIoS,GAAQ9T,EAAOoE,cAAemiB,GACjC0S,EAASj5B,EAAO24B,MAAOA,EAAO3D,EAAQtzB,GACtCw3B,EAAc,WAEb,GAAI9B,GAAOQ,GAAWz4B,KAAMa,EAAOyC,UAAY8jB,GAAQ0S,IAGlDnlB,GAAS9T,EAAOwgB,MAAOrhB,KAAM,YACjCi4B,EAAKrW,MAAM,GAKd,OAFCmY,GAAYC,OAASD,EAEfplB,GAASmlB,EAAOvY,SAAU,EAChCvhB,KAAKsC,KAAMy3B,GACX/5B,KAAKuhB,MAAOuY,EAAOvY,MAAOwY,IAE5BnY,KAAM,SAAUhd,EAAMkd,EAAYoX,GACjC,GAAIe,GAAY,SAAUvY,GACzB,GAAIE,GAAOF,EAAME,WACVF,GAAME,KACbA,EAAMsX,GAYP,OATqB,gBAATt0B,KACXs0B,EAAUpX,EACVA,EAAald,EACbA,EAAOV,QAEH4d,GAAcld,KAAS,GAC3B5E,KAAKuhB,MAAO3c,GAAQ,SAGd5E,KAAKsC,KAAK,WAChB,GAAIkf,IAAU,EACbjH,EAAgB,MAAR3V,GAAgBA,EAAO,aAC/Bs1B,EAASr5B,EAAOq5B,OAChB30B,EAAO1E,EAAOwgB,MAAOrhB,KAEtB,IAAKua,EACChV,EAAMgV,IAAWhV,EAAMgV,GAAQqH,MACnCqY,EAAW10B,EAAMgV,QAGlB,KAAMA,IAAShV,GACTA,EAAMgV,IAAWhV,EAAMgV,GAAQqH,MAAQoV,GAAKvqB,KAAM8N,IACtD0f,EAAW10B,EAAMgV,GAKpB,KAAMA,EAAQ2f,EAAOt4B,OAAQ2Y,KACvB2f,EAAQ3f,GAAQ7X,OAAS1C,MAAiB,MAAR4E,GAAgBs1B,EAAQ3f,GAAQgH,QAAU3c,IAChFs1B,EAAQ3f,GAAQ0d,KAAKrW,KAAMsX,GAC3B1X,GAAU,EACV0Y,EAAO72B,OAAQkX,EAAO,KAOnBiH,IAAY0X,IAChBr4B,EAAO2gB,QAASxhB,KAAM4E,MAIzBo1B,OAAQ,SAAUp1B,GAIjB,MAHKA,MAAS,IACbA,EAAOA,GAAQ,MAET5E,KAAKsC,KAAK,WAChB,GAAIiY,GACHhV,EAAO1E,EAAOwgB,MAAOrhB,MACrBuhB,EAAQhc,EAAMX,EAAO,SACrB8c,EAAQnc,EAAMX,EAAO,cACrBs1B,EAASr5B,EAAOq5B,OAChBt4B,EAAS2f,EAAQA,EAAM3f,OAAS,CAajC,KAVA2D,EAAKy0B,QAAS,EAGdn5B,EAAO0gB,MAAOvhB,KAAM4E,MAEf8c,GAASA,EAAME,MACnBF,EAAME,KAAK9f,KAAM9B,MAAM,GAIlBua,EAAQ2f,EAAOt4B,OAAQ2Y,KACvB2f,EAAQ3f,GAAQ7X,OAAS1C,MAAQk6B,EAAQ3f,GAAQgH,QAAU3c,IAC/Ds1B,EAAQ3f,GAAQ0d,KAAKrW,MAAM,GAC3BsY,EAAO72B,OAAQkX,EAAO,GAKxB,KAAMA,EAAQ,EAAW3Y,EAAR2Y,EAAgBA,IAC3BgH,EAAOhH,IAAWgH,EAAOhH,GAAQyf,QACrCzY,EAAOhH,GAAQyf,OAAOl4B,KAAM9B,YAKvBuF,GAAKy0B,YAKfn5B,EAAOyB,MAAO,SAAU,OAAQ,QAAU,SAAUK,EAAGe,GACtD,GAAIy2B,GAAQt5B,EAAOG,GAAI0C,EACvB7C,GAAOG,GAAI0C,GAAS,SAAU81B,EAAO3D,EAAQtzB,GAC5C,MAAgB,OAATi3B,GAAkC,iBAAVA,GAC9BW,EAAMv3B,MAAO5C,KAAM6C,WACnB7C,KAAK65B,QAASpC,GAAO/zB,GAAM,GAAQ81B,EAAO3D,EAAQtzB,MAKrD1B,EAAOyB,MACN83B,UAAW3C,GAAM,QACjB4C,QAAS5C,GAAM,QACf6C,YAAa7C,GAAM,UACnB8C,QAAU5I,QAAS,QACnB6I,SAAW7I,QAAS,QACpB8I,YAAc9I,QAAS,WACrB,SAAUjuB,EAAMgkB,GAClB7mB,EAAOG,GAAI0C,GAAS,SAAU81B,EAAO3D,EAAQtzB,GAC5C,MAAOvC,MAAK65B,QAASnS,EAAO8R,EAAO3D,EAAQtzB,MAI7C1B,EAAOq5B,UACPr5B,EAAOy1B,GAAGsC,KAAO,WAChB,GAAIQ,GACHc,EAASr5B,EAAOq5B,OAChBv3B,EAAI,CAIL,KAFAi0B,GAAQ/1B,EAAOoG,MAEPtE,EAAIu3B,EAAOt4B,OAAQe,IAC1By2B,EAAQc,EAAQv3B,GAEVy2B,KAAWc,EAAQv3B,KAAQy2B,GAChCc,EAAO72B,OAAQV,IAAK,EAIhBu3B,GAAOt4B,QACZf,EAAOy1B,GAAG1U,OAEXgV,GAAQ1yB,QAGTrD,EAAOy1B,GAAG8C,MAAQ,SAAUA,GAC3Bv4B,EAAOq5B,OAAO75B,KAAM+4B,GACfA,IACJv4B,EAAOy1B,GAAGtjB,QAEVnS,EAAOq5B,OAAOnxB,OAIhBlI,EAAOy1B,GAAGoE,SAAW,GAErB75B,EAAOy1B,GAAGtjB,MAAQ,WACX6jB,KACLA,GAAU8D,YAAa95B,EAAOy1B,GAAGsC,KAAM/3B,EAAOy1B,GAAGoE,YAInD75B,EAAOy1B,GAAG1U,KAAO,WAChBgZ,cAAe/D,IACfA,GAAU,MAGXh2B,EAAOy1B,GAAGoD,QACTmB,KAAM,IACNC,KAAM,IAENpU,SAAU,KAMX7lB,EAAOG,GAAG+5B,MAAQ,SAAUC,EAAMp2B,GAIjC,MAHAo2B,GAAOn6B,EAAOy1B,GAAKz1B,EAAOy1B,GAAGoD,OAAQsB,IAAUA,EAAOA,EACtDp2B,EAAOA,GAAQ,KAER5E,KAAKuhB,MAAO3c,EAAM,SAAUiV,EAAM6H,GACxC,GAAIuZ,GAAUpc,WAAYhF,EAAMmhB,EAChCtZ,GAAME,KAAO,WACZsZ,aAAcD,OAMjB,WAEC,GAAIprB,GAAOrC,EAAK9F,EAAQkB,EAAG6wB,CAG3BjsB,GAAM5N,EAAS6N,cAAe,OAC9BD,EAAIb,aAAc,YAAa,KAC/Ba,EAAIoC,UAAY,qEAChBhH,EAAI4E,EAAIlB,qBAAqB,KAAM,GAGnC5E,EAAS9H,EAAS6N,cAAc,UAChCgsB,EAAM/xB,EAAOyH,YAAavP,EAAS6N,cAAc,WACjDoC,EAAQrC,EAAIlB,qBAAqB,SAAU,GAE3C1D,EAAEgX,MAAMC,QAAU,UAGlBlf,EAAQw6B,gBAAoC,MAAlB3tB,EAAI0B,UAI9BvO,EAAQif,MAAQ,MAAMnT,KAAM7D,EAAE8D,aAAa,UAI3C/L,EAAQy6B,eAA4C,OAA3BxyB,EAAE8D,aAAa,QAGxC/L,EAAQ06B,UAAYxrB,EAAM/J,MAI1BnF,EAAQ26B,YAAc7B,EAAIhlB,SAG1B9T,EAAQ46B,UAAY37B,EAAS6N,cAAc,QAAQ8tB,QAInD7zB,EAAO6M,UAAW,EAClB5T,EAAQ66B,aAAe/B,EAAIllB,SAI3B1E,EAAQjQ,EAAS6N,cAAe,SAChCoC,EAAMlD,aAAc,QAAS,IAC7BhM,EAAQkP,MAA0C,KAAlCA,EAAMnD,aAAc,SAGpCmD,EAAM/J,MAAQ,IACd+J,EAAMlD,aAAc,OAAQ,SAC5BhM,EAAQ86B,WAA6B,MAAhB5rB,EAAM/J,QAI5B,IAAI41B,IAAU,KAEd76B,GAAOG,GAAGsC,QACT0N,IAAK,SAAUlL,GACd,GAAI4b,GAAOvf,EAAK4B,EACfrB,EAAO1C,KAAK,EAEb,EAAA,GAAM6C,UAAUjB,OAsBhB,MAFAmC,GAAalD,EAAOkD,WAAY+B,GAEzB9F,KAAKsC,KAAK,SAAUK,GAC1B,GAAIqO,EAEmB,KAAlBhR,KAAKmF,WAKT6L,EADIjN,EACE+B,EAAMhE,KAAM9B,KAAM2C,EAAG9B,EAAQb,MAAOgR,OAEpClL,EAIK,MAAPkL,EACJA,EAAM,GACoB,gBAARA,GAClBA,GAAO,GACInQ,EAAOoD,QAAS+M,KAC3BA,EAAMnQ,EAAO4B,IAAKuO,EAAK,SAAUlL,GAChC,MAAgB,OAATA,EAAgB,GAAKA,EAAQ,MAItC4b,EAAQ7gB,EAAO86B,SAAU37B,KAAK4E,OAAU/D,EAAO86B,SAAU37B,KAAK4F,SAASC,eAGjE6b,GAAW,OAASA,IAA8Cxd,SAApCwd,EAAMqN,IAAK/uB,KAAMgR,EAAK,WACzDhR,KAAK8F,MAAQkL,KAjDd,IAAKtO,EAGJ,MAFAgf,GAAQ7gB,EAAO86B,SAAUj5B,EAAKkC,OAAU/D,EAAO86B,SAAUj5B,EAAKkD,SAASC,eAElE6b,GAAS,OAASA,IAAgDxd,UAAtC/B,EAAMuf,EAAM3f,IAAKW,EAAM,UAChDP,GAGRA,EAAMO,EAAKoD,MAEW,gBAAR3D,GAEbA,EAAImC,QAAQo3B,GAAS,IAEd,MAAPv5B,EAAc,GAAKA,OA0CxBtB,EAAOyC,QACNq4B,UACClQ,QACC1pB,IAAK,SAAUW,GACd,GAAIsO,GAAMnQ,EAAO0O,KAAKwB,KAAMrO,EAAM,QAClC,OAAc,OAAPsO,EACNA,EAGAnQ,EAAO2E,KAAM3E,EAAOmF,KAAMtD,MAG7BgF,QACC3F,IAAK,SAAUW,GAYd,IAXA,GAAIoD,GAAO2lB,EACV9nB,EAAUjB,EAAKiB,QACf4W,EAAQ7X,EAAKgS,cACb6V,EAAoB,eAAd7nB,EAAKkC,MAAiC,EAAR2V,EACpC0D,EAASsM,EAAM,QACfjkB,EAAMikB,EAAMhQ,EAAQ,EAAI5W,EAAQ/B,OAChCe,EAAY,EAAR4X,EACHjU,EACAikB,EAAMhQ,EAAQ,EAGJjU,EAAJ3D,EAASA,IAIhB,GAHA8oB,EAAS9nB,EAAShB,MAGX8oB,EAAOhX,UAAY9R,IAAM4X,IAE5B5Z,EAAQ66B,YAAe/P,EAAOlX,SAA+C,OAApCkX,EAAO/e,aAAa,cAC5D+e,EAAOrf,WAAWmI,UAAa1T,EAAO+E,SAAU6lB,EAAOrf,WAAY,aAAiB,CAMxF,GAHAtG,EAAQjF,EAAQ4qB,GAASza,MAGpBuZ,EACJ,MAAOzkB,EAIRmY,GAAO5d,KAAMyF,GAIf,MAAOmY,IAGR8Q,IAAK,SAAUrsB,EAAMoD,GACpB,GAAI81B,GAAWnQ,EACd9nB,EAAUjB,EAAKiB,QACfsa,EAASpd,EAAOoF,UAAWH,GAC3BnD,EAAIgB,EAAQ/B,MAEb,OAAQe,IAGP,GAFA8oB,EAAS9nB,EAAShB,GAEb9B,EAAOwF,QAASxF,EAAO86B,SAASlQ,OAAO1pB,IAAK0pB,GAAUxN,IAAY,EAMtE,IACCwN,EAAOhX,SAAWmnB,GAAY,EAE7B,MAAQ5wB,GAGTygB,EAAOoQ,iBAIRpQ,GAAOhX,UAAW,CASpB,OAJMmnB,KACLl5B,EAAKgS,cAAgB,IAGf/Q,OAOX9C,EAAOyB,MAAO,QAAS,YAAc,WACpCzB,EAAO86B,SAAU37B,OAChB+uB,IAAK,SAAUrsB,EAAMoD,GACpB,MAAKjF,GAAOoD,QAAS6B,GACXpD,EAAK8R,QAAU3T,EAAOwF,QAASxF,EAAO6B,GAAMsO,MAAOlL,IAAW,EADxE,SAKInF,EAAQ06B,UACbx6B,EAAO86B,SAAU37B,MAAO+B,IAAM,SAAUW,GAGvC,MAAsC,QAA/BA,EAAKgK,aAAa,SAAoB,KAAOhK,EAAKoD,SAQ5D,IAAIg2B,IAAUC,GACbjuB,GAAajN,EAAOgQ,KAAK/C,WACzBkuB,GAAc,0BACdb,GAAkBx6B,EAAQw6B,gBAC1Bc,GAAct7B,EAAQkP,KAEvBhP,GAAOG,GAAGsC,QACTyN,KAAM,SAAUrN,EAAMoC,GACrB,MAAOyc,GAAQviB,KAAMa,EAAOkQ,KAAMrN,EAAMoC,EAAOjD,UAAUjB,OAAS,IAGnEs6B,WAAY,SAAUx4B,GACrB,MAAO1D,MAAKsC,KAAK,WAChBzB,EAAOq7B,WAAYl8B,KAAM0D,QAK5B7C,EAAOyC,QACNyN,KAAM,SAAUrO,EAAMgB,EAAMoC,GAC3B,GAAI4b,GAAOvf,EACVg6B,EAAQz5B,EAAKyC,QAGd,IAAMzC,GAAkB,IAAVy5B,GAAyB,IAAVA,GAAyB,IAAVA,EAK5C,aAAYz5B,GAAKgK,eAAiB+S,EAC1B5e,EAAOumB,KAAM1kB,EAAMgB,EAAMoC,IAKlB,IAAVq2B,GAAgBt7B,EAAOgY,SAAUnW,KACrCgB,EAAOA,EAAKmC,cACZ6b,EAAQ7gB,EAAOu7B,UAAW14B,KACvB7C,EAAOgQ,KAAKnF,MAAMpB,KAAKmC,KAAM/I,GAASq4B,GAAWD,KAGtC53B,SAAV4B,EAaO4b,GAAS,OAASA,IAA6C,QAAnCvf,EAAMuf,EAAM3f,IAAKW,EAAMgB,IACvDvB,GAGPA,EAAMtB,EAAO0O,KAAKwB,KAAMrO,EAAMgB,GAGhB,MAAPvB,EACN+B,OACA/B,GApBc,OAAV2D,EAGO4b,GAAS,OAASA,IAAoDxd,UAA1C/B,EAAMuf,EAAMqN,IAAKrsB,EAAMoD,EAAOpC,IAC9DvB,GAGPO,EAAKiK,aAAcjJ,EAAMoC,EAAQ,IAC1BA,OAPPjF,GAAOq7B,WAAYx5B,EAAMgB,KAuB5Bw4B,WAAY,SAAUx5B,EAAMoD,GAC3B,GAAIpC,GAAM24B,EACT15B,EAAI,EACJ25B,EAAYx2B,GAASA,EAAM4F,MAAO0P,EAEnC,IAAKkhB,GAA+B,IAAlB55B,EAAKyC,SACtB,MAASzB,EAAO44B,EAAU35B,KACzB05B,EAAWx7B,EAAO07B,QAAS74B,IAAUA,EAGhC7C,EAAOgQ,KAAKnF,MAAMpB,KAAKmC,KAAM/I,GAE5Bu4B,IAAed,KAAoBa,GAAYvvB,KAAM/I,GACzDhB,EAAM25B,IAAa,EAInB35B,EAAM7B,EAAO6E,UAAW,WAAahC,IACpChB,EAAM25B,IAAa,EAKrBx7B,EAAOkQ,KAAMrO,EAAMgB,EAAM,IAG1BhB,EAAKuK,gBAAiBkuB,GAAkBz3B,EAAO24B,IAKlDD,WACCx3B,MACCmqB,IAAK,SAAUrsB,EAAMoD,GACpB,IAAMnF,EAAQ86B,YAAwB,UAAV31B,GAAqBjF,EAAO+E,SAASlD,EAAM,SAAW,CAGjF,GAAIsO,GAAMtO,EAAKoD,KAKf,OAJApD,GAAKiK,aAAc,OAAQ7G,GACtBkL,IACJtO,EAAKoD,MAAQkL,GAEPlL,QAQZi2B,IACChN,IAAK,SAAUrsB,EAAMoD,EAAOpC,GAa3B,MAZKoC,MAAU,EAEdjF,EAAOq7B,WAAYx5B,EAAMgB,GACdu4B,IAAed,KAAoBa,GAAYvvB,KAAM/I,GAEhEhB,EAAKiK,cAAewuB,IAAmBt6B,EAAO07B,QAAS74B,IAAUA,EAAMA,GAIvEhB,EAAM7B,EAAO6E,UAAW,WAAahC,IAAWhB,EAAMgB,IAAS,EAGzDA,IAKT7C,EAAOyB,KAAMzB,EAAOgQ,KAAKnF,MAAMpB,KAAK4X,OAAOxW,MAAO,QAAU,SAAU/I,EAAGe,GAExE,GAAI84B,GAAS1uB,GAAYpK,IAAU7C,EAAO0O,KAAKwB,IAE/CjD,IAAYpK,GAASu4B,IAAed,KAAoBa,GAAYvvB,KAAM/I,GACzE,SAAUhB,EAAMgB,EAAM6D,GACrB,GAAIpF,GAAK8iB,CAUT,OATM1d,KAEL0d,EAASnX,GAAYpK,GACrBoK,GAAYpK,GAASvB,EACrBA,EAAqC,MAA/Bq6B,EAAQ95B,EAAMgB,EAAM6D,GACzB7D,EAAKmC,cACL,KACDiI,GAAYpK,GAASuhB,GAEf9iB,GAER,SAAUO,EAAMgB,EAAM6D,GACrB,MAAMA,GAAN,OACQ7E,EAAM7B,EAAO6E,UAAW,WAAahC,IAC3CA,EAAKmC,cACL,QAMCo2B,IAAgBd,KACrBt6B,EAAOu7B,UAAUt2B,OAChBipB,IAAK,SAAUrsB,EAAMoD,EAAOpC,GAC3B,MAAK7C,GAAO+E,SAAUlD,EAAM,cAE3BA,EAAKiW,aAAe7S,GAGbg2B,IAAYA,GAAS/M,IAAKrsB,EAAMoD,EAAOpC,MAO5Cy3B,KAILW,IACC/M,IAAK,SAAUrsB,EAAMoD,EAAOpC,GAE3B,GAAIvB,GAAMO,EAAKgN,iBAAkBhM,EAUjC,OATMvB,IACLO,EAAK+5B,iBACHt6B,EAAMO,EAAKuJ,cAAcywB,gBAAiBh5B,IAI7CvB,EAAI2D,MAAQA,GAAS,GAGP,UAATpC,GAAoBoC,IAAUpD,EAAKgK,aAAchJ,GAC9CoC,EADR,SAOFgI,GAAWzB,GAAKyB,GAAWpK,KAAOoK,GAAW6uB,OAC5C,SAAUj6B,EAAMgB,EAAM6D,GACrB,GAAIpF,EACJ,OAAMoF,GAAN,QACSpF,EAAMO,EAAKgN,iBAAkBhM,KAAyB,KAAdvB,EAAI2D,MACnD3D,EAAI2D,MACJ,MAKJjF,EAAO86B,SAAS9mB,QACf9S,IAAK,SAAUW,EAAMgB,GACpB,GAAIvB,GAAMO,EAAKgN,iBAAkBhM,EACjC,OAAKvB,IAAOA,EAAI8O,UACR9O,EAAI2D,MADZ,QAIDipB,IAAK+M,GAAS/M,KAKfluB,EAAOu7B,UAAUQ,iBAChB7N,IAAK,SAAUrsB,EAAMoD,EAAOpC,GAC3Bo4B,GAAS/M,IAAKrsB,EAAgB,KAAVoD,GAAe,EAAQA,EAAOpC,KAMpD7C,EAAOyB,MAAO,QAAS,UAAY,SAAUK,EAAGe,GAC/C7C,EAAOu7B,UAAW14B,IACjBqrB,IAAK,SAAUrsB,EAAMoD,GACpB,MAAe,KAAVA,GACJpD,EAAKiK,aAAcjJ,EAAM,QAClBoC,GAFR,YASEnF,EAAQif,QACb/e,EAAOu7B,UAAUxc,OAChB7d,IAAK,SAAUW,GAId,MAAOA,GAAKkd,MAAMC,SAAW3b,QAE9B6qB,IAAK,SAAUrsB,EAAMoD,GACpB,MAASpD,GAAKkd,MAAMC,QAAU/Z,EAAQ,KAQzC,IAAI+2B,IAAa,6CAChBC,GAAa,eAEdj8B,GAAOG,GAAGsC,QACT8jB,KAAM,SAAU1jB,EAAMoC,GACrB,MAAOyc,GAAQviB,KAAMa,EAAOumB,KAAM1jB,EAAMoC,EAAOjD,UAAUjB,OAAS,IAGnEm7B,WAAY,SAAUr5B,GAErB,MADAA,GAAO7C,EAAO07B,QAAS74B,IAAUA,EAC1B1D,KAAKsC,KAAK,WAEhB,IACCtC,KAAM0D,GAASQ,aACRlE,MAAM0D,GACZ,MAAO0B,UAKZvE,EAAOyC,QACNi5B,SACCS,MAAO,UACPC,QAAS,aAGV7V,KAAM,SAAU1kB,EAAMgB,EAAMoC,GAC3B,GAAI3D,GAAKuf,EAAOwb,EACff,EAAQz5B,EAAKyC,QAGd,IAAMzC,GAAkB,IAAVy5B,GAAyB,IAAVA,GAAyB,IAAVA,EAY5C,MARAe,GAAmB,IAAVf,IAAgBt7B,EAAOgY,SAAUnW,GAErCw6B,IAEJx5B,EAAO7C,EAAO07B,QAAS74B,IAAUA,EACjCge,EAAQ7gB,EAAOk1B,UAAWryB,IAGZQ,SAAV4B,EACG4b,GAAS,OAASA,IAAoDxd,UAA1C/B,EAAMuf,EAAMqN,IAAKrsB,EAAMoD,EAAOpC,IAChEvB,EACEO,EAAMgB,GAASoC,EAGX4b,GAAS,OAASA,IAA6C,QAAnCvf,EAAMuf,EAAM3f,IAAKW,EAAMgB,IACzDvB,EACAO,EAAMgB,IAITqyB,WACC1hB,UACCtS,IAAK,SAAUW,GAId,GAAIy6B,GAAWt8B,EAAO0O,KAAKwB,KAAMrO,EAAM,WAEvC,OAAOy6B,GACNC,SAAUD,EAAU,IACpBN,GAAWpwB,KAAM/J,EAAKkD,WAAck3B,GAAWrwB,KAAM/J,EAAKkD,WAAclD,EAAK0R,KAC5E,EACA,QAQAzT,EAAQy6B,gBAEbv6B,EAAOyB,MAAO,OAAQ,OAAS,SAAUK,EAAGe,GAC3C7C,EAAOk1B,UAAWryB,IACjB3B,IAAK,SAAUW,GACd,MAAOA,GAAKgK,aAAchJ,EAAM,OAS9B/C,EAAQ26B,cACbz6B,EAAOk1B,UAAUthB,UAChB1S,IAAK,SAAUW,GACd,GAAIkM,GAASlM,EAAK0J,UAUlB,OARKwC,KACJA,EAAO8F,cAGF9F,EAAOxC,YACXwC,EAAOxC,WAAWsI,eAGb,QAKV7T,EAAOyB,MACN,WACA,WACA,YACA,cACA,cACA,UACA,UACA,SACA,cACA,mBACE,WACFzB,EAAO07B,QAASv8B,KAAK6F,eAAkB7F,OAIlCW,EAAQ46B,UACb16B,EAAO07B,QAAQhB,QAAU,WAM1B,IAAI8B,IAAS,aAEbx8B,GAAOG,GAAGsC,QACTg6B,SAAU,SAAUx3B,GACnB,GAAIy3B,GAAS76B,EAAMsL,EAAKwvB,EAAOt6B,EAAGu6B,EACjC96B,EAAI,EACJM,EAAMjD,KAAK4B,OACX87B,EAA2B,gBAAV53B,IAAsBA,CAExC,IAAKjF,EAAOkD,WAAY+B,GACvB,MAAO9F,MAAKsC,KAAK,SAAUY,GAC1BrC,EAAQb,MAAOs9B,SAAUx3B,EAAMhE,KAAM9B,KAAMkD,EAAGlD,KAAKkP,aAIrD,IAAKwuB,EAIJ,IAFAH,GAAYz3B,GAAS,IAAK4F,MAAO0P,OAErBnY,EAAJN,EAASA,IAOhB,GANAD,EAAO1C,KAAM2C,GACbqL,EAAwB,IAAlBtL,EAAKyC,WAAoBzC,EAAKwM,WACjC,IAAMxM,EAAKwM,UAAY,KAAM5K,QAAS+4B,GAAQ,KAChD,KAGU,CACVn6B,EAAI,CACJ,OAASs6B,EAAQD,EAAQr6B,KACnB8K,EAAI1N,QAAS,IAAMk9B,EAAQ,KAAQ,IACvCxvB,GAAOwvB,EAAQ,IAKjBC,GAAa58B,EAAO2E,KAAMwI,GACrBtL,EAAKwM,YAAcuuB,IACvB/6B,EAAKwM,UAAYuuB,GAMrB,MAAOz9B,OAGR29B,YAAa,SAAU73B,GACtB,GAAIy3B,GAAS76B,EAAMsL,EAAKwvB,EAAOt6B,EAAGu6B,EACjC96B,EAAI,EACJM,EAAMjD,KAAK4B,OACX87B,EAA+B,IAArB76B,UAAUjB,QAAiC,gBAAVkE,IAAsBA,CAElE,IAAKjF,EAAOkD,WAAY+B,GACvB,MAAO9F,MAAKsC,KAAK,SAAUY,GAC1BrC,EAAQb,MAAO29B,YAAa73B,EAAMhE,KAAM9B,KAAMkD,EAAGlD,KAAKkP,aAGxD,IAAKwuB,EAGJ,IAFAH,GAAYz3B,GAAS,IAAK4F,MAAO0P,OAErBnY,EAAJN,EAASA,IAQhB,GAPAD,EAAO1C,KAAM2C,GAEbqL,EAAwB,IAAlBtL,EAAKyC,WAAoBzC,EAAKwM,WACjC,IAAMxM,EAAKwM,UAAY,KAAM5K,QAAS+4B,GAAQ,KAChD,IAGU,CACVn6B,EAAI,CACJ,OAASs6B,EAAQD,EAAQr6B,KAExB,MAAQ8K,EAAI1N,QAAS,IAAMk9B,EAAQ,MAAS,EAC3CxvB,EAAMA,EAAI1J,QAAS,IAAMk5B,EAAQ,IAAK,IAKxCC,GAAa33B,EAAQjF,EAAO2E,KAAMwI,GAAQ,GACrCtL,EAAKwM,YAAcuuB,IACvB/6B,EAAKwM,UAAYuuB,GAMrB,MAAOz9B,OAGR49B,YAAa,SAAU93B,EAAO+3B,GAC7B,GAAIj5B,SAAckB,EAElB,OAAyB,iBAAb+3B,IAAmC,WAATj5B,EAC9Bi5B,EAAW79B,KAAKs9B,SAAUx3B,GAAU9F,KAAK29B,YAAa73B,GAItD9F,KAAKsC,KADRzB,EAAOkD,WAAY+B,GACN,SAAUnD,GAC1B9B,EAAQb,MAAO49B,YAAa93B,EAAMhE,KAAK9B,KAAM2C,EAAG3C,KAAKkP,UAAW2uB,GAAWA,IAI5D,WAChB,GAAc,WAATj5B,EAAoB,CAExB,GAAIsK,GACHvM,EAAI,EACJwW,EAAOtY,EAAQb,MACf89B,EAAah4B,EAAM4F,MAAO0P,MAE3B,OAASlM,EAAY4uB,EAAYn7B,KAE3BwW,EAAK4kB,SAAU7uB,GACnBiK,EAAKwkB,YAAazuB,GAElBiK,EAAKmkB,SAAUpuB,QAKNtK,IAAS6a,GAAyB,YAAT7a,KAC/B5E,KAAKkP,WAETrO,EAAOwgB,MAAOrhB,KAAM,gBAAiBA,KAAKkP,WAO3ClP,KAAKkP,UAAYlP,KAAKkP,WAAapJ,KAAU,EAAQ,GAAKjF,EAAOwgB,MAAOrhB,KAAM,kBAAqB,OAKtG+9B,SAAU,SAAUj9B,GAInB,IAHA,GAAIoO,GAAY,IAAMpO,EAAW,IAChC6B,EAAI,EACJ0X,EAAIra,KAAK4B,OACEyY,EAAJ1X,EAAOA,IACd,GAA0B,IAArB3C,KAAK2C,GAAGwC,WAAmB,IAAMnF,KAAK2C,GAAGuM,UAAY,KAAK5K,QAAQ+4B,GAAQ,KAAK/8B,QAAS4O,IAAe,EAC3G,OAAO,CAIT,QAAO,KAUTrO,EAAOyB,KAAM,0MAEqD6E,MAAM,KAAM,SAAUxE,EAAGe,GAG1F7C,EAAOG,GAAI0C,GAAS,SAAU6B,EAAMvE,GACnC,MAAO6B,WAAUjB,OAAS,EACzB5B,KAAKsqB,GAAI5mB,EAAM,KAAM6B,EAAMvE,GAC3BhB,KAAK6lB,QAASniB,MAIjB7C,EAAOG,GAAGsC,QACT06B,MAAO,SAAUC,EAAQC,GACxB,MAAOl+B,MAAKwpB,WAAYyU,GAASxU,WAAYyU,GAASD,IAGvDE,KAAM,SAAU7Z,EAAO/e,EAAMvE,GAC5B,MAAOhB,MAAKsqB,GAAIhG,EAAO,KAAM/e,EAAMvE,IAEpCo9B,OAAQ,SAAU9Z,EAAOtjB,GACxB,MAAOhB,MAAK+e,IAAKuF,EAAO,KAAMtjB,IAG/Bq9B,SAAU,SAAUv9B,EAAUwjB,EAAO/e,EAAMvE,GAC1C,MAAOhB,MAAKsqB,GAAIhG,EAAOxjB,EAAUyE,EAAMvE,IAExCs9B,WAAY,SAAUx9B,EAAUwjB,EAAOtjB,GAEtC,MAA4B,KAArB6B,UAAUjB,OAAe5B,KAAK+e,IAAKje,EAAU,MAASd,KAAK+e,IAAKuF,EAAOxjB,GAAY,KAAME,KAKlG,IAAIu9B,IAAQ19B,EAAOoG,MAEfu3B,GAAS,KAITC,GAAe,kIAEnB59B,GAAOyf,UAAY,SAAU/a,GAE5B,GAAKxF,EAAO2+B,MAAQ3+B,EAAO2+B,KAAKC,MAG/B,MAAO5+B,GAAO2+B,KAAKC,MAAOp5B,EAAO,GAGlC,IAAIq5B,GACHC,EAAQ,KACRC,EAAMj+B,EAAO2E,KAAMD,EAAO,GAI3B,OAAOu5B,KAAQj+B,EAAO2E,KAAMs5B,EAAIx6B,QAASm6B,GAAc,SAAUjmB,EAAOumB,EAAOC,EAAMlP,GAQpF,MALK8O,IAAmBG,IACvBF,EAAQ,GAIM,IAAVA,EACGrmB,GAIRomB,EAAkBI,GAAQD,EAM1BF,IAAU/O,GAASkP,EAGZ,OAELC,SAAU,UAAYH,KACxBj+B,EAAO2D,MAAO,iBAAmBe,IAKnC1E,EAAOq+B,SAAW,SAAU35B,GAC3B,GAAIsN,GAAK7L,CACT,KAAMzB,GAAwB,gBAATA,GACpB,MAAO,KAER,KACMxF,EAAOo/B,WACXn4B,EAAM,GAAIm4B,WACVtsB,EAAM7L,EAAIo4B,gBAAiB75B,EAAM,cAEjCsN,EAAM,GAAIwsB,eAAe,oBACzBxsB,EAAIysB,MAAQ,QACZzsB,EAAI0sB,QAASh6B,IAEb,MAAOH,GACRyN,EAAM3O,OAKP,MAHM2O,IAAQA,EAAIpE,kBAAmBoE,EAAIvG,qBAAsB,eAAgB1K,QAC9Ef,EAAO2D,MAAO,gBAAkBe,GAE1BsN,EAIR,IAEC2sB,IACAC,GAEAC,GAAQ,OACRC,GAAM,gBACNC,GAAW,gCAEXC,GAAiB,4DACjBC,GAAa,iBACbC,GAAY,QACZC,GAAO,4DAWPC,MAOAC,MAGAC,GAAW,KAAK//B,OAAO,IAIxB,KACCq/B,GAAe1rB,SAASK,KACvB,MAAOhP,IAGRq6B,GAAe7/B,EAAS6N,cAAe,KACvCgyB,GAAarrB,KAAO,GACpBqrB,GAAeA,GAAarrB,KAI7BorB,GAAeQ,GAAK9zB,KAAMuzB,GAAa55B,kBAGvC,SAASu6B,IAA6BC,GAGrC,MAAO,UAAUC,EAAoB5jB,GAED,gBAAvB4jB,KACX5jB,EAAO4jB,EACPA,EAAqB,IAGtB,IAAIC,GACH59B,EAAI,EACJ69B,EAAYF,EAAmBz6B,cAAc6F,MAAO0P,MAErD,IAAKva,EAAOkD,WAAY2Y,GAEvB,MAAS6jB,EAAWC,EAAU79B,KAEC,MAAzB49B,EAASjnB,OAAQ,IACrBinB,EAAWA,EAASpgC,MAAO,IAAO,KACjCkgC,EAAWE,GAAaF,EAAWE,QAAkB3vB,QAAS8L,KAI9D2jB,EAAWE,GAAaF,EAAWE,QAAkBlgC,KAAMqc,IAQjE,QAAS+jB,IAA+BJ,EAAW18B,EAASs1B,EAAiByH,GAE5E,GAAIC,MACHC,EAAqBP,IAAcH,EAEpC,SAASW,GAASN,GACjB,GAAI9rB,EAYJ,OAXAksB,GAAWJ,IAAa,EACxB1/B,EAAOyB,KAAM+9B,EAAWE,OAAkB,SAAUv1B,EAAG81B,GACtD,GAAIC,GAAsBD,EAAoBn9B,EAASs1B,EAAiByH,EACxE,OAAoC,gBAAxBK,IAAqCH,GAAqBD,EAAWI,GAIrEH,IACDnsB,EAAWssB,GADf,QAHNp9B,EAAQ68B,UAAU5vB,QAASmwB,GAC3BF,EAASE,IACF,KAKFtsB,EAGR,MAAOosB,GAASl9B,EAAQ68B,UAAW,MAAUG,EAAW,MAASE,EAAS,KAM3E,QAASG,IAAYn9B,EAAQN,GAC5B,GAAIO,GAAMoB,EACT+7B,EAAcpgC,EAAOqgC,aAAaD,eAEnC,KAAM/7B,IAAO3B,GACQW,SAAfX,EAAK2B,MACP+7B,EAAa/7B,GAAQrB,EAAWC,IAASA,OAAgBoB,GAAQ3B,EAAK2B,GAO1E,OAJKpB,IACJjD,EAAOyC,QAAQ,EAAMO,EAAQC,GAGvBD,EAOR,QAASs9B,IAAqBC,EAAGV,EAAOW,GACvC,GAAIC,GAAeC,EAAIC,EAAe58B,EACrCgV,EAAWwnB,EAAExnB,SACb4mB,EAAYY,EAAEZ,SAGf,OAA2B,MAAnBA,EAAW,GAClBA,EAAUnzB,QACEnJ,SAAPq9B,IACJA,EAAKH,EAAEK,UAAYf,EAAMgB,kBAAkB,gBAK7C,IAAKH,EACJ,IAAM38B,IAAQgV,GACb,GAAKA,EAAUhV,IAAUgV,EAAUhV,GAAO6H,KAAM80B,GAAO,CACtDf,EAAU5vB,QAAShM,EACnB,OAMH,GAAK47B,EAAW,IAAOa,GACtBG,EAAgBhB,EAAW,OACrB,CAEN,IAAM57B,IAAQy8B,GAAY,CACzB,IAAMb,EAAW,IAAOY,EAAEO,WAAY/8B,EAAO,IAAM47B,EAAU,IAAO,CACnEgB,EAAgB58B,CAChB,OAEK08B,IACLA,EAAgB18B,GAIlB48B,EAAgBA,GAAiBF,EAMlC,MAAKE,IACCA,IAAkBhB,EAAW,IACjCA,EAAU5vB,QAAS4wB,GAEbH,EAAWG,IAJnB,OAWD,QAASI,IAAaR,EAAGS,EAAUnB,EAAOoB,GACzC,GAAIC,GAAOC,EAASC,EAAMj7B,EAAK8S,EAC9B6nB,KAEAnB,EAAYY,EAAEZ,UAAUrgC,OAGzB,IAAKqgC,EAAW,GACf,IAAMyB,IAAQb,GAAEO,WACfA,EAAYM,EAAKp8B,eAAkBu7B,EAAEO,WAAYM,EAInDD,GAAUxB,EAAUnzB,OAGpB,OAAQ20B,EAcP,GAZKZ,EAAEc,eAAgBF,KACtBtB,EAAOU,EAAEc,eAAgBF,IAAcH,IAIlC/nB,GAAQgoB,GAAaV,EAAEe,aAC5BN,EAAWT,EAAEe,WAAYN,EAAUT,EAAEb,WAGtCzmB,EAAOkoB,EACPA,EAAUxB,EAAUnzB,QAKnB,GAAiB,MAAZ20B,EAEJA,EAAUloB,MAGJ,IAAc,MAATA,GAAgBA,IAASkoB,EAAU,CAM9C,GAHAC,EAAON,EAAY7nB,EAAO,IAAMkoB,IAAaL,EAAY,KAAOK,IAG1DC,EACL,IAAMF,IAASJ,GAId,GADA36B,EAAM+6B,EAAM56B,MAAO,KACdH,EAAK,KAAQg7B,IAGjBC,EAAON,EAAY7nB,EAAO,IAAM9S,EAAK,KACpC26B,EAAY,KAAO36B,EAAK,KACb,CAENi7B,KAAS,EACbA,EAAON,EAAYI,GAGRJ,EAAYI,MAAY,IACnCC,EAAUh7B,EAAK,GACfw5B,EAAU5vB,QAAS5J,EAAK,IAEzB,OAOJ,GAAKi7B,KAAS,EAGb,GAAKA,GAAQb,EAAG,UACfS,EAAWI,EAAMJ,OAEjB,KACCA,EAAWI,EAAMJ,GAChB,MAAQz8B,GACT,OAASwX,MAAO,cAAepY,MAAOy9B,EAAO78B,EAAI,sBAAwB0U,EAAO,OAASkoB,IAQ/F,OAASplB,MAAO,UAAWrX,KAAMs8B,GAGlChhC,EAAOyC,QAGN8+B,OAAQ,EAGRC,gBACAC,QAEApB,cACCqB,IAAK9C,GACL76B,KAAM,MACN49B,QAAS3C,GAAepzB,KAAM+yB,GAAc,IAC5ChgC,QAAQ,EACRijC,aAAa,EACbnD,OAAO,EACPoD,YAAa,mDAabC,SACCvL,IAAK+I,GACLn6B,KAAM,aACN2oB,KAAM,YACN9b,IAAK,4BACL+vB,KAAM,qCAGPhpB,UACC/G,IAAK,MACL8b,KAAM,OACNiU,KAAM,QAGPV,gBACCrvB,IAAK,cACL7M,KAAM,eACN48B,KAAM,gBAKPjB,YAGCkB,SAAUz3B,OAGV03B,aAAa,EAGbC,YAAaliC,EAAOyf,UAGpB0iB,WAAYniC,EAAOq+B,UAOpB+B,aACCsB,KAAK,EACLxhC,SAAS,IAOXkiC,UAAW,SAAUp/B,EAAQq/B,GAC5B,MAAOA,GAGNlC,GAAYA,GAAYn9B,EAAQhD,EAAOqgC,cAAgBgC,GAGvDlC,GAAYngC,EAAOqgC,aAAcr9B,IAGnCs/B,cAAe/C,GAA6BH,IAC5CmD,cAAehD,GAA6BF,IAG5CmD,KAAM,SAAUd,EAAK5+B,GAGA,gBAAR4+B,KACX5+B,EAAU4+B,EACVA,EAAMr+B,QAIPP,EAAUA,KAEV,IACC8xB,GAEA9yB,EAEA2gC,EAEAC,EAEAC,EAGAC,EAEAC,EAEAC,EAEAvC,EAAIvgC,EAAOoiC,aAAet/B,GAE1BigC,EAAkBxC,EAAErgC,SAAWqgC,EAE/ByC,EAAqBzC,EAAErgC,UAAa6iC,EAAgBz+B,UAAYy+B,EAAgBliC,QAC/Eb,EAAQ+iC,GACR/iC,EAAOue,MAERrC,EAAWlc,EAAO4b,WAClBqnB,EAAmBjjC,EAAO4a,UAAU,eAEpCsoB,EAAa3C,EAAE2C,eAEfC,KACAC,KAEArnB,EAAQ,EAERsnB,EAAW,WAEXxD,GACCrhB,WAAY,EAGZqiB,kBAAmB,SAAUx8B,GAC5B,GAAIwG,EACJ,IAAe,IAAVkR,EAAc,CAClB,IAAM+mB,EAAkB,CACvBA,IACA,OAASj4B,EAAQk0B,GAAS1zB,KAAMq3B,GAC/BI,EAAiBj4B,EAAM,GAAG7F,eAAkB6F,EAAO,GAGrDA,EAAQi4B,EAAiBz+B,EAAIW,eAE9B,MAAgB,OAAT6F,EAAgB,KAAOA,GAI/By4B,sBAAuB,WACtB,MAAiB,KAAVvnB,EAAc2mB,EAAwB,MAI9Ca,iBAAkB,SAAU1gC,EAAMoC,GACjC,GAAIu+B,GAAQ3gC,EAAKmC,aAKjB,OAJM+W,KACLlZ,EAAOugC,EAAqBI,GAAUJ,EAAqBI,IAAW3gC,EACtEsgC,EAAgBtgC,GAASoC,GAEnB9F,MAIRskC,iBAAkB,SAAU1/B,GAI3B,MAHMgY,KACLwkB,EAAEK,SAAW78B,GAEP5E,MAIR+jC,WAAY,SAAUthC,GACrB,GAAI8hC,EACJ,IAAK9hC,EACJ,GAAa,EAARma,EACJ,IAAM2nB,IAAQ9hC,GAEbshC,EAAYQ,IAAWR,EAAYQ,GAAQ9hC,EAAK8hC,QAIjD7D,GAAM5jB,OAAQra,EAAKi+B,EAAM8D,QAG3B,OAAOxkC,OAIRykC,MAAO,SAAUC,GAChB,GAAIC,GAAYD,GAAcR,CAK9B,OAJKR,IACJA,EAAUe,MAAOE,GAElBr8B,EAAM,EAAGq8B,GACF3kC,MAwCV,IAnCA+c,EAASF,QAAS6jB,GAAQrH,SAAWyK,EAAiBrpB,IACtDimB,EAAMkE,QAAUlE,EAAMp4B,KACtBo4B,EAAMl8B,MAAQk8B,EAAM1jB,KAMpBokB,EAAEmB,MAAUA,GAAOnB,EAAEmB,KAAO9C,IAAiB,IAAKn7B,QAASo7B,GAAO,IAAKp7B,QAASy7B,GAAWP,GAAc,GAAM,MAG/G4B,EAAEx8B,KAAOjB,EAAQkhC,QAAUlhC,EAAQiB,MAAQw8B,EAAEyD,QAAUzD,EAAEx8B,KAGzDw8B,EAAEZ,UAAY3/B,EAAO2E,KAAM47B,EAAEb,UAAY,KAAM16B,cAAc6F,MAAO0P,KAAiB,IAG/D,MAAjBgmB,EAAE0D,cACNrP,EAAQuK,GAAK9zB,KAAMk1B,EAAEmB,IAAI18B,eACzBu7B,EAAE0D,eAAkBrP,GACjBA,EAAO,KAAQ+J,GAAc,IAAO/J,EAAO,KAAQ+J,GAAc,KAChE/J,EAAO,KAAwB,UAAfA,EAAO,GAAkB,KAAO,WAC/C+J,GAAc,KAA+B,UAAtBA,GAAc,GAAkB,KAAO,UAK/D4B,EAAE77B,MAAQ67B,EAAEqB,aAAiC,gBAAXrB,GAAE77B,OACxC67B,EAAE77B,KAAO1E,EAAO+qB,MAAOwV,EAAE77B,KAAM67B,EAAE2D,cAIlCtE,GAA+BR,GAAYmB,EAAGz9B,EAAS+8B,GAGxC,IAAV9jB,EACJ,MAAO8jB,EAKR+C,GAAc5iC,EAAOue,OAASgiB,EAAE5hC,OAG3BikC,GAAmC,IAApB5iC,EAAOuhC,UAC1BvhC,EAAOue,MAAMyG,QAAQ,aAItBub,EAAEx8B,KAAOw8B,EAAEx8B,KAAKpD,cAGhB4/B,EAAE4D,YAAclF,GAAWrzB,KAAM20B,EAAEx8B,MAInC0+B,EAAWlC,EAAEmB,IAGPnB,EAAE4D,aAGF5D,EAAE77B,OACN+9B,EAAalC,EAAEmB,MAAS/D,GAAO/xB,KAAM62B,GAAa,IAAM,KAAQlC,EAAE77B,WAE3D67B,GAAE77B,MAIL67B,EAAEj0B,SAAU,IAChBi0B,EAAEmB,IAAM5C,GAAIlzB,KAAM62B,GAGjBA,EAASh/B,QAASq7B,GAAK,OAASpB,MAGhC+E,GAAa9E,GAAO/xB,KAAM62B,GAAa,IAAM,KAAQ,KAAO/E,OAK1D6C,EAAE6D,aACDpkC,EAAOwhC,aAAciB,IACzB5C,EAAM0D,iBAAkB,oBAAqBvjC,EAAOwhC,aAAciB,IAE9DziC,EAAOyhC,KAAMgB,IACjB5C,EAAM0D,iBAAkB,gBAAiBvjC,EAAOyhC,KAAMgB,MAKnDlC,EAAE77B,MAAQ67B,EAAE4D,YAAc5D,EAAEsB,eAAgB,GAAS/+B,EAAQ++B,cACjEhC,EAAM0D,iBAAkB,eAAgBhD,EAAEsB,aAI3ChC,EAAM0D,iBACL,SACAhD,EAAEZ,UAAW,IAAOY,EAAEuB,QAASvB,EAAEZ,UAAU,IAC1CY,EAAEuB,QAASvB,EAAEZ,UAAU,KAA8B,MAArBY,EAAEZ,UAAW,GAAc,KAAOL,GAAW,WAAa,IAC1FiB,EAAEuB,QAAS,KAIb,KAAMhgC,IAAKy+B,GAAE8D,QACZxE,EAAM0D,iBAAkBzhC,EAAGy+B,EAAE8D,QAASviC,GAIvC,IAAKy+B,EAAE+D,aAAgB/D,EAAE+D,WAAWrjC,KAAM8hC,EAAiBlD,EAAOU,MAAQ,GAAmB,IAAVxkB,GAElF,MAAO8jB,GAAM+D,OAIdP,GAAW,OAGX,KAAMvhC,KAAOiiC,QAAS,EAAGpgC,MAAO,EAAG60B,SAAU,GAC5CqH,EAAO/9B,GAAKy+B,EAAGz+B,GAOhB,IAHA+gC,EAAYjD,GAA+BP,GAAYkB,EAAGz9B,EAAS+8B,GAK5D,CACNA,EAAMrhB,WAAa,EAGdokB,GACJI,EAAmBhe,QAAS,YAAc6a,EAAOU,IAG7CA,EAAE9B,OAAS8B,EAAEnG,QAAU,IAC3BuI,EAAe3kB,WAAW,WACzB6hB,EAAM+D,MAAM,YACVrD,EAAEnG,SAGN,KACCre,EAAQ,EACR8mB,EAAU0B,KAAMpB,EAAgB17B,GAC/B,MAAQlD,GAET,KAAa,EAARwX,GAIJ,KAAMxX,EAHNkD,GAAM,GAAIlD,QArBZkD,GAAM,GAAI,eA8BX,SAASA,GAAMk8B,EAAQa,EAAkBhE,EAAW6D,GACnD,GAAIpD,GAAW8C,EAASpgC,EAAOq9B,EAAUyD,EACxCZ,EAAaW,CAGC,KAAVzoB,IAKLA,EAAQ,EAGH4mB,GACJtI,aAAcsI,GAKfE,EAAYx/B,OAGZq/B,EAAwB2B,GAAW,GAGnCxE,EAAMrhB,WAAamlB,EAAS,EAAI,EAAI,EAGpC1C,EAAY0C,GAAU,KAAgB,IAATA,GAA2B,MAAXA,EAGxCnD,IACJQ,EAAWV,GAAqBC,EAAGV,EAAOW,IAI3CQ,EAAWD,GAAaR,EAAGS,EAAUnB,EAAOoB,GAGvCA,GAGCV,EAAE6D,aACNK,EAAW5E,EAAMgB,kBAAkB,iBAC9B4D,IACJzkC,EAAOwhC,aAAciB,GAAagC,GAEnCA,EAAW5E,EAAMgB,kBAAkB,QAC9B4D,IACJzkC,EAAOyhC,KAAMgB,GAAagC,IAKZ,MAAXd,GAA6B,SAAXpD,EAAEx8B,KACxB8/B,EAAa,YAGS,MAAXF,EACXE,EAAa,eAIbA,EAAa7C,EAASjlB,MACtBgoB,EAAU/C,EAASt8B,KACnBf,EAAQq9B,EAASr9B,MACjBs9B,GAAat9B,KAKdA,EAAQkgC,GACHF,IAAWE,KACfA,EAAa,QACC,EAATF,IACJA,EAAS,KAMZ9D,EAAM8D,OAASA,EACf9D,EAAMgE,YAAeW,GAAoBX,GAAe,GAGnD5C,EACJ/kB,EAASqB,YAAawlB,GAAmBgB,EAASF,EAAYhE,IAE9D3jB,EAASoc,WAAYyK,GAAmBlD,EAAOgE,EAAYlgC,IAI5Dk8B,EAAMqD,WAAYA,GAClBA,EAAa7/B,OAERu/B,GACJI,EAAmBhe,QAASic,EAAY,cAAgB,aACrDpB,EAAOU,EAAGU,EAAY8C,EAAUpgC,IAIpCs/B,EAAiBtnB,SAAUonB,GAAmBlD,EAAOgE,IAEhDjB,IACJI,EAAmBhe,QAAS,gBAAkB6a,EAAOU,MAE3CvgC,EAAOuhC,QAChBvhC,EAAOue,MAAMyG,QAAQ,cAKxB,MAAO6a,IAGR6E,QAAS,SAAUhD,EAAKh9B,EAAMhD,GAC7B,MAAO1B,GAAOkB,IAAKwgC,EAAKh9B,EAAMhD,EAAU,SAGzCijC,UAAW,SAAUjD,EAAKhgC,GACzB,MAAO1B,GAAOkB,IAAKwgC,EAAKr+B,OAAW3B,EAAU,aAI/C1B,EAAOyB,MAAQ,MAAO,QAAU,SAAUK,EAAGkiC,GAC5ChkC,EAAQgkC,GAAW,SAAUtC,EAAKh9B,EAAMhD,EAAUqC,GAQjD,MANK/D,GAAOkD,WAAYwB,KACvBX,EAAOA,GAAQrC,EACfA,EAAWgD,EACXA,EAAOrB,QAGDrD,EAAOwiC,MACbd,IAAKA,EACL39B,KAAMigC,EACNtE,SAAU37B,EACVW,KAAMA,EACNq/B,QAASriC,OAMZ1B,EAAOouB,SAAW,SAAUsT,GAC3B,MAAO1hC,GAAOwiC,MACbd,IAAKA,EACL39B,KAAM,MACN27B,SAAU,SACVjB,OAAO,EACP9/B,QAAQ,EACRimC,UAAU,KAKZ5kC,EAAOG,GAAGsC,QACToiC,QAAS,SAAU/W,GAClB,GAAK9tB,EAAOkD,WAAY4qB,GACvB,MAAO3uB,MAAKsC,KAAK,SAASK,GACzB9B,EAAOb,MAAM0lC,QAAS/W,EAAK7sB,KAAK9B,KAAM2C,KAIxC,IAAK3C,KAAK,GAAK,CAEd,GAAIguB,GAAOntB,EAAQ8tB,EAAM3uB,KAAK,GAAGiM,eAAgBlJ,GAAG,GAAGa,OAAM,EAExD5D,MAAK,GAAGoM,YACZ4hB,EAAKO,aAAcvuB,KAAK,IAGzBguB,EAAKvrB,IAAI,WACR,GAAIC,GAAO1C,IAEX,OAAQ0C,EAAK6O,YAA2C,IAA7B7O,EAAK6O,WAAWpM,SAC1CzC,EAAOA,EAAK6O,UAGb,OAAO7O,KACL0rB,OAAQpuB,MAGZ,MAAOA,OAGR2lC,UAAW,SAAUhX,GACpB,MACQ3uB,MAAKsC,KADRzB,EAAOkD,WAAY4qB,GACN,SAAShsB,GACzB9B,EAAOb,MAAM2lC,UAAWhX,EAAK7sB,KAAK9B,KAAM2C,KAIzB,WAChB,GAAIwW,GAAOtY,EAAQb,MAClB4Z,EAAWT,EAAKS,UAEZA,GAAShY,OACbgY,EAAS8rB,QAAS/W,GAGlBxV,EAAKiV,OAAQO,MAKhBX,KAAM,SAAUW,GACf,GAAI5qB,GAAalD,EAAOkD,WAAY4qB,EAEpC,OAAO3uB,MAAKsC,KAAK,SAASK,GACzB9B,EAAQb,MAAO0lC,QAAS3hC,EAAa4qB,EAAK7sB,KAAK9B,KAAM2C,GAAKgsB,MAI5DiX,OAAQ,WACP,MAAO5lC,MAAK4O,SAAStM,KAAK,WACnBzB,EAAO+E,SAAU5F,KAAM,SAC5Ba,EAAQb,MAAO4uB,YAAa5uB,KAAKuL,cAEhCpI,SAKLtC,EAAOgQ,KAAK4E,QAAQke,OAAS,SAAUjxB,GAGtC,MAAOA,GAAKqd,aAAe,GAAKrd,EAAK8vB,cAAgB,IAClD7xB,EAAQuxB,yBACiE,UAAxExvB,EAAKkd,OAASld,EAAKkd,MAAM8P,SAAY7uB,EAAOyhB,IAAK5f,EAAM,aAG5D7B,EAAOgQ,KAAK4E,QAAQowB,QAAU,SAAUnjC,GACvC,OAAQ7B,EAAOgQ,KAAK4E,QAAQke,OAAQjxB,GAMrC,IAAIojC,IAAM,OACTC,GAAW,QACXC,GAAQ,SACRC,GAAkB,wCAClBC,GAAe,oCAEhB,SAASC,IAAa9Q,EAAQ1wB,EAAKogC,EAAatqB,GAC/C,GAAI/W,EAEJ,IAAK7C,EAAOoD,QAASU,GAEpB9D,EAAOyB,KAAMqC,EAAK,SAAUhC,EAAGyjC,GACzBrB,GAAegB,GAASt5B,KAAM4oB,GAElC5a,EAAK4a,EAAQ+Q,GAIbD,GAAa9Q,EAAS,KAAqB,gBAAN+Q,GAAiBzjC,EAAI,IAAO,IAAKyjC,EAAGrB,EAAatqB,SAIlF,IAAMsqB,GAAsC,WAAvBlkC,EAAO+D,KAAMD,GAQxC8V,EAAK4a,EAAQ1wB,OANb,KAAMjB,IAAQiB,GACbwhC,GAAa9Q,EAAS,IAAM3xB,EAAO,IAAKiB,EAAKjB,GAAQqhC,EAAatqB,GAWrE5Z,EAAO+qB,MAAQ,SAAUhjB,EAAGm8B,GAC3B,GAAI1P,GACH+L,KACA3mB,EAAM,SAAUvV,EAAKY,GAEpBA,EAAQjF,EAAOkD,WAAY+B,GAAUA,IAAqB,MAATA,EAAgB,GAAKA,EACtEs7B,EAAGA,EAAEx/B,QAAWykC,mBAAoBnhC,GAAQ,IAAMmhC,mBAAoBvgC,GASxE,IALqB5B,SAAhB6gC,IACJA,EAAclkC,EAAOqgC,cAAgBrgC,EAAOqgC,aAAa6D,aAIrDlkC,EAAOoD,QAAS2E,IAASA,EAAElH,SAAWb,EAAOmD,cAAe4E,GAEhE/H,EAAOyB,KAAMsG,EAAG,WACf6R,EAAKza,KAAK0D,KAAM1D,KAAK8F,aAMtB,KAAMuvB,IAAUzsB,GACfu9B,GAAa9Q,EAAQzsB,EAAGysB,GAAU0P,EAAatqB,EAKjD,OAAO2mB,GAAEt0B,KAAM,KAAMxI,QAASwhC,GAAK,MAGpCjlC,EAAOG,GAAGsC,QACTgjC,UAAW,WACV,MAAOzlC,GAAO+qB,MAAO5rB,KAAKumC,mBAE3BA,eAAgB,WACf,MAAOvmC,MAAKyC,IAAI,WAEf,GAAIqO,GAAWjQ,EAAOumB,KAAMpnB,KAAM,WAClC,OAAO8Q,GAAWjQ,EAAOoF,UAAW6K,GAAa9Q,OAEjDwP,OAAO,WACP,GAAI5K,GAAO5E,KAAK4E,IAEhB,OAAO5E,MAAK0D,OAAS7C,EAAQb,MAAOoZ,GAAI,cACvC8sB,GAAaz5B,KAAMzM,KAAK4F,YAAeqgC,GAAgBx5B,KAAM7H,KAC3D5E,KAAKwU,UAAYoO,EAAenW,KAAM7H,MAEzCnC,IAAI,SAAUE,EAAGD,GACjB,GAAIsO,GAAMnQ,EAAQb,MAAOgR,KAEzB,OAAc,OAAPA,EACN,KACAnQ,EAAOoD,QAAS+M,GACfnQ,EAAO4B,IAAKuO,EAAK,SAAUA,GAC1B,OAAStN,KAAMhB,EAAKgB,KAAMoC,MAAOkL,EAAI1M,QAAS0hC,GAAO,YAEpDtiC,KAAMhB,EAAKgB,KAAMoC,MAAOkL,EAAI1M,QAAS0hC,GAAO,WAC9CjkC,SAOLlB,EAAOqgC,aAAasF,IAA+BtiC,SAAzBnE,EAAOs/B,cAEhC,WAGC,OAAQr/B,KAAKwiC,SAQZ,wCAAwC/1B,KAAMzM,KAAK4E,OAEnD6hC,MAAuBC,MAGzBD,EAED,IAAIE,IAAQ,EACXC,MACAC,GAAehmC,EAAOqgC,aAAasF,KAK/BzmC,GAAOkP,aACXlP,EAAOkP,YAAa,WAAY,WAC/B,IAAM,GAAI/J,KAAO0hC,IAChBA,GAAc1hC,GAAOhB,QAAW,KAMnCvD,EAAQmmC,OAASD,IAAkB,mBAAqBA,IACxDA,GAAelmC,EAAQ0iC,OAASwD,GAG3BA,IAEJhmC,EAAOuiC,cAAc,SAAUz/B,GAE9B,IAAMA,EAAQmhC,aAAenkC,EAAQmmC,KAAO,CAE3C,GAAIvkC,EAEJ,QACC6iC,KAAM,SAAUF,EAAS7L,GACxB,GAAI12B,GACH6jC,EAAM7iC,EAAQ6iC,MACdn6B,IAAOs6B,EAMR,IAHAH,EAAIxH,KAAMr7B,EAAQiB,KAAMjB,EAAQ4+B,IAAK5+B,EAAQ27B,MAAO37B,EAAQojC,SAAUpjC,EAAQ0R,UAGzE1R,EAAQqjC,UACZ,IAAMrkC,IAAKgB,GAAQqjC,UAClBR,EAAK7jC,GAAMgB,EAAQqjC,UAAWrkC,EAK3BgB,GAAQ89B,UAAY+E,EAAIlC,kBAC5BkC,EAAIlC,iBAAkB3gC,EAAQ89B,UAQzB99B,EAAQmhC,aAAgBI,EAAQ,sBACrCA,EAAQ,oBAAsB,iBAI/B,KAAMviC,IAAKuiC,GAOYhhC,SAAjBghC,EAASviC,IACb6jC,EAAIpC,iBAAkBzhC,EAAGuiC,EAASviC,GAAM,GAO1C6jC,GAAIpB,KAAQzhC,EAAQqhC,YAAcrhC,EAAQ4B,MAAU,MAGpDhD,EAAW,SAAUyI,EAAGi8B,GACvB,GAAIzC,GAAQE,EAAYrD,CAGxB,IAAK9+B,IAAc0kC,GAA8B,IAAnBT,EAAInnB,YAOjC,SALOunB,IAAcv6B,GACrB9J,EAAW2B,OACXsiC,EAAIU,mBAAqBrmC,EAAO6D,KAG3BuiC,EACoB,IAAnBT,EAAInnB,YACRmnB,EAAI/B,YAEC,CACNpD,KACAmD,EAASgC,EAAIhC,OAKoB,gBAArBgC,GAAIW,eACf9F,EAAUr7B,KAAOwgC,EAAIW,aAKtB,KACCzC,EAAa8B,EAAI9B,WAChB,MAAOt/B,GAERs/B,EAAa,GAQRF,IAAU7gC,EAAQ6+B,SAAY7+B,EAAQmhC,YAGrB,OAAXN,IACXA,EAAS,KAHTA,EAASnD,EAAUr7B,KAAO,IAAM,IAS9Bq7B,GACJhI,EAAUmL,EAAQE,EAAYrD,EAAWmF,EAAIrC,0BAIzCxgC,EAAQ27B,MAGiB,IAAnBkH,EAAInnB,WAGfR,WAAYtc,GAGZikC,EAAIU,mBAAqBN,GAAcv6B,GAAO9J,EAP9CA,KAWFkiC,MAAO,WACDliC,GACJA,EAAU2B,QAAW,OAS3B,SAASuiC,MACR,IACC,MAAO,IAAI1mC,GAAOqnC,eACjB,MAAOhiC,KAGV,QAASshC,MACR,IACC,MAAO,IAAI3mC,GAAOs/B,cAAe,qBAChC,MAAOj6B,KAOVvE,EAAOoiC,WACNN,SACC0E,OAAQ,6FAETztB,UACCytB,OAAQ,uBAET1F,YACC2F,cAAe,SAAUthC,GAExB,MADAnF,GAAOyE,WAAYU,GACZA,MAMVnF,EAAOsiC,cAAe,SAAU,SAAU/B,GACxBl9B,SAAZk9B,EAAEj0B,QACNi0B,EAAEj0B,OAAQ,GAENi0B,EAAE0D,cACN1D,EAAEx8B,KAAO,MACTw8B,EAAE5hC,QAAS,KAKbqB,EAAOuiC,cAAe,SAAU,SAAShC,GAGxC,GAAKA,EAAE0D,YAAc,CAEpB,GAAIuC,GACHE,EAAO3nC,EAAS2nC,MAAQ1mC,EAAO,QAAQ,IAAMjB,EAAS6O,eAEvD,QAEC22B,KAAM,SAAUp6B,EAAGzI,GAElB8kC,EAASznC,EAAS6N,cAAc,UAEhC45B,EAAO/H,OAAQ,EAEV8B,EAAEoG,gBACNH,EAAOI,QAAUrG,EAAEoG,eAGpBH,EAAO9jC,IAAM69B,EAAEmB,IAGf8E,EAAOK,OAASL,EAAOH,mBAAqB,SAAUl8B,EAAGi8B,IAEnDA,IAAYI,EAAOhoB,YAAc,kBAAkB5S,KAAM46B,EAAOhoB,eAGpEgoB,EAAOK,OAASL,EAAOH,mBAAqB,KAGvCG,EAAOj7B,YACXi7B,EAAOj7B,WAAWsB,YAAa25B,GAIhCA,EAAS,KAGHJ,GACL1kC,EAAU,IAAK,aAOlBglC,EAAKhZ,aAAc8Y,EAAQE,EAAKh2B,aAGjCkzB,MAAO,WACD4C,GACJA,EAAOK,OAAQxjC,QAAW,OAU/B,IAAIyjC,OACHC,GAAS,mBAGV/mC,GAAOoiC,WACN4E,MAAO,WACPC,cAAe,WACd,GAAIvlC,GAAWolC,GAAa5+B,OAAWlI,EAAOsD,QAAU,IAAQo6B,IAEhE,OADAv+B,MAAMuC,IAAa,EACZA,KAKT1B,EAAOsiC,cAAe,aAAc,SAAU/B,EAAG2G,EAAkBrH,GAElE,GAAIsH,GAAcC,EAAaC,EAC9BC,EAAW/G,EAAEyG,SAAU,IAAWD,GAAOn7B,KAAM20B,EAAEmB,KAChD,MACkB,gBAAXnB,GAAE77B,QAAwB67B,EAAEsB,aAAe,IAAKpiC,QAAQ,sCAAwCsnC,GAAOn7B,KAAM20B,EAAE77B,OAAU,OAIlI,OAAK4iC,IAAiC,UAArB/G,EAAEZ,UAAW,IAG7BwH,EAAe5G,EAAE0G,cAAgBjnC,EAAOkD,WAAYq9B,EAAE0G,eACrD1G,EAAE0G,gBACF1G,EAAE0G,cAGEK,EACJ/G,EAAG+G,GAAa/G,EAAG+G,GAAW7jC,QAASsjC,GAAQ,KAAOI,GAC3C5G,EAAEyG,SAAU,IACvBzG,EAAEmB,MAAS/D,GAAO/xB,KAAM20B,EAAEmB,KAAQ,IAAM,KAAQnB,EAAEyG,MAAQ,IAAMG,GAIjE5G,EAAEO,WAAW,eAAiB,WAI7B,MAHMuG,IACLrnC,EAAO2D,MAAOwjC,EAAe,mBAEvBE,EAAmB,IAI3B9G,EAAEZ,UAAW,GAAM,OAGnByH,EAAcloC,EAAQioC,GACtBjoC,EAAQioC,GAAiB,WACxBE,EAAoBrlC,WAIrB69B,EAAM5jB,OAAO,WAEZ/c,EAAQioC,GAAiBC,EAGpB7G,EAAG4G,KAEP5G,EAAE0G,cAAgBC,EAAiBD,cAGnCH,GAAatnC,KAAM2nC,IAIfE,GAAqBrnC,EAAOkD,WAAYkkC,IAC5CA,EAAaC,EAAmB,IAGjCA,EAAoBD,EAAc/jC,SAI5B,UAtDR,SAgEDrD,EAAO0Y,UAAY,SAAUhU,EAAMxE,EAASqnC,GAC3C,IAAM7iC,GAAwB,gBAATA,GACpB,MAAO,KAEgB,kBAAZxE,KACXqnC,EAAcrnC,EACdA,GAAU,GAEXA,EAAUA,GAAWnB,CAErB,IAAIyoC,GAAStvB,EAAW7M,KAAM3G,GAC7BuoB,GAAWsa,KAGZ,OAAKC,IACKtnC,EAAQ0M,cAAe46B,EAAO,MAGxCA,EAASxnC,EAAOgtB,eAAiBtoB,GAAQxE,EAAS+sB,GAE7CA,GAAWA,EAAQlsB,QACvBf,EAAQitB,GAAUzR,SAGZxb,EAAOuB,SAAWimC,EAAO98B,aAKjC,IAAI+8B,IAAQznC,EAAOG,GAAG6nB,IAKtBhoB,GAAOG,GAAG6nB,KAAO,SAAU0Z,EAAKgG,EAAQhmC,GACvC,GAAoB,gBAARggC,IAAoB+F,GAC/B,MAAOA,IAAM1lC,MAAO5C,KAAM6C,UAG3B,IAAI/B,GAAU+gC,EAAUj9B,EACvBuU,EAAOnZ,KACP+e,EAAMwjB,EAAIjiC,QAAQ,IA+CnB,OA7CKye,IAAO,IACXje,EAAWD,EAAO2E,KAAM+8B,EAAIpiC,MAAO4e,EAAKwjB,EAAI3gC,SAC5C2gC,EAAMA,EAAIpiC,MAAO,EAAG4e,IAIhBle,EAAOkD,WAAYwkC,IAGvBhmC,EAAWgmC,EACXA,EAASrkC,QAGEqkC,GAA4B,gBAAXA,KAC5B3jC,EAAO,QAIHuU,EAAKvX,OAAS,GAClBf,EAAOwiC,MACNd,IAAKA,EAGL39B,KAAMA,EACN27B,SAAU,OACVh7B,KAAMgjC,IACJjgC,KAAK,SAAU6+B,GAGjBtF,EAAWh/B,UAEXsW,EAAKwV,KAAM7tB,EAIVD,EAAO,SAASutB,OAAQvtB,EAAO0Y,UAAW4tB,IAAiB53B,KAAMzO,GAGjEqmC,KAEC9N,SAAU92B,GAAY,SAAUm+B,EAAO8D,GACzCrrB,EAAK7W,KAAMC,EAAUs/B,IAAcnB,EAAMyG,aAAc3C,EAAQ9D,MAI1D1gC,MAORa,EAAOyB,MAAQ,YAAa,WAAY,eAAgB,YAAa,cAAe,YAAc,SAAUK,EAAGiC,GAC9G/D,EAAOG,GAAI4D,GAAS,SAAU5D,GAC7B,MAAOhB,MAAKsqB,GAAI1lB,EAAM5D,MAOxBH,EAAOgQ,KAAK4E,QAAQ+yB,SAAW,SAAU9lC,GACxC,MAAO7B,GAAO2F,KAAK3F,EAAOq5B,OAAQ,SAAUl5B,GAC3C,MAAO0B,KAAS1B,EAAG0B,OACjBd,OAOJ,IAAImG,IAAUhI,EAAOH,SAAS6O,eAK9B,SAASg6B,IAAW/lC,GACnB,MAAO7B,GAAOiE,SAAUpC,GACvBA,EACkB,IAAlBA,EAAKyC,SACJzC,EAAKoM,aAAepM,EAAK4jB,cACzB,EAGHzlB,EAAO6nC,QACNC,UAAW,SAAUjmC,EAAMiB,EAAShB,GACnC,GAAIimC,GAAaC,EAASC,EAAWC,EAAQC,EAAWC,EAAYC,EACnElW,EAAWnyB,EAAOyhB,IAAK5f,EAAM,YAC7BymC,EAAUtoC,EAAQ6B,GAClBglB,IAGiB,YAAbsL,IACJtwB,EAAKkd,MAAMoT,SAAW,YAGvBgW,EAAYG,EAAQT,SACpBI,EAAYjoC,EAAOyhB,IAAK5f,EAAM,OAC9BumC,EAAapoC,EAAOyhB,IAAK5f,EAAM,QAC/BwmC,GAAmC,aAAblW,GAAwC,UAAbA,IAChDnyB,EAAOwF,QAAQ,QAAUyiC,EAAWG,IAAiB,GAGjDC,GACJN,EAAcO,EAAQnW,WACtB+V,EAASH,EAAY75B,IACrB85B,EAAUD,EAAY9X,OAEtBiY,EAAS/jC,WAAY8jC,IAAe,EACpCD,EAAU7jC,WAAYikC,IAAgB,GAGlCpoC,EAAOkD,WAAYJ,KACvBA,EAAUA,EAAQ7B,KAAMY,EAAMC,EAAGqmC,IAGd,MAAfrlC,EAAQoL,MACZ2Y,EAAM3Y,IAAQpL,EAAQoL,IAAMi6B,EAAUj6B,IAAQg6B,GAE1B,MAAhBplC,EAAQmtB,OACZpJ,EAAMoJ,KAASntB,EAAQmtB,KAAOkY,EAAUlY,KAAS+X,GAG7C,SAAWllC,GACfA,EAAQylC,MAAMtnC,KAAMY,EAAMglB,GAE1ByhB,EAAQ7mB,IAAKoF,KAKhB7mB,EAAOG,GAAGsC,QACTolC,OAAQ,SAAU/kC,GACjB,GAAKd,UAAUjB,OACd,MAAmBsC,UAAZP,EACN3D,KACAA,KAAKsC,KAAK,SAAUK,GACnB9B,EAAO6nC,OAAOC,UAAW3oC,KAAM2D,EAAShB,IAI3C,IAAIoF,GAASshC,EACZC,GAAQv6B,IAAK,EAAG+hB,KAAM,GACtBpuB,EAAO1C,KAAM,GACb6O,EAAMnM,GAAQA,EAAKuJ,aAEpB,IAAM4C,EAON,MAHA9G,GAAU8G,EAAIJ,gBAGR5N,EAAOsH,SAAUJ,EAASrF,UAMpBA,GAAK6mC,wBAA0B9pB,IAC1C6pB,EAAM5mC,EAAK6mC,yBAEZF,EAAMZ,GAAW55B,IAEhBE,IAAKu6B,EAAIv6B,KAASs6B,EAAIG,aAAezhC,EAAQ0gB,YAAiB1gB,EAAQ2gB,WAAc,GACpFoI,KAAMwY,EAAIxY,MAASuY,EAAII,aAAe1hC,EAAQsgB,aAAiBtgB,EAAQugB,YAAc,KAX9EghB,GAeTtW,SAAU,WACT,GAAMhzB,KAAM,GAAZ,CAIA,GAAI0pC,GAAchB,EACjBiB,GAAiB56B,IAAK,EAAG+hB,KAAM,GAC/BpuB,EAAO1C,KAAM,EAwBd,OArBwC,UAAnCa,EAAOyhB,IAAK5f,EAAM,YAEtBgmC,EAAShmC,EAAK6mC,yBAGdG,EAAe1pC,KAAK0pC,eAGpBhB,EAAS1oC,KAAK0oC,SACR7nC,EAAO+E,SAAU8jC,EAAc,GAAK,UACzCC,EAAeD,EAAahB,UAI7BiB,EAAa56B,KAAQlO,EAAOyhB,IAAKonB,EAAc,GAAK,kBAAkB,GACtEC,EAAa7Y,MAAQjwB,EAAOyhB,IAAKonB,EAAc,GAAK,mBAAmB,KAOvE36B,IAAM25B,EAAO35B,IAAO46B,EAAa56B,IAAMlO,EAAOyhB,IAAK5f,EAAM,aAAa,GACtEouB,KAAM4X,EAAO5X,KAAO6Y,EAAa7Y,KAAOjwB,EAAOyhB,IAAK5f,EAAM,cAAc,MAI1EgnC,aAAc,WACb,MAAO1pC,MAAKyC,IAAI,WACf,GAAIinC,GAAe1pC,KAAK0pC,cAAgB3hC,EAExC,OAAQ2hC,IAAmB7oC,EAAO+E,SAAU8jC,EAAc,SAAuD,WAA3C7oC,EAAOyhB,IAAKonB,EAAc,YAC/FA,EAAeA,EAAaA,YAE7B,OAAOA,IAAgB3hC,QAM1BlH,EAAOyB,MAAQ+lB,WAAY,cAAeI,UAAW,eAAiB,SAAUoc,EAAQzd,GACvF,GAAIrY,GAAM,IAAItC,KAAM2a,EAEpBvmB,GAAOG,GAAI6jC,GAAW,SAAU7zB,GAC/B,MAAOuR,GAAQviB,KAAM,SAAU0C,EAAMmiC,EAAQ7zB,GAC5C,GAAIq4B,GAAMZ,GAAW/lC,EAErB,OAAawB,UAAR8M,EACGq4B,EAAOjiB,IAAQiiB,GAAOA,EAAKjiB,GACjCiiB,EAAIzpC,SAAS6O,gBAAiBo2B,GAC9BniC,EAAMmiC,QAGHwE,EACJA,EAAIO,SACF76B,EAAYlO,EAAQwoC,GAAMhhB,aAApBrX,EACPjC,EAAMiC,EAAMnQ,EAAQwoC,GAAM5gB,aAI3B/lB,EAAMmiC,GAAW7zB,IAEhB6zB,EAAQ7zB,EAAKnO,UAAUjB,OAAQ,SAQpCf,EAAOyB,MAAQ,MAAO,QAAU,SAAUK,EAAGykB,GAC5CvmB,EAAOuzB,SAAUhN,GAAS+J,GAAcxwB,EAAQ0xB,cAC/C,SAAU3vB,EAAM+tB,GACf,MAAKA,IACJA,EAAWJ,GAAQ3tB,EAAM0kB,GAElB+I,GAAU1jB,KAAMgkB,GACtB5vB,EAAQ6B,GAAOswB,WAAY5L,GAAS,KACpCqJ,GALF,WAaH5vB,EAAOyB,MAAQunC,OAAQ,SAAUC,MAAO,SAAW,SAAUpmC,EAAMkB,GAClE/D,EAAOyB,MAAQ6yB,QAAS,QAAUzxB,EAAMmpB,QAASjoB,EAAM,GAAI,QAAUlB,GAAQ,SAAUqmC,EAAcC,GAEpGnpC,EAAOG,GAAIgpC,GAAa,SAAU9U,EAAQpvB,GACzC,GAAI0c,GAAY3f,UAAUjB,SAAYmoC,GAAkC,iBAAX7U,IAC5DnB,EAAQgW,IAAkB7U,KAAW,GAAQpvB,KAAU,EAAO,SAAW,SAE1E,OAAOyc,GAAQviB,KAAM,SAAU0C,EAAMkC,EAAMkB,GAC1C,GAAI+I,EAEJ,OAAKhO,GAAOiE,SAAUpC,GAIdA,EAAK9C,SAAS6O,gBAAiB,SAAW/K,GAI3B,IAAlBhB,EAAKyC,UACT0J,EAAMnM,EAAK+L,gBAIJrK,KAAKkC,IACX5D,EAAKkc,KAAM,SAAWlb,GAAQmL,EAAK,SAAWnL,GAC9ChB,EAAKkc,KAAM,SAAWlb,GAAQmL,EAAK,SAAWnL,GAC9CmL,EAAK,SAAWnL,KAIDQ,SAAV4B,EAENjF,EAAOyhB,IAAK5f,EAAMkC,EAAMmvB,GAGxBlzB,EAAO+e,MAAOld,EAAMkC,EAAMkB,EAAOiuB,IAChCnvB,EAAM4d,EAAY0S,EAAShxB,OAAWse,EAAW,WAOvD3hB,EAAOG,GAAGipC,KAAO,WAChB,MAAOjqC,MAAK4B,QAGbf,EAAOG,GAAGkpC,QAAUrpC,EAAOG,GAAG0Z,QAkBP,kBAAXyvB,SAAyBA,OAAOC,KAC3CD,OAAQ,YAAc,WACrB,MAAOtpC,IAOT,IAECwpC,IAAUtqC,EAAOc,OAGjBypC,GAAKvqC,EAAOwqC,CAwBb,OAtBA1pC,GAAO2pC,WAAa,SAAU1mC,GAS7B,MARK/D,GAAOwqC,IAAM1pC,IACjBd,EAAOwqC,EAAID,IAGPxmC,GAAQ/D,EAAOc,SAAWA,IAC9Bd,EAAOc,OAASwpC,IAGVxpC,SAMIZ,KAAawf,IACxB1f,EAAOc,OAASd,EAAOwqC,EAAI1pC,GAMrBA"} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.js b/ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.js deleted file mode 100644 index f35a741f..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.js +++ /dev/null @@ -1,9231 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! - * jQuery JavaScript Library v2.1.4 - * http://jquery.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2015-04-28T16:01Z - */ - -(function( global, factory ) { - - if ( typeof module === "object" && typeof module.exports === "object" ) { - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Support: Firefox 18+ -// Can't be in strict mode, several libs including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// - -var arr = []; - -var slice = arr.slice; - -var concat = arr.concat; - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var support = {}; - - - -var - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - - version = "2.1.4", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }, - - // Support: Android<4.1 - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }; - -jQuery.fn = jQuery.prototype = { - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num != null ? - - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // Return all the elements in a clean array - slice.call( this ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - ret.context = this.context; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray, - - isWindow: function( obj ) { - return obj != null && obj === obj.window; - }, - - isNumeric: function( obj ) { - // parseFloat NaNs numeric-cast false positives (null|true|false|"") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - // adding 1 corrects loss of precision from parseFloat (#15100) - return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0; - }, - - isPlainObject: function( obj ) { - // Not plain objects: - // - Any object or value whose internal [[Class]] property is not "[object Object]" - // - DOM nodes - // - window - if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.constructor && - !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) { - return false; - } - - // If the function hasn't returned already, we're confident that - // |obj| is a plain object, created by {} or constructed with new Object - return true; - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - // Support: Android<4.0, iOS<6 (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call(obj) ] || "object" : - typeof obj; - }, - - // Evaluates a script in a global context - globalEval: function( code ) { - var script, - indirect = eval; - - code = jQuery.trim( code ); - - if ( code ) { - // If the code includes a valid, prologue position - // strict mode pragma, execute code by injecting a - // script tag into the document. - if ( code.indexOf("use strict") === 1 ) { - script = document.createElement("script"); - script.text = code; - document.head.appendChild( script ).parentNode.removeChild( script ); - } else { - // Otherwise, avoid the DOM node creation, insertion - // and removal by using an indirect global eval - indirect( code ); - } - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Support: IE9-11+ - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - // args is for internal usage only - each: function( obj, callback, args ) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike( obj ); - - if ( args ) { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } - } - - return obj; - }, - - // Support: Android<4.1 - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, - i = 0, - length = elems.length, - isArray = isArraylike( elems ), - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var tmp, args, proxy; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: Date.now, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -}); - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -function isArraylike( obj ) { - - // Support: iOS 8.2 (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = "length" in obj && obj.length, - type = jQuery.type( obj ); - - if ( type === "function" || jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.nodeType === 1 && length ) { - return true; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.2.0-pre - * http://sizzlejs.com/ - * - * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2014-12-16 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // General-purpose constants - MAX_NEGATIVE = 1 << 31, - - // Instance methods - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf as it's faster than native - // http://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", - - pseudos = ":(" + characterEncoding + ")(?:\\((" + - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - rescape = /'|\\/g, - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - // BMP codepoint - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }; - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - // Support: Android<4.0 - // Detect silently failing push.apply - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - - context = context || document; - results = results || []; - nodeType = context.nodeType; - - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - if ( !seed && documentIsHTML ) { - - // Try to shortcut find operations when possible (e.g., not under DocumentFragment) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document (jQuery #6963) - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getElementsByClassName ) { - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // QSA path - if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - nid = old = expando; - newContext = context; - newSelector = nodeType !== 1 && selector; - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); - } - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key + " " ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return !!fn( div ); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if ( div.parentNode ) { - div.parentNode.removeChild( div ); - } - // release memory in IE - div = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = attrs.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - ( ~b.sourceIndex || MAX_NEGATIVE ) - - ( ~a.sourceIndex || MAX_NEGATIVE ); - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, parent, - doc = node ? node.ownerDocument || node : preferredDoc; - - // If no document and documentElement is available, return - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Set our document - document = doc; - docElem = doc.documentElement; - parent = doc.defaultView; - - // Support: IE>8 - // If iframe document is assigned to "document" variable and if iframe has been reloaded, - // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 - // IE6-8 do not support the defaultView property so parent will be undefined - if ( parent && parent !== parent.top ) { - // IE11 does not have attachEvent, so all must suffer - if ( parent.addEventListener ) { - parent.addEventListener( "unload", unloadHandler, false ); - } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", unloadHandler ); - } - } - - /* Support tests - ---------------------------------------------------------------------- */ - documentIsHTML = !isXML( doc ); - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert(function( div ) { - div.className = "i"; - return !div.getAttribute("className"); - }); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( div ) { - div.appendChild( doc.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( doc.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert(function( div ) { - docElem.appendChild( div ).id = expando; - return !doc.getElementsByName || !doc.getElementsByName( expando ).length; - }); - - // ID find and filter - if ( support.getById ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [ m ] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - // Support: IE6/7 - // getElementById is not reliable as a find shortcut - delete Expr.find["ID"]; - - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See http://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" + - "<select id='" + expando + "-\f]' msallowcapture=''>" + - "<option selected=''></option></select>"; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowcapture^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+ - if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibing-combinator selector` fails - if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); - } - }); - - assert(function( div ) { - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = doc.createElement("input"); - input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( div.querySelectorAll("[name=d]").length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully does not implement inclusive descendent - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - // Choose the first element that is related to our preferred document - if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { - return -1; - } - if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - return doc; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - if ( support.matchesSelector && documentIsHTML && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch (e) {} - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[6] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { return true; } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - // Use previously-cached element index if available - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) - } else { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - // Cache the index of each encountered element - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - // Don't keep the element (issue #299) - input[0] = null; - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( (tokens = []) ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push({ - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (oldCache = outerCache[ dir ]) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); - } else { - // Reuse newcache so results back-propagate to previous elements - outerCache[ dir ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), - len = elems.length; - - if ( outermost ) { - outermostContext = context !== document && context; - } - - // Add elements passing elementMatchers directly to results - // Keep `i` a string if there are no elements so `matchedCount` will be "00" below - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // Apply set filters to unmatched elements - matchedCount += i; - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); - - results = results || []; - - // Try to minimize operations if there is no seed and only one group - if ( match.length === 1 ) { - - // Take a shortcut and set the context if the root selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { - - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( div1 ) { - // Should return 1, but returns 4 (following) - return div1.compareDocumentPosition( document.createElement("div") ) & 1; -}); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( div ) { - div.innerHTML = "<a href='#'></a>"; - return div.firstChild.getAttribute("href") === "#" ; -}) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - }); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( div ) { - div.innerHTML = "<input/>"; - div.firstChild.setAttribute( "value", "" ); - return div.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - }); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( div ) { - return div.getAttribute("disabled") == null; -}) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - null; - } - }); -} - -return Sizzle; - -})( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - - -var rneedsContext = jQuery.expr.match.needsContext; - -var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); - - - -var risSimple = /^.[^:#\[\.,]*$/; - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - /* jshint -W018 */ - return !!qualifier.call( elem, i, elem ) !== not; - }); - - } - - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - }); - - } - - if ( typeof qualifier === "string" ) { - if ( risSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); - } - - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) >= 0 ) !== not; - }); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - })); -}; - -jQuery.fn.extend({ - find: function( selector ) { - var i, - len = this.length, - ret = [], - self = this; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }) ); - } - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = this.selector ? this.selector + " " + selector : selector; - return ret; - }, - filter: function( selector ) { - return this.pushStack( winnow(this, selector || [], false) ); - }, - not: function( selector ) { - return this.pushStack( winnow(this, selector || [], true) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -}); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // A simple way to check for HTML strings - // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - init = jQuery.fn.init = function( selector, context ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector[0] === "<" && selector[ selector.length - 1 ] === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - - // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[1], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[2] ); - - // Support: Blackberry 4.6 - // gEBID returns nodes no longer in the document (#6963) - if ( elem && elem.parentNode ) { - // Inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return typeof rootjQuery.ready !== "undefined" ? - rootjQuery.ready( selector ) : - // Execute immediately if ready is not present - selector( jQuery ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.extend({ - dir: function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; - }, - - sibling: function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; - } -}); - -jQuery.fn.extend({ - has: function( target ) { - var targets = jQuery( target, this ), - l = targets.length; - - return this.filter(function() { - var i = 0; - for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { - // Always skip document fragments - if ( cur.nodeType < 11 && (pos ? - pos.index(cur) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector(cur, selectors)) ) { - - matched.push( cur ); - break; - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); - }, - - // Determine the position of an element within the set - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; - } - - // Index in selector - if ( typeof elem === "string" ) { - return indexOf.call( jQuery( elem ), this[ 0 ] ); - } - - // Locate the position of the desired element - return indexOf.call( this, - - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[ 0 ] : elem - ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.unique( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) - ); - } -}); - -function sibling( cur, dir ) { - while ( (cur = cur[dir]) && cur.nodeType !== 1 ) {} - return cur; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return elem.contentDocument || jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var matched = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - matched = jQuery.filter( selector, matched ); - } - - if ( this.length > 1 ) { - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - jQuery.unique( matched ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - matched.reverse(); - } - } - - return this.pushStack( matched ); - }; -}); -var rnotwhite = (/\S+/g); - - - -// String to Object options format cache -var optionsCache = {}; - -// Convert String-formatted options into Object-formatted ones and store in cache -function createOptions( options ) { - var object = optionsCache[ options ] = {}; - jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - }); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - ( optionsCache[ options ] || createOptions( options ) ) : - jQuery.extend( {}, options ); - - var // Last fire value (for non-forgettable lists) - memory, - // Flag to know if list was already fired - fired, - // Flag to know if list is currently firing - firing, - // First callback to fire (used internally by add and fireWith) - firingStart, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, - // Actual callback list - list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], - // Fire callbacks - fire = function( data ) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for ( ; list && firingIndex < firingLength; firingIndex++ ) { - if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = false; // To prevent further calls using add - break; - } - } - firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { - list = []; - } else { - self.disable(); - } - } - }, - // Actual Callbacks object - self = { - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - // First, we save the current length - var start = list.length; - (function add( args ) { - jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && type !== "string" ) { - // Inspect recursively - add( arg ); - } - }); - })( arguments ); - // Do we need to add the callbacks to the - // current firing batch? - if ( firing ) { - firingLength = list.length; - // With memory, if we're not firing then - // we should call right away - } else if ( memory ) { - firingStart = start; - fire( memory ); - } - } - return this; - }, - // Remove a callback from the list - remove: function() { - if ( list ) { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - // Handle firing indexes - if ( firing ) { - if ( index <= firingLength ) { - firingLength--; - } - if ( index <= firingIndex ) { - firingIndex--; - } - } - } - }); - } - return this; - }, - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); - }, - // Remove all callbacks from the list - empty: function() { - list = []; - firingLength = 0; - return this; - }, - // Have the list do nothing anymore - disable: function() { - list = stack = memory = undefined; - return this; - }, - // Is it disabled? - disabled: function() { - return !list; - }, - // Lock the list in its current state - lock: function() { - stack = undefined; - if ( !memory ) { - self.disable(); - } - return this; - }, - // Is it locked? - locked: function() { - return !stack; - }, - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( list && ( !fired || stack ) ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - if ( firing ) { - stack.push( args ); - } else { - fire( args ); - } - } - return this; - }, - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -jQuery.extend({ - - Deferred: function( func ) { - var tuples = [ - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], - [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], - [ "notify", "progress", jQuery.Callbacks("memory") ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred(function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[1] ](function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); - } - }); - }); - fns = null; - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; - - // Handle state - if ( stateString ) { - list.add(function() { - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( values === progressValues ) { - deferred.notifyWith( contexts, values ); - } else if ( !( --remaining ) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // Add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); - } else { - --remaining; - } - } - } - - // If we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -}); - - -// The deferred used on DOM ready -var readyList; - -jQuery.fn.ready = function( fn ) { - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; -}; - -jQuery.extend({ - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.triggerHandler ) { - jQuery( document ).triggerHandler( "ready" ); - jQuery( document ).off( "ready" ); - } - } -}); - -/** - * The ready event handler and self cleanup method - */ -function completed() { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); - jQuery.ready(); -} - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called after the browser event has already occurred. - // We once tried to use readyState "interactive" here, but it caused issues like the one - // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); - - } else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); - } - } - return readyList.promise( obj ); -}; - -// Kick off the DOM ready check even if the user does not -jQuery.ready.promise(); - - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - len = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < len; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - len ? fn( elems[0], key ) : emptyGet; -}; - - -/** - * Determines whether an object can have data - */ -jQuery.acceptData = function( owner ) { - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - /* jshint -W018 */ - return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); -}; - - -function Data() { - // Support: Android<4, - // Old WebKit does not have Object.preventExtensions/freeze method, - // return new empty object instead with no [[set]] accessor - Object.defineProperty( this.cache = {}, 0, { - get: function() { - return {}; - } - }); - - this.expando = jQuery.expando + Data.uid++; -} - -Data.uid = 1; -Data.accepts = jQuery.acceptData; - -Data.prototype = { - key: function( owner ) { - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return the key for a frozen object. - if ( !Data.accepts( owner ) ) { - return 0; - } - - var descriptor = {}, - // Check if the owner object already has a cache key - unlock = owner[ this.expando ]; - - // If not, create one - if ( !unlock ) { - unlock = Data.uid++; - - // Secure it in a non-enumerable, non-writable property - try { - descriptor[ this.expando ] = { value: unlock }; - Object.defineProperties( owner, descriptor ); - - // Support: Android<4 - // Fallback to a less secure definition - } catch ( e ) { - descriptor[ this.expando ] = unlock; - jQuery.extend( owner, descriptor ); - } - } - - // Ensure the cache object - if ( !this.cache[ unlock ] ) { - this.cache[ unlock ] = {}; - } - - return unlock; - }, - set: function( owner, data, value ) { - var prop, - // There may be an unlock assigned to this node, - // if there is no entry for this "owner", create one inline - // and set the unlock as though an owner entry had always existed - unlock = this.key( owner ), - cache = this.cache[ unlock ]; - - // Handle: [ owner, key, value ] args - if ( typeof data === "string" ) { - cache[ data ] = value; - - // Handle: [ owner, { properties } ] args - } else { - // Fresh assignments by object are shallow copied - if ( jQuery.isEmptyObject( cache ) ) { - jQuery.extend( this.cache[ unlock ], data ); - // Otherwise, copy the properties one-by-one to the cache object - } else { - for ( prop in data ) { - cache[ prop ] = data[ prop ]; - } - } - } - return cache; - }, - get: function( owner, key ) { - // Either a valid cache is found, or will be created. - // New caches will be created and the unlock returned, - // allowing direct access to the newly created - // empty data object. A valid owner object must be provided. - var cache = this.cache[ this.key( owner ) ]; - - return key === undefined ? - cache : cache[ key ]; - }, - access: function( owner, key, value ) { - var stored; - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if ( key === undefined || - ((key && typeof key === "string") && value === undefined) ) { - - stored = this.get( owner, key ); - - return stored !== undefined ? - stored : this.get( owner, jQuery.camelCase(key) ); - } - - // [*]When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - this.set( owner, key, value ); - - // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - return value !== undefined ? value : key; - }, - remove: function( owner, key ) { - var i, name, camel, - unlock = this.key( owner ), - cache = this.cache[ unlock ]; - - if ( key === undefined ) { - this.cache[ unlock ] = {}; - - } else { - // Support array or space separated string of keys - if ( jQuery.isArray( key ) ) { - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = key.concat( key.map( jQuery.camelCase ) ); - } else { - camel = jQuery.camelCase( key ); - // Try the string as a key before any manipulation - if ( key in cache ) { - name = [ key, camel ]; - } else { - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - name = camel; - name = name in cache ? - [ name ] : ( name.match( rnotwhite ) || [] ); - } - } - - i = name.length; - while ( i-- ) { - delete cache[ name[ i ] ]; - } - } - }, - hasData: function( owner ) { - return !jQuery.isEmptyObject( - this.cache[ owner[ this.expando ] ] || {} - ); - }, - discard: function( owner ) { - if ( owner[ this.expando ] ) { - delete this.cache[ owner[ this.expando ] ]; - } - } -}; -var data_priv = new Data(); - -var data_user = new Data(); - - - -// Implementation Summary -// -// 1. Enforce API surface and semantic compatibility with 1.9.x branch -// 2. Improve the module's maintainability by reducing the storage -// paths to a single mechanism. -// 3. Use the same single mechanism to support "private" and "user" data. -// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) -// 5. Avoid exposing implementation details on user objects (eg. expando properties) -// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /([A-Z])/g; - -function dataAttr( elem, key, data ) { - var name; - - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - data_user.set( elem, key, data ); - } else { - data = undefined; - } - } - return data; -} - -jQuery.extend({ - hasData: function( elem ) { - return data_user.hasData( elem ) || data_priv.hasData( elem ); - }, - - data: function( elem, name, data ) { - return data_user.access( elem, name, data ); - }, - - removeData: function( elem, name ) { - data_user.remove( elem, name ); - }, - - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to data_priv methods, these can be deprecated. - _data: function( elem, name, data ) { - return data_priv.access( elem, name, data ); - }, - - _removeData: function( elem, name ) { - data_priv.remove( elem, name ); - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = data_user.get( elem ); - - if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE11+ - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice(5) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - data_priv.set( elem, "hasDataAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each(function() { - data_user.set( this, key ); - }); - } - - return access( this, function( value ) { - var data, - camelKey = jQuery.camelCase( key ); - - // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - if ( elem && value === undefined ) { - // Attempt to get data from the cache - // with the key as-is - data = data_user.get( elem, key ); - if ( data !== undefined ) { - return data; - } - - // Attempt to get data from the cache - // with the key camelized - data = data_user.get( elem, camelKey ); - if ( data !== undefined ) { - return data; - } - - // Attempt to "discover" the data in - // HTML5 custom data-* attrs - data = dataAttr( elem, camelKey, undefined ); - if ( data !== undefined ) { - return data; - } - - // We tried really hard, but the data doesn't exist. - return; - } - - // Set the data... - this.each(function() { - // First, attempt to store a copy or reference of any - // data that might've been store with a camelCased key. - var data = data_user.get( this, camelKey ); - - // For HTML5 data-* attribute interop, we have to - // store property names with dashes in a camelCase form. - // This might not apply to all properties...* - data_user.set( this, camelKey, value ); - - // *... In the case of properties that might _actually_ - // have dashes, we need to also store a copy of that - // unchanged property. - if ( key.indexOf("-") !== -1 && data !== undefined ) { - data_user.set( this, key, value ); - } - }); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each(function() { - data_user.remove( this, key ); - }); - } -}); - - -jQuery.extend({ - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = data_priv.get( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray( data ) ) { - queue = data_priv.access( elem, type, jQuery.makeArray(data) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // Clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return data_priv.get( elem, key ) || data_priv.access( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - data_priv.remove( elem, [ type + "queue", key ] ); - }) - }); - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); - } - - return data === undefined ? - this : - this.each(function() { - var queue = jQuery.queue( this, type, data ); - - // Ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = data_priv.get( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -}); -var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var isHidden = function( elem, el ) { - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); - }; - -var rcheckableType = (/^(?:checkbox|radio)$/i); - - - -(function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Safari<=5.1 - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Safari<=5.1, Android<4.2 - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<=11+ - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = "<textarea>x</textarea>"; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; -})(); -var strundefined = typeof undefined; - - - -support.focusinBubbles = "onfocusin" in window; - - -var - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - - var handleObjIn, eventHandle, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = data_priv.get( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { - events = elemData.events = {}; - } - if ( !(eventHandle = elemData.handle) ) { - eventHandle = elemData.handle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ? - jQuery.event.dispatch.apply( elem, arguments ) : undefined; - }; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend({ - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - - var j, origCount, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = data_priv.hasData( elem ) && data_priv.get( elem ); - - if ( !elemData || !(events = elemData.events) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - data_priv.remove( elem, "events" ); - } - }, - - trigger: function( event, data, elem, onlyHandlers ) { - - var i, cur, tmp, bubbleType, ontype, handle, special, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf(":") < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join("."); - event.namespace_re = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === (elem.ownerDocument || document) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { - - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( data_priv.get( cur, "events" ) || {} )[ event.type ] && data_priv.get( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && jQuery.acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && - jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - elem[ type ](); - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, j, ret, matched, handleObj, - handlerQueue = [], - args = slice.call( arguments ), - handlers = ( data_priv.get( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[0] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or 2) have namespace(s) - // a subset or equal to those in the bound event (both can have no namespace). - if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) - .apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( (event.result = ret) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var i, matches, sel, handleObj, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - // Black-hole SVG <use> instance trees (#13180) - // Avoid non-left-click bubbling in Firefox (#3861) - if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { - - for ( ; cur !== this; cur = cur.parentNode || this ) { - - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.disabled !== true || event.type !== "click" ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); - } - - return handlerQueue; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function( event, original ) { - var eventDoc, doc, body, - button = original.button; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: Cordova 2.5 (WebKit) (#13255) - // All events should have a target; Cordova deviceready doesn't - if ( !event.target ) { - event.target = document; - } - - // Support: Safari 6.0+, Chrome<28 - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - special: { - load: { - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - focus: { - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== safeActiveElement() && this.focus ) { - this.focus(); - return false; - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === safeActiveElement() && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - click: { - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { - this.click(); - return false; - } - }, - - // For cross-browser consistency, don't fire native .click() on links - _default: function( event ) { - return jQuery.nodeName( event.target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - }, - - simulate: function( type, elem, event, bubble ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true, - originalEvent: {} - } - ); - if ( bubble ) { - jQuery.event.trigger( e, null, elem ); - } else { - jQuery.event.dispatch.call( elem, e ); - } - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } - } -}; - -jQuery.removeEvent = function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } -}; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - // Support: Android<4.0 - src.returnValue === false ? - returnTrue : - returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - - if ( e && e.preventDefault ) { - e.preventDefault(); - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - - if ( e && e.stopPropagation ) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && e.stopImmediatePropagation ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -// Support: Chrome 15+ -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !jQuery.contains( target, related )) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -}); - -// Support: Firefox, Chrome, Safari -// Create "bubbling" focus and blur events -if ( !support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - var doc = this.ownerDocument || this, - attaches = data_priv.access( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - data_priv.access( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this, - attaches = data_priv.access( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - data_priv.remove( doc, fix ); - - } else { - data_priv.access( doc, fix, attaches ); - } - } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var origFn, type; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - this.on( type, selector, data, types[ type ], one ); - } - return this; - } - - if ( data == null && fn == null ) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return this.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - }); - }, - one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each(function() { - jQuery.event.remove( this, types, fn, selector ); - }); - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - triggerHandler: function( type, data ) { - var elem = this[0]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -}); - - -var - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rhtml = /<|&#?\w+;/, - rnoInnerhtml = /<(?:script|style|link)/i, - // checked="checked" or checked - rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, - rscriptType = /^$|\/(?:java|ecma)script/i, - rscriptTypeMasked = /^true\/(.*)/, - rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - - // Support: IE9 - option: [ 1, "<select multiple='multiple'>", "</select>" ], - - thead: [ 1, "<table>", "</table>" ], - col: [ 2, "<table><colgroup>", "</colgroup></table>" ], - tr: [ 2, "<table><tbody>", "</tbody></table>" ], - td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], - - _default: [ 0, "", "" ] - }; - -// Support: IE9 -wrapMap.optgroup = wrapMap.option; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// Support: 1.x compatibility -// Manipulating tables requires a tbody -function manipulationTarget( elem, content ) { - return jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? - - elem.getElementsByTagName("tbody")[0] || - elem.appendChild( elem.ownerDocument.createElement("tbody") ) : - elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - - if ( match ) { - elem.type = match[ 1 ]; - } else { - elem.removeAttribute("type"); - } - - return elem; -} - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - data_priv.set( - elems[ i ], "globalEval", !refElements || data_priv.get( refElements[ i ], "globalEval" ) - ); - } -} - -function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; - - if ( dest.nodeType !== 1 ) { - return; - } - - // 1. Copy private data: events, handlers, etc. - if ( data_priv.hasData( src ) ) { - pdataOld = data_priv.access( src ); - pdataCur = data_priv.set( dest, pdataOld ); - events = pdataOld.events; - - if ( events ) { - delete pdataCur.handle; - pdataCur.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - } - - // 2. Copy user data - if ( data_user.hasData( src ) ) { - udataOld = data_user.access( src ); - udataCur = jQuery.extend( {}, udataOld ); - - data_user.set( dest, udataCur ); - } -} - -function getAll( context, tag ) { - var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) : - context.querySelectorAll ? context.querySelectorAll( tag || "*" ) : - []; - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], ret ) : - ret; -} - -// Fix IE bugs, see support tests -function fixInput( src, dest ) { - var nodeName = dest.nodeName.toLowerCase(); - - // Fails to persist the checked state of a cloned checkbox or radio button. - if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - dest.checked = src.checked; - - // Fails to return the selected option to the default selected state when cloning options - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -jQuery.extend({ - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = jQuery.contains( elem.ownerDocument, elem ); - - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - // Return the cloned set - return clone; - }, - - buildFragment: function( elems, context, scripts, selection ) { - var elem, tmp, tag, wrap, contains, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - // Support: QtWebKit, PhantomJS - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement("div") ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[ 2 ]; - - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Support: QtWebKit, PhantomJS - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); - - // Remember the top-level container - tmp = fragment.firstChild; - - // Ensure the created nodes are orphaned (#12392) - tmp.textContent = ""; - } - } - } - - // Remove wrapper from fragment - fragment.textContent = ""; - - i = 0; - while ( (elem = nodes[ i++ ]) ) { - - // #4087 - If origin and destination elements are the same, and this is - // that element, do not do anything - if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - return fragment; - }, - - cleanData: function( elems ) { - var data, elem, type, key, - special = jQuery.event.special, - i = 0; - - for ( ; (elem = elems[ i ]) !== undefined; i++ ) { - if ( jQuery.acceptData( elem ) ) { - key = elem[ data_priv.expando ]; - - if ( key && (data = data_priv.cache[ key ]) ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - if ( data_priv.cache[ key ] ) { - // Discard any remaining `private` data - delete data_priv.cache[ key ]; - } - } - } - // Discard any remaining `user` data - delete data_user.cache[ elem[ data_user.expando ] ]; - } - } -}); - -jQuery.fn.extend({ - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().each(function() { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.textContent = value; - } - }); - }, null, value, arguments.length ); - }, - - append: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - }); - }, - - prepend: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - }); - }, - - before: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - }); - }, - - after: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - }); - }, - - remove: function( selector, keepData /* Internal Use Only */ ) { - var elem, - elems = selector ? jQuery.filter( selector, this ) : this, - i = 0; - - for ( ; (elem = elems[i]) != null; i++ ) { - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem ) ); - } - - if ( elem.parentNode ) { - if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { - setGlobalEval( getAll( elem, "script" ) ); - } - elem.parentNode.removeChild( elem ); - } - } - - return this; - }, - - empty: function() { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - if ( elem.nodeType === 1 ) { - - // Prevent memory leaks - jQuery.cleanData( getAll( elem, false ) ); - - // Remove any remaining nodes - elem.textContent = ""; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map(function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined && elem.nodeType === 1 ) { - return elem.innerHTML; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = value.replace( rxhtmlTag, "<$1></$2>" ); - - try { - for ( ; i < l; i++ ) { - elem = this[ i ] || {}; - - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch( e ) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var arg = arguments[ 0 ]; - - // Make the changes, replacing each context element with the new content - this.domManip( arguments, function( elem ) { - arg = this.parentNode; - - jQuery.cleanData( getAll( this ) ); - - if ( arg ) { - arg.replaceChild( elem, this ); - } - }); - - // Force removal if there was no new content (e.g., from empty arguments) - return arg && (arg.length || arg.nodeType) ? this : this.remove(); - }, - - detach: function( selector ) { - return this.remove( selector, true ); - }, - - domManip: function( args, callback ) { - - // Flatten any nested arrays - args = concat.apply( [], args ); - - var fragment, first, scripts, hasScripts, node, doc, - i = 0, - l = this.length, - set = this, - iNoClone = l - 1, - value = args[ 0 ], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return this.each(function( index ) { - var self = set.eq( index ); - if ( isFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - self.domManip( args, callback ); - }); - } - - if ( l ) { - fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - if ( first ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - // Support: QtWebKit - // jQuery.merge because push.apply(_, arraylike) throws - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( this[ i ], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !data_priv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - - if ( node.src ) { - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); - } - } else { - jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); - } - } - } - } - } - } - - return this; - } -}); - -jQuery.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1, - i = 0; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone( true ); - jQuery( insert[ i ] )[ original ]( elems ); - - // Support: QtWebKit - // .get() because push.apply(_, arraylike) throws - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -}); - - -var iframe, - elemdisplay = {}; - -/** - * Retrieve the actual display of a element - * @param {String} name nodeName of the element - * @param {Object} doc Document object - */ -// Called only from within defaultDisplay -function actualDisplay( name, doc ) { - var style, - elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - - // getDefaultComputedStyle might be reliably used only on attached element - display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? - - // Use of this method is a temporary fix (more like optimization) until something better comes along, - // since it was removed from specification and supported only in FF - style.display : jQuery.css( elem[ 0 ], "display" ); - - // We don't have any data stored on the element, - // so use "detach" method as fast way to get rid of the element - elem.detach(); - - return display; -} - -/** - * Try to determine the default display value of an element - * @param {String} nodeName - */ -function defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - - // Use the already-created iframe if possible - iframe = (iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" )).appendTo( doc.documentElement ); - - // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse - doc = iframe[ 0 ].contentDocument; - - // Support: IE - doc.write(); - doc.close(); - - display = actualDisplay( nodeName, doc ); - iframe.detach(); - } - - // Store the correct default display - elemdisplay[ nodeName ] = display; - } - - return display; -} -var rmargin = (/^margin/); - -var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); - -var getStyles = function( elem ) { - // Support: IE<=11+, Firefox<=30+ (#15098, #14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - if ( elem.ownerDocument.defaultView.opener ) { - return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); - } - - return window.getComputedStyle( elem, null ); - }; - - - -function curCSS( elem, name, computed ) { - var width, minWidth, maxWidth, ret, - style = elem.style; - - computed = computed || getStyles( elem ); - - // Support: IE9 - // getPropertyValue is only needed for .css('filter') (#12537) - if ( computed ) { - ret = computed.getPropertyValue( name ) || computed[ name ]; - } - - if ( computed ) { - - if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { - ret = jQuery.style( elem, name ); - } - - // Support: iOS < 6 - // A tribute to the "awesome hack by Dean Edwards" - // iOS < 6 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels - // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values - if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret !== undefined ? - // Support: IE - // IE returns zIndex value as an integer. - ret + "" : - ret; -} - - -function addGetHookIf( conditionFn, hookFn ) { - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function() { - if ( conditionFn() ) { - // Hook not needed (or it's not possible to use it due - // to missing dependency), remove it. - delete this.get; - return; - } - - // Hook needed; redefine it so that the support test is not executed again. - return (this.get = hookFn).apply( this, arguments ); - } - }; -} - - -(function() { - var pixelPositionVal, boxSizingReliableVal, - docElem = document.documentElement, - container = document.createElement( "div" ), - div = document.createElement( "div" ); - - if ( !div.style ) { - return; - } - - // Support: IE9-11+ - // Style of cloned element affects source element cloned (#8908) - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - container.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;" + - "position:absolute"; - container.appendChild( div ); - - // Executing both pixelPosition & boxSizingReliable tests require only one layout - // so they're executed at the same time to save the second computation. - function computePixelPositionAndBoxSizingReliable() { - div.style.cssText = - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" + - "box-sizing:border-box;display:block;margin-top:1%;top:1%;" + - "border:1px;padding:1px;width:4px;position:absolute"; - div.innerHTML = ""; - docElem.appendChild( container ); - - var divStyle = window.getComputedStyle( div, null ); - pixelPositionVal = divStyle.top !== "1%"; - boxSizingReliableVal = divStyle.width === "4px"; - - docElem.removeChild( container ); - } - - // Support: node.js jsdom - // Don't assume that getComputedStyle is a property of the global object - if ( window.getComputedStyle ) { - jQuery.extend( support, { - pixelPosition: function() { - - // This test is executed only once but we still do memoizing - // since we can use the boxSizingReliable pre-computing. - // No need to check if the test was already performed, though. - computePixelPositionAndBoxSizingReliable(); - return pixelPositionVal; - }, - boxSizingReliable: function() { - if ( boxSizingReliableVal == null ) { - computePixelPositionAndBoxSizingReliable(); - } - return boxSizingReliableVal; - }, - reliableMarginRight: function() { - - // Support: Android 2.3 - // Check if div with explicit width and no margin-right incorrectly - // gets computed margin-right based on width of container. (#3333) - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - // This support function is only executed once so no memoizing is needed. - var ret, - marginDiv = div.appendChild( document.createElement( "div" ) ); - - // Reset CSS: box-sizing; display; margin; border; padding - marginDiv.style.cssText = div.style.cssText = - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + - "box-sizing:content-box;display:block;margin:0;border:0;padding:0"; - marginDiv.style.marginRight = marginDiv.style.width = "0"; - div.style.width = "1px"; - docElem.appendChild( container ); - - ret = !parseFloat( window.getComputedStyle( marginDiv, null ).marginRight ); - - docElem.removeChild( container ); - div.removeChild( marginDiv ); - - return ret; - } - }); - } -})(); - - -// A method for quickly swapping in/out CSS properties to get correct calculations. -jQuery.swap = function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - -var - // Swappable if display is none or starts with table except "table", "table-cell", or "table-caption" - // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ), - rrelNum = new RegExp( "^([+-])=(" + pnum + ")", "i" ), - - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }, - - cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; - -// Return a css property mapped to a potentially vendor prefixed property -function vendorPropName( style, name ) { - - // Shortcut for names that are not vendor prefixed - if ( name in style ) { - return name; - } - - // Check for vendor prefixed names - var capName = name[0].toUpperCase() + name.slice(1), - origName = name, - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in style ) { - return name; - } - } - - return origName; -} - -function setPositiveNumber( elem, value, subtract ) { - var matches = rnumsplit.exec( value ); - return matches ? - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : - value; -} - -function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { - var i = extra === ( isBorderBox ? "border" : "content" ) ? - // If we already have the right measurement, avoid augmentation - 4 : - // Otherwise initialize for horizontal or vertical properties - name === "width" ? 1 : 0, - - val = 0; - - for ( ; i < 4; i += 2 ) { - // Both box models exclude margin, so add it if we want it - if ( extra === "margin" ) { - val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); - } - - if ( isBorderBox ) { - // border-box includes padding, so remove it if we want content - if ( extra === "content" ) { - val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // At this point, extra isn't border nor margin, so remove border - if ( extra !== "margin" ) { - val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } else { - // At this point, extra isn't content, so add padding - val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // At this point, extra isn't content nor padding, so add border - if ( extra !== "padding" ) { - val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - return val; -} - -function getWidthOrHeight( elem, name, extra ) { - - // Start with offset property, which is equivalent to the border-box value - var valueIsBorderBox = true, - val = name === "width" ? elem.offsetWidth : elem.offsetHeight, - styles = getStyles( elem ), - isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // Some non-html elements return undefined for offsetWidth, so check for null/undefined - // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 - // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 - if ( val <= 0 || val == null ) { - // Fall back to computed then uncomputed css if necessary - val = curCSS( elem, name, styles ); - if ( val < 0 || val == null ) { - val = elem.style[ name ]; - } - - // Computed unit is not pixels. Stop here and return. - if ( rnumnonpx.test(val) ) { - return val; - } - - // Check for style in case a browser which returns unreliable values - // for getComputedStyle silently falls back to the reliable elem.style - valueIsBorderBox = isBorderBox && - ( support.boxSizingReliable() || val === elem.style[ name ] ); - - // Normalize "", auto, and prepare for extra - val = parseFloat( val ) || 0; - } - - // Use the active box-sizing model to add/subtract irrelevant styles - return ( val + - augmentWidthOrHeight( - elem, - name, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles - ) - ) + "px"; -} - -function showHide( elements, show ) { - var display, elem, hidden, - values = [], - index = 0, - length = elements.length; - - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - values[ index ] = data_priv.get( elem, "olddisplay" ); - display = elem.style.display; - if ( show ) { - // Reset the inline display of this element to learn if it is - // being hidden by cascaded rules or not - if ( !values[ index ] && display === "none" ) { - elem.style.display = ""; - } - - // Set elements which have been overridden with display: none - // in a stylesheet to whatever the default browser style is - // for such an element - if ( elem.style.display === "" && isHidden( elem ) ) { - values[ index ] = data_priv.access( elem, "olddisplay", defaultDisplay(elem.nodeName) ); - } - } else { - hidden = isHidden( elem ); - - if ( display !== "none" || !hidden ) { - data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); - } - } - } - - // Set the display of most of the elements in a second loop - // to avoid the constant reflow - for ( index = 0; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - if ( !show || elem.style.display === "none" || elem.style.display === "" ) { - elem.style.display = show ? values[ index ] || "" : "none"; - } - } - - return elements; -} - -jQuery.extend({ - - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: { - "float": "cssFloat" - }, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = jQuery.camelCase( name ), - style = elem.style; - - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); - - // Gets hook for the prefixed version, then unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // Convert "+=" or "-=" to relative numbers (#7345) - if ( type === "string" && (ret = rrelNum.exec( value )) ) { - value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); - // Fixes bug #9237 - type = "number"; - } - - // Make sure that null and NaN values aren't set (#7116) - if ( value == null || value !== value ) { - return; - } - - // If a number, add 'px' to the (except for certain CSS properties) - if ( type === "number" && !jQuery.cssNumber[ origName ] ) { - value += "px"; - } - - // Support: IE9-11+ - // background-* props affect original clone's values - if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { - style[ name ] = value; - } - - } else { - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var val, num, hooks, - origName = jQuery.camelCase( name ); - - // Make sure that we're working with the right name - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); - - // Try prefixed name followed by the unprefixed name - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - // Convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Make numeric if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; - } - return val; - } -}); - -jQuery.each([ "height", "width" ], function( i, name ) { - jQuery.cssHooks[ name ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - - // Certain elements can have dimension info if we invisibly show them - // but it must have a current display style that would benefit - return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ? - jQuery.swap( elem, cssShow, function() { - return getWidthOrHeight( elem, name, extra ); - }) : - getWidthOrHeight( elem, name, extra ); - } - }, - - set: function( elem, value, extra ) { - var styles = extra && getStyles( elem ); - return setPositiveNumber( elem, value, extra ? - augmentWidthOrHeight( - elem, - name, - extra, - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - styles - ) : 0 - ); - } - }; -}); - -// Support: Android 2.3 -jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight, - function( elem, computed ) { - if ( computed ) { - return jQuery.swap( elem, { "display": "inline-block" }, - curCSS, [ elem, "marginRight" ] ); - } - } -); - -// These hooks are used by animate to expand properties -jQuery.each({ - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // Assumes a single number if not a string - parts = typeof value === "string" ? value.split(" ") : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( !rmargin.test( prefix ) ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -}); - -jQuery.fn.extend({ - css: function( name, value ) { - return access( this, function( elem, name, value ) { - var styles, len, - map = {}, - i = 0; - - if ( jQuery.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - }, - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each(function() { - if ( isHidden( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - }); - } -}); - - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || "swing"; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - if ( tween.elem[ tween.prop ] != null && - (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { - return tween.elem[ tween.prop ]; - } - - // Passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails. - // Simple values such as "10px" are parsed to Float; - // complex values such as "rotate(1rad)" are returned as-is. - result = jQuery.css( tween.elem, tween.prop, "" ); - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - // Use step hook for back compat. - // Use cssHook if its there. - // Use .style if available and use plain properties where available. - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Support: IE9 -// Panic based approach to setting things on disconnected nodes -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p * Math.PI ) / 2; - } -}; - -jQuery.fx = Tween.prototype.init; - -// Back Compat <1.8 extension point -jQuery.fx.step = {}; - - - - -var - fxNow, timerId, - rfxtypes = /^(?:toggle|show|hide)$/, - rfxnum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ), - rrun = /queueHooks$/, - animationPrefilters = [ defaultPrefilter ], - tweeners = { - "*": [ function( prop, value ) { - var tween = this.createTween( prop, value ), - target = tween.cur(), - parts = rfxnum.exec( value ), - unit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - start = ( jQuery.cssNumber[ prop ] || unit !== "px" && +target ) && - rfxnum.exec( jQuery.css( tween.elem, prop ) ), - scale = 1, - maxIterations = 20; - - if ( start && start[ 3 ] !== unit ) { - // Trust units reported by jQuery.css - unit = unit || start[ 3 ]; - - // Make sure we update the tween properties later on - parts = parts || []; - - // Iteratively approximate from a nonzero starting point - start = +target || 1; - - do { - // If previous iteration zeroed out, double until we get *something*. - // Use string for doubling so we don't accidentally see scale as unchanged below - scale = scale || ".5"; - - // Adjust and apply - start = start / scale; - jQuery.style( tween.elem, prop, start + unit ); - - // Update scale, tolerating zero or NaN from tween.cur(), - // break the loop if scale is unchanged or perfect, or if we've just had enough - } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); - } - - // Update tween properties - if ( parts ) { - start = tween.start = +start || +target || 0; - tween.unit = unit; - // If a +=/-= token was provided, we're doing a relative animation - tween.end = parts[ 1 ] ? - start + ( parts[ 1 ] + 1 ) * parts[ 2 ] : - +parts[ 2 ]; - } - - return tween; - } ] - }; - -// Animations created synchronously will run synchronously -function createFxNow() { - setTimeout(function() { - fxNow = undefined; - }); - return ( fxNow = jQuery.now() ); -} - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - i = 0, - attrs = { height: type }; - - // If we include width, step value is 1 to do all cssExpand values, - // otherwise step value is 2 to skip over Left and Right - includeWidth = includeWidth ? 1 : 0; - for ( ; i < 4 ; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -function createTween( value, prop, animation ) { - var tween, - collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( (tween = collection[ index ].call( animation, prop, value )) ) { - - // We're done with this property - return tween; - } - } -} - -function defaultPrefilter( elem, props, opts ) { - /* jshint validthis: true */ - var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHidden( elem ), - dataShow = data_priv.get( elem, "fxshow" ); - - // Handle queue: false promises - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always(function() { - // Ensure the complete handler is called before this completes - anim.always(function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - }); - }); - } - - // Height/width overflow pass - if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { - // Make sure that nothing sneaks out - // Record all 3 overflow attributes because IE9-10 do not - // change the overflow attribute when overflowX and - // overflowY are set to the same value - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Set display property to inline-block for height/width - // animations on inline elements that are having width/height animated - display = jQuery.css( elem, "display" ); - - // Test default display if display is currently "none" - checkDisplay = display === "none" ? - data_priv.get( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display; - - if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) { - style.display = "inline-block"; - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - anim.always(function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - }); - } - - // show/hide pass - for ( prop in props ) { - value = props[ prop ]; - if ( rfxtypes.exec( value ) ) { - delete props[ prop ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - - // If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden - if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { - hidden = true; - } else { - continue; - } - } - orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); - - // Any non-fx value stops us from restoring the original display value - } else { - display = undefined; - } - } - - if ( !jQuery.isEmptyObject( orig ) ) { - if ( dataShow ) { - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - } else { - dataShow = data_priv.access( elem, "fxshow", {} ); - } - - // Store state if its toggle - enables .stop().toggle() to "reverse" - if ( toggle ) { - dataShow.hidden = !hidden; - } - if ( hidden ) { - jQuery( elem ).show(); - } else { - anim.done(function() { - jQuery( elem ).hide(); - }); - } - anim.done(function() { - var prop; - - data_priv.remove( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - }); - for ( prop in orig ) { - tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); - - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = tween.start; - if ( hidden ) { - tween.end = tween.start; - tween.start = prop === "width" || prop === "height" ? 1 : 0; - } - } - } - - // If this is a noop like .hide().hide(), restore an overwritten display value - } else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) { - style.display = display; - } -} - -function propFilter( props, specialEasing ) { - var index, name, easing, value, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = jQuery.camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( jQuery.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // Not quite $.extend, this won't overwrite existing keys. - // Reusing 'index' because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = animationPrefilters.length, - deferred = jQuery.Deferred().always( function() { - // Don't match elem in the :animated selector - delete tick.elem; - }), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - // Support: Android 2.3 - // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length ; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ]); - - if ( percent < 1 && length ) { - return remaining; - } else { - deferred.resolveWith( elem, [ animation ] ); - return false; - } - }, - animation = deferred.promise({ - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { specialEasing: {} }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - // If we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length ; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // Resolve when we played the last frame; otherwise, reject - if ( gotoEnd ) { - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - }), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length ; index++ ) { - result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - return result; - } - } - - jQuery.map( props, createTween, animation ); - - if ( jQuery.isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - }) - ); - - // attach callbacks from options - return animation.progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); -} - -jQuery.Animation = jQuery.extend( Animation, { - - tweener: function( props, callback ) { - if ( jQuery.isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.split(" "); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length ; index++ ) { - prop = props[ index ]; - tweeners[ prop ] = tweeners[ prop ] || []; - tweeners[ prop ].unshift( callback ); - } - }, - - prefilter: function( callback, prepend ) { - if ( prepend ) { - animationPrefilters.unshift( callback ); - } else { - animationPrefilters.push( callback ); - } - } -}); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - jQuery.isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing - }; - - opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : - opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; - - // Normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( jQuery.isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.fn.extend({ - fadeTo: function( speed, to, easing, callback ) { - - // Show any hidden elements after setting opacity to 0 - return this.filter( isHidden ).css( "opacity", 0 ).show() - - // Animate to the value specified - .end().animate({ opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - - // Empty animations, or finishing resolves immediately - if ( empty || data_priv.get( this, "finish" ) ) { - anim.stop( true ); - } - }; - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue && type !== false ) { - this.queue( type || "fx", [] ); - } - - return this.each(function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = data_priv.get( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // Start the next in the queue if the last step wasn't forced. - // Timers currently will call their complete callbacks, which - // will dequeue but only if they were gotoEnd. - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - }); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each(function() { - var index, - data = data_priv.get( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // Enable finishing flag on private data - data.finish = true; - - // Empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.stop ) { - hooks.stop.call( this, true ); - } - - // Look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // Look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // Turn off finishing flag - delete data.finish; - }); - } -}); - -jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -}); - -// Generate shortcuts for custom animations -jQuery.each({ - slideDown: genFx("show"), - slideUp: genFx("hide"), - slideToggle: genFx("toggle"), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -}); - -jQuery.timers = []; -jQuery.fx.tick = function() { - var timer, - i = 0, - timers = jQuery.timers; - - fxNow = jQuery.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - // Checks the timer has not already been removed - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - jQuery.timers.push( timer ); - if ( timer() ) { - jQuery.fx.start(); - } else { - jQuery.timers.pop(); - } -}; - -jQuery.fx.interval = 13; - -jQuery.fx.start = function() { - if ( !timerId ) { - timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); - } -}; - -jQuery.fx.stop = function() { - clearInterval( timerId ); - timerId = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - // Default speed - _default: 400 -}; - - -// Based off of the plugin by Clint Helfers, with permission. -// http://blindsignals.com/index.php/2009/07/jquery-delay/ -jQuery.fn.delay = function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = setTimeout( next, time ); - hooks.stop = function() { - clearTimeout( timeout ); - }; - }); -}; - - -(function() { - var input = document.createElement( "input" ), - select = document.createElement( "select" ), - opt = select.appendChild( document.createElement( "option" ) ); - - input.type = "checkbox"; - - // Support: iOS<=5.1, Android<=4.2+ - // Default value for a checkbox should be "on" - support.checkOn = input.value !== ""; - - // Support: IE<=11+ - // Must access selectedIndex to make default options select - support.optSelected = opt.selected; - - // Support: Android<=2.3 - // Options inside disabled selects are incorrectly marked as disabled - select.disabled = true; - support.optDisabled = !opt.disabled; - - // Support: IE<=11+ - // An input loses its value after becoming a radio - input = document.createElement( "input" ); - input.value = "t"; - input.type = "radio"; - support.radioValue = input.value === "t"; -})(); - - -var nodeHook, boolHook, - attrHandle = jQuery.expr.attrHandle; - -jQuery.fn.extend({ - attr: function( name, value ) { - return access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each(function() { - jQuery.removeAttr( this, name ); - }); - } -}); - -jQuery.extend({ - attr: function( elem, name, value ) { - var hooks, ret, - nType = elem.nodeType; - - // don't get/set attributes on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === strundefined ) { - return jQuery.prop( elem, name, value ); - } - - // All attributes are lowercase - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - name = name.toLowerCase(); - hooks = jQuery.attrHooks[ name ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook ); - } - - if ( value !== undefined ) { - - if ( value === null ) { - jQuery.removeAttr( elem, name ); - - } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - elem.setAttribute( name, value + "" ); - return value; - } - - } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { - return ret; - - } else { - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? - undefined : - ret; - } - }, - - removeAttr: function( elem, value ) { - var name, propName, - i = 0, - attrNames = value && value.match( rnotwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( (name = attrNames[i++]) ) { - propName = jQuery.propFix[ name ] || name; - - // Boolean attributes get special treatment (#10870) - if ( jQuery.expr.match.bool.test( name ) ) { - // Set corresponding property to false - elem[ propName ] = false; - } - - elem.removeAttribute( name ); - } - } - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !support.radioValue && value === "radio" && - jQuery.nodeName( elem, "input" ) ) { - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - } -}); - -// Hooks for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else { - elem.setAttribute( name, name ); - } - return name; - } -}; -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { - var getter = attrHandle[ name ] || jQuery.find.attr; - - attrHandle[ name ] = function( elem, name, isXML ) { - var ret, handle; - if ( !isXML ) { - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[ name ]; - attrHandle[ name ] = ret; - ret = getter( elem, name, isXML ) != null ? - name.toLowerCase() : - null; - attrHandle[ name ] = handle; - } - return ret; - }; -}); - - - - -var rfocusable = /^(?:input|select|textarea|button)$/i; - -jQuery.fn.extend({ - prop: function( name, value ) { - return access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - return this.each(function() { - delete this[ jQuery.propFix[ name ] || name ]; - }); - } -}); - -jQuery.extend({ - propFix: { - "for": "htmlFor", - "class": "className" - }, - - prop: function( elem, name, value ) { - var ret, hooks, notxml, - nType = elem.nodeType; - - // Don't get/set properties on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - if ( notxml ) { - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ? - ret : - ( elem[ name ] = value ); - - } else { - return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ? - ret : - elem[ name ]; - } - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - return elem.hasAttribute( "tabindex" ) || rfocusable.test( elem.nodeName ) || elem.href ? - elem.tabIndex : - -1; - } - } - } -}); - -if ( !support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - var parent = elem.parentNode; - if ( parent && parent.parentNode ) { - parent.parentNode.selectedIndex; - } - return null; - } - }; -} - -jQuery.each([ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -}); - - - - -var rclass = /[\t\r\n\f]/g; - -jQuery.fn.extend({ - addClass: function( value ) { - var classes, elem, cur, clazz, j, finalValue, - proceed = typeof value === "string" && value, - i = 0, - len = this.length; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).addClass( value.call( this, j, this.className ) ); - }); - } - - if ( proceed ) { - // The disjunction here is for better compressibility (see removeClass) - classes = ( value || "" ).match( rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - " " - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - - // only assign if different to avoid unneeded rendering. - finalValue = jQuery.trim( cur ); - if ( elem.className !== finalValue ) { - elem.className = finalValue; - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, clazz, j, finalValue, - proceed = arguments.length === 0 || typeof value === "string" && value, - i = 0, - len = this.length; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).removeClass( value.call( this, j, this.className ) ); - }); - } - if ( proceed ) { - classes = ( value || "" ).match( rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - "" - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = value ? jQuery.trim( cur ) : ""; - if ( elem.className !== finalValue ) { - elem.className = finalValue; - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value; - - if ( typeof stateVal === "boolean" && type === "string" ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - if ( jQuery.isFunction( value ) ) { - return this.each(function( i ) { - jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); - }); - } - - return this.each(function() { - if ( type === "string" ) { - // Toggle individual class names - var className, - i = 0, - self = jQuery( this ), - classNames = value.match( rnotwhite ) || []; - - while ( (className = classNames[ i++ ]) ) { - // Check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( type === strundefined || type === "boolean" ) { - if ( this.className ) { - // store className if set - data_priv.set( this, "__className__", this.className ); - } - - // If the element has a class name or if we're passed `false`, - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - this.className = this.className || value === false ? "" : data_priv.get( this, "__className__" ) || ""; - } - }); - }, - - hasClass: function( selector ) { - var className = " " + selector + " ", - i = 0, - l = this.length; - for ( ; i < l; i++ ) { - if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { - return true; - } - } - - return false; - } -}); - - - - -var rreturn = /\r/g; - -jQuery.fn.extend({ - val: function( value ) { - var hooks, ret, isFunction, - elem = this[0]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { - return ret; - } - - ret = elem.value; - - return typeof ret === "string" ? - // Handle most common string cases - ret.replace(rreturn, "") : - // Handle cases where value is null/undef or number - ret == null ? "" : ret; - } - - return; - } - - isFunction = jQuery.isFunction( value ); - - return this.each(function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - - } else if ( typeof val === "number" ) { - val += ""; - - } else if ( jQuery.isArray( val ) ) { - val = jQuery.map( val, function( value ) { - return value == null ? "" : value + ""; - }); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - }); - } -}); - -jQuery.extend({ - valHooks: { - option: { - get: function( elem ) { - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - // Support: IE10-11+ - // option.text throws exceptions (#14686, #14858) - jQuery.trim( jQuery.text( elem ) ); - } - }, - select: { - get: function( elem ) { - var value, option, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one" || index < 0, - values = one ? null : [], - max = one ? index + 1 : options.length, - i = index < 0 ? - max : - one ? index : 0; - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // IE6-9 doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - // Don't return options that are disabled or in a disabled optgroup - ( support.optDisabled ? !option.disabled : option.getAttribute( "disabled" ) === null ) && - ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - if ( (option.selected = jQuery.inArray( option.value, values ) >= 0) ) { - optionSet = true; - } - } - - // Force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - return values; - } - } - } -}); - -// Radios and checkboxes getter/setter -jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( jQuery.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); - } - } - }; - if ( !support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - return elem.getAttribute("value") === null ? "on" : elem.value; - }; - } -}); - - - - -// Return jQuery for attributes-only inclusion - - -jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + - "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + - "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - return arguments.length > 0 ? - this.on( name, null, data, fn ) : - this.trigger( name ); - }; -}); - -jQuery.fn.extend({ - hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); - }, - - bind: function( types, data, fn ) { - return this.on( types, null, data, fn ); - }, - unbind: function( types, fn ) { - return this.off( types, null, fn ); - }, - - delegate: function( selector, types, data, fn ) { - return this.on( types, selector, data, fn ); - }, - undelegate: function( selector, types, fn ) { - // ( namespace ) or ( selector, types [, fn] ) - return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); - } -}); - - -var nonce = jQuery.now(); - -var rquery = (/\?/); - - - -// Support: Android 2.3 -// Workaround failure to string-cast null input -jQuery.parseJSON = function( data ) { - return JSON.parse( data + "" ); -}; - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml, tmp; - if ( !data || typeof data !== "string" ) { - return null; - } - - // Support: IE9 - try { - tmp = new DOMParser(); - xml = tmp.parseFromString( data, "text/xml" ); - } catch ( e ) { - xml = undefined; - } - - if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); - } - return xml; -}; - - -var - rhash = /#.*$/, - rts = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - rurl = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat( "*" ), - - // Document location - ajaxLocation = window.location.href, - - // Segment location into parts - ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || []; - - if ( jQuery.isFunction( func ) ) { - // For each dataType in the dataTypeExpression - while ( (dataType = dataTypes[i++]) ) { - // Prepend if requested - if ( dataType[0] === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - (structure[ dataType ] = structure[ dataType ] || []).unshift( func ); - - // Otherwise append - } else { - (structure[ dataType ] = structure[ dataType ] || []).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if ( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - }); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var key, deep, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -/* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - - var ct, type, finalDataType, firstDataType, - contents = s.contents, - dataTypes = s.dataTypes; - - // Remove auto dataType and get content-type in the process - while ( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -/* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ -function ajaxConvert( s, response, jqXHR, isSuccess ) { - var conv2, current, conv, tmp, prev, - converters = {}, - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - current = dataTypes.shift(); - - // Convert to each sequential dataType - while ( current ) { - - if ( s.responseFields[ current ] ) { - jqXHR[ s.responseFields[ current ] ] = response; - } - - // Apply the dataFilter if provided - if ( !prev && isSuccess && s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - prev = current; - current = dataTypes.shift(); - - if ( current ) { - - // There's only work to do if current dataType is non-auto - if ( current === "*" ) { - - current = prev; - - // Convert response if prev dataType is non-auto and differs from current - } else if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split( " " ); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.unshift( tmp[ 1 ] ); - } - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s[ "throws" ] ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; - } - } - } - } - } - } - - return { state: "success", data: response }; -} - -jQuery.extend({ - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: ajaxLocation, - type: "GET", - isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /xml/, - html: /html/, - json: /json/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": jQuery.parseJSON, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var transport, - // URL without anti-cache param - cacheURL, - // Response headers - responseHeadersString, - responseHeaders, - // timeout handle - timeoutTimer, - // Cross-domain detection vars - parts, - // To know if global events are to be dispatched - fireGlobals, - // Loop variable - i, - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - // Callbacks context - callbackContext = s.context || s, - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks("once memory"), - // Status-dependent callbacks - statusCode = s.statusCode || {}, - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - // The jqXHR state - state = 0, - // Default abort message - strAbort = "canceled", - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( state === 2 ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( (match = rheaders.exec( responseHeadersString )) ) { - responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; - } - } - match = responseHeaders[ key.toLowerCase() ]; - } - return match == null ? null : match; - }, - - // Raw string - getAllResponseHeaders: function() { - return state === 2 ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - var lname = name.toLowerCase(); - if ( !state ) { - name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( !state ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( state < 2 ) { - for ( code in map ) { - // Lazy-add the new callback in a way that preserves old ones - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } else { - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ).complete = completeDeferred.add; - jqXHR.success = jqXHR.done; - jqXHR.error = jqXHR.fail; - - // Remove hash character (#7531: and string promotion) - // Add protocol if not provided (prefilters might expect it) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ) - .replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ]; - - // A cross-domain request is in order when we have a protocol:host:port mismatch - if ( s.crossDomain == null ) { - parts = rurl.exec( s.url.toLowerCase() ); - s.crossDomain = !!( parts && - ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] || - ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !== - ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) ) - ); - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( state === 2 ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) - fireGlobals = jQuery.event && s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger("ajaxStart"); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - cacheURL = s.url; - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // If data is available, append data to url - if ( s.data ) { - cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data ); - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add anti-cache in url if needed - if ( s.cache === false ) { - s.url = rts.test( cacheURL ) ? - - // If there is already a '_' parameter, set its value - cacheURL.replace( rts, "$1_=" + nonce++ ) : - - // Otherwise add one to the end - cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++; - } - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? - s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { - // Abort if not done already and return - return jqXHR.abort(); - } - - // Aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - for ( i in { success: 1, error: 1, complete: 1 } ) { - jqXHR[ i ]( s[ i ] ); - } - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = setTimeout(function() { - jqXHR.abort("timeout"); - }, s.timeout ); - } - - try { - state = 1; - transport.send( requestHeaders, done ); - } catch ( e ) { - // Propagate exception as error if not done - if ( state < 2 ) { - done( -1, e ); - // Simply rethrow otherwise - } else { - throw e; - } - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Called once - if ( state === 2 ) { - return; - } - - // State is "done" now - state = 2; - - // Clear timeout if it exists - if ( timeoutTimer ) { - clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Determine if successful - isSuccess = status >= 200 && status < 300 || status === 304; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // Convert no matter what (that way responseXXX fields are always set) - response = ajaxConvert( s, response, jqXHR, isSuccess ); - - // If successful, handle type chaining - if ( isSuccess ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader("Last-Modified"); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader("etag"); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 || s.type === "HEAD" ) { - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - // Extract error from statusText and normalize for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger("ajaxStop"); - } - } - } - - return jqXHR; - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - } -}); - -jQuery.each( [ "get", "post" ], function( i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - // Shift arguments if data argument was omitted - if ( jQuery.isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - return jQuery.ajax({ - url: url, - type: method, - dataType: type, - data: data, - success: callback - }); - }; -}); - - -jQuery._evalUrl = function( url ) { - return jQuery.ajax({ - url: url, - type: "GET", - dataType: "script", - async: false, - global: false, - "throws": true - }); -}; - - -jQuery.fn.extend({ - wrapAll: function( html ) { - var wrap; - - if ( jQuery.isFunction( html ) ) { - return this.each(function( i ) { - jQuery( this ).wrapAll( html.call(this, i) ); - }); - } - - if ( this[ 0 ] ) { - - // The elements to wrap the target around - wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); - - if ( this[ 0 ].parentNode ) { - wrap.insertBefore( this[ 0 ] ); - } - - wrap.map(function() { - var elem = this; - - while ( elem.firstElementChild ) { - elem = elem.firstElementChild; - } - - return elem; - }).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function( i ) { - jQuery( this ).wrapInner( html.call(this, i) ); - }); - } - - return this.each(function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - }); - }, - - wrap: function( html ) { - var isFunction = jQuery.isFunction( html ); - - return this.each(function( i ) { - jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); - }); - }, - - unwrap: function() { - return this.parent().each(function() { - if ( !jQuery.nodeName( this, "body" ) ) { - jQuery( this ).replaceWith( this.childNodes ); - } - }).end(); - } -}); - - -jQuery.expr.filters.hidden = function( elem ) { - // Support: Opera <= 12.12 - // Opera reports offsetWidths and offsetHeights less than zero on some elements - return elem.offsetWidth <= 0 && elem.offsetHeight <= 0; -}; -jQuery.expr.filters.visible = function( elem ) { - return !jQuery.expr.filters.hidden( elem ); -}; - - - - -var r20 = /%20/g, - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( jQuery.isArray( obj ) ) { - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - // Item is non-scalar (array or object), encode its numeric index. - buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); - } - }); - - } else if ( !traditional && jQuery.type( obj ) === "object" ) { - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - // Serialize scalar item. - add( prefix, obj ); - } -} - -// Serialize an array of form elements or a set of -// key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, value ) { - // If value is a function, invoke it and return its value - value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); - s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); - }; - - // Set traditional to true for jQuery <= 1.3.2 behavior. - if ( traditional === undefined ) { - traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - }); - - } else { - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ).replace( r20, "+" ); -}; - -jQuery.fn.extend({ - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map(function() { - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - }) - .filter(function() { - var type = this.type; - - // Use .is( ":disabled" ) so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !rcheckableType.test( type ) ); - }) - .map(function( i, elem ) { - var val = jQuery( this ).val(); - - return val == null ? - null : - jQuery.isArray( val ) ? - jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }) : - { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }).get(); - } -}); - - -jQuery.ajaxSettings.xhr = function() { - try { - return new XMLHttpRequest(); - } catch( e ) {} -}; - -var xhrId = 0, - xhrCallbacks = {}, - xhrSuccessStatus = { - // file protocol always yields status code 0, assume 200 - 0: 200, - // Support: IE9 - // #1450: sometimes IE returns 1223 when it should be 204 - 1223: 204 - }, - xhrSupported = jQuery.ajaxSettings.xhr(); - -// Support: IE9 -// Open requests must be manually aborted on unload (#5280) -// See https://support.microsoft.com/kb/2856746 for more info -if ( window.attachEvent ) { - window.attachEvent( "onunload", function() { - for ( var key in xhrCallbacks ) { - xhrCallbacks[ key ](); - } - }); -} - -support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -support.ajax = xhrSupported = !!xhrSupported; - -jQuery.ajaxTransport(function( options ) { - var callback; - - // Cross domain only allowed if supported through XMLHttpRequest - if ( support.cors || xhrSupported && !options.crossDomain ) { - return { - send: function( headers, complete ) { - var i, - xhr = options.xhr(), - id = ++xhrId; - - xhr.open( options.type, options.url, options.async, options.username, options.password ); - - // Apply custom fields if provided - if ( options.xhrFields ) { - for ( i in options.xhrFields ) { - xhr[ i ] = options.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( options.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( options.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !options.crossDomain && !headers["X-Requested-With"] ) { - headers["X-Requested-With"] = "XMLHttpRequest"; - } - - // Set headers - for ( i in headers ) { - xhr.setRequestHeader( i, headers[ i ] ); - } - - // Callback - callback = function( type ) { - return function() { - if ( callback ) { - delete xhrCallbacks[ id ]; - callback = xhr.onload = xhr.onerror = null; - - if ( type === "abort" ) { - xhr.abort(); - } else if ( type === "error" ) { - complete( - // file: protocol always yields status 0; see #8605, #14207 - xhr.status, - xhr.statusText - ); - } else { - complete( - xhrSuccessStatus[ xhr.status ] || xhr.status, - xhr.statusText, - // Support: IE9 - // Accessing binary-data responseText throws an exception - // (#11426) - typeof xhr.responseText === "string" ? { - text: xhr.responseText - } : undefined, - xhr.getAllResponseHeaders() - ); - } - } - }; - }; - - // Listen to events - xhr.onload = callback(); - xhr.onerror = callback("error"); - - // Create the abort callback - callback = xhrCallbacks[ id ] = callback("abort"); - - try { - // Do send the request (this may raise an exception) - xhr.send( options.hasContent && options.data || null ); - } catch ( e ) { - // #14683: Only rethrow if this hasn't been notified as an error yet - if ( callback ) { - throw e; - } - } - }, - - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -}); - - - - -// Install script dataType -jQuery.ajaxSetup({ - accepts: { - script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /(?:java|ecma)script/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -}); - -// Handle cache's special case and crossDomain -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - } -}); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function( s ) { - // This transport only deals with cross domain requests - if ( s.crossDomain ) { - var script, callback; - return { - send: function( _, complete ) { - script = jQuery("<script>").prop({ - async: true, - charset: s.scriptCharset, - src: s.url - }).on( - "load error", - callback = function( evt ) { - script.remove(); - callback = null; - if ( evt ) { - complete( evt.type === "error" ? 404 : 200, evt.type ); - } - } - ); - document.head.appendChild( script[ 0 ] ); - }, - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -}); - - - - -var oldCallbacks = [], - rjsonp = /(=)\?(?=&|$)|\?\?/; - -// Default jsonp settings -jQuery.ajaxSetup({ - jsonp: "callback", - jsonpCallback: function() { - var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); - this[ callback ] = true; - return callback; - } -}); - -// Detect, normalize options and install callbacks for jsonp requests -jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { - - var callbackName, overwritten, responseContainer, - jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? - "url" : - typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data" - ); - - // Handle iff the expected data type is "jsonp" or we have a parameter to set - if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { - - // Get callback name, remembering preexisting value associated with it - callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? - s.jsonpCallback() : - s.jsonpCallback; - - // Insert callback into url or form data - if ( jsonProp ) { - s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); - } else if ( s.jsonp !== false ) { - s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; - } - - // Use data converter to retrieve json after script execution - s.converters["script json"] = function() { - if ( !responseContainer ) { - jQuery.error( callbackName + " was not called" ); - } - return responseContainer[ 0 ]; - }; - - // force json dataType - s.dataTypes[ 0 ] = "json"; - - // Install callback - overwritten = window[ callbackName ]; - window[ callbackName ] = function() { - responseContainer = arguments; - }; - - // Clean-up function (fires after converters) - jqXHR.always(function() { - // Restore preexisting value - window[ callbackName ] = overwritten; - - // Save back as free - if ( s[ callbackName ] ) { - // make sure that re-using the options doesn't screw things around - s.jsonpCallback = originalSettings.jsonpCallback; - - // save the callback name for future use - oldCallbacks.push( callbackName ); - } - - // Call if it was a function and we have a response - if ( responseContainer && jQuery.isFunction( overwritten ) ) { - overwritten( responseContainer[ 0 ] ); - } - - responseContainer = overwritten = undefined; - }); - - // Delegate to script - return "script"; - } -}); - - - - -// data: string of html -// context (optional): If specified, the fragment will be created in this context, defaults to document -// keepScripts (optional): If true, will include scripts passed in the html string -jQuery.parseHTML = function( data, context, keepScripts ) { - if ( !data || typeof data !== "string" ) { - return null; - } - if ( typeof context === "boolean" ) { - keepScripts = context; - context = false; - } - context = context || document; - - var parsed = rsingleTag.exec( data ), - scripts = !keepScripts && []; - - // Single tag - if ( parsed ) { - return [ context.createElement( parsed[1] ) ]; - } - - parsed = jQuery.buildFragment( [ data ], context, scripts ); - - if ( scripts && scripts.length ) { - jQuery( scripts ).remove(); - } - - return jQuery.merge( [], parsed.childNodes ); -}; - - -// Keep a copy of the old load method -var _load = jQuery.fn.load; - -/** - * Load a url into a page - */ -jQuery.fn.load = function( url, params, callback ) { - if ( typeof url !== "string" && _load ) { - return _load.apply( this, arguments ); - } - - var selector, type, response, - self = this, - off = url.indexOf(" "); - - if ( off >= 0 ) { - selector = jQuery.trim( url.slice( off ) ); - url = url.slice( 0, off ); - } - - // If it's a function - if ( jQuery.isFunction( params ) ) { - - // We assume that it's the callback - callback = params; - params = undefined; - - // Otherwise, build a param string - } else if ( params && typeof params === "object" ) { - type = "POST"; - } - - // If we have elements to modify, make the request - if ( self.length > 0 ) { - jQuery.ajax({ - url: url, - - // if "type" variable is undefined, then "GET" method will be used - type: type, - dataType: "html", - data: params - }).done(function( responseText ) { - - // Save response for use in complete callback - response = arguments; - - self.html( selector ? - - // If a selector was specified, locate the right elements in a dummy div - // Exclude scripts to avoid IE 'Permission Denied' errors - jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) : - - // Otherwise use the full result - responseText ); - - }).complete( callback && function( jqXHR, status ) { - self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); - }); - } - - return this; -}; - - - - -// Attach a bunch of functions for handling common AJAX events -jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) { - jQuery.fn[ type ] = function( fn ) { - return this.on( type, fn ); - }; -}); - - - - -jQuery.expr.filters.animated = function( elem ) { - return jQuery.grep(jQuery.timers, function( fn ) { - return elem === fn.elem; - }).length; -}; - - - - -var docElem = window.document.documentElement; - -/** - * Gets a window from an element - */ -function getWindow( elem ) { - return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView; -} - -jQuery.offset = { - setOffset: function( elem, options, i ) { - var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, - position = jQuery.css( elem, "position" ), - curElem = jQuery( elem ), - props = {}; - - // Set position first, in-case top/left are set even on static elem - if ( position === "static" ) { - elem.style.position = "relative"; - } - - curOffset = curElem.offset(); - curCSSTop = jQuery.css( elem, "top" ); - curCSSLeft = jQuery.css( elem, "left" ); - calculatePosition = ( position === "absolute" || position === "fixed" ) && - ( curCSSTop + curCSSLeft ).indexOf("auto") > -1; - - // Need to be able to calculate position if either - // top or left is auto and position is either absolute or fixed - if ( calculatePosition ) { - curPosition = curElem.position(); - curTop = curPosition.top; - curLeft = curPosition.left; - - } else { - curTop = parseFloat( curCSSTop ) || 0; - curLeft = parseFloat( curCSSLeft ) || 0; - } - - if ( jQuery.isFunction( options ) ) { - options = options.call( elem, i, curOffset ); - } - - if ( options.top != null ) { - props.top = ( options.top - curOffset.top ) + curTop; - } - if ( options.left != null ) { - props.left = ( options.left - curOffset.left ) + curLeft; - } - - if ( "using" in options ) { - options.using.call( elem, props ); - - } else { - curElem.css( props ); - } - } -}; - -jQuery.fn.extend({ - offset: function( options ) { - if ( arguments.length ) { - return options === undefined ? - this : - this.each(function( i ) { - jQuery.offset.setOffset( this, options, i ); - }); - } - - var docElem, win, - elem = this[ 0 ], - box = { top: 0, left: 0 }, - doc = elem && elem.ownerDocument; - - if ( !doc ) { - return; - } - - docElem = doc.documentElement; - - // Make sure it's not a disconnected DOM node - if ( !jQuery.contains( docElem, elem ) ) { - return box; - } - - // Support: BlackBerry 5, iOS 3 (original iPhone) - // If we don't have gBCR, just use 0,0 rather than error - if ( typeof elem.getBoundingClientRect !== strundefined ) { - box = elem.getBoundingClientRect(); - } - win = getWindow( doc ); - return { - top: box.top + win.pageYOffset - docElem.clientTop, - left: box.left + win.pageXOffset - docElem.clientLeft - }; - }, - - position: function() { - if ( !this[ 0 ] ) { - return; - } - - var offsetParent, offset, - elem = this[ 0 ], - parentOffset = { top: 0, left: 0 }; - - // Fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent - if ( jQuery.css( elem, "position" ) === "fixed" ) { - // Assume getBoundingClientRect is there when computed position is fixed - offset = elem.getBoundingClientRect(); - - } else { - // Get *real* offsetParent - offsetParent = this.offsetParent(); - - // Get correct offsets - offset = this.offset(); - if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { - parentOffset = offsetParent.offset(); - } - - // Add offsetParent borders - parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ); - parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ); - } - - // Subtract parent offsets and element margins - return { - top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), - left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) - }; - }, - - offsetParent: function() { - return this.map(function() { - var offsetParent = this.offsetParent || docElem; - - while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position" ) === "static" ) ) { - offsetParent = offsetParent.offsetParent; - } - - return offsetParent || docElem; - }); - } -}); - -// Create scrollLeft and scrollTop methods -jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { - var top = "pageYOffset" === prop; - - jQuery.fn[ method ] = function( val ) { - return access( this, function( elem, method, val ) { - var win = getWindow( elem ); - - if ( val === undefined ) { - return win ? win[ prop ] : elem[ method ]; - } - - if ( win ) { - win.scrollTo( - !top ? val : window.pageXOffset, - top ? val : window.pageYOffset - ); - - } else { - elem[ method ] = val; - } - }, method, val, arguments.length, null ); - }; -}); - -// Support: Safari<7+, Chrome<37+ -// Add the top/left cssHooks using jQuery.fn.position -// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 -// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280 -// getComputedStyle returns percent when specified for top/left/bottom/right; -// rather than make the css module depend on the offset module, just check for it here -jQuery.each( [ "top", "left" ], function( i, prop ) { - jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, - function( elem, computed ) { - if ( computed ) { - computed = curCSS( elem, prop ); - // If curCSS returns percentage, fallback to offset - return rnumnonpx.test( computed ) ? - jQuery( elem ).position()[ prop ] + "px" : - computed; - } - } - ); -}); - - -// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods -jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { - jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { - // Margin is only for outerHeight, outerWidth - jQuery.fn[ funcName ] = function( margin, value ) { - var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), - extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); - - return access( this, function( elem, type, value ) { - var doc; - - if ( jQuery.isWindow( elem ) ) { - // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there - // isn't a whole lot we can do. See pull request at this URL for discussion: - // https://github.com/jquery/jquery/pull/764 - return elem.document.documentElement[ "client" + name ]; - } - - // Get document width or height - if ( elem.nodeType === 9 ) { - doc = elem.documentElement; - - // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], - // whichever is greatest - return Math.max( - elem.body[ "scroll" + name ], doc[ "scroll" + name ], - elem.body[ "offset" + name ], doc[ "offset" + name ], - doc[ "client" + name ] - ); - } - - return value === undefined ? - // Get width or height on the element, requesting but not forcing parseFloat - jQuery.css( elem, type, extra ) : - - // Set width or height on the element - jQuery.style( elem, type, value, extra ); - }, type, chainable ? margin : undefined, chainable, null ); - }; - }); -}); - - -// The number of elements contained in the matched element set -jQuery.fn.size = function() { - return this.length; -}; - -jQuery.fn.andSelf = jQuery.fn.addBack; - - - - -// Register as a named AMD module, since jQuery can be concatenated with other -// files that may use define, but not via a proper concatenation script that -// understands anonymous AMD modules. A named AMD is safest and most robust -// way to register. Lowercase jquery is used because AMD module names are -// derived from file names, and jQuery is normally delivered in a lowercase -// file name. Do this after creating the global so that if an AMD module wants -// to call noConflict to hide this version of jQuery, it will work. - -// Note that for maximum portability, libraries that are not jQuery should -// declare themselves as anonymous modules, and avoid setting a global if an -// AMD loader is present. jQuery is a special case. For more information, see -// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon - -if ( typeof define === "function" && define.amd ) { - define( "jquery", [], function() { - return jQuery; - }); -} - - - - -var - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - - // Map over the $ in case of overwrite - _$ = window.$; - -jQuery.noConflict = function( deep ) { - if ( window.$ === jQuery ) { - window.$ = _$; - } - - if ( deep && window.jQuery === jQuery ) { - window.jQuery = _jQuery; - } - - return jQuery; -}; - -// Expose jQuery and $ identifiers, even in AMD -// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) -// and CommonJS for browser emulators (#13566) -if ( typeof noGlobal === strundefined ) { - window.jQuery = window.$ = jQuery; -} - - - - -return jQuery; - -})); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.min.js b/ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.min.js deleted file mode 100644 index c9f8bf8b..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.min.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ -return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ia={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qa[0].contentDocument,b.write(),b.close(),c=sa(a,b),qa.detach()),ra[a]=c),c}var ua=/^margin/,va=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wa=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)};function xa(a,b,c){var d,e,f,g,h=a.style;return c=c||wa(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),va.test(g)&&ua.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function ya(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),f.removeChild(c),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var za=/^(none|table(?!-c[ea]).+)/,Aa=new RegExp("^("+Q+")(.*)$","i"),Ba=new RegExp("^([+-])=("+Q+")","i"),Ca={position:"absolute",visibility:"hidden",display:"block"},Da={letterSpacing:"0",fontWeight:"400"},Ea=["Webkit","O","Moz","ms"];function Fa(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Ea.length;while(e--)if(b=Ea[e]+c,b in a)return b;return d}function Ga(a,b,c){var d=Aa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Ha(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ia(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wa(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xa(a,b,f),(0>e||null==e)&&(e=a.style[b]),va.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Ha(a,b,c||(g?"border":"content"),d,f)+"px"}function Ja(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",ta(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xa(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fa(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Ba.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fa(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xa(a,b,d)),"normal"===e&&b in Da&&(e=Da[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?za.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Ca,function(){return Ia(a,b,d)}):Ia(a,b,d):void 0},set:function(a,c,d){var e=d&&wa(a);return Ga(a,c,d?Ha(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=ya(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ua.test(a)||(n.cssHooks[a+b].set=Ga)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wa(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Ja(this,!0)},hide:function(){return Ja(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Ka(a,b,c,d,e){return new Ka.prototype.init(a,b,c,d,e)}n.Tween=Ka,Ka.prototype={constructor:Ka,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ka.propHooks[this.prop];return a&&a.get?a.get(this):Ka.propHooks._default.get(this)},run:function(a){var b,c=Ka.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ka.propHooks._default.set(this),this}},Ka.prototype.init.prototype=Ka.prototype,Ka.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Ka.propHooks.scrollTop=Ka.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Ka.prototype.init,n.fx.step={};var La,Ma,Na=/^(?:toggle|show|hide)$/,Oa=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pa=/queueHooks$/,Qa=[Va],Ra={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Oa.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Oa.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sa(){return setTimeout(function(){La=void 0}),La=n.now()}function Ta(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ua(a,b,c){for(var d,e=(Ra[b]||[]).concat(Ra["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Va(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||ta(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Na.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?ta(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ua(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wa(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xa(a,b,c){var d,e,f=0,g=Qa.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=La||Sa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:La||Sa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wa(k,j.opts.specialEasing);g>f;f++)if(d=Qa[f].call(j,a,k,j.opts))return d;return n.map(k,Ua,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xa,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Ra[c]=Ra[c]||[],Ra[c].unshift(b)},prefilter:function(a,b){b?Qa.unshift(a):Qa.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xa(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pa.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Ta(b,!0),a,d,e)}}),n.each({slideDown:Ta("show"),slideUp:Ta("hide"),slideToggle:Ta("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(La=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),La=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ma||(Ma=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Ma),Ma=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Ya,Za,$a=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Za:Ya)), -void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Za={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$a[b]||n.find.attr;$a[b]=function(a,b,d){var e,f;return d||(f=$a[b],$a[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$a[b]=f),e}});var _a=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_a.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ab=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ab," ").indexOf(b)>=0)return!0;return!1}});var bb=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cb=n.now(),db=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var eb=/#.*$/,fb=/([?&])_=[^&]*/,gb=/^(.*?):[ \t]*([^\r\n]*)$/gm,hb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,ib=/^(?:GET|HEAD)$/,jb=/^\/\//,kb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,lb={},mb={},nb="*/".concat("*"),ob=a.location.href,pb=kb.exec(ob.toLowerCase())||[];function qb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function rb(a,b,c,d){var e={},f=a===mb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function sb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function tb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function ub(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ob,type:"GET",isLocal:hb.test(pb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":nb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?sb(sb(a,n.ajaxSettings),b):sb(n.ajaxSettings,a)},ajaxPrefilter:qb(lb),ajaxTransport:qb(mb),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=gb.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||ob)+"").replace(eb,"").replace(jb,pb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=kb.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===pb[1]&&h[2]===pb[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(pb[3]||("http:"===pb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),rb(lb,k,b,v),2===t)return v;i=n.event&&k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!ib.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(db.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=fb.test(d)?d.replace(fb,"$1_="+cb++):d+(db.test(d)?"&":"?")+"_="+cb++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+nb+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=rb(mb,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=tb(k,v,f)),u=ub(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var vb=/%20/g,wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&").replace(vb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Bb=0,Cb={},Db={0:200,1223:204},Eb=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Cb)Cb[a]()}),k.cors=!!Eb&&"withCredentials"in Eb,k.ajax=Eb=!!Eb,n.ajaxTransport(function(a){var b;return k.cors||Eb&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Bb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Cb[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Db[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Cb[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Fb=[],Gb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Fb.pop()||n.expando+"_"+cb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Gb.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Gb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Gb,"$1"+e):b.jsonp!==!1&&(b.url+=(db.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Fb.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Hb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Hb)return Hb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Ib=a.document.documentElement;function Jb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Jb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Ib;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ib})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Jb(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=ya(k.pixelPosition,function(a,c){return c?(c=xa(a,b),va.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Kb=a.jQuery,Lb=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Lb),b&&a.jQuery===n&&(a.jQuery=Kb),n},typeof b===U&&(a.jQuery=a.$=n),n}); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.js b/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.js deleted file mode 100644 index 615d606a..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.js +++ /dev/null @@ -1,15475 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -(function ( root, doc, factory ) { - if ( typeof define === "function" && define.amd ) { - // AMD. Register as an anonymous module. - define( [ "jquery" ], function ( $ ) { - factory( $, root, doc ); - return $.mobile; - }); - } else { - // Browser globals - factory( root.jQuery, root, doc ); - } -}( this, document, function ( jQuery, window, document, undefined ) { -(function( $ ) { - $.mobile = {}; -}( jQuery )); - -/*! - * jQuery UI Core c0ab71056b936627e8a7821f03c044aec6280a40 - * http://jqueryui.com - * - * Copyright 2013 jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/category/ui-core/ - */ -(function( $, undefined ) { - -var uuid = 0, - runiqueId = /^ui-id-\d+$/; - -// $.ui might exist from components with no dependencies, e.g., $.ui.position -$.ui = $.ui || {}; - -$.extend( $.ui, { - version: "c0ab71056b936627e8a7821f03c044aec6280a40", - - keyCode: { - BACKSPACE: 8, - COMMA: 188, - DELETE: 46, - DOWN: 40, - END: 35, - ENTER: 13, - ESCAPE: 27, - HOME: 36, - LEFT: 37, - PAGE_DOWN: 34, - PAGE_UP: 33, - PERIOD: 190, - RIGHT: 39, - SPACE: 32, - TAB: 9, - UP: 38 - } -}); - -// plugins -$.fn.extend({ - focus: (function( orig ) { - return function( delay, fn ) { - return typeof delay === "number" ? - this.each(function() { - var elem = this; - setTimeout(function() { - $( elem ).focus(); - if ( fn ) { - fn.call( elem ); - } - }, delay ); - }) : - orig.apply( this, arguments ); - }; - })( $.fn.focus ), - - scrollParent: function() { - var scrollParent; - if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) { - scrollParent = this.parents().filter(function() { - return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); - }).eq(0); - } else { - scrollParent = this.parents().filter(function() { - return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); - }).eq(0); - } - - return ( /fixed/ ).test( this.css( "position") ) || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; - }, - - uniqueId: function() { - return this.each(function() { - if ( !this.id ) { - this.id = "ui-id-" + (++uuid); - } - }); - }, - - removeUniqueId: function() { - return this.each(function() { - if ( runiqueId.test( this.id ) ) { - $( this ).removeAttr( "id" ); - } - }); - } -}); - -// selectors -function focusable( element, isTabIndexNotNaN ) { - var map, mapName, img, - nodeName = element.nodeName.toLowerCase(); - if ( "area" === nodeName ) { - map = element.parentNode; - mapName = map.name; - if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { - return false; - } - img = $( "img[usemap=#" + mapName + "]" )[0]; - return !!img && visible( img ); - } - return ( /input|select|textarea|button|object/.test( nodeName ) ? - !element.disabled : - "a" === nodeName ? - element.href || isTabIndexNotNaN : - isTabIndexNotNaN) && - // the element and all of its ancestors must be visible - visible( element ); -} - -function visible( element ) { - return $.expr.filters.visible( element ) && - !$( element ).parents().addBack().filter(function() { - return $.css( this, "visibility" ) === "hidden"; - }).length; -} - -$.extend( $.expr[ ":" ], { - data: $.expr.createPseudo ? - $.expr.createPseudo(function( dataName ) { - return function( elem ) { - return !!$.data( elem, dataName ); - }; - }) : - // support: jQuery <1.8 - function( elem, i, match ) { - return !!$.data( elem, match[ 3 ] ); - }, - - focusable: function( element ) { - return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); - }, - - tabbable: function( element ) { - var tabIndex = $.attr( element, "tabindex" ), - isTabIndexNaN = isNaN( tabIndex ); - return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); - } -}); - -// support: jQuery <1.8 -if ( !$( "<a>" ).outerWidth( 1 ).jquery ) { - $.each( [ "Width", "Height" ], function( i, name ) { - var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], - type = name.toLowerCase(), - orig = { - innerWidth: $.fn.innerWidth, - innerHeight: $.fn.innerHeight, - outerWidth: $.fn.outerWidth, - outerHeight: $.fn.outerHeight - }; - - function reduce( elem, size, border, margin ) { - $.each( side, function() { - size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; - if ( border ) { - size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; - } - if ( margin ) { - size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; - } - }); - return size; - } - - $.fn[ "inner" + name ] = function( size ) { - if ( size === undefined ) { - return orig[ "inner" + name ].call( this ); - } - - return this.each(function() { - $( this ).css( type, reduce( this, size ) + "px" ); - }); - }; - - $.fn[ "outer" + name] = function( size, margin ) { - if ( typeof size !== "number" ) { - return orig[ "outer" + name ].call( this, size ); - } - - return this.each(function() { - $( this).css( type, reduce( this, size, true, margin ) + "px" ); - }); - }; - }); -} - -// support: jQuery <1.8 -if ( !$.fn.addBack ) { - $.fn.addBack = function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - }; -} - -// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) -if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { - $.fn.removeData = (function( removeData ) { - return function( key ) { - if ( arguments.length ) { - return removeData.call( this, $.camelCase( key ) ); - } else { - return removeData.call( this ); - } - }; - })( $.fn.removeData ); -} - - - - - -// deprecated -$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); - -$.support.selectstart = "onselectstart" in document.createElement( "div" ); -$.fn.extend({ - disableSelection: function() { - return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) + - ".ui-disableSelection", function( event ) { - event.preventDefault(); - }); - }, - - enableSelection: function() { - return this.unbind( ".ui-disableSelection" ); - }, - - zIndex: function( zIndex ) { - if ( zIndex !== undefined ) { - return this.css( "zIndex", zIndex ); - } - - if ( this.length ) { - var elem = $( this[ 0 ] ), position, value; - while ( elem.length && elem[ 0 ] !== document ) { - // Ignore z-index if position is set to a value where z-index is ignored by the browser - // This makes behavior of this function consistent across browsers - // WebKit always returns auto if the element is positioned - position = elem.css( "position" ); - if ( position === "absolute" || position === "relative" || position === "fixed" ) { - // IE returns 0 when zIndex is not specified - // other browsers return a string - // we ignore the case of nested elements with an explicit value of 0 - // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> - value = parseInt( elem.css( "zIndex" ), 10 ); - if ( !isNaN( value ) && value !== 0 ) { - return value; - } - } - elem = elem.parent(); - } - } - - return 0; - } -}); - -// $.ui.plugin is deprecated. Use $.widget() extensions instead. -$.ui.plugin = { - add: function( module, option, set ) { - var i, - proto = $.ui[ module ].prototype; - for ( i in set ) { - proto.plugins[ i ] = proto.plugins[ i ] || []; - proto.plugins[ i ].push( [ option, set[ i ] ] ); - } - }, - call: function( instance, name, args, allowDisconnected ) { - var i, - set = instance.plugins[ name ]; - - if ( !set ) { - return; - } - - if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) { - return; - } - - for ( i = 0; i < set.length; i++ ) { - if ( instance.options[ set[ i ][ 0 ] ] ) { - set[ i ][ 1 ].apply( instance.element, args ); - } - } - } -}; - -})( jQuery ); - -(function( $, window, undefined ) { - - // Subtract the height of external toolbars from the page height, if the page does not have - // internal toolbars of the same type. We take care to use the widget options if we find a - // widget instance and the element's data-attributes otherwise. - var compensateToolbars = function( page, desiredHeight ) { - var pageParent = page.parent(), - toolbarsAffectingHeight = [], - - // We use this function to filter fixed toolbars with option updatePagePadding set to - // true (which is the default) from our height subtraction, because fixed toolbars with - // option updatePagePadding set to true compensate for their presence by adding padding - // to the active page. We want to avoid double-counting by also subtracting their - // height from the desired page height. - noPadders = function() { - var theElement = $( this ), - widgetOptions = $.mobile.toolbar && theElement.data( "mobile-toolbar" ) ? - theElement.toolbar( "option" ) : { - position: theElement.attr( "data-" + $.mobile.ns + "position" ), - updatePagePadding: ( theElement.attr( "data-" + $.mobile.ns + - "update-page-padding" ) !== false ) - }; - - return !( widgetOptions.position === "fixed" && - widgetOptions.updatePagePadding === true ); - }, - externalHeaders = pageParent.children( ":jqmData(role='header')" ).filter( noPadders ), - internalHeaders = page.children( ":jqmData(role='header')" ), - externalFooters = pageParent.children( ":jqmData(role='footer')" ).filter( noPadders ), - internalFooters = page.children( ":jqmData(role='footer')" ); - - // If we have no internal headers, but we do have external headers, then their height - // reduces the page height - if ( internalHeaders.length === 0 && externalHeaders.length > 0 ) { - toolbarsAffectingHeight = toolbarsAffectingHeight.concat( externalHeaders.toArray() ); - } - - // If we have no internal footers, but we do have external footers, then their height - // reduces the page height - if ( internalFooters.length === 0 && externalFooters.length > 0 ) { - toolbarsAffectingHeight = toolbarsAffectingHeight.concat( externalFooters.toArray() ); - } - - $.each( toolbarsAffectingHeight, function( index, value ) { - desiredHeight -= $( value ).outerHeight(); - }); - - // Height must be at least zero - return Math.max( 0, desiredHeight ); - }; - - $.extend( $.mobile, { - // define the window and the document objects - window: $( window ), - document: $( document ), - - // TODO: Remove and use $.ui.keyCode directly - keyCode: $.ui.keyCode, - - // Place to store various widget extensions - behaviors: {}, - - // Scroll page vertically: scroll to 0 to hide iOS address bar, or pass a Y value - silentScroll: function( ypos ) { - if ( $.type( ypos ) !== "number" ) { - ypos = $.mobile.defaultHomeScroll; - } - - // prevent scrollstart and scrollstop events - $.event.special.scrollstart.enabled = false; - - setTimeout(function() { - window.scrollTo( 0, ypos ); - $.mobile.document.trigger( "silentscroll", { x: 0, y: ypos }); - }, 20 ); - - setTimeout(function() { - $.event.special.scrollstart.enabled = true; - }, 150 ); - }, - - getClosestBaseUrl: function( ele ) { - // Find the closest page and extract out its url. - var url = $( ele ).closest( ".ui-page" ).jqmData( "url" ), - base = $.mobile.path.documentBase.hrefNoHash; - - if ( !$.mobile.dynamicBaseEnabled || !url || !$.mobile.path.isPath( url ) ) { - url = base; - } - - return $.mobile.path.makeUrlAbsolute( url, base ); - }, - removeActiveLinkClass: function( forceRemoval ) { - if ( !!$.mobile.activeClickedLink && - ( !$.mobile.activeClickedLink.closest( "." + $.mobile.activePageClass ).length || - forceRemoval ) ) { - - $.mobile.activeClickedLink.removeClass( $.mobile.activeBtnClass ); - } - $.mobile.activeClickedLink = null; - }, - - // DEPRECATED in 1.4 - // Find the closest parent with a theme class on it. Note that - // we are not using $.fn.closest() on purpose here because this - // method gets called quite a bit and we need it to be as fast - // as possible. - getInheritedTheme: function( el, defaultTheme ) { - var e = el[ 0 ], - ltr = "", - re = /ui-(bar|body|overlay)-([a-z])\b/, - c, m; - while ( e ) { - c = e.className || ""; - if ( c && ( m = re.exec( c ) ) && ( ltr = m[ 2 ] ) ) { - // We found a parent with a theme class - // on it so bail from this loop. - break; - } - - e = e.parentNode; - } - // Return the theme letter we found, if none, return the - // specified default. - return ltr || defaultTheme || "a"; - }, - - enhanceable: function( elements ) { - return this.haveParents( elements, "enhance" ); - }, - - hijackable: function( elements ) { - return this.haveParents( elements, "ajax" ); - }, - - haveParents: function( elements, attr ) { - if ( !$.mobile.ignoreContentEnabled ) { - return elements; - } - - var count = elements.length, - $newSet = $(), - e, $element, excluded, - i, c; - - for ( i = 0; i < count; i++ ) { - $element = elements.eq( i ); - excluded = false; - e = elements[ i ]; - - while ( e ) { - c = e.getAttribute ? e.getAttribute( "data-" + $.mobile.ns + attr ) : ""; - - if ( c === "false" ) { - excluded = true; - break; - } - - e = e.parentNode; - } - - if ( !excluded ) { - $newSet = $newSet.add( $element ); - } - } - - return $newSet; - }, - - getScreenHeight: function() { - // Native innerHeight returns more accurate value for this across platforms, - // jQuery version is here as a normalized fallback for platforms like Symbian - return window.innerHeight || $.mobile.window.height(); - }, - - //simply set the active page's minimum height to screen height, depending on orientation - resetActivePageHeight: function( height ) { - var page = $( "." + $.mobile.activePageClass ), - pageHeight = page.height(), - pageOuterHeight = page.outerHeight( true ); - - height = compensateToolbars( page, - ( typeof height === "number" ) ? height : $.mobile.getScreenHeight() ); - - // Remove any previous min-height setting - page.css( "min-height", "" ); - - // Set the minimum height only if the height as determined by CSS is insufficient - if ( page.height() < height ) { - page.css( "min-height", height - ( pageOuterHeight - pageHeight ) ); - } - }, - - loading: function() { - // If this is the first call to this function, instantiate a loader widget - var loader = this.loading._widget || $( $.mobile.loader.prototype.defaultHtml ).loader(), - - // Call the appropriate method on the loader - returnValue = loader.loader.apply( loader, arguments ); - - // Make sure the loader is retained for future calls to this function. - this.loading._widget = loader; - - return returnValue; - } - }); - - $.addDependents = function( elem, newDependents ) { - var $elem = $( elem ), - dependents = $elem.jqmData( "dependents" ) || $(); - - $elem.jqmData( "dependents", $( dependents ).add( newDependents ) ); - }; - - // plugins - $.fn.extend({ - removeWithDependents: function() { - $.removeWithDependents( this ); - }, - - // Enhance child elements - enhanceWithin: function() { - var index, - widgetElements = {}, - keepNative = $.mobile.page.prototype.keepNativeSelector(), - that = this; - - // Add no js class to elements - if ( $.mobile.nojs ) { - $.mobile.nojs( this ); - } - - // Bind links for ajax nav - if ( $.mobile.links ) { - $.mobile.links( this ); - } - - // Degrade inputs for styleing - if ( $.mobile.degradeInputsWithin ) { - $.mobile.degradeInputsWithin( this ); - } - - // Run buttonmarkup - if ( $.fn.buttonMarkup ) { - this.find( $.fn.buttonMarkup.initSelector ).not( keepNative ) - .jqmEnhanceable().buttonMarkup(); - } - - // Add classes for fieldContain - if ( $.fn.fieldcontain ) { - this.find( ":jqmData(role='fieldcontain')" ).not( keepNative ) - .jqmEnhanceable().fieldcontain(); - } - - // Enhance widgets - $.each( $.mobile.widgets, function( name, constructor ) { - - // If initSelector not false find elements - if ( constructor.initSelector ) { - - // Filter elements that should not be enhanced based on parents - var elements = $.mobile.enhanceable( that.find( constructor.initSelector ) ); - - // If any matching elements remain filter ones with keepNativeSelector - if ( elements.length > 0 ) { - - // $.mobile.page.prototype.keepNativeSelector is deprecated this is just for backcompat - // Switch to $.mobile.keepNative in 1.5 which is just a value not a function - elements = elements.not( keepNative ); - } - - // Enhance whatever is left - if ( elements.length > 0 ) { - widgetElements[ constructor.prototype.widgetName ] = elements; - } - } - }); - - for ( index in widgetElements ) { - widgetElements[ index ][ index ](); - } - - return this; - }, - - addDependents: function( newDependents ) { - $.addDependents( this, newDependents ); - }, - - // note that this helper doesn't attempt to handle the callback - // or setting of an html element's text, its only purpose is - // to return the html encoded version of the text in all cases. (thus the name) - getEncodedText: function() { - return $( "<a>" ).text( this.text() ).html(); - }, - - // fluent helper function for the mobile namespaced equivalent - jqmEnhanceable: function() { - return $.mobile.enhanceable( this ); - }, - - jqmHijackable: function() { - return $.mobile.hijackable( this ); - } - }); - - $.removeWithDependents = function( nativeElement ) { - var element = $( nativeElement ); - - ( element.jqmData( "dependents" ) || $() ).remove(); - element.remove(); - }; - $.addDependents = function( nativeElement, newDependents ) { - var element = $( nativeElement ), - dependents = element.jqmData( "dependents" ) || $(); - - element.jqmData( "dependents", $( dependents ).add( newDependents ) ); - }; - - $.find.matches = function( expr, set ) { - return $.find( expr, null, null, set ); - }; - - $.find.matchesSelector = function( node, expr ) { - return $.find( expr, null, null, [ node ] ).length > 0; - }; - -})( jQuery, this ); - -(function( $, window, undefined ) { - $.extend( $.mobile, { - - // Version of the jQuery Mobile Framework - version: "1.4.5", - - // Deprecated and no longer used in 1.4 remove in 1.5 - // Define the url parameter used for referencing widget-generated sub-pages. - // Translates to example.html&ui-page=subpageIdentifier - // hash segment before &ui-page= is used to make Ajax request - subPageUrlKey: "ui-page", - - hideUrlBar: true, - - // Keepnative Selector - keepNative: ":jqmData(role='none'), :jqmData(role='nojs')", - - // Deprecated in 1.4 remove in 1.5 - // Class assigned to page currently in view, and during transitions - activePageClass: "ui-page-active", - - // Deprecated in 1.4 remove in 1.5 - // Class used for "active" button state, from CSS framework - activeBtnClass: "ui-btn-active", - - // Deprecated in 1.4 remove in 1.5 - // Class used for "focus" form element state, from CSS framework - focusClass: "ui-focus", - - // Automatically handle clicks and form submissions through Ajax, when same-domain - ajaxEnabled: true, - - // Automatically load and show pages based on location.hash - hashListeningEnabled: true, - - // disable to prevent jquery from bothering with links - linkBindingEnabled: true, - - // Set default page transition - 'none' for no transitions - defaultPageTransition: "fade", - - // Set maximum window width for transitions to apply - 'false' for no limit - maxTransitionWidth: false, - - // Minimum scroll distance that will be remembered when returning to a page - // Deprecated remove in 1.5 - minScrollBack: 0, - - // Set default dialog transition - 'none' for no transitions - defaultDialogTransition: "pop", - - // Error response message - appears when an Ajax page request fails - pageLoadErrorMessage: "Error Loading Page", - - // For error messages, which theme does the box use? - pageLoadErrorMessageTheme: "a", - - // replace calls to window.history.back with phonegaps navigation helper - // where it is provided on the window object - phonegapNavigationEnabled: false, - - //automatically initialize the DOM when it's ready - autoInitializePage: true, - - pushStateEnabled: true, - - // allows users to opt in to ignoring content by marking a parent element as - // data-ignored - ignoreContentEnabled: false, - - buttonMarkup: { - hoverDelay: 200 - }, - - // disable the alteration of the dynamic base tag or links in the case - // that a dynamic base tag isn't supported - dynamicBaseEnabled: true, - - // default the property to remove dependency on assignment in init module - pageContainer: $(), - - //enable cross-domain page support - allowCrossDomainPages: false, - - dialogHashKey: "&ui-state=dialog" - }); -})( jQuery, this ); - -/*! - * jQuery UI Widget c0ab71056b936627e8a7821f03c044aec6280a40 - * http://jqueryui.com - * - * Copyright 2013 jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/jQuery.widget/ - */ -(function( $, undefined ) { - -var uuid = 0, - slice = Array.prototype.slice, - _cleanData = $.cleanData; -$.cleanData = function( elems ) { - for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { - try { - $( elem ).triggerHandler( "remove" ); - // http://bugs.jquery.com/ticket/8235 - } catch( e ) {} - } - _cleanData( elems ); -}; - -$.widget = function( name, base, prototype ) { - var fullName, existingConstructor, constructor, basePrototype, - // proxiedPrototype allows the provided prototype to remain unmodified - // so that it can be used as a mixin for multiple widgets (#8876) - proxiedPrototype = {}, - namespace = name.split( "." )[ 0 ]; - - name = name.split( "." )[ 1 ]; - fullName = namespace + "-" + name; - - if ( !prototype ) { - prototype = base; - base = $.Widget; - } - - // create selector for plugin - $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { - return !!$.data( elem, fullName ); - }; - - $[ namespace ] = $[ namespace ] || {}; - existingConstructor = $[ namespace ][ name ]; - constructor = $[ namespace ][ name ] = function( options, element ) { - // allow instantiation without "new" keyword - if ( !this._createWidget ) { - return new constructor( options, element ); - } - - // allow instantiation without initializing for simple inheritance - // must use "new" keyword (the code above always passes args) - if ( arguments.length ) { - this._createWidget( options, element ); - } - }; - // extend with the existing constructor to carry over any static properties - $.extend( constructor, existingConstructor, { - version: prototype.version, - // copy the object used to create the prototype in case we need to - // redefine the widget later - _proto: $.extend( {}, prototype ), - // track widgets that inherit from this widget in case this widget is - // redefined after a widget inherits from it - _childConstructors: [] - }); - - basePrototype = new base(); - // we need to make the options hash a property directly on the new instance - // otherwise we'll modify the options hash on the prototype that we're - // inheriting from - basePrototype.options = $.widget.extend( {}, basePrototype.options ); - $.each( prototype, function( prop, value ) { - if ( !$.isFunction( value ) ) { - proxiedPrototype[ prop ] = value; - return; - } - proxiedPrototype[ prop ] = (function() { - var _super = function() { - return base.prototype[ prop ].apply( this, arguments ); - }, - _superApply = function( args ) { - return base.prototype[ prop ].apply( this, args ); - }; - return function() { - var __super = this._super, - __superApply = this._superApply, - returnValue; - - this._super = _super; - this._superApply = _superApply; - - returnValue = value.apply( this, arguments ); - - this._super = __super; - this._superApply = __superApply; - - return returnValue; - }; - })(); - }); - constructor.prototype = $.widget.extend( basePrototype, { - // TODO: remove support for widgetEventPrefix - // always use the name + a colon as the prefix, e.g., draggable:start - // don't prefix for widgets that aren't DOM-based - widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name - }, proxiedPrototype, { - constructor: constructor, - namespace: namespace, - widgetName: name, - widgetFullName: fullName - }); - - // If this widget is being redefined then we need to find all widgets that - // are inheriting from it and redefine all of them so that they inherit from - // the new version of this widget. We're essentially trying to replace one - // level in the prototype chain. - if ( existingConstructor ) { - $.each( existingConstructor._childConstructors, function( i, child ) { - var childPrototype = child.prototype; - - // redefine the child widget using the same prototype that was - // originally used, but inherit from the new version of the base - $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); - }); - // remove the list of existing child constructors from the old constructor - // so the old child constructors can be garbage collected - delete existingConstructor._childConstructors; - } else { - base._childConstructors.push( constructor ); - } - - $.widget.bridge( name, constructor ); - - return constructor; -}; - -$.widget.extend = function( target ) { - var input = slice.call( arguments, 1 ), - inputIndex = 0, - inputLength = input.length, - key, - value; - for ( ; inputIndex < inputLength; inputIndex++ ) { - for ( key in input[ inputIndex ] ) { - value = input[ inputIndex ][ key ]; - if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { - // Clone objects - if ( $.isPlainObject( value ) ) { - target[ key ] = $.isPlainObject( target[ key ] ) ? - $.widget.extend( {}, target[ key ], value ) : - // Don't extend strings, arrays, etc. with objects - $.widget.extend( {}, value ); - // Copy everything else by reference - } else { - target[ key ] = value; - } - } - } - } - return target; -}; - -$.widget.bridge = function( name, object ) { - var fullName = object.prototype.widgetFullName || name; - $.fn[ name ] = function( options ) { - var isMethodCall = typeof options === "string", - args = slice.call( arguments, 1 ), - returnValue = this; - - // allow multiple hashes to be passed on init - options = !isMethodCall && args.length ? - $.widget.extend.apply( null, [ options ].concat(args) ) : - options; - - if ( isMethodCall ) { - this.each(function() { - var methodValue, - instance = $.data( this, fullName ); - if ( options === "instance" ) { - returnValue = instance; - return false; - } - if ( !instance ) { - return $.error( "cannot call methods on " + name + " prior to initialization; " + - "attempted to call method '" + options + "'" ); - } - if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { - return $.error( "no such method '" + options + "' for " + name + " widget instance" ); - } - methodValue = instance[ options ].apply( instance, args ); - if ( methodValue !== instance && methodValue !== undefined ) { - returnValue = methodValue && methodValue.jquery ? - returnValue.pushStack( methodValue.get() ) : - methodValue; - return false; - } - }); - } else { - this.each(function() { - var instance = $.data( this, fullName ); - if ( instance ) { - instance.option( options || {} )._init(); - } else { - $.data( this, fullName, new object( options, this ) ); - } - }); - } - - return returnValue; - }; -}; - -$.Widget = function( /* options, element */ ) {}; -$.Widget._childConstructors = []; - -$.Widget.prototype = { - widgetName: "widget", - widgetEventPrefix: "", - defaultElement: "<div>", - options: { - disabled: false, - - // callbacks - create: null - }, - _createWidget: function( options, element ) { - element = $( element || this.defaultElement || this )[ 0 ]; - this.element = $( element ); - this.uuid = uuid++; - this.eventNamespace = "." + this.widgetName + this.uuid; - this.options = $.widget.extend( {}, - this.options, - this._getCreateOptions(), - options ); - - this.bindings = $(); - this.hoverable = $(); - this.focusable = $(); - - if ( element !== this ) { - $.data( element, this.widgetFullName, this ); - this._on( true, this.element, { - remove: function( event ) { - if ( event.target === element ) { - this.destroy(); - } - } - }); - this.document = $( element.style ? - // element within the document - element.ownerDocument : - // element is window or document - element.document || element ); - this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); - } - - this._create(); - this._trigger( "create", null, this._getCreateEventData() ); - this._init(); - }, - _getCreateOptions: $.noop, - _getCreateEventData: $.noop, - _create: $.noop, - _init: $.noop, - - destroy: function() { - this._destroy(); - // we can probably remove the unbind calls in 2.0 - // all event bindings should go through this._on() - this.element - .unbind( this.eventNamespace ) - .removeData( this.widgetFullName ) - // support: jquery <1.6.3 - // http://bugs.jquery.com/ticket/9413 - .removeData( $.camelCase( this.widgetFullName ) ); - this.widget() - .unbind( this.eventNamespace ) - .removeAttr( "aria-disabled" ) - .removeClass( - this.widgetFullName + "-disabled " + - "ui-state-disabled" ); - - // clean up events and states - this.bindings.unbind( this.eventNamespace ); - this.hoverable.removeClass( "ui-state-hover" ); - this.focusable.removeClass( "ui-state-focus" ); - }, - _destroy: $.noop, - - widget: function() { - return this.element; - }, - - option: function( key, value ) { - var options = key, - parts, - curOption, - i; - - if ( arguments.length === 0 ) { - // don't return a reference to the internal hash - return $.widget.extend( {}, this.options ); - } - - if ( typeof key === "string" ) { - // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } - options = {}; - parts = key.split( "." ); - key = parts.shift(); - if ( parts.length ) { - curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); - for ( i = 0; i < parts.length - 1; i++ ) { - curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; - curOption = curOption[ parts[ i ] ]; - } - key = parts.pop(); - if ( value === undefined ) { - return curOption[ key ] === undefined ? null : curOption[ key ]; - } - curOption[ key ] = value; - } else { - if ( value === undefined ) { - return this.options[ key ] === undefined ? null : this.options[ key ]; - } - options[ key ] = value; - } - } - - this._setOptions( options ); - - return this; - }, - _setOptions: function( options ) { - var key; - - for ( key in options ) { - this._setOption( key, options[ key ] ); - } - - return this; - }, - _setOption: function( key, value ) { - this.options[ key ] = value; - - if ( key === "disabled" ) { - this.widget() - .toggleClass( this.widgetFullName + "-disabled", !!value ); - this.hoverable.removeClass( "ui-state-hover" ); - this.focusable.removeClass( "ui-state-focus" ); - } - - return this; - }, - - enable: function() { - return this._setOptions({ disabled: false }); - }, - disable: function() { - return this._setOptions({ disabled: true }); - }, - - _on: function( suppressDisabledCheck, element, handlers ) { - var delegateElement, - instance = this; - - // no suppressDisabledCheck flag, shuffle arguments - if ( typeof suppressDisabledCheck !== "boolean" ) { - handlers = element; - element = suppressDisabledCheck; - suppressDisabledCheck = false; - } - - // no element argument, shuffle and use this.element - if ( !handlers ) { - handlers = element; - element = this.element; - delegateElement = this.widget(); - } else { - // accept selectors, DOM elements - element = delegateElement = $( element ); - this.bindings = this.bindings.add( element ); - } - - $.each( handlers, function( event, handler ) { - function handlerProxy() { - // allow widgets to customize the disabled handling - // - disabled as an array instead of boolean - // - disabled class as method for disabling individual parts - if ( !suppressDisabledCheck && - ( instance.options.disabled === true || - $( this ).hasClass( "ui-state-disabled" ) ) ) { - return; - } - return ( typeof handler === "string" ? instance[ handler ] : handler ) - .apply( instance, arguments ); - } - - // copy the guid so direct unbinding works - if ( typeof handler !== "string" ) { - handlerProxy.guid = handler.guid = - handler.guid || handlerProxy.guid || $.guid++; - } - - var match = event.match( /^(\w+)\s*(.*)$/ ), - eventName = match[1] + instance.eventNamespace, - selector = match[2]; - if ( selector ) { - delegateElement.delegate( selector, eventName, handlerProxy ); - } else { - element.bind( eventName, handlerProxy ); - } - }); - }, - - _off: function( element, eventName ) { - eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; - element.unbind( eventName ).undelegate( eventName ); - }, - - _delay: function( handler, delay ) { - function handlerProxy() { - return ( typeof handler === "string" ? instance[ handler ] : handler ) - .apply( instance, arguments ); - } - var instance = this; - return setTimeout( handlerProxy, delay || 0 ); - }, - - _hoverable: function( element ) { - this.hoverable = this.hoverable.add( element ); - this._on( element, { - mouseenter: function( event ) { - $( event.currentTarget ).addClass( "ui-state-hover" ); - }, - mouseleave: function( event ) { - $( event.currentTarget ).removeClass( "ui-state-hover" ); - } - }); - }, - - _focusable: function( element ) { - this.focusable = this.focusable.add( element ); - this._on( element, { - focusin: function( event ) { - $( event.currentTarget ).addClass( "ui-state-focus" ); - }, - focusout: function( event ) { - $( event.currentTarget ).removeClass( "ui-state-focus" ); - } - }); - }, - - _trigger: function( type, event, data ) { - var prop, orig, - callback = this.options[ type ]; - - data = data || {}; - event = $.Event( event ); - event.type = ( type === this.widgetEventPrefix ? - type : - this.widgetEventPrefix + type ).toLowerCase(); - // the original event may come from any element - // so we need to reset the target on the new event - event.target = this.element[ 0 ]; - - // copy original event properties over to the new event - orig = event.originalEvent; - if ( orig ) { - for ( prop in orig ) { - if ( !( prop in event ) ) { - event[ prop ] = orig[ prop ]; - } - } - } - - this.element.trigger( event, data ); - return !( $.isFunction( callback ) && - callback.apply( this.element[0], [ event ].concat( data ) ) === false || - event.isDefaultPrevented() ); - } -}; - -$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { - $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { - if ( typeof options === "string" ) { - options = { effect: options }; - } - var hasOptions, - effectName = !options ? - method : - options === true || typeof options === "number" ? - defaultEffect : - options.effect || defaultEffect; - options = options || {}; - if ( typeof options === "number" ) { - options = { duration: options }; - } - hasOptions = !$.isEmptyObject( options ); - options.complete = callback; - if ( options.delay ) { - element.delay( options.delay ); - } - if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { - element[ method ]( options ); - } else if ( effectName !== method && element[ effectName ] ) { - element[ effectName ]( options.duration, options.easing, callback ); - } else { - element.queue(function( next ) { - $( this )[ method ](); - if ( callback ) { - callback.call( element[ 0 ] ); - } - next(); - }); - } - }; -}); - -})( jQuery ); - -(function( $, window, undefined ) { - var nsNormalizeDict = {}, - oldFind = $.find, - rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, - jqmDataRE = /:jqmData\(([^)]*)\)/g; - - $.extend( $.mobile, { - - // Namespace used framework-wide for data-attrs. Default is no namespace - - ns: "", - - // Retrieve an attribute from an element and perform some massaging of the value - - getAttribute: function( element, key ) { - var data; - - element = element.jquery ? element[0] : element; - - if ( element && element.getAttribute ) { - data = element.getAttribute( "data-" + $.mobile.ns + key ); - } - - // Copied from core's src/data.js:dataAttr() - // Convert from a string to a proper data type - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? JSON.parse( data ) : - data; - } catch( err ) {} - - return data; - }, - - // Expose our cache for testing purposes. - nsNormalizeDict: nsNormalizeDict, - - // Take a data attribute property, prepend the namespace - // and then camel case the attribute string. Add the result - // to our nsNormalizeDict so we don't have to do this again. - nsNormalize: function( prop ) { - return nsNormalizeDict[ prop ] || - ( nsNormalizeDict[ prop ] = $.camelCase( $.mobile.ns + prop ) ); - }, - - // Find the closest javascript page element to gather settings data jsperf test - // http://jsperf.com/single-complex-selector-vs-many-complex-selectors/edit - // possibly naive, but it shows that the parsing overhead for *just* the page selector vs - // the page and dialog selector is negligable. This could probably be speed up by - // doing a similar parent node traversal to the one found in the inherited theme code above - closestPageData: function( $target ) { - return $target - .closest( ":jqmData(role='page'), :jqmData(role='dialog')" ) - .data( "mobile-page" ); - } - - }); - - // Mobile version of data and removeData and hasData methods - // ensures all data is set and retrieved using jQuery Mobile's data namespace - $.fn.jqmData = function( prop, value ) { - var result; - if ( typeof prop !== "undefined" ) { - if ( prop ) { - prop = $.mobile.nsNormalize( prop ); - } - - // undefined is permitted as an explicit input for the second param - // in this case it returns the value and does not set it to undefined - if ( arguments.length < 2 || value === undefined ) { - result = this.data( prop ); - } else { - result = this.data( prop, value ); - } - } - return result; - }; - - $.jqmData = function( elem, prop, value ) { - var result; - if ( typeof prop !== "undefined" ) { - result = $.data( elem, prop ? $.mobile.nsNormalize( prop ) : prop, value ); - } - return result; - }; - - $.fn.jqmRemoveData = function( prop ) { - return this.removeData( $.mobile.nsNormalize( prop ) ); - }; - - $.jqmRemoveData = function( elem, prop ) { - return $.removeData( elem, $.mobile.nsNormalize( prop ) ); - }; - - $.find = function( selector, context, ret, extra ) { - if ( selector.indexOf( ":jqmData" ) > -1 ) { - selector = selector.replace( jqmDataRE, "[data-" + ( $.mobile.ns || "" ) + "$1]" ); - } - - return oldFind.call( this, selector, context, ret, extra ); - }; - - $.extend( $.find, oldFind ); - -})( jQuery, this ); - -(function( $, undefined ) { - -var rcapitals = /[A-Z]/g, - replaceFunction = function( c ) { - return "-" + c.toLowerCase(); - }; - -$.extend( $.Widget.prototype, { - _getCreateOptions: function() { - var option, value, - elem = this.element[ 0 ], - options = {}; - - // - if ( !$.mobile.getAttribute( elem, "defaults" ) ) { - for ( option in this.options ) { - value = $.mobile.getAttribute( elem, option.replace( rcapitals, replaceFunction ) ); - - if ( value != null ) { - options[ option ] = value; - } - } - } - - return options; - } -}); - -//TODO: Remove in 1.5 for backcompat only -$.mobile.widget = $.Widget; - -})( jQuery ); - - -(function( $ ) { - // TODO move loader class down into the widget settings - var loaderClass = "ui-loader", $html = $( "html" ); - - $.widget( "mobile.loader", { - // NOTE if the global config settings are defined they will override these - // options - options: { - // the theme for the loading message - theme: "a", - - // whether the text in the loading message is shown - textVisible: false, - - // custom html for the inner content of the loading message - html: "", - - // the text to be displayed when the popup is shown - text: "loading" - }, - - defaultHtml: "<div class='" + loaderClass + "'>" + - "<span class='ui-icon-loading'></span>" + - "<h1></h1>" + - "</div>", - - // For non-fixed supportin browsers. Position at y center (if scrollTop supported), above the activeBtn (if defined), or just 100px from top - fakeFixLoader: function() { - var activeBtn = $( "." + $.mobile.activeBtnClass ).first(); - - this.element - .css({ - top: $.support.scrollTop && this.window.scrollTop() + this.window.height() / 2 || - activeBtn.length && activeBtn.offset().top || 100 - }); - }, - - // check position of loader to see if it appears to be "fixed" to center - // if not, use abs positioning - checkLoaderPosition: function() { - var offset = this.element.offset(), - scrollTop = this.window.scrollTop(), - screenHeight = $.mobile.getScreenHeight(); - - if ( offset.top < scrollTop || ( offset.top - scrollTop ) > screenHeight ) { - this.element.addClass( "ui-loader-fakefix" ); - this.fakeFixLoader(); - this.window - .unbind( "scroll", this.checkLoaderPosition ) - .bind( "scroll", $.proxy( this.fakeFixLoader, this ) ); - } - }, - - resetHtml: function() { - this.element.html( $( this.defaultHtml ).html() ); - }, - - // Turn on/off page loading message. Theme doubles as an object argument - // with the following shape: { theme: '', text: '', html: '', textVisible: '' } - // NOTE that the $.mobile.loading* settings and params past the first are deprecated - // TODO sweet jesus we need to break some of this out - show: function( theme, msgText, textonly ) { - var textVisible, message, loadSettings; - - this.resetHtml(); - - // use the prototype options so that people can set them globally at - // mobile init. Consistency, it's what's for dinner - if ( $.type( theme ) === "object" ) { - loadSettings = $.extend( {}, this.options, theme ); - - theme = loadSettings.theme; - } else { - loadSettings = this.options; - - // here we prefer the theme value passed as a string argument, then - // we prefer the global option because we can't use undefined default - // prototype options, then the prototype option - theme = theme || loadSettings.theme; - } - - // set the message text, prefer the param, then the settings object - // then loading message - message = msgText || ( loadSettings.text === false ? "" : loadSettings.text ); - - // prepare the dom - $html.addClass( "ui-loading" ); - - textVisible = loadSettings.textVisible; - - // add the proper css given the options (theme, text, etc) - // Force text visibility if the second argument was supplied, or - // if the text was explicitly set in the object args - this.element.attr("class", loaderClass + - " ui-corner-all ui-body-" + theme + - " ui-loader-" + ( textVisible || msgText || theme.text ? "verbose" : "default" ) + - ( loadSettings.textonly || textonly ? " ui-loader-textonly" : "" ) ); - - // TODO verify that jquery.fn.html is ok to use in both cases here - // this might be overly defensive in preventing unknowing xss - // if the html attribute is defined on the loading settings, use that - // otherwise use the fallbacks from above - if ( loadSettings.html ) { - this.element.html( loadSettings.html ); - } else { - this.element.find( "h1" ).text( message ); - } - - // If the pagecontainer widget has been defined we may use the :mobile-pagecontainer - // and attach to the element on which the pagecontainer widget has been defined. If not, - // we attach to the body. - this.element.appendTo( $.mobile.pagecontainer ? - $( ":mobile-pagecontainer" ) : $( "body" ) ); - - // check that the loader is visible - this.checkLoaderPosition(); - - // on scroll check the loader position - this.window.bind( "scroll", $.proxy( this.checkLoaderPosition, this ) ); - }, - - hide: function() { - $html.removeClass( "ui-loading" ); - - if ( this.options.text ) { - this.element.removeClass( "ui-loader-fakefix" ); - } - - this.window.unbind( "scroll", this.fakeFixLoader ); - this.window.unbind( "scroll", this.checkLoaderPosition ); - } - }); - -})(jQuery, this); - - -/*! - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ - -// Script: jQuery hashchange event -// -// *Version: 1.3, Last updated: 7/21/2010* -// -// Project Home - http://benalman.com/projects/jquery-hashchange-plugin/ -// GitHub - http://github.com/cowboy/jquery-hashchange/ -// Source - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.js -// (Minified) - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.min.js (0.8kb gzipped) -// -// About: License -// -// Copyright (c) 2010 "Cowboy" Ben Alman, -// Dual licensed under the MIT and GPL licenses. -// http://benalman.com/about/license/ -// -// About: Examples -// -// These working examples, complete with fully commented code, illustrate a few -// ways in which this plugin can be used. -// -// hashchange event - http://benalman.com/code/projects/jquery-hashchange/examples/hashchange/ -// document.domain - http://benalman.com/code/projects/jquery-hashchange/examples/document_domain/ -// -// About: Support and Testing -// -// Information about what version or versions of jQuery this plugin has been -// tested with, what browsers it has been tested in, and where the unit tests -// reside (so you can test it yourself). -// -// jQuery Versions - 1.2.6, 1.3.2, 1.4.1, 1.4.2 -// Browsers Tested - Internet Explorer 6-8, Firefox 2-4, Chrome 5-6, Safari 3.2-5, -// Opera 9.6-10.60, iPhone 3.1, Android 1.6-2.2, BlackBerry 4.6-5. -// Unit Tests - http://benalman.com/code/projects/jquery-hashchange/unit/ -// -// About: Known issues -// -// While this jQuery hashchange event implementation is quite stable and -// robust, there are a few unfortunate browser bugs surrounding expected -// hashchange event-based behaviors, independent of any JavaScript -// window.onhashchange abstraction. See the following examples for more -// information: -// -// Chrome: Back Button - http://benalman.com/code/projects/jquery-hashchange/examples/bug-chrome-back-button/ -// Firefox: Remote XMLHttpRequest - http://benalman.com/code/projects/jquery-hashchange/examples/bug-firefox-remote-xhr/ -// WebKit: Back Button in an Iframe - http://benalman.com/code/projects/jquery-hashchange/examples/bug-webkit-hash-iframe/ -// Safari: Back Button from a different domain - http://benalman.com/code/projects/jquery-hashchange/examples/bug-safari-back-from-diff-domain/ -// -// Also note that should a browser natively support the window.onhashchange -// event, but not report that it does, the fallback polling loop will be used. -// -// About: Release History -// -// 1.3 - (7/21/2010) Reorganized IE6/7 Iframe code to make it more -// "removable" for mobile-only development. Added IE6/7 document.title -// support. Attempted to make Iframe as hidden as possible by using -// techniques from http://www.paciellogroup.com/blog/?p=604. Added -// support for the "shortcut" format $(window).hashchange( fn ) and -// $(window).hashchange() like jQuery provides for built-in events. -// Renamed jQuery.hashchangeDelay to <jQuery.fn.hashchange.delay> and -// lowered its default value to 50. Added <jQuery.fn.hashchange.domain> -// and <jQuery.fn.hashchange.src> properties plus document-domain.html -// file to address access denied issues when setting document.domain in -// IE6/7. -// 1.2 - (2/11/2010) Fixed a bug where coming back to a page using this plugin -// from a page on another domain would cause an error in Safari 4. Also, -// IE6/7 Iframe is now inserted after the body (this actually works), -// which prevents the page from scrolling when the event is first bound. -// Event can also now be bound before DOM ready, but it won't be usable -// before then in IE6/7. -// 1.1 - (1/21/2010) Incorporated document.documentMode test to fix IE8 bug -// where browser version is incorrectly reported as 8.0, despite -// inclusion of the X-UA-Compatible IE=EmulateIE7 meta tag. -// 1.0 - (1/9/2010) Initial Release. Broke out the jQuery BBQ event.special -// window.onhashchange functionality into a separate plugin for users -// who want just the basic event & back button support, without all the -// extra awesomeness that BBQ provides. This plugin will be included as -// part of jQuery BBQ, but also be available separately. - -(function($,window,undefined){ - '$:nomunge'; // Used by YUI compressor. - - // Reused string. - var str_hashchange = 'hashchange', - - // Method / object references. - doc = document, - fake_onhashchange, - special = $.event.special, - - // Does the browser support window.onhashchange? Note that IE8 running in - // IE7 compatibility mode reports true for 'onhashchange' in window, even - // though the event isn't supported, so also test document.documentMode. - doc_mode = doc.documentMode, - supports_onhashchange = 'on' + str_hashchange in window && ( doc_mode === undefined || doc_mode > 7 ); - - // Get location.hash (or what you'd expect location.hash to be) sans any - // leading #. Thanks for making this necessary, Firefox! - function get_fragment( url ) { - url = url || location.href; - return '#' + url.replace( /^[^#]*#?(.*)$/, '$1' ); - }; - - // Method: jQuery.fn.hashchange - // - // Bind a handler to the window.onhashchange event or trigger all bound - // window.onhashchange event handlers. This behavior is consistent with - // jQuery's built-in event handlers. - // - // Usage: - // - // > jQuery(window).hashchange( [ handler ] ); - // - // Arguments: - // - // handler - (Function) Optional handler to be bound to the hashchange - // event. This is a "shortcut" for the more verbose form: - // jQuery(window).bind( 'hashchange', handler ). If handler is omitted, - // all bound window.onhashchange event handlers will be triggered. This - // is a shortcut for the more verbose - // jQuery(window).trigger( 'hashchange' ). These forms are described in - // the <hashchange event> section. - // - // Returns: - // - // (jQuery) The initial jQuery collection of elements. - - // Allow the "shortcut" format $(elem).hashchange( fn ) for binding and - // $(elem).hashchange() for triggering, like jQuery does for built-in events. - $.fn[ str_hashchange ] = function( fn ) { - return fn ? this.bind( str_hashchange, fn ) : this.trigger( str_hashchange ); - }; - - // Property: jQuery.fn.hashchange.delay - // - // The numeric interval (in milliseconds) at which the <hashchange event> - // polling loop executes. Defaults to 50. - - // Property: jQuery.fn.hashchange.domain - // - // If you're setting document.domain in your JavaScript, and you want hash - // history to work in IE6/7, not only must this property be set, but you must - // also set document.domain BEFORE jQuery is loaded into the page. This - // property is only applicable if you are supporting IE6/7 (or IE8 operating - // in "IE7 compatibility" mode). - // - // In addition, the <jQuery.fn.hashchange.src> property must be set to the - // path of the included "document-domain.html" file, which can be renamed or - // modified if necessary (note that the document.domain specified must be the - // same in both your main JavaScript as well as in this file). - // - // Usage: - // - // jQuery.fn.hashchange.domain = document.domain; - - // Property: jQuery.fn.hashchange.src - // - // If, for some reason, you need to specify an Iframe src file (for example, - // when setting document.domain as in <jQuery.fn.hashchange.domain>), you can - // do so using this property. Note that when using this property, history - // won't be recorded in IE6/7 until the Iframe src file loads. This property - // is only applicable if you are supporting IE6/7 (or IE8 operating in "IE7 - // compatibility" mode). - // - // Usage: - // - // jQuery.fn.hashchange.src = 'path/to/file.html'; - - $.fn[ str_hashchange ].delay = 50; - /* - $.fn[ str_hashchange ].domain = null; - $.fn[ str_hashchange ].src = null; - */ - - // Event: hashchange event - // - // Fired when location.hash changes. In browsers that support it, the native - // HTML5 window.onhashchange event is used, otherwise a polling loop is - // initialized, running every <jQuery.fn.hashchange.delay> milliseconds to - // see if the hash has changed. In IE6/7 (and IE8 operating in "IE7 - // compatibility" mode), a hidden Iframe is created to allow the back button - // and hash-based history to work. - // - // Usage as described in <jQuery.fn.hashchange>: - // - // > // Bind an event handler. - // > jQuery(window).hashchange( function(e) { - // > var hash = location.hash; - // > ... - // > }); - // > - // > // Manually trigger the event handler. - // > jQuery(window).hashchange(); - // - // A more verbose usage that allows for event namespacing: - // - // > // Bind an event handler. - // > jQuery(window).bind( 'hashchange', function(e) { - // > var hash = location.hash; - // > ... - // > }); - // > - // > // Manually trigger the event handler. - // > jQuery(window).trigger( 'hashchange' ); - // - // Additional Notes: - // - // * The polling loop and Iframe are not created until at least one handler - // is actually bound to the 'hashchange' event. - // * If you need the bound handler(s) to execute immediately, in cases where - // a location.hash exists on page load, via bookmark or page refresh for - // example, use jQuery(window).hashchange() or the more verbose - // jQuery(window).trigger( 'hashchange' ). - // * The event can be bound before DOM ready, but since it won't be usable - // before then in IE6/7 (due to the necessary Iframe), recommended usage is - // to bind it inside a DOM ready handler. - - // Override existing $.event.special.hashchange methods (allowing this plugin - // to be defined after jQuery BBQ in BBQ's source code). - special[ str_hashchange ] = $.extend( special[ str_hashchange ], { - - // Called only when the first 'hashchange' event is bound to window. - setup: function() { - // If window.onhashchange is supported natively, there's nothing to do.. - if ( supports_onhashchange ) { return false; } - - // Otherwise, we need to create our own. And we don't want to call this - // until the user binds to the event, just in case they never do, since it - // will create a polling loop and possibly even a hidden Iframe. - $( fake_onhashchange.start ); - }, - - // Called only when the last 'hashchange' event is unbound from window. - teardown: function() { - // If window.onhashchange is supported natively, there's nothing to do.. - if ( supports_onhashchange ) { return false; } - - // Otherwise, we need to stop ours (if possible). - $( fake_onhashchange.stop ); - } - - }); - - // fake_onhashchange does all the work of triggering the window.onhashchange - // event for browsers that don't natively support it, including creating a - // polling loop to watch for hash changes and in IE 6/7 creating a hidden - // Iframe to enable back and forward. - fake_onhashchange = (function(){ - var self = {}, - timeout_id, - - // Remember the initial hash so it doesn't get triggered immediately. - last_hash = get_fragment(), - - fn_retval = function(val){ return val; }, - history_set = fn_retval, - history_get = fn_retval; - - // Start the polling loop. - self.start = function() { - timeout_id || poll(); - }; - - // Stop the polling loop. - self.stop = function() { - timeout_id && clearTimeout( timeout_id ); - timeout_id = undefined; - }; - - // This polling loop checks every $.fn.hashchange.delay milliseconds to see - // if location.hash has changed, and triggers the 'hashchange' event on - // window when necessary. - function poll() { - var hash = get_fragment(), - history_hash = history_get( last_hash ); - - if ( hash !== last_hash ) { - history_set( last_hash = hash, history_hash ); - - $(window).trigger( str_hashchange ); - - } else if ( history_hash !== last_hash ) { - location.href = location.href.replace( /#.*/, '' ) + history_hash; - } - - timeout_id = setTimeout( poll, $.fn[ str_hashchange ].delay ); - }; - - // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv - // vvvvvvvvvvvvvvvvvvv REMOVE IF NOT SUPPORTING IE6/7/8 vvvvvvvvvvvvvvvvvvv - // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv - window.attachEvent && !window.addEventListener && !supports_onhashchange && (function(){ - // Not only do IE6/7 need the "magical" Iframe treatment, but so does IE8 - // when running in "IE7 compatibility" mode. - - var iframe, - iframe_src; - - // When the event is bound and polling starts in IE 6/7, create a hidden - // Iframe for history handling. - self.start = function(){ - if ( !iframe ) { - iframe_src = $.fn[ str_hashchange ].src; - iframe_src = iframe_src && iframe_src + get_fragment(); - - // Create hidden Iframe. Attempt to make Iframe as hidden as possible - // by using techniques from http://www.paciellogroup.com/blog/?p=604. - iframe = $('<iframe tabindex="-1" title="empty"/>').hide() - - // When Iframe has completely loaded, initialize the history and - // start polling. - .one( 'load', function(){ - iframe_src || history_set( get_fragment() ); - poll(); - }) - - // Load Iframe src if specified, otherwise nothing. - .attr( 'src', iframe_src || 'javascript:0' ) - - // Append Iframe after the end of the body to prevent unnecessary - // initial page scrolling (yes, this works). - .insertAfter( 'body' )[0].contentWindow; - - // Whenever `document.title` changes, update the Iframe's title to - // prettify the back/next history menu entries. Since IE sometimes - // errors with "Unspecified error" the very first time this is set - // (yes, very useful) wrap this with a try/catch block. - doc.onpropertychange = function(){ - try { - if ( event.propertyName === 'title' ) { - iframe.document.title = doc.title; - } - } catch(e) {} - }; - - } - }; - - // Override the "stop" method since an IE6/7 Iframe was created. Even - // if there are no longer any bound event handlers, the polling loop - // is still necessary for back/next to work at all! - self.stop = fn_retval; - - // Get history by looking at the hidden Iframe's location.hash. - history_get = function() { - return get_fragment( iframe.location.href ); - }; - - // Set a new history item by opening and then closing the Iframe - // document, *then* setting its location.hash. If document.domain has - // been set, update that as well. - history_set = function( hash, history_hash ) { - var iframe_doc = iframe.document, - domain = $.fn[ str_hashchange ].domain; - - if ( hash !== history_hash ) { - // Update Iframe with any initial `document.title` that might be set. - iframe_doc.title = doc.title; - - // Opening the Iframe's document after it has been closed is what - // actually adds a history entry. - iframe_doc.open(); - - // Set document.domain for the Iframe document as well, if necessary. - domain && iframe_doc.write( '\x3cscript>document.domain="' + domain + '"\x3c/script>' ); - - iframe_doc.close(); - - // Update the Iframe's hash, for great justice. - iframe.location.hash = hash; - } - }; - - })(); - // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - // ^^^^^^^^^^^^^^^^^^^ REMOVE IF NOT SUPPORTING IE6/7/8 ^^^^^^^^^^^^^^^^^^^ - // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - return self; - })(); - -})(jQuery,this); - - -(function( $, undefined ) { - - /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */ - window.matchMedia = window.matchMedia || (function( doc, undefined ) { - - var bool, - docElem = doc.documentElement, - refNode = docElem.firstElementChild || docElem.firstChild, - // fakeBody required for <FF4 when executed in <head> - fakeBody = doc.createElement( "body" ), - div = doc.createElement( "div" ); - - div.id = "mq-test-1"; - div.style.cssText = "position:absolute;top:-100em"; - fakeBody.style.background = "none"; - fakeBody.appendChild(div); - - return function(q){ - - div.innerHTML = "­<style media=\"" + q + "\"> #mq-test-1 { width: 42px; }</style>"; - - docElem.insertBefore( fakeBody, refNode ); - bool = div.offsetWidth === 42; - docElem.removeChild( fakeBody ); - - return { - matches: bool, - media: q - }; - - }; - - }( document )); - - // $.mobile.media uses matchMedia to return a boolean. - $.mobile.media = function( q ) { - return window.matchMedia( q ).matches; - }; - -})(jQuery); - - (function( $, undefined ) { - var support = { - touch: "ontouchend" in document - }; - - $.mobile.support = $.mobile.support || {}; - $.extend( $.support, support ); - $.extend( $.mobile.support, support ); - }( jQuery )); - - (function( $, undefined ) { - $.extend( $.support, { - orientation: "orientation" in window && "onorientationchange" in window - }); - }( jQuery )); - -(function( $, undefined ) { - -// thx Modernizr -function propExists( prop ) { - var uc_prop = prop.charAt( 0 ).toUpperCase() + prop.substr( 1 ), - props = ( prop + " " + vendors.join( uc_prop + " " ) + uc_prop ).split( " " ), - v; - - for ( v in props ) { - if ( fbCSS[ props[ v ] ] !== undefined ) { - return true; - } - } -} - -var fakeBody = $( "<body>" ).prependTo( "html" ), - fbCSS = fakeBody[ 0 ].style, - vendors = [ "Webkit", "Moz", "O" ], - webos = "palmGetResource" in window, //only used to rule out scrollTop - operamini = window.operamini && ({}).toString.call( window.operamini ) === "[object OperaMini]", - bb = window.blackberry && !propExists( "-webkit-transform" ), //only used to rule out box shadow, as it's filled opaque on BB 5 and lower - nokiaLTE7_3; - -// inline SVG support test -function inlineSVG() { - // Thanks Modernizr & Erik Dahlstrom - var w = window, - svg = !!w.document.createElementNS && !!w.document.createElementNS( "http://www.w3.org/2000/svg", "svg" ).createSVGRect && !( w.opera && navigator.userAgent.indexOf( "Chrome" ) === -1 ), - support = function( data ) { - if ( !( data && svg ) ) { - $( "html" ).addClass( "ui-nosvg" ); - } - }, - img = new w.Image(); - - img.onerror = function() { - support( false ); - }; - img.onload = function() { - support( img.width === 1 && img.height === 1 ); - }; - img.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="; -} - -function transform3dTest() { - var mqProp = "transform-3d", - // Because the `translate3d` test below throws false positives in Android: - ret = $.mobile.media( "(-" + vendors.join( "-" + mqProp + "),(-" ) + "-" + mqProp + "),(" + mqProp + ")" ), - el, transforms, t; - - if ( ret ) { - return !!ret; - } - - el = document.createElement( "div" ); - transforms = { - // We’re omitting Opera for the time being; MS uses unprefixed. - "MozTransform": "-moz-transform", - "transform": "transform" - }; - - fakeBody.append( el ); - - for ( t in transforms ) { - if ( el.style[ t ] !== undefined ) { - el.style[ t ] = "translate3d( 100px, 1px, 1px )"; - ret = window.getComputedStyle( el ).getPropertyValue( transforms[ t ] ); - } - } - return ( !!ret && ret !== "none" ); -} - -// Test for dynamic-updating base tag support ( allows us to avoid href,src attr rewriting ) -function baseTagTest() { - var fauxBase = location.protocol + "//" + location.host + location.pathname + "ui-dir/", - base = $( "head base" ), - fauxEle = null, - href = "", - link, rebase; - - if ( !base.length ) { - base = fauxEle = $( "<base>", { "href": fauxBase }).appendTo( "head" ); - } else { - href = base.attr( "href" ); - } - - link = $( "<a href='testurl' />" ).prependTo( fakeBody ); - rebase = link[ 0 ].href; - base[ 0 ].href = href || location.pathname; - - if ( fauxEle ) { - fauxEle.remove(); - } - return rebase.indexOf( fauxBase ) === 0; -} - -// Thanks Modernizr -function cssPointerEventsTest() { - var element = document.createElement( "x" ), - documentElement = document.documentElement, - getComputedStyle = window.getComputedStyle, - supports; - - if ( !( "pointerEvents" in element.style ) ) { - return false; - } - - element.style.pointerEvents = "auto"; - element.style.pointerEvents = "x"; - documentElement.appendChild( element ); - supports = getComputedStyle && - getComputedStyle( element, "" ).pointerEvents === "auto"; - documentElement.removeChild( element ); - return !!supports; -} - -function boundingRect() { - var div = document.createElement( "div" ); - return typeof div.getBoundingClientRect !== "undefined"; -} - -// non-UA-based IE version check by James Padolsey, modified by jdalton - from http://gist.github.com/527683 -// allows for inclusion of IE 6+, including Windows Mobile 7 -$.extend( $.mobile, { browser: {} } ); -$.mobile.browser.oldIE = (function() { - var v = 3, - div = document.createElement( "div" ), - a = div.all || []; - - do { - div.innerHTML = "<!--[if gt IE " + ( ++v ) + "]><br><![endif]-->"; - } while( a[0] ); - - return v > 4 ? v : !v; -})(); - -function fixedPosition() { - var w = window, - ua = navigator.userAgent, - platform = navigator.platform, - // Rendering engine is Webkit, and capture major version - wkmatch = ua.match( /AppleWebKit\/([0-9]+)/ ), - wkversion = !!wkmatch && wkmatch[ 1 ], - ffmatch = ua.match( /Fennec\/([0-9]+)/ ), - ffversion = !!ffmatch && ffmatch[ 1 ], - operammobilematch = ua.match( /Opera Mobi\/([0-9]+)/ ), - omversion = !!operammobilematch && operammobilematch[ 1 ]; - - if ( - // iOS 4.3 and older : Platform is iPhone/Pad/Touch and Webkit version is less than 534 (ios5) - ( ( platform.indexOf( "iPhone" ) > -1 || platform.indexOf( "iPad" ) > -1 || platform.indexOf( "iPod" ) > -1 ) && wkversion && wkversion < 534 ) || - // Opera Mini - ( w.operamini && ({}).toString.call( w.operamini ) === "[object OperaMini]" ) || - ( operammobilematch && omversion < 7458 ) || - //Android lte 2.1: Platform is Android and Webkit version is less than 533 (Android 2.2) - ( ua.indexOf( "Android" ) > -1 && wkversion && wkversion < 533 ) || - // Firefox Mobile before 6.0 - - ( ffversion && ffversion < 6 ) || - // WebOS less than 3 - ( "palmGetResource" in window && wkversion && wkversion < 534 ) || - // MeeGo - ( ua.indexOf( "MeeGo" ) > -1 && ua.indexOf( "NokiaBrowser/8.5.0" ) > -1 ) ) { - return false; - } - - return true; -} - -$.extend( $.support, { - // Note, Chrome for iOS has an extremely quirky implementation of popstate. - // We've chosen to take the shortest path to a bug fix here for issue #5426 - // See the following link for information about the regex chosen - // https://developers.google.com/chrome/mobile/docs/user-agent#chrome_for_ios_user-agent - pushState: "pushState" in history && - "replaceState" in history && - // When running inside a FF iframe, calling replaceState causes an error - !( window.navigator.userAgent.indexOf( "Firefox" ) >= 0 && window.top !== window ) && - ( window.navigator.userAgent.search(/CriOS/) === -1 ), - - mediaquery: $.mobile.media( "only all" ), - cssPseudoElement: !!propExists( "content" ), - touchOverflow: !!propExists( "overflowScrolling" ), - cssTransform3d: transform3dTest(), - boxShadow: !!propExists( "boxShadow" ) && !bb, - fixedPosition: fixedPosition(), - scrollTop: ("pageXOffset" in window || - "scrollTop" in document.documentElement || - "scrollTop" in fakeBody[ 0 ]) && !webos && !operamini, - - dynamicBaseTag: baseTagTest(), - cssPointerEvents: cssPointerEventsTest(), - boundingRect: boundingRect(), - inlineSVG: inlineSVG -}); - -fakeBody.remove(); - -// $.mobile.ajaxBlacklist is used to override ajaxEnabled on platforms that have known conflicts with hash history updates (BB5, Symbian) -// or that generally work better browsing in regular http for full page refreshes (Opera Mini) -// Note: This detection below is used as a last resort. -// We recommend only using these detection methods when all other more reliable/forward-looking approaches are not possible -nokiaLTE7_3 = (function() { - - var ua = window.navigator.userAgent; - - //The following is an attempt to match Nokia browsers that are running Symbian/s60, with webkit, version 7.3 or older - return ua.indexOf( "Nokia" ) > -1 && - ( ua.indexOf( "Symbian/3" ) > -1 || ua.indexOf( "Series60/5" ) > -1 ) && - ua.indexOf( "AppleWebKit" ) > -1 && - ua.match( /(BrowserNG|NokiaBrowser)\/7\.[0-3]/ ); -})(); - -// Support conditions that must be met in order to proceed -// default enhanced qualifications are media query support OR IE 7+ - -$.mobile.gradeA = function() { - return ( ( $.support.mediaquery && $.support.cssPseudoElement ) || $.mobile.browser.oldIE && $.mobile.browser.oldIE >= 8 ) && ( $.support.boundingRect || $.fn.jquery.match(/1\.[0-7+]\.[0-9+]?/) !== null ); -}; - -$.mobile.ajaxBlacklist = - // BlackBerry browsers, pre-webkit - window.blackberry && !window.WebKitPoint || - // Opera Mini - operamini || - // Symbian webkits pre 7.3 - nokiaLTE7_3; - -// Lastly, this workaround is the only way we've found so far to get pre 7.3 Symbian webkit devices -// to render the stylesheets when they're referenced before this script, as we'd recommend doing. -// This simply reappends the CSS in place, which for some reason makes it apply -if ( nokiaLTE7_3 ) { - $(function() { - $( "head link[rel='stylesheet']" ).attr( "rel", "alternate stylesheet" ).attr( "rel", "stylesheet" ); - }); -} - -// For ruling out shadows via css -if ( !$.support.boxShadow ) { - $( "html" ).addClass( "ui-noboxshadow" ); -} - -})( jQuery ); - - -(function( $, undefined ) { - var $win = $.mobile.window, self, - dummyFnToInitNavigate = function() { - }; - - $.event.special.beforenavigate = { - setup: function() { - $win.on( "navigate", dummyFnToInitNavigate ); - }, - - teardown: function() { - $win.off( "navigate", dummyFnToInitNavigate ); - } - }; - - $.event.special.navigate = self = { - bound: false, - - pushStateEnabled: true, - - originalEventName: undefined, - - // If pushstate support is present and push state support is defined to - // be true on the mobile namespace. - isPushStateEnabled: function() { - return $.support.pushState && - $.mobile.pushStateEnabled === true && - this.isHashChangeEnabled(); - }, - - // !! assumes mobile namespace is present - isHashChangeEnabled: function() { - return $.mobile.hashListeningEnabled === true; - }, - - // TODO a lot of duplication between popstate and hashchange - popstate: function( event ) { - var newEvent = new $.Event( "navigate" ), - beforeNavigate = new $.Event( "beforenavigate" ), - state = event.originalEvent.state || {}; - - beforeNavigate.originalEvent = event; - $win.trigger( beforeNavigate ); - - if ( beforeNavigate.isDefaultPrevented() ) { - return; - } - - if ( event.historyState ) { - $.extend(state, event.historyState); - } - - // Make sure the original event is tracked for the end - // user to inspect incase they want to do something special - newEvent.originalEvent = event; - - // NOTE we let the current stack unwind because any assignment to - // location.hash will stop the world and run this event handler. By - // doing this we create a similar behavior to hashchange on hash - // assignment - setTimeout(function() { - $win.trigger( newEvent, { - state: state - }); - }, 0); - }, - - hashchange: function( event /*, data */ ) { - var newEvent = new $.Event( "navigate" ), - beforeNavigate = new $.Event( "beforenavigate" ); - - beforeNavigate.originalEvent = event; - $win.trigger( beforeNavigate ); - - if ( beforeNavigate.isDefaultPrevented() ) { - return; - } - - // Make sure the original event is tracked for the end - // user to inspect incase they want to do something special - newEvent.originalEvent = event; - - // Trigger the hashchange with state provided by the user - // that altered the hash - $win.trigger( newEvent, { - // Users that want to fully normalize the two events - // will need to do history management down the stack and - // add the state to the event before this binding is fired - // TODO consider allowing for the explicit addition of callbacks - // to be fired before this value is set to avoid event timing issues - state: event.hashchangeState || {} - }); - }, - - // TODO We really only want to set this up once - // but I'm not clear if there's a beter way to achieve - // this with the jQuery special event structure - setup: function( /* data, namespaces */ ) { - if ( self.bound ) { - return; - } - - self.bound = true; - - if ( self.isPushStateEnabled() ) { - self.originalEventName = "popstate"; - $win.bind( "popstate.navigate", self.popstate ); - } else if ( self.isHashChangeEnabled() ) { - self.originalEventName = "hashchange"; - $win.bind( "hashchange.navigate", self.hashchange ); - } - } - }; -})( jQuery ); - - - -(function( $, undefined ) { - var path, $base, dialogHashKey = "&ui-state=dialog"; - - $.mobile.path = path = { - uiStateKey: "&ui-state", - - // This scary looking regular expression parses an absolute URL or its relative - // variants (protocol, site, document, query, and hash), into the various - // components (protocol, host, path, query, fragment, etc that make up the - // URL as well as some other commonly used sub-parts. When used with RegExp.exec() - // or String.match, it parses the URL into a results array that looks like this: - // - // [0]: http://jblas:password@mycompany.com:8080/mail/inbox?msg=1234&type=unread#msg-content - // [1]: http://jblas:password@mycompany.com:8080/mail/inbox?msg=1234&type=unread - // [2]: http://jblas:password@mycompany.com:8080/mail/inbox - // [3]: http://jblas:password@mycompany.com:8080 - // [4]: http: - // [5]: // - // [6]: jblas:password@mycompany.com:8080 - // [7]: jblas:password - // [8]: jblas - // [9]: password - // [10]: mycompany.com:8080 - // [11]: mycompany.com - // [12]: 8080 - // [13]: /mail/inbox - // [14]: /mail/ - // [15]: inbox - // [16]: ?msg=1234&type=unread - // [17]: #msg-content - // - urlParseRE: /^\s*(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/, - - // Abstraction to address xss (Issue #4787) by removing the authority in - // browsers that auto-decode it. All references to location.href should be - // replaced with a call to this method so that it can be dealt with properly here - getLocation: function( url ) { - var parsedUrl = this.parseUrl( url || location.href ), - uri = url ? parsedUrl : location, - - // Make sure to parse the url or the location object for the hash because using - // location.hash is autodecoded in firefox, the rest of the url should be from - // the object (location unless we're testing) to avoid the inclusion of the - // authority - hash = parsedUrl.hash; - - // mimic the browser with an empty string when the hash is empty - hash = hash === "#" ? "" : hash; - - return uri.protocol + - parsedUrl.doubleSlash + - uri.host + - - // The pathname must start with a slash if there's a protocol, because you - // can't have a protocol followed by a relative path. Also, it's impossible to - // calculate absolute URLs from relative ones if the absolute one doesn't have - // a leading "/". - ( ( uri.protocol !== "" && uri.pathname.substring( 0, 1 ) !== "/" ) ? - "/" : "" ) + - uri.pathname + - uri.search + - hash; - }, - - //return the original document url - getDocumentUrl: function( asParsedObject ) { - return asParsedObject ? $.extend( {}, path.documentUrl ) : path.documentUrl.href; - }, - - parseLocation: function() { - return this.parseUrl( this.getLocation() ); - }, - - //Parse a URL into a structure that allows easy access to - //all of the URL components by name. - parseUrl: function( url ) { - // If we're passed an object, we'll assume that it is - // a parsed url object and just return it back to the caller. - if ( $.type( url ) === "object" ) { - return url; - } - - var matches = path.urlParseRE.exec( url || "" ) || []; - - // Create an object that allows the caller to access the sub-matches - // by name. Note that IE returns an empty string instead of undefined, - // like all other browsers do, so we normalize everything so its consistent - // no matter what browser we're running on. - return { - href: matches[ 0 ] || "", - hrefNoHash: matches[ 1 ] || "", - hrefNoSearch: matches[ 2 ] || "", - domain: matches[ 3 ] || "", - protocol: matches[ 4 ] || "", - doubleSlash: matches[ 5 ] || "", - authority: matches[ 6 ] || "", - username: matches[ 8 ] || "", - password: matches[ 9 ] || "", - host: matches[ 10 ] || "", - hostname: matches[ 11 ] || "", - port: matches[ 12 ] || "", - pathname: matches[ 13 ] || "", - directory: matches[ 14 ] || "", - filename: matches[ 15 ] || "", - search: matches[ 16 ] || "", - hash: matches[ 17 ] || "" - }; - }, - - //Turn relPath into an asbolute path. absPath is - //an optional absolute path which describes what - //relPath is relative to. - makePathAbsolute: function( relPath, absPath ) { - var absStack, - relStack, - i, d; - - if ( relPath && relPath.charAt( 0 ) === "/" ) { - return relPath; - } - - relPath = relPath || ""; - absPath = absPath ? absPath.replace( /^\/|(\/[^\/]*|[^\/]+)$/g, "" ) : ""; - - absStack = absPath ? absPath.split( "/" ) : []; - relStack = relPath.split( "/" ); - - for ( i = 0; i < relStack.length; i++ ) { - d = relStack[ i ]; - switch ( d ) { - case ".": - break; - case "..": - if ( absStack.length ) { - absStack.pop(); - } - break; - default: - absStack.push( d ); - break; - } - } - return "/" + absStack.join( "/" ); - }, - - //Returns true if both urls have the same domain. - isSameDomain: function( absUrl1, absUrl2 ) { - return path.parseUrl( absUrl1 ).domain.toLowerCase() === - path.parseUrl( absUrl2 ).domain.toLowerCase(); - }, - - //Returns true for any relative variant. - isRelativeUrl: function( url ) { - // All relative Url variants have one thing in common, no protocol. - return path.parseUrl( url ).protocol === ""; - }, - - //Returns true for an absolute url. - isAbsoluteUrl: function( url ) { - return path.parseUrl( url ).protocol !== ""; - }, - - //Turn the specified realtive URL into an absolute one. This function - //can handle all relative variants (protocol, site, document, query, fragment). - makeUrlAbsolute: function( relUrl, absUrl ) { - if ( !path.isRelativeUrl( relUrl ) ) { - return relUrl; - } - - if ( absUrl === undefined ) { - absUrl = this.documentBase; - } - - var relObj = path.parseUrl( relUrl ), - absObj = path.parseUrl( absUrl ), - protocol = relObj.protocol || absObj.protocol, - doubleSlash = relObj.protocol ? relObj.doubleSlash : ( relObj.doubleSlash || absObj.doubleSlash ), - authority = relObj.authority || absObj.authority, - hasPath = relObj.pathname !== "", - pathname = path.makePathAbsolute( relObj.pathname || absObj.filename, absObj.pathname ), - search = relObj.search || ( !hasPath && absObj.search ) || "", - hash = relObj.hash; - - return protocol + doubleSlash + authority + pathname + search + hash; - }, - - //Add search (aka query) params to the specified url. - addSearchParams: function( url, params ) { - var u = path.parseUrl( url ), - p = ( typeof params === "object" ) ? $.param( params ) : params, - s = u.search || "?"; - return u.hrefNoSearch + s + ( s.charAt( s.length - 1 ) !== "?" ? "&" : "" ) + p + ( u.hash || "" ); - }, - - convertUrlToDataUrl: function( absUrl ) { - var result = absUrl, - u = path.parseUrl( absUrl ); - - if ( path.isEmbeddedPage( u ) ) { - // For embedded pages, remove the dialog hash key as in getFilePath(), - // and remove otherwise the Data Url won't match the id of the embedded Page. - result = u.hash - .split( dialogHashKey )[0] - .replace( /^#/, "" ) - .replace( /\?.*$/, "" ); - } else if ( path.isSameDomain( u, this.documentBase ) ) { - result = u.hrefNoHash.replace( this.documentBase.domain, "" ).split( dialogHashKey )[0]; - } - - return window.decodeURIComponent( result ); - }, - - //get path from current hash, or from a file path - get: function( newPath ) { - if ( newPath === undefined ) { - newPath = path.parseLocation().hash; - } - return path.stripHash( newPath ).replace( /[^\/]*\.[^\/*]+$/, "" ); - }, - - //set location hash to path - set: function( path ) { - location.hash = path; - }, - - //test if a given url (string) is a path - //NOTE might be exceptionally naive - isPath: function( url ) { - return ( /\// ).test( url ); - }, - - //return a url path with the window's location protocol/hostname/pathname removed - clean: function( url ) { - return url.replace( this.documentBase.domain, "" ); - }, - - //just return the url without an initial # - stripHash: function( url ) { - return url.replace( /^#/, "" ); - }, - - stripQueryParams: function( url ) { - return url.replace( /\?.*$/, "" ); - }, - - //remove the preceding hash, any query params, and dialog notations - cleanHash: function( hash ) { - return path.stripHash( hash.replace( /\?.*$/, "" ).replace( dialogHashKey, "" ) ); - }, - - isHashValid: function( hash ) { - return ( /^#[^#]+$/ ).test( hash ); - }, - - //check whether a url is referencing the same domain, or an external domain or different protocol - //could be mailto, etc - isExternal: function( url ) { - var u = path.parseUrl( url ); - - return !!( u.protocol && - ( u.domain.toLowerCase() !== this.documentUrl.domain.toLowerCase() ) ); - }, - - hasProtocol: function( url ) { - return ( /^(:?\w+:)/ ).test( url ); - }, - - isEmbeddedPage: function( url ) { - var u = path.parseUrl( url ); - - //if the path is absolute, then we need to compare the url against - //both the this.documentUrl and the documentBase. The main reason for this - //is that links embedded within external documents will refer to the - //application document, whereas links embedded within the application - //document will be resolved against the document base. - if ( u.protocol !== "" ) { - return ( !this.isPath(u.hash) && u.hash && ( u.hrefNoHash === this.documentUrl.hrefNoHash || ( this.documentBaseDiffers && u.hrefNoHash === this.documentBase.hrefNoHash ) ) ); - } - return ( /^#/ ).test( u.href ); - }, - - squash: function( url, resolutionUrl ) { - var href, cleanedUrl, search, stateIndex, docUrl, - isPath = this.isPath( url ), - uri = this.parseUrl( url ), - preservedHash = uri.hash, - uiState = ""; - - // produce a url against which we can resolve the provided path - if ( !resolutionUrl ) { - if ( isPath ) { - resolutionUrl = path.getLocation(); - } else { - docUrl = path.getDocumentUrl( true ); - if ( path.isPath( docUrl.hash ) ) { - resolutionUrl = path.squash( docUrl.href ); - } else { - resolutionUrl = docUrl.href; - } - } - } - - // If the url is anything but a simple string, remove any preceding hash - // eg #foo/bar -> foo/bar - // #foo -> #foo - cleanedUrl = isPath ? path.stripHash( url ) : url; - - // If the url is a full url with a hash check if the parsed hash is a path - // if it is, strip the #, and use it otherwise continue without change - cleanedUrl = path.isPath( uri.hash ) ? path.stripHash( uri.hash ) : cleanedUrl; - - // Split the UI State keys off the href - stateIndex = cleanedUrl.indexOf( this.uiStateKey ); - - // store the ui state keys for use - if ( stateIndex > -1 ) { - uiState = cleanedUrl.slice( stateIndex ); - cleanedUrl = cleanedUrl.slice( 0, stateIndex ); - } - - // make the cleanedUrl absolute relative to the resolution url - href = path.makeUrlAbsolute( cleanedUrl, resolutionUrl ); - - // grab the search from the resolved url since parsing from - // the passed url may not yield the correct result - search = this.parseUrl( href ).search; - - // TODO all this crap is terrible, clean it up - if ( isPath ) { - // reject the hash if it's a path or it's just a dialog key - if ( path.isPath( preservedHash ) || preservedHash.replace("#", "").indexOf( this.uiStateKey ) === 0) { - preservedHash = ""; - } - - // Append the UI State keys where it exists and it's been removed - // from the url - if ( uiState && preservedHash.indexOf( this.uiStateKey ) === -1) { - preservedHash += uiState; - } - - // make sure that pound is on the front of the hash - if ( preservedHash.indexOf( "#" ) === -1 && preservedHash !== "" ) { - preservedHash = "#" + preservedHash; - } - - // reconstruct each of the pieces with the new search string and hash - href = path.parseUrl( href ); - href = href.protocol + href.doubleSlash + href.host + href.pathname + search + - preservedHash; - } else { - href += href.indexOf( "#" ) > -1 ? uiState : "#" + uiState; - } - - return href; - }, - - isPreservableHash: function( hash ) { - return hash.replace( "#", "" ).indexOf( this.uiStateKey ) === 0; - }, - - // Escape weird characters in the hash if it is to be used as a selector - hashToSelector: function( hash ) { - var hasHash = ( hash.substring( 0, 1 ) === "#" ); - if ( hasHash ) { - hash = hash.substring( 1 ); - } - return ( hasHash ? "#" : "" ) + hash.replace( /([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g, "\\$1" ); - }, - - // return the substring of a filepath before the dialogHashKey, for making a server - // request - getFilePath: function( path ) { - return path && path.split( dialogHashKey )[0]; - }, - - // check if the specified url refers to the first page in the main - // application document. - isFirstPageUrl: function( url ) { - // We only deal with absolute paths. - var u = path.parseUrl( path.makeUrlAbsolute( url, this.documentBase ) ), - - // Does the url have the same path as the document? - samePath = u.hrefNoHash === this.documentUrl.hrefNoHash || - ( this.documentBaseDiffers && - u.hrefNoHash === this.documentBase.hrefNoHash ), - - // Get the first page element. - fp = $.mobile.firstPage, - - // Get the id of the first page element if it has one. - fpId = fp && fp[0] ? fp[0].id : undefined; - - // The url refers to the first page if the path matches the document and - // it either has no hash value, or the hash is exactly equal to the id - // of the first page element. - return samePath && - ( !u.hash || - u.hash === "#" || - ( fpId && u.hash.replace( /^#/, "" ) === fpId ) ); - }, - - // Some embedded browsers, like the web view in Phone Gap, allow - // cross-domain XHR requests if the document doing the request was loaded - // via the file:// protocol. This is usually to allow the application to - // "phone home" and fetch app specific data. We normally let the browser - // handle external/cross-domain urls, but if the allowCrossDomainPages - // option is true, we will allow cross-domain http/https requests to go - // through our page loading logic. - isPermittedCrossDomainRequest: function( docUrl, reqUrl ) { - return $.mobile.allowCrossDomainPages && - (docUrl.protocol === "file:" || docUrl.protocol === "content:") && - reqUrl.search( /^https?:/ ) !== -1; - } - }; - - path.documentUrl = path.parseLocation(); - - $base = $( "head" ).find( "base" ); - - path.documentBase = $base.length ? - path.parseUrl( path.makeUrlAbsolute( $base.attr( "href" ), path.documentUrl.href ) ) : - path.documentUrl; - - path.documentBaseDiffers = (path.documentUrl.hrefNoHash !== path.documentBase.hrefNoHash); - - //return the original document base url - path.getDocumentBase = function( asParsedObject ) { - return asParsedObject ? $.extend( {}, path.documentBase ) : path.documentBase.href; - }; - - // DEPRECATED as of 1.4.0 - remove in 1.5.0 - $.extend( $.mobile, { - - //return the original document url - getDocumentUrl: path.getDocumentUrl, - - //return the original document base url - getDocumentBase: path.getDocumentBase - }); -})( jQuery ); - - - -(function( $, undefined ) { - $.mobile.History = function( stack, index ) { - this.stack = stack || []; - this.activeIndex = index || 0; - }; - - $.extend($.mobile.History.prototype, { - getActive: function() { - return this.stack[ this.activeIndex ]; - }, - - getLast: function() { - return this.stack[ this.previousIndex ]; - }, - - getNext: function() { - return this.stack[ this.activeIndex + 1 ]; - }, - - getPrev: function() { - return this.stack[ this.activeIndex - 1 ]; - }, - - // addNew is used whenever a new page is added - add: function( url, data ) { - data = data || {}; - - //if there's forward history, wipe it - if ( this.getNext() ) { - this.clearForward(); - } - - // if the hash is included in the data make sure the shape - // is consistent for comparison - if ( data.hash && data.hash.indexOf( "#" ) === -1) { - data.hash = "#" + data.hash; - } - - data.url = url; - this.stack.push( data ); - this.activeIndex = this.stack.length - 1; - }, - - //wipe urls ahead of active index - clearForward: function() { - this.stack = this.stack.slice( 0, this.activeIndex + 1 ); - }, - - find: function( url, stack, earlyReturn ) { - stack = stack || this.stack; - - var entry, i, length = stack.length, index; - - for ( i = 0; i < length; i++ ) { - entry = stack[i]; - - if ( decodeURIComponent(url) === decodeURIComponent(entry.url) || - decodeURIComponent(url) === decodeURIComponent(entry.hash) ) { - index = i; - - if ( earlyReturn ) { - return index; - } - } - } - - return index; - }, - - closest: function( url ) { - var closest, a = this.activeIndex; - - // First, take the slice of the history stack before the current index and search - // for a url match. If one is found, we'll avoid avoid looking through forward history - // NOTE the preference for backward history movement is driven by the fact that - // most mobile browsers only have a dedicated back button, and users rarely use - // the forward button in desktop browser anyhow - closest = this.find( url, this.stack.slice(0, a) ); - - // If nothing was found in backward history check forward. The `true` - // value passed as the third parameter causes the find method to break - // on the first match in the forward history slice. The starting index - // of the slice must then be added to the result to get the element index - // in the original history stack :( :( - // - // TODO this is hyper confusing and should be cleaned up (ugh so bad) - if ( closest === undefined ) { - closest = this.find( url, this.stack.slice(a), true ); - closest = closest === undefined ? closest : closest + a; - } - - return closest; - }, - - direct: function( opts ) { - var newActiveIndex = this.closest( opts.url ), a = this.activeIndex; - - // save new page index, null check to prevent falsey 0 result - // record the previous index for reference - if ( newActiveIndex !== undefined ) { - this.activeIndex = newActiveIndex; - this.previousIndex = a; - } - - // invoke callbacks where appropriate - // - // TODO this is also convoluted and confusing - if ( newActiveIndex < a ) { - ( opts.present || opts.back || $.noop )( this.getActive(), "back" ); - } else if ( newActiveIndex > a ) { - ( opts.present || opts.forward || $.noop )( this.getActive(), "forward" ); - } else if ( newActiveIndex === undefined && opts.missing ) { - opts.missing( this.getActive() ); - } - } - }); -})( jQuery ); - - - -(function( $, undefined ) { - var path = $.mobile.path, - initialHref = location.href; - - $.mobile.Navigator = function( history ) { - this.history = history; - this.ignoreInitialHashChange = true; - - $.mobile.window.bind({ - "popstate.history": $.proxy( this.popstate, this ), - "hashchange.history": $.proxy( this.hashchange, this ) - }); - }; - - $.extend($.mobile.Navigator.prototype, { - squash: function( url, data ) { - var state, href, hash = path.isPath(url) ? path.stripHash(url) : url; - - href = path.squash( url ); - - // make sure to provide this information when it isn't explicitly set in the - // data object that was passed to the squash method - state = $.extend({ - hash: hash, - url: href - }, data); - - // replace the current url with the new href and store the state - // Note that in some cases we might be replacing an url with the - // same url. We do this anyways because we need to make sure that - // all of our history entries have a state object associated with - // them. This allows us to work around the case where $.mobile.back() - // is called to transition from an external page to an embedded page. - // In that particular case, a hashchange event is *NOT* generated by the browser. - // Ensuring each history entry has a state object means that onPopState() - // will always trigger our hashchange callback even when a hashchange event - // is not fired. - window.history.replaceState( state, state.title || document.title, href ); - - return state; - }, - - hash: function( url, href ) { - var parsed, loc, hash, resolved; - - // Grab the hash for recording. If the passed url is a path - // we used the parsed version of the squashed url to reconstruct, - // otherwise we assume it's a hash and store it directly - parsed = path.parseUrl( url ); - loc = path.parseLocation(); - - if ( loc.pathname + loc.search === parsed.pathname + parsed.search ) { - // If the pathname and search of the passed url is identical to the current loc - // then we must use the hash. Otherwise there will be no event - // eg, url = "/foo/bar?baz#bang", location.href = "http://example.com/foo/bar?baz" - hash = parsed.hash ? parsed.hash : parsed.pathname + parsed.search; - } else if ( path.isPath(url) ) { - resolved = path.parseUrl( href ); - // If the passed url is a path, make it domain relative and remove any trailing hash - hash = resolved.pathname + resolved.search + (path.isPreservableHash( resolved.hash )? resolved.hash.replace( "#", "" ) : ""); - } else { - hash = url; - } - - return hash; - }, - - // TODO reconsider name - go: function( url, data, noEvents ) { - var state, href, hash, popstateEvent, - isPopStateEvent = $.event.special.navigate.isPushStateEnabled(); - - // Get the url as it would look squashed on to the current resolution url - href = path.squash( url ); - - // sort out what the hash sould be from the url - hash = this.hash( url, href ); - - // Here we prevent the next hash change or popstate event from doing any - // history management. In the case of hashchange we don't swallow it - // if there will be no hashchange fired (since that won't reset the value) - // and will swallow the following hashchange - if ( noEvents && hash !== path.stripHash(path.parseLocation().hash) ) { - this.preventNextHashChange = noEvents; - } - - // IMPORTANT in the case where popstate is supported the event will be triggered - // directly, stopping further execution - ie, interupting the flow of this - // method call to fire bindings at this expression. Below the navigate method - // there is a binding to catch this event and stop its propagation. - // - // We then trigger a new popstate event on the window with a null state - // so that the navigate events can conclude their work properly - // - // if the url is a path we want to preserve the query params that are available on - // the current url. - this.preventHashAssignPopState = true; - window.location.hash = hash; - - // If popstate is enabled and the browser triggers `popstate` events when the hash - // is set (this often happens immediately in browsers like Chrome), then the - // this flag will be set to false already. If it's a browser that does not trigger - // a `popstate` on hash assignement or `replaceState` then we need avoid the branch - // that swallows the event created by the popstate generated by the hash assignment - // At the time of this writing this happens with Opera 12 and some version of IE - this.preventHashAssignPopState = false; - - state = $.extend({ - url: href, - hash: hash, - title: document.title - }, data); - - if ( isPopStateEvent ) { - popstateEvent = new $.Event( "popstate" ); - popstateEvent.originalEvent = { - type: "popstate", - state: null - }; - - this.squash( url, state ); - - // Trigger a new faux popstate event to replace the one that we - // caught that was triggered by the hash setting above. - if ( !noEvents ) { - this.ignorePopState = true; - $.mobile.window.trigger( popstateEvent ); - } - } - - // record the history entry so that the information can be included - // in hashchange event driven navigate events in a similar fashion to - // the state that's provided by popstate - this.history.add( state.url, state ); - }, - - // This binding is intended to catch the popstate events that are fired - // when execution of the `$.navigate` method stops at window.location.hash = url; - // and completely prevent them from propagating. The popstate event will then be - // retriggered after execution resumes - // - // TODO grab the original event here and use it for the synthetic event in the - // second half of the navigate execution that will follow this binding - popstate: function( event ) { - var hash, state; - - // Partly to support our test suite which manually alters the support - // value to test hashchange. Partly to prevent all around weirdness - if ( !$.event.special.navigate.isPushStateEnabled() ) { - return; - } - - // If this is the popstate triggered by the actual alteration of the hash - // prevent it completely. History is tracked manually - if ( this.preventHashAssignPopState ) { - this.preventHashAssignPopState = false; - event.stopImmediatePropagation(); - return; - } - - // if this is the popstate triggered after the `replaceState` call in the go - // method, then simply ignore it. The history entry has already been captured - if ( this.ignorePopState ) { - this.ignorePopState = false; - return; - } - - // If there is no state, and the history stack length is one were - // probably getting the page load popstate fired by browsers like chrome - // avoid it and set the one time flag to false. - // TODO: Do we really need all these conditions? Comparing location hrefs - // should be sufficient. - if ( !event.originalEvent.state && - this.history.stack.length === 1 && - this.ignoreInitialHashChange ) { - this.ignoreInitialHashChange = false; - - if ( location.href === initialHref ) { - event.preventDefault(); - return; - } - } - - // account for direct manipulation of the hash. That is, we will receive a popstate - // when the hash is changed by assignment, and it won't have a state associated. We - // then need to squash the hash. See below for handling of hash assignment that - // matches an existing history entry - // TODO it might be better to only add to the history stack - // when the hash is adjacent to the active history entry - hash = path.parseLocation().hash; - if ( !event.originalEvent.state && hash ) { - // squash the hash that's been assigned on the URL with replaceState - // also grab the resulting state object for storage - state = this.squash( hash ); - - // record the new hash as an additional history entry - // to match the browser's treatment of hash assignment - this.history.add( state.url, state ); - - // pass the newly created state information - // along with the event - event.historyState = state; - - // do not alter history, we've added a new history entry - // so we know where we are - return; - } - - // If all else fails this is a popstate that comes from the back or forward buttons - // make sure to set the state of our history stack properly, and record the directionality - this.history.direct({ - url: (event.originalEvent.state || {}).url || hash, - - // When the url is either forward or backward in history include the entry - // as data on the event object for merging as data in the navigate event - present: function( historyEntry, direction ) { - // make sure to create a new object to pass down as the navigate event data - event.historyState = $.extend({}, historyEntry); - event.historyState.direction = direction; - } - }); - }, - - // NOTE must bind before `navigate` special event hashchange binding otherwise the - // navigation data won't be attached to the hashchange event in time for those - // bindings to attach it to the `navigate` special event - // TODO add a check here that `hashchange.navigate` is bound already otherwise it's - // broken (exception?) - hashchange: function( event ) { - var history, hash; - - // If hashchange listening is explicitly disabled or pushstate is supported - // avoid making use of the hashchange handler. - if (!$.event.special.navigate.isHashChangeEnabled() || - $.event.special.navigate.isPushStateEnabled() ) { - return; - } - - // On occasion explicitly want to prevent the next hash from propogating because we only - // with to alter the url to represent the new state do so here - if ( this.preventNextHashChange ) { - this.preventNextHashChange = false; - event.stopImmediatePropagation(); - return; - } - - history = this.history; - hash = path.parseLocation().hash; - - // If this is a hashchange caused by the back or forward button - // make sure to set the state of our history stack properly - this.history.direct({ - url: hash, - - // When the url is either forward or backward in history include the entry - // as data on the event object for merging as data in the navigate event - present: function( historyEntry, direction ) { - // make sure to create a new object to pass down as the navigate event data - event.hashchangeState = $.extend({}, historyEntry); - event.hashchangeState.direction = direction; - }, - - // When we don't find a hash in our history clearly we're aiming to go there - // record the entry as new for future traversal - // - // NOTE it's not entirely clear that this is the right thing to do given that we - // can't know the users intention. It might be better to explicitly _not_ - // support location.hash assignment in preference to $.navigate calls - // TODO first arg to add should be the href, but it causes issues in identifying - // embeded pages - missing: function() { - history.add( hash, { - hash: hash, - title: document.title - }); - } - }); - } - }); -})( jQuery ); - - - -(function( $, undefined ) { - // TODO consider queueing navigation activity until previous activities have completed - // so that end users don't have to think about it. Punting for now - // TODO !! move the event bindings into callbacks on the navigate event - $.mobile.navigate = function( url, data, noEvents ) { - $.mobile.navigate.navigator.go( url, data, noEvents ); - }; - - // expose the history on the navigate method in anticipation of full integration with - // existing navigation functionalty that is tightly coupled to the history information - $.mobile.navigate.history = new $.mobile.History(); - - // instantiate an instance of the navigator for use within the $.navigate method - $.mobile.navigate.navigator = new $.mobile.Navigator( $.mobile.navigate.history ); - - var loc = $.mobile.path.parseLocation(); - $.mobile.navigate.history.add( loc.href, {hash: loc.hash} ); -})( jQuery ); - - -(function( $, undefined ) { - var props = { - "animation": {}, - "transition": {} - }, - testElement = document.createElement( "a" ), - vendorPrefixes = [ "", "webkit-", "moz-", "o-" ]; - - $.each( [ "animation", "transition" ], function( i, test ) { - - // Get correct name for test - var testName = ( i === 0 ) ? test + "-" + "name" : test; - - $.each( vendorPrefixes, function( j, prefix ) { - if ( testElement.style[ $.camelCase( prefix + testName ) ] !== undefined ) { - props[ test ][ "prefix" ] = prefix; - return false; - } - }); - - // Set event and duration names for later use - props[ test ][ "duration" ] = - $.camelCase( props[ test ][ "prefix" ] + test + "-" + "duration" ); - props[ test ][ "event" ] = - $.camelCase( props[ test ][ "prefix" ] + test + "-" + "end" ); - - // All lower case if not a vendor prop - if ( props[ test ][ "prefix" ] === "" ) { - props[ test ][ "event" ] = props[ test ][ "event" ].toLowerCase(); - } - }); - - // If a valid prefix was found then the it is supported by the browser - $.support.cssTransitions = ( props[ "transition" ][ "prefix" ] !== undefined ); - $.support.cssAnimations = ( props[ "animation" ][ "prefix" ] !== undefined ); - - // Remove the testElement - $( testElement ).remove(); - - // Animation complete callback - $.fn.animationComplete = function( callback, type, fallbackTime ) { - var timer, duration, - that = this, - eventBinding = function() { - - // Clear the timer so we don't call callback twice - clearTimeout( timer ); - callback.apply( this, arguments ); - }, - animationType = ( !type || type === "animation" ) ? "animation" : "transition"; - - // Make sure selected type is supported by browser - if ( ( $.support.cssTransitions && animationType === "transition" ) || - ( $.support.cssAnimations && animationType === "animation" ) ) { - - // If a fallback time was not passed set one - if ( fallbackTime === undefined ) { - - // Make sure the was not bound to document before checking .css - if ( $( this ).context !== document ) { - - // Parse the durration since its in second multiple by 1000 for milliseconds - // Multiply by 3 to make sure we give the animation plenty of time. - duration = parseFloat( - $( this ).css( props[ animationType ].duration ) - ) * 3000; - } - - // If we could not read a duration use the default - if ( duration === 0 || duration === undefined || isNaN( duration ) ) { - duration = $.fn.animationComplete.defaultDuration; - } - } - - // Sets up the fallback if event never comes - timer = setTimeout( function() { - $( that ).off( props[ animationType ].event, eventBinding ); - callback.apply( that ); - }, duration ); - - // Bind the event - return $( this ).one( props[ animationType ].event, eventBinding ); - } else { - - // CSS animation / transitions not supported - // Defer execution for consistency between webkit/non webkit - setTimeout( $.proxy( callback, this ), 0 ); - return $( this ); - } - }; - - // Allow default callback to be configured on mobileInit - $.fn.animationComplete.defaultDuration = 1000; -})( jQuery ); - -// This plugin is an experiment for abstracting away the touch and mouse -// events so that developers don't have to worry about which method of input -// the device their document is loaded on supports. -// -// The idea here is to allow the developer to register listeners for the -// basic mouse events, such as mousedown, mousemove, mouseup, and click, -// and the plugin will take care of registering the correct listeners -// behind the scenes to invoke the listener at the fastest possible time -// for that device, while still retaining the order of event firing in -// the traditional mouse environment, should multiple handlers be registered -// on the same element for different events. -// -// The current version exposes the following virtual events to jQuery bind methods: -// "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel" - -(function( $, window, document, undefined ) { - -var dataPropertyName = "virtualMouseBindings", - touchTargetPropertyName = "virtualTouchID", - virtualEventNames = "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split( " " ), - touchEventProps = "clientX clientY pageX pageY screenX screenY".split( " " ), - mouseHookProps = $.event.mouseHooks ? $.event.mouseHooks.props : [], - mouseEventProps = $.event.props.concat( mouseHookProps ), - activeDocHandlers = {}, - resetTimerID = 0, - startX = 0, - startY = 0, - didScroll = false, - clickBlockList = [], - blockMouseTriggers = false, - blockTouchTriggers = false, - eventCaptureSupported = "addEventListener" in document, - $document = $( document ), - nextTouchID = 1, - lastTouchID = 0, threshold, - i; - -$.vmouse = { - moveDistanceThreshold: 10, - clickDistanceThreshold: 10, - resetTimerDuration: 1500 -}; - -function getNativeEvent( event ) { - - while ( event && typeof event.originalEvent !== "undefined" ) { - event = event.originalEvent; - } - return event; -} - -function createVirtualEvent( event, eventType ) { - - var t = event.type, - oe, props, ne, prop, ct, touch, i, j, len; - - event = $.Event( event ); - event.type = eventType; - - oe = event.originalEvent; - props = $.event.props; - - // addresses separation of $.event.props in to $.event.mouseHook.props and Issue 3280 - // https://github.com/jquery/jquery-mobile/issues/3280 - if ( t.search( /^(mouse|click)/ ) > -1 ) { - props = mouseEventProps; - } - - // copy original event properties over to the new event - // this would happen if we could call $.event.fix instead of $.Event - // but we don't have a way to force an event to be fixed multiple times - if ( oe ) { - for ( i = props.length, prop; i; ) { - prop = props[ --i ]; - event[ prop ] = oe[ prop ]; - } - } - - // make sure that if the mouse and click virtual events are generated - // without a .which one is defined - if ( t.search(/mouse(down|up)|click/) > -1 && !event.which ) { - event.which = 1; - } - - if ( t.search(/^touch/) !== -1 ) { - ne = getNativeEvent( oe ); - t = ne.touches; - ct = ne.changedTouches; - touch = ( t && t.length ) ? t[0] : ( ( ct && ct.length ) ? ct[ 0 ] : undefined ); - - if ( touch ) { - for ( j = 0, len = touchEventProps.length; j < len; j++) { - prop = touchEventProps[ j ]; - event[ prop ] = touch[ prop ]; - } - } - } - - return event; -} - -function getVirtualBindingFlags( element ) { - - var flags = {}, - b, k; - - while ( element ) { - - b = $.data( element, dataPropertyName ); - - for ( k in b ) { - if ( b[ k ] ) { - flags[ k ] = flags.hasVirtualBinding = true; - } - } - element = element.parentNode; - } - return flags; -} - -function getClosestElementWithVirtualBinding( element, eventType ) { - var b; - while ( element ) { - - b = $.data( element, dataPropertyName ); - - if ( b && ( !eventType || b[ eventType ] ) ) { - return element; - } - element = element.parentNode; - } - return null; -} - -function enableTouchBindings() { - blockTouchTriggers = false; -} - -function disableTouchBindings() { - blockTouchTriggers = true; -} - -function enableMouseBindings() { - lastTouchID = 0; - clickBlockList.length = 0; - blockMouseTriggers = false; - - // When mouse bindings are enabled, our - // touch bindings are disabled. - disableTouchBindings(); -} - -function disableMouseBindings() { - // When mouse bindings are disabled, our - // touch bindings are enabled. - enableTouchBindings(); -} - -function startResetTimer() { - clearResetTimer(); - resetTimerID = setTimeout( function() { - resetTimerID = 0; - enableMouseBindings(); - }, $.vmouse.resetTimerDuration ); -} - -function clearResetTimer() { - if ( resetTimerID ) { - clearTimeout( resetTimerID ); - resetTimerID = 0; - } -} - -function triggerVirtualEvent( eventType, event, flags ) { - var ve; - - if ( ( flags && flags[ eventType ] ) || - ( !flags && getClosestElementWithVirtualBinding( event.target, eventType ) ) ) { - - ve = createVirtualEvent( event, eventType ); - - $( event.target).trigger( ve ); - } - - return ve; -} - -function mouseEventCallback( event ) { - var touchID = $.data( event.target, touchTargetPropertyName ), - ve; - - if ( !blockMouseTriggers && ( !lastTouchID || lastTouchID !== touchID ) ) { - ve = triggerVirtualEvent( "v" + event.type, event ); - if ( ve ) { - if ( ve.isDefaultPrevented() ) { - event.preventDefault(); - } - if ( ve.isPropagationStopped() ) { - event.stopPropagation(); - } - if ( ve.isImmediatePropagationStopped() ) { - event.stopImmediatePropagation(); - } - } - } -} - -function handleTouchStart( event ) { - - var touches = getNativeEvent( event ).touches, - target, flags, t; - - if ( touches && touches.length === 1 ) { - - target = event.target; - flags = getVirtualBindingFlags( target ); - - if ( flags.hasVirtualBinding ) { - - lastTouchID = nextTouchID++; - $.data( target, touchTargetPropertyName, lastTouchID ); - - clearResetTimer(); - - disableMouseBindings(); - didScroll = false; - - t = getNativeEvent( event ).touches[ 0 ]; - startX = t.pageX; - startY = t.pageY; - - triggerVirtualEvent( "vmouseover", event, flags ); - triggerVirtualEvent( "vmousedown", event, flags ); - } - } -} - -function handleScroll( event ) { - if ( blockTouchTriggers ) { - return; - } - - if ( !didScroll ) { - triggerVirtualEvent( "vmousecancel", event, getVirtualBindingFlags( event.target ) ); - } - - didScroll = true; - startResetTimer(); -} - -function handleTouchMove( event ) { - if ( blockTouchTriggers ) { - return; - } - - var t = getNativeEvent( event ).touches[ 0 ], - didCancel = didScroll, - moveThreshold = $.vmouse.moveDistanceThreshold, - flags = getVirtualBindingFlags( event.target ); - - didScroll = didScroll || - ( Math.abs( t.pageX - startX ) > moveThreshold || - Math.abs( t.pageY - startY ) > moveThreshold ); - - if ( didScroll && !didCancel ) { - triggerVirtualEvent( "vmousecancel", event, flags ); - } - - triggerVirtualEvent( "vmousemove", event, flags ); - startResetTimer(); -} - -function handleTouchEnd( event ) { - if ( blockTouchTriggers ) { - return; - } - - disableTouchBindings(); - - var flags = getVirtualBindingFlags( event.target ), - ve, t; - triggerVirtualEvent( "vmouseup", event, flags ); - - if ( !didScroll ) { - ve = triggerVirtualEvent( "vclick", event, flags ); - if ( ve && ve.isDefaultPrevented() ) { - // The target of the mouse events that follow the touchend - // event don't necessarily match the target used during the - // touch. This means we need to rely on coordinates for blocking - // any click that is generated. - t = getNativeEvent( event ).changedTouches[ 0 ]; - clickBlockList.push({ - touchID: lastTouchID, - x: t.clientX, - y: t.clientY - }); - - // Prevent any mouse events that follow from triggering - // virtual event notifications. - blockMouseTriggers = true; - } - } - triggerVirtualEvent( "vmouseout", event, flags); - didScroll = false; - - startResetTimer(); -} - -function hasVirtualBindings( ele ) { - var bindings = $.data( ele, dataPropertyName ), - k; - - if ( bindings ) { - for ( k in bindings ) { - if ( bindings[ k ] ) { - return true; - } - } - } - return false; -} - -function dummyMouseHandler() {} - -function getSpecialEventObject( eventType ) { - var realType = eventType.substr( 1 ); - - return { - setup: function(/* data, namespace */) { - // If this is the first virtual mouse binding for this element, - // add a bindings object to its data. - - if ( !hasVirtualBindings( this ) ) { - $.data( this, dataPropertyName, {} ); - } - - // If setup is called, we know it is the first binding for this - // eventType, so initialize the count for the eventType to zero. - var bindings = $.data( this, dataPropertyName ); - bindings[ eventType ] = true; - - // If this is the first virtual mouse event for this type, - // register a global handler on the document. - - activeDocHandlers[ eventType ] = ( activeDocHandlers[ eventType ] || 0 ) + 1; - - if ( activeDocHandlers[ eventType ] === 1 ) { - $document.bind( realType, mouseEventCallback ); - } - - // Some browsers, like Opera Mini, won't dispatch mouse/click events - // for elements unless they actually have handlers registered on them. - // To get around this, we register dummy handlers on the elements. - - $( this ).bind( realType, dummyMouseHandler ); - - // For now, if event capture is not supported, we rely on mouse handlers. - if ( eventCaptureSupported ) { - // If this is the first virtual mouse binding for the document, - // register our touchstart handler on the document. - - activeDocHandlers[ "touchstart" ] = ( activeDocHandlers[ "touchstart" ] || 0) + 1; - - if ( activeDocHandlers[ "touchstart" ] === 1 ) { - $document.bind( "touchstart", handleTouchStart ) - .bind( "touchend", handleTouchEnd ) - - // On touch platforms, touching the screen and then dragging your finger - // causes the window content to scroll after some distance threshold is - // exceeded. On these platforms, a scroll prevents a click event from being - // dispatched, and on some platforms, even the touchend is suppressed. To - // mimic the suppression of the click event, we need to watch for a scroll - // event. Unfortunately, some platforms like iOS don't dispatch scroll - // events until *AFTER* the user lifts their finger (touchend). This means - // we need to watch both scroll and touchmove events to figure out whether - // or not a scroll happenens before the touchend event is fired. - - .bind( "touchmove", handleTouchMove ) - .bind( "scroll", handleScroll ); - } - } - }, - - teardown: function(/* data, namespace */) { - // If this is the last virtual binding for this eventType, - // remove its global handler from the document. - - --activeDocHandlers[ eventType ]; - - if ( !activeDocHandlers[ eventType ] ) { - $document.unbind( realType, mouseEventCallback ); - } - - if ( eventCaptureSupported ) { - // If this is the last virtual mouse binding in existence, - // remove our document touchstart listener. - - --activeDocHandlers[ "touchstart" ]; - - if ( !activeDocHandlers[ "touchstart" ] ) { - $document.unbind( "touchstart", handleTouchStart ) - .unbind( "touchmove", handleTouchMove ) - .unbind( "touchend", handleTouchEnd ) - .unbind( "scroll", handleScroll ); - } - } - - var $this = $( this ), - bindings = $.data( this, dataPropertyName ); - - // teardown may be called when an element was - // removed from the DOM. If this is the case, - // jQuery core may have already stripped the element - // of any data bindings so we need to check it before - // using it. - if ( bindings ) { - bindings[ eventType ] = false; - } - - // Unregister the dummy event handler. - - $this.unbind( realType, dummyMouseHandler ); - - // If this is the last virtual mouse binding on the - // element, remove the binding data from the element. - - if ( !hasVirtualBindings( this ) ) { - $this.removeData( dataPropertyName ); - } - } - }; -} - -// Expose our custom events to the jQuery bind/unbind mechanism. - -for ( i = 0; i < virtualEventNames.length; i++ ) { - $.event.special[ virtualEventNames[ i ] ] = getSpecialEventObject( virtualEventNames[ i ] ); -} - -// Add a capture click handler to block clicks. -// Note that we require event capture support for this so if the device -// doesn't support it, we punt for now and rely solely on mouse events. -if ( eventCaptureSupported ) { - document.addEventListener( "click", function( e ) { - var cnt = clickBlockList.length, - target = e.target, - x, y, ele, i, o, touchID; - - if ( cnt ) { - x = e.clientX; - y = e.clientY; - threshold = $.vmouse.clickDistanceThreshold; - - // The idea here is to run through the clickBlockList to see if - // the current click event is in the proximity of one of our - // vclick events that had preventDefault() called on it. If we find - // one, then we block the click. - // - // Why do we have to rely on proximity? - // - // Because the target of the touch event that triggered the vclick - // can be different from the target of the click event synthesized - // by the browser. The target of a mouse/click event that is synthesized - // from a touch event seems to be implementation specific. For example, - // some browsers will fire mouse/click events for a link that is near - // a touch event, even though the target of the touchstart/touchend event - // says the user touched outside the link. Also, it seems that with most - // browsers, the target of the mouse/click event is not calculated until the - // time it is dispatched, so if you replace an element that you touched - // with another element, the target of the mouse/click will be the new - // element underneath that point. - // - // Aside from proximity, we also check to see if the target and any - // of its ancestors were the ones that blocked a click. This is necessary - // because of the strange mouse/click target calculation done in the - // Android 2.1 browser, where if you click on an element, and there is a - // mouse/click handler on one of its ancestors, the target will be the - // innermost child of the touched element, even if that child is no where - // near the point of touch. - - ele = target; - - while ( ele ) { - for ( i = 0; i < cnt; i++ ) { - o = clickBlockList[ i ]; - touchID = 0; - - if ( ( ele === target && Math.abs( o.x - x ) < threshold && Math.abs( o.y - y ) < threshold ) || - $.data( ele, touchTargetPropertyName ) === o.touchID ) { - // XXX: We may want to consider removing matches from the block list - // instead of waiting for the reset timer to fire. - e.preventDefault(); - e.stopPropagation(); - return; - } - } - ele = ele.parentNode; - } - } - }, true); -} -})( jQuery, window, document ); - - -(function( $, window, undefined ) { - var $document = $( document ), - supportTouch = $.mobile.support.touch, - scrollEvent = "touchmove scroll", - touchStartEvent = supportTouch ? "touchstart" : "mousedown", - touchStopEvent = supportTouch ? "touchend" : "mouseup", - touchMoveEvent = supportTouch ? "touchmove" : "mousemove"; - - // setup new event shortcuts - $.each( ( "touchstart touchmove touchend " + - "tap taphold " + - "swipe swipeleft swiperight " + - "scrollstart scrollstop" ).split( " " ), function( i, name ) { - - $.fn[ name ] = function( fn ) { - return fn ? this.bind( name, fn ) : this.trigger( name ); - }; - - // jQuery < 1.8 - if ( $.attrFn ) { - $.attrFn[ name ] = true; - } - }); - - function triggerCustomEvent( obj, eventType, event, bubble ) { - var originalType = event.type; - event.type = eventType; - if ( bubble ) { - $.event.trigger( event, undefined, obj ); - } else { - $.event.dispatch.call( obj, event ); - } - event.type = originalType; - } - - // also handles scrollstop - $.event.special.scrollstart = { - - enabled: true, - setup: function() { - - var thisObject = this, - $this = $( thisObject ), - scrolling, - timer; - - function trigger( event, state ) { - scrolling = state; - triggerCustomEvent( thisObject, scrolling ? "scrollstart" : "scrollstop", event ); - } - - // iPhone triggers scroll after a small delay; use touchmove instead - $this.bind( scrollEvent, function( event ) { - - if ( !$.event.special.scrollstart.enabled ) { - return; - } - - if ( !scrolling ) { - trigger( event, true ); - } - - clearTimeout( timer ); - timer = setTimeout( function() { - trigger( event, false ); - }, 50 ); - }); - }, - teardown: function() { - $( this ).unbind( scrollEvent ); - } - }; - - // also handles taphold - $.event.special.tap = { - tapholdThreshold: 750, - emitTapOnTaphold: true, - setup: function() { - var thisObject = this, - $this = $( thisObject ), - isTaphold = false; - - $this.bind( "vmousedown", function( event ) { - isTaphold = false; - if ( event.which && event.which !== 1 ) { - return false; - } - - var origTarget = event.target, - timer; - - function clearTapTimer() { - clearTimeout( timer ); - } - - function clearTapHandlers() { - clearTapTimer(); - - $this.unbind( "vclick", clickHandler ) - .unbind( "vmouseup", clearTapTimer ); - $document.unbind( "vmousecancel", clearTapHandlers ); - } - - function clickHandler( event ) { - clearTapHandlers(); - - // ONLY trigger a 'tap' event if the start target is - // the same as the stop target. - if ( !isTaphold && origTarget === event.target ) { - triggerCustomEvent( thisObject, "tap", event ); - } else if ( isTaphold ) { - event.preventDefault(); - } - } - - $this.bind( "vmouseup", clearTapTimer ) - .bind( "vclick", clickHandler ); - $document.bind( "vmousecancel", clearTapHandlers ); - - timer = setTimeout( function() { - if ( !$.event.special.tap.emitTapOnTaphold ) { - isTaphold = true; - } - triggerCustomEvent( thisObject, "taphold", $.Event( "taphold", { target: origTarget } ) ); - }, $.event.special.tap.tapholdThreshold ); - }); - }, - teardown: function() { - $( this ).unbind( "vmousedown" ).unbind( "vclick" ).unbind( "vmouseup" ); - $document.unbind( "vmousecancel" ); - } - }; - - // Also handles swipeleft, swiperight - $.event.special.swipe = { - - // More than this horizontal displacement, and we will suppress scrolling. - scrollSupressionThreshold: 30, - - // More time than this, and it isn't a swipe. - durationThreshold: 1000, - - // Swipe horizontal displacement must be more than this. - horizontalDistanceThreshold: 30, - - // Swipe vertical displacement must be less than this. - verticalDistanceThreshold: 30, - - getLocation: function ( event ) { - var winPageX = window.pageXOffset, - winPageY = window.pageYOffset, - x = event.clientX, - y = event.clientY; - - if ( event.pageY === 0 && Math.floor( y ) > Math.floor( event.pageY ) || - event.pageX === 0 && Math.floor( x ) > Math.floor( event.pageX ) ) { - - // iOS4 clientX/clientY have the value that should have been - // in pageX/pageY. While pageX/page/ have the value 0 - x = x - winPageX; - y = y - winPageY; - } else if ( y < ( event.pageY - winPageY) || x < ( event.pageX - winPageX ) ) { - - // Some Android browsers have totally bogus values for clientX/Y - // when scrolling/zooming a page. Detectable since clientX/clientY - // should never be smaller than pageX/pageY minus page scroll - x = event.pageX - winPageX; - y = event.pageY - winPageY; - } - - return { - x: x, - y: y - }; - }, - - start: function( event ) { - var data = event.originalEvent.touches ? - event.originalEvent.touches[ 0 ] : event, - location = $.event.special.swipe.getLocation( data ); - return { - time: ( new Date() ).getTime(), - coords: [ location.x, location.y ], - origin: $( event.target ) - }; - }, - - stop: function( event ) { - var data = event.originalEvent.touches ? - event.originalEvent.touches[ 0 ] : event, - location = $.event.special.swipe.getLocation( data ); - return { - time: ( new Date() ).getTime(), - coords: [ location.x, location.y ] - }; - }, - - handleSwipe: function( start, stop, thisObject, origTarget ) { - if ( stop.time - start.time < $.event.special.swipe.durationThreshold && - Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold && - Math.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) { - var direction = start.coords[0] > stop.coords[ 0 ] ? "swipeleft" : "swiperight"; - - triggerCustomEvent( thisObject, "swipe", $.Event( "swipe", { target: origTarget, swipestart: start, swipestop: stop }), true ); - triggerCustomEvent( thisObject, direction,$.Event( direction, { target: origTarget, swipestart: start, swipestop: stop } ), true ); - return true; - } - return false; - - }, - - // This serves as a flag to ensure that at most one swipe event event is - // in work at any given time - eventInProgress: false, - - setup: function() { - var events, - thisObject = this, - $this = $( thisObject ), - context = {}; - - // Retrieve the events data for this element and add the swipe context - events = $.data( this, "mobile-events" ); - if ( !events ) { - events = { length: 0 }; - $.data( this, "mobile-events", events ); - } - events.length++; - events.swipe = context; - - context.start = function( event ) { - - // Bail if we're already working on a swipe event - if ( $.event.special.swipe.eventInProgress ) { - return; - } - $.event.special.swipe.eventInProgress = true; - - var stop, - start = $.event.special.swipe.start( event ), - origTarget = event.target, - emitted = false; - - context.move = function( event ) { - if ( !start || event.isDefaultPrevented() ) { - return; - } - - stop = $.event.special.swipe.stop( event ); - if ( !emitted ) { - emitted = $.event.special.swipe.handleSwipe( start, stop, thisObject, origTarget ); - if ( emitted ) { - - // Reset the context to make way for the next swipe event - $.event.special.swipe.eventInProgress = false; - } - } - // prevent scrolling - if ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) { - event.preventDefault(); - } - }; - - context.stop = function() { - emitted = true; - - // Reset the context to make way for the next swipe event - $.event.special.swipe.eventInProgress = false; - $document.off( touchMoveEvent, context.move ); - context.move = null; - }; - - $document.on( touchMoveEvent, context.move ) - .one( touchStopEvent, context.stop ); - }; - $this.on( touchStartEvent, context.start ); - }, - - teardown: function() { - var events, context; - - events = $.data( this, "mobile-events" ); - if ( events ) { - context = events.swipe; - delete events.swipe; - events.length--; - if ( events.length === 0 ) { - $.removeData( this, "mobile-events" ); - } - } - - if ( context ) { - if ( context.start ) { - $( this ).off( touchStartEvent, context.start ); - } - if ( context.move ) { - $document.off( touchMoveEvent, context.move ); - } - if ( context.stop ) { - $document.off( touchStopEvent, context.stop ); - } - } - } - }; - $.each({ - scrollstop: "scrollstart", - taphold: "tap", - swipeleft: "swipe.left", - swiperight: "swipe.right" - }, function( event, sourceEvent ) { - - $.event.special[ event ] = { - setup: function() { - $( this ).bind( sourceEvent, $.noop ); - }, - teardown: function() { - $( this ).unbind( sourceEvent ); - } - }; - }); - -})( jQuery, this ); - - - // throttled resize event - (function( $ ) { - $.event.special.throttledresize = { - setup: function() { - $( this ).bind( "resize", handler ); - }, - teardown: function() { - $( this ).unbind( "resize", handler ); - } - }; - - var throttle = 250, - handler = function() { - curr = ( new Date() ).getTime(); - diff = curr - lastCall; - - if ( diff >= throttle ) { - - lastCall = curr; - $( this ).trigger( "throttledresize" ); - - } else { - - if ( heldCall ) { - clearTimeout( heldCall ); - } - - // Promise a held call will still execute - heldCall = setTimeout( handler, throttle - diff ); - } - }, - lastCall = 0, - heldCall, - curr, - diff; - })( jQuery ); - - -(function( $, window ) { - var win = $( window ), - event_name = "orientationchange", - get_orientation, - last_orientation, - initial_orientation_is_landscape, - initial_orientation_is_default, - portrait_map = { "0": true, "180": true }, - ww, wh, landscape_threshold; - - // It seems that some device/browser vendors use window.orientation values 0 and 180 to - // denote the "default" orientation. For iOS devices, and most other smart-phones tested, - // the default orientation is always "portrait", but in some Android and RIM based tablets, - // the default orientation is "landscape". The following code attempts to use the window - // dimensions to figure out what the current orientation is, and then makes adjustments - // to the to the portrait_map if necessary, so that we can properly decode the - // window.orientation value whenever get_orientation() is called. - // - // Note that we used to use a media query to figure out what the orientation the browser - // thinks it is in: - // - // initial_orientation_is_landscape = $.mobile.media("all and (orientation: landscape)"); - // - // but there was an iPhone/iPod Touch bug beginning with iOS 4.2, up through iOS 5.1, - // where the browser *ALWAYS* applied the landscape media query. This bug does not - // happen on iPad. - - if ( $.support.orientation ) { - - // Check the window width and height to figure out what the current orientation - // of the device is at this moment. Note that we've initialized the portrait map - // values to 0 and 180, *AND* we purposely check for landscape so that if we guess - // wrong, , we default to the assumption that portrait is the default orientation. - // We use a threshold check below because on some platforms like iOS, the iPhone - // form-factor can report a larger width than height if the user turns on the - // developer console. The actual threshold value is somewhat arbitrary, we just - // need to make sure it is large enough to exclude the developer console case. - - ww = window.innerWidth || win.width(); - wh = window.innerHeight || win.height(); - landscape_threshold = 50; - - initial_orientation_is_landscape = ww > wh && ( ww - wh ) > landscape_threshold; - - // Now check to see if the current window.orientation is 0 or 180. - initial_orientation_is_default = portrait_map[ window.orientation ]; - - // If the initial orientation is landscape, but window.orientation reports 0 or 180, *OR* - // if the initial orientation is portrait, but window.orientation reports 90 or -90, we - // need to flip our portrait_map values because landscape is the default orientation for - // this device/browser. - if ( ( initial_orientation_is_landscape && initial_orientation_is_default ) || ( !initial_orientation_is_landscape && !initial_orientation_is_default ) ) { - portrait_map = { "-90": true, "90": true }; - } - } - - $.event.special.orientationchange = $.extend( {}, $.event.special.orientationchange, { - setup: function() { - // If the event is supported natively, return false so that jQuery - // will bind to the event using DOM methods. - if ( $.support.orientation && !$.event.special.orientationchange.disabled ) { - return false; - } - - // Get the current orientation to avoid initial double-triggering. - last_orientation = get_orientation(); - - // Because the orientationchange event doesn't exist, simulate the - // event by testing window dimensions on resize. - win.bind( "throttledresize", handler ); - }, - teardown: function() { - // If the event is not supported natively, return false so that - // jQuery will unbind the event using DOM methods. - if ( $.support.orientation && !$.event.special.orientationchange.disabled ) { - return false; - } - - // Because the orientationchange event doesn't exist, unbind the - // resize event handler. - win.unbind( "throttledresize", handler ); - }, - add: function( handleObj ) { - // Save a reference to the bound event handler. - var old_handler = handleObj.handler; - - handleObj.handler = function( event ) { - // Modify event object, adding the .orientation property. - event.orientation = get_orientation(); - - // Call the originally-bound event handler and return its result. - return old_handler.apply( this, arguments ); - }; - } - }); - - // If the event is not supported natively, this handler will be bound to - // the window resize event to simulate the orientationchange event. - function handler() { - // Get the current orientation. - var orientation = get_orientation(); - - if ( orientation !== last_orientation ) { - // The orientation has changed, so trigger the orientationchange event. - last_orientation = orientation; - win.trigger( event_name ); - } - } - - // Get the current page orientation. This method is exposed publicly, should it - // be needed, as jQuery.event.special.orientationchange.orientation() - $.event.special.orientationchange.orientation = get_orientation = function() { - var isPortrait = true, elem = document.documentElement; - - // prefer window orientation to the calculation based on screensize as - // the actual screen resize takes place before or after the orientation change event - // has been fired depending on implementation (eg android 2.3 is before, iphone after). - // More testing is required to determine if a more reliable method of determining the new screensize - // is possible when orientationchange is fired. (eg, use media queries + element + opacity) - if ( $.support.orientation ) { - // if the window orientation registers as 0 or 180 degrees report - // portrait, otherwise landscape - isPortrait = portrait_map[ window.orientation ]; - } else { - isPortrait = elem && elem.clientWidth / elem.clientHeight < 1.1; - } - - return isPortrait ? "portrait" : "landscape"; - }; - - $.fn[ event_name ] = function( fn ) { - return fn ? this.bind( event_name, fn ) : this.trigger( event_name ); - }; - - // jQuery < 1.8 - if ( $.attrFn ) { - $.attrFn[ event_name ] = true; - } - -}( jQuery, this )); - - - - -(function( $, undefined ) { - - // existing base tag? - var baseElement = $( "head" ).children( "base" ), - - // base element management, defined depending on dynamic base tag support - // TODO move to external widget - base = { - - // define base element, for use in routing asset urls that are referenced - // in Ajax-requested markup - element: ( baseElement.length ? baseElement : - $( "<base>", { href: $.mobile.path.documentBase.hrefNoHash } ).prependTo( $( "head" ) ) ), - - linkSelector: "[src], link[href], a[rel='external'], :jqmData(ajax='false'), a[target]", - - // set the generated BASE element's href to a new page's base path - set: function( href ) { - - // we should do nothing if the user wants to manage their url base - // manually - if ( !$.mobile.dynamicBaseEnabled ) { - return; - } - - // we should use the base tag if we can manipulate it dynamically - if ( $.support.dynamicBaseTag ) { - base.element.attr( "href", - $.mobile.path.makeUrlAbsolute( href, $.mobile.path.documentBase ) ); - } - }, - - rewrite: function( href, page ) { - var newPath = $.mobile.path.get( href ); - - page.find( base.linkSelector ).each(function( i, link ) { - var thisAttr = $( link ).is( "[href]" ) ? "href" : - $( link ).is( "[src]" ) ? "src" : "action", - theLocation = $.mobile.path.parseLocation(), - thisUrl = $( link ).attr( thisAttr ); - - // XXX_jblas: We need to fix this so that it removes the document - // base URL, and then prepends with the new page URL. - // if full path exists and is same, chop it - helps IE out - thisUrl = thisUrl.replace( theLocation.protocol + theLocation.doubleSlash + - theLocation.host + theLocation.pathname, "" ); - - if ( !/^(\w+:|#|\/)/.test( thisUrl ) ) { - $( link ).attr( thisAttr, newPath + thisUrl ); - } - }); - }, - - // set the generated BASE element's href to a new page's base path - reset: function(/* href */) { - base.element.attr( "href", $.mobile.path.documentBase.hrefNoSearch ); - } - }; - - $.mobile.base = base; - -})( jQuery ); - - -(function( $, undefined ) { -$.mobile.widgets = {}; - -var originalWidget = $.widget, - - // Record the original, non-mobileinit-modified version of $.mobile.keepNative - // so we can later determine whether someone has modified $.mobile.keepNative - keepNativeFactoryDefault = $.mobile.keepNative; - -$.widget = (function( orig ) { - return function() { - var constructor = orig.apply( this, arguments ), - name = constructor.prototype.widgetName; - - constructor.initSelector = ( ( constructor.prototype.initSelector !== undefined ) ? - constructor.prototype.initSelector : ":jqmData(role='" + name + "')" ); - - $.mobile.widgets[ name ] = constructor; - - return constructor; - }; -})( $.widget ); - -// Make sure $.widget still has bridge and extend methods -$.extend( $.widget, originalWidget ); - -// For backcompat remove in 1.5 -$.mobile.document.on( "create", function( event ) { - $( event.target ).enhanceWithin(); -}); - -$.widget( "mobile.page", { - options: { - theme: "a", - domCache: false, - - // Deprecated in 1.4 remove in 1.5 - keepNativeDefault: $.mobile.keepNative, - - // Deprecated in 1.4 remove in 1.5 - contentTheme: null, - enhanced: false - }, - - // DEPRECATED for > 1.4 - // TODO remove at 1.5 - _createWidget: function() { - $.Widget.prototype._createWidget.apply( this, arguments ); - this._trigger( "init" ); - }, - - _create: function() { - // If false is returned by the callbacks do not create the page - if ( this._trigger( "beforecreate" ) === false ) { - return false; - } - - if ( !this.options.enhanced ) { - this._enhance(); - } - - this._on( this.element, { - pagebeforehide: "removeContainerBackground", - pagebeforeshow: "_handlePageBeforeShow" - }); - - this.element.enhanceWithin(); - // Dialog widget is deprecated in 1.4 remove this in 1.5 - if ( $.mobile.getAttribute( this.element[0], "role" ) === "dialog" && $.mobile.dialog ) { - this.element.dialog(); - } - }, - - _enhance: function () { - var attrPrefix = "data-" + $.mobile.ns, - self = this; - - if ( this.options.role ) { - this.element.attr( "data-" + $.mobile.ns + "role", this.options.role ); - } - - this.element - .attr( "tabindex", "0" ) - .addClass( "ui-page ui-page-theme-" + this.options.theme ); - - // Manipulation of content os Deprecated as of 1.4 remove in 1.5 - this.element.find( "[" + attrPrefix + "role='content']" ).each( function() { - var $this = $( this ), - theme = this.getAttribute( attrPrefix + "theme" ) || undefined; - self.options.contentTheme = theme || self.options.contentTheme || ( self.options.dialog && self.options.theme ) || ( self.element.jqmData("role") === "dialog" && self.options.theme ); - $this.addClass( "ui-content" ); - if ( self.options.contentTheme ) { - $this.addClass( "ui-body-" + ( self.options.contentTheme ) ); - } - // Add ARIA role - $this.attr( "role", "main" ).addClass( "ui-content" ); - }); - }, - - bindRemove: function( callback ) { - var page = this.element; - - // when dom caching is not enabled or the page is embedded bind to remove the page on hide - if ( !page.data( "mobile-page" ).options.domCache && - page.is( ":jqmData(external-page='true')" ) ) { - - // TODO use _on - that is, sort out why it doesn't work in this case - page.bind( "pagehide.remove", callback || function( e, data ) { - - //check if this is a same page transition and if so don't remove the page - if( !data.samePage ){ - var $this = $( this ), - prEvent = new $.Event( "pageremove" ); - - $this.trigger( prEvent ); - - if ( !prEvent.isDefaultPrevented() ) { - $this.removeWithDependents(); - } - } - }); - } - }, - - _setOptions: function( o ) { - if ( o.theme !== undefined ) { - this.element.removeClass( "ui-page-theme-" + this.options.theme ).addClass( "ui-page-theme-" + o.theme ); - } - - if ( o.contentTheme !== undefined ) { - this.element.find( "[data-" + $.mobile.ns + "='content']" ).removeClass( "ui-body-" + this.options.contentTheme ) - .addClass( "ui-body-" + o.contentTheme ); - } - }, - - _handlePageBeforeShow: function(/* e */) { - this.setContainerBackground(); - }, - // Deprecated in 1.4 remove in 1.5 - removeContainerBackground: function() { - this.element.closest( ":mobile-pagecontainer" ).pagecontainer({ "theme": "none" }); - }, - // Deprecated in 1.4 remove in 1.5 - // set the page container background to the page theme - setContainerBackground: function( theme ) { - this.element.parent().pagecontainer( { "theme": theme || this.options.theme } ); - }, - // Deprecated in 1.4 remove in 1.5 - keepNativeSelector: function() { - var options = this.options, - keepNative = $.trim( options.keepNative || "" ), - globalValue = $.trim( $.mobile.keepNative ), - optionValue = $.trim( options.keepNativeDefault ), - - // Check if $.mobile.keepNative has changed from the factory default - newDefault = ( keepNativeFactoryDefault === globalValue ? - "" : globalValue ), - - // If $.mobile.keepNative has not changed, use options.keepNativeDefault - oldDefault = ( newDefault === "" ? optionValue : "" ); - - // Concatenate keepNative selectors from all sources where the value has - // changed or, if nothing has changed, return the default - return ( ( keepNative ? [ keepNative ] : [] ) - .concat( newDefault ? [ newDefault ] : [] ) - .concat( oldDefault ? [ oldDefault ] : [] ) - .join( ", " ) ); - } -}); -})( jQuery ); - -(function( $, undefined ) { - - $.widget( "mobile.pagecontainer", { - options: { - theme: "a" - }, - - initSelector: false, - - _create: function() { - this._trigger( "beforecreate" ); - this.setLastScrollEnabled = true; - - this._on( this.window, { - // disable an scroll setting when a hashchange has been fired, - // this only works because the recording of the scroll position - // is delayed for 100ms after the browser might have changed the - // position because of the hashchange - navigate: "_disableRecordScroll", - - // bind to scrollstop for the first page, "pagechange" won't be - // fired in that case - scrollstop: "_delayedRecordScroll" - }); - - // TODO consider moving the navigation handler OUT of widget into - // some other object as glue between the navigate event and the - // content widget load and change methods - this._on( this.window, { navigate: "_filterNavigateEvents" }); - - // TODO move from page* events to content* events - this._on({ pagechange: "_afterContentChange" }); - - // handle initial hashchange from chrome :( - this.window.one( "navigate", $.proxy(function() { - this.setLastScrollEnabled = true; - }, this)); - }, - - _setOptions: function( options ) { - if ( options.theme !== undefined && options.theme !== "none" ) { - this.element.removeClass( "ui-overlay-" + this.options.theme ) - .addClass( "ui-overlay-" + options.theme ); - } else if ( options.theme !== undefined ) { - this.element.removeClass( "ui-overlay-" + this.options.theme ); - } - - this._super( options ); - }, - - _disableRecordScroll: function() { - this.setLastScrollEnabled = false; - }, - - _enableRecordScroll: function() { - this.setLastScrollEnabled = true; - }, - - // TODO consider the name here, since it's purpose specific - _afterContentChange: function() { - // once the page has changed, re-enable the scroll recording - this.setLastScrollEnabled = true; - - // remove any binding that previously existed on the get scroll - // which may or may not be different than the scroll element - // determined for this page previously - this._off( this.window, "scrollstop" ); - - // determine and bind to the current scoll element which may be the - // window or in the case of touch overflow the element touch overflow - this._on( this.window, { scrollstop: "_delayedRecordScroll" }); - }, - - _recordScroll: function() { - // this barrier prevents setting the scroll value based on - // the browser scrolling the window based on a hashchange - if ( !this.setLastScrollEnabled ) { - return; - } - - var active = this._getActiveHistory(), - currentScroll, minScroll, defaultScroll; - - if ( active ) { - currentScroll = this._getScroll(); - minScroll = this._getMinScroll(); - defaultScroll = this._getDefaultScroll(); - - // Set active page's lastScroll prop. If the location we're - // scrolling to is less than minScrollBack, let it go. - active.lastScroll = currentScroll < minScroll ? defaultScroll : currentScroll; - } - }, - - _delayedRecordScroll: function() { - setTimeout( $.proxy(this, "_recordScroll"), 100 ); - }, - - _getScroll: function() { - return this.window.scrollTop(); - }, - - _getMinScroll: function() { - return $.mobile.minScrollBack; - }, - - _getDefaultScroll: function() { - return $.mobile.defaultHomeScroll; - }, - - _filterNavigateEvents: function( e, data ) { - var url; - - if ( e.originalEvent && e.originalEvent.isDefaultPrevented() ) { - return; - } - - url = e.originalEvent.type.indexOf( "hashchange" ) > -1 ? data.state.hash : data.state.url; - - if ( !url ) { - url = this._getHash(); - } - - if ( !url || url === "#" || url.indexOf( "#" + $.mobile.path.uiStateKey ) === 0 ) { - url = location.href; - } - - this._handleNavigate( url, data.state ); - }, - - _getHash: function() { - return $.mobile.path.parseLocation().hash; - }, - - // TODO active page should be managed by the container (ie, it should be a property) - getActivePage: function() { - return this.activePage; - }, - - // TODO the first page should be a property set during _create using the logic - // that currently resides in init - _getInitialContent: function() { - return $.mobile.firstPage; - }, - - // TODO each content container should have a history object - _getHistory: function() { - return $.mobile.navigate.history; - }, - - _getActiveHistory: function() { - return this._getHistory().getActive(); - }, - - // TODO the document base should be determined at creation - _getDocumentBase: function() { - return $.mobile.path.documentBase; - }, - - back: function() { - this.go( -1 ); - }, - - forward: function() { - this.go( 1 ); - }, - - go: function( steps ) { - - //if hashlistening is enabled use native history method - if ( $.mobile.hashListeningEnabled ) { - window.history.go( steps ); - } else { - - //we are not listening to the hash so handle history internally - var activeIndex = $.mobile.navigate.history.activeIndex, - index = activeIndex + parseInt( steps, 10 ), - url = $.mobile.navigate.history.stack[ index ].url, - direction = ( steps >= 1 )? "forward" : "back"; - - //update the history object - $.mobile.navigate.history.activeIndex = index; - $.mobile.navigate.history.previousIndex = activeIndex; - - //change to the new page - this.change( url, { direction: direction, changeHash: false, fromHashChange: true } ); - } - }, - - // TODO rename _handleDestination - _handleDestination: function( to ) { - var history; - - // clean the hash for comparison if it's a url - if ( $.type(to) === "string" ) { - to = $.mobile.path.stripHash( to ); - } - - if ( to ) { - history = this._getHistory(); - - // At this point, 'to' can be one of 3 things, a cached page - // element from a history stack entry, an id, or site-relative / - // absolute URL. If 'to' is an id, we need to resolve it against - // the documentBase, not the location.href, since the hashchange - // could've been the result of a forward/backward navigation - // that crosses from an external page/dialog to an internal - // page/dialog. - // - // TODO move check to history object or path object? - to = !$.mobile.path.isPath( to ) ? ( $.mobile.path.makeUrlAbsolute( "#" + to, this._getDocumentBase() ) ) : to; - } - return to || this._getInitialContent(); - }, - - _transitionFromHistory: function( direction, defaultTransition ) { - var history = this._getHistory(), - entry = ( direction === "back" ? history.getLast() : history.getActive() ); - - return ( entry && entry.transition ) || defaultTransition; - }, - - _handleDialog: function( changePageOptions, data ) { - var to, active, activeContent = this.getActivePage(); - - // If current active page is not a dialog skip the dialog and continue - // in the same direction - // Note: The dialog widget is deprecated as of 1.4.0 and will be removed in 1.5.0. - // Thus, as of 1.5.0 activeContent.data( "mobile-dialog" ) will always evaluate to - // falsy, so the second condition in the if-statement below can be removed altogether. - if ( activeContent && !activeContent.data( "mobile-dialog" ) ) { - // determine if we're heading forward or backward and continue - // accordingly past the current dialog - if ( data.direction === "back" ) { - this.back(); - } else { - this.forward(); - } - - // prevent changePage call - return false; - } else { - // if the current active page is a dialog and we're navigating - // to a dialog use the dialog objected saved in the stack - to = data.pageUrl; - active = this._getActiveHistory(); - - // make sure to set the role, transition and reversal - // as most of this is lost by the domCache cleaning - $.extend( changePageOptions, { - role: active.role, - transition: this._transitionFromHistory( - data.direction, - changePageOptions.transition ), - reverse: data.direction === "back" - }); - } - - return to; - }, - - _handleNavigate: function( url, data ) { - //find first page via hash - // TODO stripping the hash twice with handleUrl - var to = $.mobile.path.stripHash( url ), history = this._getHistory(), - - // transition is false if it's the first page, undefined - // otherwise (and may be overridden by default) - transition = history.stack.length === 0 ? "none" : - this._transitionFromHistory( data.direction ), - - // default options for the changPage calls made after examining - // the current state of the page and the hash, NOTE that the - // transition is derived from the previous history entry - changePageOptions = { - changeHash: false, - fromHashChange: true, - reverse: data.direction === "back" - }; - - $.extend( changePageOptions, data, { - transition: transition - }); - - // TODO move to _handleDestination ? - // If this isn't the first page, if the current url is a dialog hash - // key, and the initial destination isn't equal to the current target - // page, use the special dialog handling - if ( history.activeIndex > 0 && - to.indexOf( $.mobile.dialogHashKey ) > -1 ) { - - to = this._handleDialog( changePageOptions, data ); - - if ( to === false ) { - return; - } - } - - this._changeContent( this._handleDestination( to ), changePageOptions ); - }, - - _changeContent: function( to, opts ) { - $.mobile.changePage( to, opts ); - }, - - _getBase: function() { - return $.mobile.base; - }, - - _getNs: function() { - return $.mobile.ns; - }, - - _enhance: function( content, role ) { - // TODO consider supporting a custom callback, and passing in - // the settings which includes the role - return content.page({ role: role }); - }, - - _include: function( page, settings ) { - // append to page and enhance - page.appendTo( this.element ); - - // use the page widget to enhance - this._enhance( page, settings.role ); - - // remove page on hide - page.page( "bindRemove" ); - }, - - _find: function( absUrl ) { - // TODO consider supporting a custom callback - var fileUrl = this._createFileUrl( absUrl ), - dataUrl = this._createDataUrl( absUrl ), - page, initialContent = this._getInitialContent(); - - // Check to see if the page already exists in the DOM. - // NOTE do _not_ use the :jqmData pseudo selector because parenthesis - // are a valid url char and it breaks on the first occurence - page = this.element - .children( "[data-" + this._getNs() + - "url='" + $.mobile.path.hashToSelector( dataUrl ) + "']" ); - - // If we failed to find the page, check to see if the url is a - // reference to an embedded page. If so, it may have been dynamically - // injected by a developer, in which case it would be lacking a - // data-url attribute and in need of enhancement. - if ( page.length === 0 && dataUrl && !$.mobile.path.isPath( dataUrl ) ) { - page = this.element.children( $.mobile.path.hashToSelector("#" + dataUrl) ) - .attr( "data-" + this._getNs() + "url", dataUrl ) - .jqmData( "url", dataUrl ); - } - - // If we failed to find a page in the DOM, check the URL to see if it - // refers to the first page in the application. Also check to make sure - // our cached-first-page is actually in the DOM. Some user deployed - // apps are pruning the first page from the DOM for various reasons. - // We check for this case here because we don't want a first-page with - // an id falling through to the non-existent embedded page error case. - if ( page.length === 0 && - $.mobile.path.isFirstPageUrl( fileUrl ) && - initialContent && - initialContent.parent().length ) { - page = $( initialContent ); - } - - return page; - }, - - _getLoader: function() { - return $.mobile.loading(); - }, - - _showLoading: function( delay, theme, msg, textonly ) { - // This configurable timeout allows cached pages a brief - // delay to load without showing a message - if ( this._loadMsg ) { - return; - } - - this._loadMsg = setTimeout($.proxy(function() { - this._getLoader().loader( "show", theme, msg, textonly ); - this._loadMsg = 0; - }, this), delay ); - }, - - _hideLoading: function() { - // Stop message show timer - clearTimeout( this._loadMsg ); - this._loadMsg = 0; - - // Hide loading message - this._getLoader().loader( "hide" ); - }, - - _showError: function() { - // make sure to remove the current loading message - this._hideLoading(); - - // show the error message - this._showLoading( 0, $.mobile.pageLoadErrorMessageTheme, $.mobile.pageLoadErrorMessage, true ); - - // hide the error message after a delay - // TODO configuration - setTimeout( $.proxy(this, "_hideLoading"), 1500 ); - }, - - _parse: function( html, fileUrl ) { - // TODO consider allowing customization of this method. It's very JQM specific - var page, all = $( "<div></div>" ); - - //workaround to allow scripts to execute when included in page divs - all.get( 0 ).innerHTML = html; - - page = all.find( ":jqmData(role='page'), :jqmData(role='dialog')" ).first(); - - //if page elem couldn't be found, create one and insert the body element's contents - if ( !page.length ) { - page = $( "<div data-" + this._getNs() + "role='page'>" + - ( html.split( /<\/?body[^>]*>/gmi )[1] || "" ) + - "</div>" ); - } - - // TODO tagging a page with external to make sure that embedded pages aren't - // removed by the various page handling code is bad. Having page handling code - // in many places is bad. Solutions post 1.0 - page.attr( "data-" + this._getNs() + "url", this._createDataUrl( fileUrl ) ) - .attr( "data-" + this._getNs() + "external-page", true ); - - return page; - }, - - _setLoadedTitle: function( page, html ) { - //page title regexp - var newPageTitle = html.match( /<title[^>]*>([^<]*)/ ) && RegExp.$1; - - if ( newPageTitle && !page.jqmData("title") ) { - newPageTitle = $( "<div>" + newPageTitle + "</div>" ).text(); - page.jqmData( "title", newPageTitle ); - } - }, - - _isRewritableBaseTag: function() { - return $.mobile.dynamicBaseEnabled && !$.support.dynamicBaseTag; - }, - - _createDataUrl: function( absoluteUrl ) { - return $.mobile.path.convertUrlToDataUrl( absoluteUrl ); - }, - - _createFileUrl: function( absoluteUrl ) { - return $.mobile.path.getFilePath( absoluteUrl ); - }, - - _triggerWithDeprecated: function( name, data, page ) { - var deprecatedEvent = $.Event( "page" + name ), - newEvent = $.Event( this.widgetName + name ); - - // DEPRECATED - // trigger the old deprecated event on the page if it's provided - ( page || this.element ).trigger( deprecatedEvent, data ); - - // use the widget trigger method for the new content* event - this._trigger( name, newEvent, data ); - - return { - deprecatedEvent: deprecatedEvent, - event: newEvent - }; - }, - - // TODO it would be nice to split this up more but everything appears to be "one off" - // or require ordering such that other bits are sprinkled in between parts that - // could be abstracted out as a group - _loadSuccess: function( absUrl, triggerData, settings, deferred ) { - var fileUrl = this._createFileUrl( absUrl ); - - return $.proxy(function( html, textStatus, xhr ) { - //pre-parse html to check for a data-url, - //use it as the new fileUrl, base path, etc - var content, - - // TODO handle dialogs again - pageElemRegex = new RegExp( "(<[^>]+\\bdata-" + this._getNs() + "role=[\"']?page[\"']?[^>]*>)" ), - - dataUrlRegex = new RegExp( "\\bdata-" + this._getNs() + "url=[\"']?([^\"'>]*)[\"']?" ); - - // data-url must be provided for the base tag so resource requests - // can be directed to the correct url. loading into a temprorary - // element makes these requests immediately - if ( pageElemRegex.test( html ) && - RegExp.$1 && - dataUrlRegex.test( RegExp.$1 ) && - RegExp.$1 ) { - fileUrl = $.mobile.path.getFilePath( $("<div>" + RegExp.$1 + "</div>").text() ); - - // We specify that, if a data-url attribute is given on the page div, its value - // must be given non-URL-encoded. However, in this part of the code, fileUrl is - // assumed to be URL-encoded, so we URL-encode the retrieved value here - fileUrl = this.window[ 0 ].encodeURIComponent( fileUrl ); - } - - //dont update the base tag if we are prefetching - if ( settings.prefetch === undefined ) { - this._getBase().set( fileUrl ); - } - - content = this._parse( html, fileUrl ); - - this._setLoadedTitle( content, html ); - - // Add the content reference and xhr to our triggerData. - triggerData.xhr = xhr; - triggerData.textStatus = textStatus; - - // DEPRECATED - triggerData.page = content; - - triggerData.content = content; - - triggerData.toPage = content; - - // If the default behavior is prevented, stop here! - // Note that it is the responsibility of the listener/handler - // that called preventDefault(), to resolve/reject the - // deferred object within the triggerData. - if ( this._triggerWithDeprecated( "load", triggerData ).event.isDefaultPrevented() ) { - return; - } - - // rewrite src and href attrs to use a base url if the base tag won't work - if ( this._isRewritableBaseTag() && content ) { - this._getBase().rewrite( fileUrl, content ); - } - - this._include( content, settings ); - - // Remove loading message. - if ( settings.showLoadMsg ) { - this._hideLoading(); - } - - deferred.resolve( absUrl, settings, content ); - }, this); - }, - - _loadDefaults: { - type: "get", - data: undefined, - - // DEPRECATED - reloadPage: false, - - reload: false, - - // By default we rely on the role defined by the @data-role attribute. - role: undefined, - - showLoadMsg: false, - - // This delay allows loads that pull from browser cache to - // occur without showing the loading message. - loadMsgDelay: 50 - }, - - load: function( url, options ) { - // This function uses deferred notifications to let callers - // know when the content is done loading, or if an error has occurred. - var deferred = ( options && options.deferred ) || $.Deferred(), - - // Examining the option "reloadPage" passed by the user is deprecated as of 1.4.0 - // and will be removed in 1.5.0. - // Copy option "reloadPage" to "reload", but only if option "reload" is not present - reloadOptionExtension = - ( ( options && options.reload === undefined && - options.reloadPage !== undefined ) ? - { reload: options.reloadPage } : {} ), - - // The default load options with overrides specified by the caller. - settings = $.extend( {}, this._loadDefaults, options, reloadOptionExtension ), - - // The DOM element for the content after it has been loaded. - content = null, - - // The absolute version of the URL passed into the function. This - // version of the URL may contain dialog/subcontent params in it. - absUrl = $.mobile.path.makeUrlAbsolute( url, this._findBaseWithDefault() ), - fileUrl, dataUrl, pblEvent, triggerData; - - // If the caller provided data, and we're using "get" request, - // append the data to the URL. - if ( settings.data && settings.type === "get" ) { - absUrl = $.mobile.path.addSearchParams( absUrl, settings.data ); - settings.data = undefined; - } - - // If the caller is using a "post" request, reload must be true - if ( settings.data && settings.type === "post" ) { - settings.reload = true; - } - - // The absolute version of the URL minus any dialog/subcontent params. - // In otherwords the real URL of the content to be loaded. - fileUrl = this._createFileUrl( absUrl ); - - // The version of the Url actually stored in the data-url attribute of - // the content. For embedded content, it is just the id of the page. For - // content within the same domain as the document base, it is the site - // relative path. For cross-domain content (Phone Gap only) the entire - // absolute Url is used to load the content. - dataUrl = this._createDataUrl( absUrl ); - - content = this._find( absUrl ); - - // If it isn't a reference to the first content and refers to missing - // embedded content reject the deferred and return - if ( content.length === 0 && - $.mobile.path.isEmbeddedPage(fileUrl) && - !$.mobile.path.isFirstPageUrl(fileUrl) ) { - deferred.reject( absUrl, settings ); - return deferred.promise(); - } - - // Reset base to the default document base - // TODO figure out why we doe this - this._getBase().reset(); - - // If the content we are interested in is already in the DOM, - // and the caller did not indicate that we should force a - // reload of the file, we are done. Resolve the deferrred so that - // users can bind to .done on the promise - if ( content.length && !settings.reload ) { - this._enhance( content, settings.role ); - deferred.resolve( absUrl, settings, content ); - - //if we are reloading the content make sure we update - // the base if its not a prefetch - if ( !settings.prefetch ) { - this._getBase().set(url); - } - - return deferred.promise(); - } - - triggerData = { - url: url, - absUrl: absUrl, - toPage: url, - prevPage: options ? options.fromPage : undefined, - dataUrl: dataUrl, - deferred: deferred, - options: settings - }; - - // Let listeners know we're about to load content. - pblEvent = this._triggerWithDeprecated( "beforeload", triggerData ); - - // If the default behavior is prevented, stop here! - if ( pblEvent.deprecatedEvent.isDefaultPrevented() || - pblEvent.event.isDefaultPrevented() ) { - return deferred.promise(); - } - - if ( settings.showLoadMsg ) { - this._showLoading( settings.loadMsgDelay ); - } - - // Reset base to the default document base. - // only reset if we are not prefetching - if ( settings.prefetch === undefined ) { - this._getBase().reset(); - } - - if ( !( $.mobile.allowCrossDomainPages || - $.mobile.path.isSameDomain($.mobile.path.documentUrl, absUrl ) ) ) { - deferred.reject( absUrl, settings ); - return deferred.promise(); - } - - // Load the new content. - $.ajax({ - url: fileUrl, - type: settings.type, - data: settings.data, - contentType: settings.contentType, - dataType: "html", - success: this._loadSuccess( absUrl, triggerData, settings, deferred ), - error: this._loadError( absUrl, triggerData, settings, deferred ) - }); - - return deferred.promise(); - }, - - _loadError: function( absUrl, triggerData, settings, deferred ) { - return $.proxy(function( xhr, textStatus, errorThrown ) { - //set base back to current path - this._getBase().set( $.mobile.path.get() ); - - // Add error info to our triggerData. - triggerData.xhr = xhr; - triggerData.textStatus = textStatus; - triggerData.errorThrown = errorThrown; - - // Let listeners know the page load failed. - var plfEvent = this._triggerWithDeprecated( "loadfailed", triggerData ); - - // If the default behavior is prevented, stop here! - // Note that it is the responsibility of the listener/handler - // that called preventDefault(), to resolve/reject the - // deferred object within the triggerData. - if ( plfEvent.deprecatedEvent.isDefaultPrevented() || - plfEvent.event.isDefaultPrevented() ) { - return; - } - - // Remove loading message. - if ( settings.showLoadMsg ) { - this._showError(); - } - - deferred.reject( absUrl, settings ); - }, this); - }, - - _getTransitionHandler: function( transition ) { - transition = $.mobile._maybeDegradeTransition( transition ); - - //find the transition handler for the specified transition. If there - //isn't one in our transitionHandlers dictionary, use the default one. - //call the handler immediately to kick-off the transition. - return $.mobile.transitionHandlers[ transition ] || $.mobile.defaultTransitionHandler; - }, - - // TODO move into transition handlers? - _triggerCssTransitionEvents: function( to, from, prefix ) { - var samePage = false; - - prefix = prefix || ""; - - // TODO decide if these events should in fact be triggered on the container - if ( from ) { - - //Check if this is a same page transition and tell the handler in page - if( to[0] === from[0] ){ - samePage = true; - } - - //trigger before show/hide events - // TODO deprecate nextPage in favor of next - this._triggerWithDeprecated( prefix + "hide", { - - // Deprecated in 1.4 remove in 1.5 - nextPage: to, - toPage: to, - prevPage: from, - samePage: samePage - }, from ); - } - - // TODO deprecate prevPage in favor of previous - this._triggerWithDeprecated( prefix + "show", { - prevPage: from || $( "" ), - toPage: to - }, to ); - }, - - // TODO make private once change has been defined in the widget - _cssTransition: function( to, from, options ) { - var transition = options.transition, - reverse = options.reverse, - deferred = options.deferred, - TransitionHandler, - promise; - - this._triggerCssTransitionEvents( to, from, "before" ); - - // TODO put this in a binding to events *outside* the widget - this._hideLoading(); - - TransitionHandler = this._getTransitionHandler( transition ); - - promise = ( new TransitionHandler( transition, reverse, to, from ) ).transition(); - - promise.done( $.proxy( function() { - this._triggerCssTransitionEvents( to, from ); - }, this )); - - // TODO temporary accomodation of argument deferred - promise.done(function() { - deferred.resolve.apply( deferred, arguments ); - }); - }, - - _releaseTransitionLock: function() { - //release transition lock so navigation is free again - isPageTransitioning = false; - if ( pageTransitionQueue.length > 0 ) { - $.mobile.changePage.apply( null, pageTransitionQueue.pop() ); - } - }, - - _removeActiveLinkClass: function( force ) { - //clear out the active button state - $.mobile.removeActiveLinkClass( force ); - }, - - _loadUrl: function( to, triggerData, settings ) { - // preserve the original target as the dataUrl value will be - // simplified eg, removing ui-state, and removing query params - // from the hash this is so that users who want to use query - // params have access to them in the event bindings for the page - // life cycle See issue #5085 - settings.target = to; - settings.deferred = $.Deferred(); - - this.load( to, settings ); - - settings.deferred.done($.proxy(function( url, options, content ) { - isPageTransitioning = false; - - // store the original absolute url so that it can be provided - // to events in the triggerData of the subsequent changePage call - options.absUrl = triggerData.absUrl; - - this.transition( content, triggerData, options ); - }, this)); - - settings.deferred.fail($.proxy(function(/* url, options */) { - this._removeActiveLinkClass( true ); - this._releaseTransitionLock(); - this._triggerWithDeprecated( "changefailed", triggerData ); - }, this)); - }, - - _triggerPageBeforeChange: function( to, triggerData, settings ) { - var returnEvents; - - triggerData.prevPage = this.activePage; - $.extend( triggerData, { - toPage: to, - options: settings - }); - - // NOTE: preserve the original target as the dataUrl value will be - // simplified eg, removing ui-state, and removing query params from - // the hash this is so that users who want to use query params have - // access to them in the event bindings for the page life cycle - // See issue #5085 - if ( $.type(to) === "string" ) { - // if the toPage is a string simply convert it - triggerData.absUrl = $.mobile.path.makeUrlAbsolute( to, this._findBaseWithDefault() ); - } else { - // if the toPage is a jQuery object grab the absolute url stored - // in the loadPage callback where it exists - triggerData.absUrl = settings.absUrl; - } - - // Let listeners know we're about to change the current page. - returnEvents = this._triggerWithDeprecated( "beforechange", triggerData ); - - // If the default behavior is prevented, stop here! - if ( returnEvents.event.isDefaultPrevented() || - returnEvents.deprecatedEvent.isDefaultPrevented() ) { - return false; - } - - return true; - }, - - change: function( to, options ) { - // If we are in the midst of a transition, queue the current request. - // We'll call changePage() once we're done with the current transition - // to service the request. - if ( isPageTransitioning ) { - pageTransitionQueue.unshift( arguments ); - return; - } - - var settings = $.extend( {}, $.mobile.changePage.defaults, options ), - triggerData = {}; - - // Make sure we have a fromPage. - settings.fromPage = settings.fromPage || this.activePage; - - // if the page beforechange default is prevented return early - if ( !this._triggerPageBeforeChange(to, triggerData, settings) ) { - return; - } - - // We allow "pagebeforechange" observers to modify the to in - // the trigger data to allow for redirects. Make sure our to is - // updated. We also need to re-evaluate whether it is a string, - // because an object can also be replaced by a string - to = triggerData.toPage; - - // If the caller passed us a url, call loadPage() - // to make sure it is loaded into the DOM. We'll listen - // to the promise object it returns so we know when - // it is done loading or if an error ocurred. - if ( $.type(to) === "string" ) { - // Set the isPageTransitioning flag to prevent any requests from - // entering this method while we are in the midst of loading a page - // or transitioning. - isPageTransitioning = true; - - this._loadUrl( to, triggerData, settings ); - } else { - this.transition( to, triggerData, settings ); - } - }, - - transition: function( toPage, triggerData, settings ) { - var fromPage, url, pageUrl, fileUrl, - active, activeIsInitialPage, - historyDir, pageTitle, isDialog, - alreadyThere, newPageTitle, - params, cssTransitionDeferred, - beforeTransition; - - // If we are in the midst of a transition, queue the current request. - // We'll call changePage() once we're done with the current transition - // to service the request. - if ( isPageTransitioning ) { - // make sure to only queue the to and settings values so the arguments - // work with a call to the change method - pageTransitionQueue.unshift( [toPage, settings] ); - return; - } - - // DEPRECATED - this call only, in favor of the before transition - // if the page beforechange default is prevented return early - if ( !this._triggerPageBeforeChange(toPage, triggerData, settings) ) { - return; - } - - triggerData.prevPage = settings.fromPage; - // if the (content|page)beforetransition default is prevented return early - // Note, we have to check for both the deprecated and new events - beforeTransition = this._triggerWithDeprecated( "beforetransition", triggerData ); - if (beforeTransition.deprecatedEvent.isDefaultPrevented() || - beforeTransition.event.isDefaultPrevented() ) { - return; - } - - // Set the isPageTransitioning flag to prevent any requests from - // entering this method while we are in the midst of loading a page - // or transitioning. - isPageTransitioning = true; - - // If we are going to the first-page of the application, we need to make - // sure settings.dataUrl is set to the application document url. This allows - // us to avoid generating a document url with an id hash in the case where the - // first-page of the document has an id attribute specified. - if ( toPage[ 0 ] === $.mobile.firstPage[ 0 ] && !settings.dataUrl ) { - settings.dataUrl = $.mobile.path.documentUrl.hrefNoHash; - } - - // The caller passed us a real page DOM element. Update our - // internal state and then trigger a transition to the page. - fromPage = settings.fromPage; - url = ( settings.dataUrl && $.mobile.path.convertUrlToDataUrl(settings.dataUrl) ) || - toPage.jqmData( "url" ); - - // The pageUrl var is usually the same as url, except when url is obscured - // as a dialog url. pageUrl always contains the file path - pageUrl = url; - fileUrl = $.mobile.path.getFilePath( url ); - active = $.mobile.navigate.history.getActive(); - activeIsInitialPage = $.mobile.navigate.history.activeIndex === 0; - historyDir = 0; - pageTitle = document.title; - isDialog = ( settings.role === "dialog" || - toPage.jqmData( "role" ) === "dialog" ) && - toPage.jqmData( "dialog" ) !== true; - - // By default, we prevent changePage requests when the fromPage and toPage - // are the same element, but folks that generate content - // manually/dynamically and reuse pages want to be able to transition to - // the same page. To allow this, they will need to change the default - // value of allowSamePageTransition to true, *OR*, pass it in as an - // option when they manually call changePage(). It should be noted that - // our default transition animations assume that the formPage and toPage - // are different elements, so they may behave unexpectedly. It is up to - // the developer that turns on the allowSamePageTransitiona option to - // either turn off transition animations, or make sure that an appropriate - // animation transition is used. - if ( fromPage && fromPage[0] === toPage[0] && - !settings.allowSamePageTransition ) { - - isPageTransitioning = false; - this._triggerWithDeprecated( "transition", triggerData ); - this._triggerWithDeprecated( "change", triggerData ); - - // Even if there is no page change to be done, we should keep the - // urlHistory in sync with the hash changes - if ( settings.fromHashChange ) { - $.mobile.navigate.history.direct({ url: url }); - } - - return; - } - - // We need to make sure the page we are given has already been enhanced. - toPage.page({ role: settings.role }); - - // If the changePage request was sent from a hashChange event, check to - // see if the page is already within the urlHistory stack. If so, we'll - // assume the user hit the forward/back button and will try to match the - // transition accordingly. - if ( settings.fromHashChange ) { - historyDir = settings.direction === "back" ? -1 : 1; - } - - // Kill the keyboard. - // XXX_jblas: We need to stop crawling the entire document to kill focus. - // Instead, we should be tracking focus with a delegate() - // handler so we already have the element in hand at this - // point. - // Wrap this in a try/catch block since IE9 throw "Unspecified error" if - // document.activeElement is undefined when we are in an IFrame. - try { - if ( document.activeElement && - document.activeElement.nodeName.toLowerCase() !== "body" ) { - - $( document.activeElement ).blur(); - } else { - $( "input:focus, textarea:focus, select:focus" ).blur(); - } - } catch( e ) {} - - // Record whether we are at a place in history where a dialog used to be - - // if so, do not add a new history entry and do not change the hash either - alreadyThere = false; - - // If we're displaying the page as a dialog, we don't want the url - // for the dialog content to be used in the hash. Instead, we want - // to append the dialogHashKey to the url of the current page. - if ( isDialog && active ) { - // on the initial page load active.url is undefined and in that case - // should be an empty string. Moving the undefined -> empty string back - // into urlHistory.addNew seemed imprudent given undefined better - // represents the url state - - // If we are at a place in history that once belonged to a dialog, reuse - // this state without adding to urlHistory and without modifying the - // hash. However, if a dialog is already displayed at this point, and - // we're about to display another dialog, then we must add another hash - // and history entry on top so that one may navigate back to the - // original dialog - if ( active.url && - active.url.indexOf( $.mobile.dialogHashKey ) > -1 && - this.activePage && - !this.activePage.hasClass( "ui-dialog" ) && - $.mobile.navigate.history.activeIndex > 0 ) { - - settings.changeHash = false; - alreadyThere = true; - } - - // Normally, we tack on a dialog hash key, but if this is the location - // of a stale dialog, we reuse the URL from the entry - url = ( active.url || "" ); - - // account for absolute urls instead of just relative urls use as hashes - if ( !alreadyThere && url.indexOf("#") > -1 ) { - url += $.mobile.dialogHashKey; - } else { - url += "#" + $.mobile.dialogHashKey; - } - } - - // if title element wasn't found, try the page div data attr too - // If this is a deep-link or a reload ( active === undefined ) then just - // use pageTitle - newPageTitle = ( !active ) ? pageTitle : toPage.jqmData( "title" ) || - toPage.children( ":jqmData(role='header')" ).find( ".ui-title" ).text(); - if ( !!newPageTitle && pageTitle === document.title ) { - pageTitle = newPageTitle; - } - if ( !toPage.jqmData( "title" ) ) { - toPage.jqmData( "title", pageTitle ); - } - - // Make sure we have a transition defined. - settings.transition = settings.transition || - ( ( historyDir && !activeIsInitialPage ) ? active.transition : undefined ) || - ( isDialog ? $.mobile.defaultDialogTransition : $.mobile.defaultPageTransition ); - - //add page to history stack if it's not back or forward - if ( !historyDir && alreadyThere ) { - $.mobile.navigate.history.getActive().pageUrl = pageUrl; - } - - // Set the location hash. - if ( url && !settings.fromHashChange ) { - - // rebuilding the hash here since we loose it earlier on - // TODO preserve the originally passed in path - if ( !$.mobile.path.isPath( url ) && url.indexOf( "#" ) < 0 ) { - url = "#" + url; - } - - // TODO the property names here are just silly - params = { - transition: settings.transition, - title: pageTitle, - pageUrl: pageUrl, - role: settings.role - }; - - if ( settings.changeHash !== false && $.mobile.hashListeningEnabled ) { - $.mobile.navigate( this.window[ 0 ].encodeURI( url ), params, true); - } else if ( toPage[ 0 ] !== $.mobile.firstPage[ 0 ] ) { - $.mobile.navigate.history.add( url, params ); - } - } - - //set page title - document.title = pageTitle; - - //set "toPage" as activePage deprecated in 1.4 remove in 1.5 - $.mobile.activePage = toPage; - - //new way to handle activePage - this.activePage = toPage; - - // If we're navigating back in the URL history, set reverse accordingly. - settings.reverse = settings.reverse || historyDir < 0; - - cssTransitionDeferred = $.Deferred(); - - this._cssTransition(toPage, fromPage, { - transition: settings.transition, - reverse: settings.reverse, - deferred: cssTransitionDeferred - }); - - cssTransitionDeferred.done($.proxy(function( name, reverse, $to, $from, alreadyFocused ) { - $.mobile.removeActiveLinkClass(); - - //if there's a duplicateCachedPage, remove it from the DOM now that it's hidden - if ( settings.duplicateCachedPage ) { - settings.duplicateCachedPage.remove(); - } - - // despite visibility: hidden addresses issue #2965 - // https://github.com/jquery/jquery-mobile/issues/2965 - if ( !alreadyFocused ) { - $.mobile.focusPage( toPage ); - } - - this._releaseTransitionLock(); - this._triggerWithDeprecated( "transition", triggerData ); - this._triggerWithDeprecated( "change", triggerData ); - }, this)); - }, - - // determine the current base url - _findBaseWithDefault: function() { - var closestBase = ( this.activePage && - $.mobile.getClosestBaseUrl( this.activePage ) ); - return closestBase || $.mobile.path.documentBase.hrefNoHash; - } - }); - - // The following handlers should be bound after mobileinit has been triggered - // the following deferred is resolved in the init file - $.mobile.navreadyDeferred = $.Deferred(); - - //these variables make all page containers use the same queue and only navigate one at a time - // queue to hold simultanious page transitions - var pageTransitionQueue = [], - - // indicates whether or not page is in process of transitioning - isPageTransitioning = false; - -})( jQuery ); - -(function( $, undefined ) { - - // resolved on domready - var domreadyDeferred = $.Deferred(), - - // resolved and nulled on window.load() - loadDeferred = $.Deferred(), - - // function that resolves the above deferred - pageIsFullyLoaded = function() { - - // Resolve and null the deferred - loadDeferred.resolve(); - loadDeferred = null; - }, - - documentUrl = $.mobile.path.documentUrl, - - // used to track last vclicked element to make sure its value is added to form data - $lastVClicked = null; - - /* Event Bindings - hashchange, submit, and click */ - function findClosestLink( ele ) { - while ( ele ) { - // Look for the closest element with a nodeName of "a". - // Note that we are checking if we have a valid nodeName - // before attempting to access it. This is because the - // node we get called with could have originated from within - // an embedded SVG document where some symbol instance elements - // don't have nodeName defined on them, or strings are of type - // SVGAnimatedString. - if ( ( typeof ele.nodeName === "string" ) && ele.nodeName.toLowerCase() === "a" ) { - break; - } - ele = ele.parentNode; - } - return ele; - } - - $.mobile.loadPage = function( url, opts ) { - var container; - - opts = opts || {}; - container = ( opts.pageContainer || $.mobile.pageContainer ); - - // create the deferred that will be supplied to loadPage callers - // and resolved by the content widget's load method - opts.deferred = $.Deferred(); - - // Preferring to allow exceptions for uninitialized opts.pageContainer - // widgets so we know if we need to force init here for users - container.pagecontainer( "load", url, opts ); - - // provide the deferred - return opts.deferred.promise(); - }; - - //define vars for interal use - - /* internal utility functions */ - - // NOTE Issue #4950 Android phonegap doesn't navigate back properly - // when a full page refresh has taken place. It appears that hashchange - // and replacestate history alterations work fine but we need to support - // both forms of history traversal in our code that uses backward history - // movement - $.mobile.back = function() { - var nav = window.navigator; - - // if the setting is on and the navigator object is - // available use the phonegap navigation capability - if ( this.phonegapNavigationEnabled && - nav && - nav.app && - nav.app.backHistory ) { - nav.app.backHistory(); - } else { - $.mobile.pageContainer.pagecontainer( "back" ); - } - }; - - // Direct focus to the page title, or otherwise first focusable element - $.mobile.focusPage = function ( page ) { - var autofocus = page.find( "[autofocus]" ), - pageTitle = page.find( ".ui-title:eq(0)" ); - - if ( autofocus.length ) { - autofocus.focus(); - return; - } - - if ( pageTitle.length ) { - pageTitle.focus(); - } else{ - page.focus(); - } - }; - - // No-op implementation of transition degradation - $.mobile._maybeDegradeTransition = $.mobile._maybeDegradeTransition || function( transition ) { - return transition; - }; - - // Exposed $.mobile methods - - $.mobile.changePage = function( to, options ) { - $.mobile.pageContainer.pagecontainer( "change", to, options ); - }; - - $.mobile.changePage.defaults = { - transition: undefined, - reverse: false, - changeHash: true, - fromHashChange: false, - role: undefined, // By default we rely on the role defined by the @data-role attribute. - duplicateCachedPage: undefined, - pageContainer: undefined, - showLoadMsg: true, //loading message shows by default when pages are being fetched during changePage - dataUrl: undefined, - fromPage: undefined, - allowSamePageTransition: false - }; - - $.mobile._registerInternalEvents = function() { - var getAjaxFormData = function( $form, calculateOnly ) { - var url, ret = true, formData, vclickedName, method; - if ( !$.mobile.ajaxEnabled || - // test that the form is, itself, ajax false - $form.is( ":jqmData(ajax='false')" ) || - // test that $.mobile.ignoreContentEnabled is set and - // the form or one of it's parents is ajax=false - !$form.jqmHijackable().length || - $form.attr( "target" ) ) { - return false; - } - - url = ( $lastVClicked && $lastVClicked.attr( "formaction" ) ) || - $form.attr( "action" ); - method = ( $form.attr( "method" ) || "get" ).toLowerCase(); - - // If no action is specified, browsers default to using the - // URL of the document containing the form. Since we dynamically - // pull in pages from external documents, the form should submit - // to the URL for the source document of the page containing - // the form. - if ( !url ) { - // Get the @data-url for the page containing the form. - url = $.mobile.getClosestBaseUrl( $form ); - - // NOTE: If the method is "get", we need to strip off the query string - // because it will get replaced with the new form data. See issue #5710. - if ( method === "get" ) { - url = $.mobile.path.parseUrl( url ).hrefNoSearch; - } - - if ( url === $.mobile.path.documentBase.hrefNoHash ) { - // The url we got back matches the document base, - // which means the page must be an internal/embedded page, - // so default to using the actual document url as a browser - // would. - url = documentUrl.hrefNoSearch; - } - } - - url = $.mobile.path.makeUrlAbsolute( url, $.mobile.getClosestBaseUrl( $form ) ); - - if ( ( $.mobile.path.isExternal( url ) && !$.mobile.path.isPermittedCrossDomainRequest( documentUrl, url ) ) ) { - return false; - } - - if ( !calculateOnly ) { - formData = $form.serializeArray(); - - if ( $lastVClicked && $lastVClicked[ 0 ].form === $form[ 0 ] ) { - vclickedName = $lastVClicked.attr( "name" ); - if ( vclickedName ) { - // Make sure the last clicked element is included in the form - $.each( formData, function( key, value ) { - if ( value.name === vclickedName ) { - // Unset vclickedName - we've found it in the serialized data already - vclickedName = ""; - return false; - } - }); - if ( vclickedName ) { - formData.push( { name: vclickedName, value: $lastVClicked.attr( "value" ) } ); - } - } - } - - ret = { - url: url, - options: { - type: method, - data: $.param( formData ), - transition: $form.jqmData( "transition" ), - reverse: $form.jqmData( "direction" ) === "reverse", - reloadPage: true - } - }; - } - - return ret; - }; - - //bind to form submit events, handle with Ajax - $.mobile.document.delegate( "form", "submit", function( event ) { - var formData; - - if ( !event.isDefaultPrevented() ) { - formData = getAjaxFormData( $( this ) ); - if ( formData ) { - $.mobile.changePage( formData.url, formData.options ); - event.preventDefault(); - } - } - }); - - //add active state on vclick - $.mobile.document.bind( "vclick", function( event ) { - var $btn, btnEls, target = event.target, needClosest = false; - // if this isn't a left click we don't care. Its important to note - // that when the virtual event is generated it will create the which attr - if ( event.which > 1 || !$.mobile.linkBindingEnabled ) { - return; - } - - // Record that this element was clicked, in case we need it for correct - // form submission during the "submit" handler above - $lastVClicked = $( target ); - - // Try to find a target element to which the active class will be applied - if ( $.data( target, "mobile-button" ) ) { - // If the form will not be submitted via AJAX, do not add active class - if ( !getAjaxFormData( $( target ).closest( "form" ), true ) ) { - return; - } - // We will apply the active state to this button widget - the parent - // of the input that was clicked will have the associated data - if ( target.parentNode ) { - target = target.parentNode; - } - } else { - target = findClosestLink( target ); - if ( !( target && $.mobile.path.parseUrl( target.getAttribute( "href" ) || "#" ).hash !== "#" ) ) { - return; - } - - // TODO teach $.mobile.hijackable to operate on raw dom elements so the - // link wrapping can be avoided - if ( !$( target ).jqmHijackable().length ) { - return; - } - } - - // Avoid calling .closest by using the data set during .buttonMarkup() - // List items have the button data in the parent of the element clicked - if ( !!~target.className.indexOf( "ui-link-inherit" ) ) { - if ( target.parentNode ) { - btnEls = $.data( target.parentNode, "buttonElements" ); - } - // Otherwise, look for the data on the target itself - } else { - btnEls = $.data( target, "buttonElements" ); - } - // If found, grab the button's outer element - if ( btnEls ) { - target = btnEls.outer; - } else { - needClosest = true; - } - - $btn = $( target ); - // If the outer element wasn't found by the our heuristics, use .closest() - if ( needClosest ) { - $btn = $btn.closest( ".ui-btn" ); - } - - if ( $btn.length > 0 && - !( $btn.hasClass( "ui-state-disabled" || - - // DEPRECATED as of 1.4.0 - remove after 1.4.0 release - // only ui-state-disabled should be present thereafter - $btn.hasClass( "ui-disabled" ) ) ) ) { - $.mobile.removeActiveLinkClass( true ); - $.mobile.activeClickedLink = $btn; - $.mobile.activeClickedLink.addClass( $.mobile.activeBtnClass ); - } - }); - - // click routing - direct to HTTP or Ajax, accordingly - $.mobile.document.bind( "click", function( event ) { - if ( !$.mobile.linkBindingEnabled || event.isDefaultPrevented() ) { - return; - } - - var link = findClosestLink( event.target ), - $link = $( link ), - - //remove active link class if external (then it won't be there if you come back) - httpCleanup = function() { - window.setTimeout(function() { $.mobile.removeActiveLinkClass( true ); }, 200 ); - }, - baseUrl, href, - useDefaultUrlHandling, isExternal, - transition, reverse, role; - - // If a button was clicked, clean up the active class added by vclick above - if ( $.mobile.activeClickedLink && - $.mobile.activeClickedLink[ 0 ] === event.target.parentNode ) { - httpCleanup(); - } - - // If there is no link associated with the click or its not a left - // click we want to ignore the click - // TODO teach $.mobile.hijackable to operate on raw dom elements so the link wrapping - // can be avoided - if ( !link || event.which > 1 || !$link.jqmHijackable().length ) { - return; - } - - //if there's a data-rel=back attr, go back in history - if ( $link.is( ":jqmData(rel='back')" ) ) { - $.mobile.back(); - return false; - } - - baseUrl = $.mobile.getClosestBaseUrl( $link ); - - //get href, if defined, otherwise default to empty hash - href = $.mobile.path.makeUrlAbsolute( $link.attr( "href" ) || "#", baseUrl ); - - //if ajax is disabled, exit early - if ( !$.mobile.ajaxEnabled && !$.mobile.path.isEmbeddedPage( href ) ) { - httpCleanup(); - //use default click handling - return; - } - - // XXX_jblas: Ideally links to application pages should be specified as - // an url to the application document with a hash that is either - // the site relative path or id to the page. But some of the - // internal code that dynamically generates sub-pages for nested - // lists and select dialogs, just write a hash in the link they - // create. This means the actual URL path is based on whatever - // the current value of the base tag is at the time this code - // is called. - if ( href.search( "#" ) !== -1 && - !( $.mobile.path.isExternal( href ) && $.mobile.path.isAbsoluteUrl( href ) ) ) { - - href = href.replace( /[^#]*#/, "" ); - if ( !href ) { - //link was an empty hash meant purely - //for interaction, so we ignore it. - event.preventDefault(); - return; - } else if ( $.mobile.path.isPath( href ) ) { - //we have apath so make it the href we want to load. - href = $.mobile.path.makeUrlAbsolute( href, baseUrl ); - } else { - //we have a simple id so use the documentUrl as its base. - href = $.mobile.path.makeUrlAbsolute( "#" + href, documentUrl.hrefNoHash ); - } - } - - // Should we handle this link, or let the browser deal with it? - useDefaultUrlHandling = $link.is( "[rel='external']" ) || $link.is( ":jqmData(ajax='false')" ) || $link.is( "[target]" ); - - // Some embedded browsers, like the web view in Phone Gap, allow cross-domain XHR - // requests if the document doing the request was loaded via the file:// protocol. - // This is usually to allow the application to "phone home" and fetch app specific - // data. We normally let the browser handle external/cross-domain urls, but if the - // allowCrossDomainPages option is true, we will allow cross-domain http/https - // requests to go through our page loading logic. - - //check for protocol or rel and its not an embedded page - //TODO overlap in logic from isExternal, rel=external check should be - // moved into more comprehensive isExternalLink - isExternal = useDefaultUrlHandling || ( $.mobile.path.isExternal( href ) && !$.mobile.path.isPermittedCrossDomainRequest( documentUrl, href ) ); - - if ( isExternal ) { - httpCleanup(); - //use default click handling - return; - } - - //use ajax - transition = $link.jqmData( "transition" ); - reverse = $link.jqmData( "direction" ) === "reverse" || - // deprecated - remove by 1.0 - $link.jqmData( "back" ); - - //this may need to be more specific as we use data-rel more - role = $link.attr( "data-" + $.mobile.ns + "rel" ) || undefined; - - $.mobile.changePage( href, { transition: transition, reverse: reverse, role: role, link: $link } ); - event.preventDefault(); - }); - - //prefetch pages when anchors with data-prefetch are encountered - $.mobile.document.delegate( ".ui-page", "pageshow.prefetch", function() { - var urls = []; - $( this ).find( "a:jqmData(prefetch)" ).each(function() { - var $link = $( this ), - url = $link.attr( "href" ); - - if ( url && $.inArray( url, urls ) === -1 ) { - urls.push( url ); - - $.mobile.loadPage( url, { role: $link.attr( "data-" + $.mobile.ns + "rel" ),prefetch: true } ); - } - }); - }); - - // TODO ensure that the navigate binding in the content widget happens at the right time - $.mobile.pageContainer.pagecontainer(); - - //set page min-heights to be device specific - $.mobile.document.bind( "pageshow", function() { - - // We need to wait for window.load to make sure that styles have already been rendered, - // otherwise heights of external toolbars will have the wrong value - if ( loadDeferred ) { - loadDeferred.done( $.mobile.resetActivePageHeight ); - } else { - $.mobile.resetActivePageHeight(); - } - }); - $.mobile.window.bind( "throttledresize", $.mobile.resetActivePageHeight ); - - };//navreadyDeferred done callback - - $( function() { domreadyDeferred.resolve(); } ); - - // Account for the possibility that the load event has already fired - if ( document.readyState === "complete" ) { - pageIsFullyLoaded(); - } else { - $.mobile.window.load( pageIsFullyLoaded ); - } - - $.when( domreadyDeferred, $.mobile.navreadyDeferred ).done( function() { $.mobile._registerInternalEvents(); } ); -})( jQuery ); - - -(function( $, window, undefined ) { - - // TODO remove direct references to $.mobile and properties, we should - // favor injection with params to the constructor - $.mobile.Transition = function() { - this.init.apply( this, arguments ); - }; - - $.extend($.mobile.Transition.prototype, { - toPreClass: " ui-page-pre-in", - - init: function( name, reverse, $to, $from ) { - $.extend(this, { - name: name, - reverse: reverse, - $to: $to, - $from: $from, - deferred: new $.Deferred() - }); - }, - - cleanFrom: function() { - this.$from - .removeClass( $.mobile.activePageClass + " out in reverse " + this.name ) - .height( "" ); - }, - - // NOTE overridden by child object prototypes, noop'd here as defaults - beforeDoneIn: function() {}, - beforeDoneOut: function() {}, - beforeStartOut: function() {}, - - doneIn: function() { - this.beforeDoneIn(); - - this.$to.removeClass( "out in reverse " + this.name ).height( "" ); - - this.toggleViewportClass(); - - // In some browsers (iOS5), 3D transitions block the ability to scroll to the desired location during transition - // This ensures we jump to that spot after the fact, if we aren't there already. - if ( $.mobile.window.scrollTop() !== this.toScroll ) { - this.scrollPage(); - } - if ( !this.sequential ) { - this.$to.addClass( $.mobile.activePageClass ); - } - this.deferred.resolve( this.name, this.reverse, this.$to, this.$from, true ); - }, - - doneOut: function( screenHeight, reverseClass, none, preventFocus ) { - this.beforeDoneOut(); - this.startIn( screenHeight, reverseClass, none, preventFocus ); - }, - - hideIn: function( callback ) { - // Prevent flickering in phonegap container: see comments at #4024 regarding iOS - this.$to.css( "z-index", -10 ); - callback.call( this ); - this.$to.css( "z-index", "" ); - }, - - scrollPage: function() { - // By using scrollTo instead of silentScroll, we can keep things better in order - // Just to be precautios, disable scrollstart listening like silentScroll would - $.event.special.scrollstart.enabled = false; - //if we are hiding the url bar or the page was previously scrolled scroll to hide or return to position - if ( $.mobile.hideUrlBar || this.toScroll !== $.mobile.defaultHomeScroll ) { - window.scrollTo( 0, this.toScroll ); - } - - // reenable scrollstart listening like silentScroll would - setTimeout( function() { - $.event.special.scrollstart.enabled = true; - }, 150 ); - }, - - startIn: function( screenHeight, reverseClass, none, preventFocus ) { - this.hideIn(function() { - this.$to.addClass( $.mobile.activePageClass + this.toPreClass ); - - // Send focus to page as it is now display: block - if ( !preventFocus ) { - $.mobile.focusPage( this.$to ); - } - - // Set to page height - this.$to.height( screenHeight + this.toScroll ); - - if ( !none ) { - this.scrollPage(); - } - }); - - this.$to - .removeClass( this.toPreClass ) - .addClass( this.name + " in " + reverseClass ); - - if ( !none ) { - this.$to.animationComplete( $.proxy(function() { - this.doneIn(); - }, this )); - } else { - this.doneIn(); - } - - }, - - startOut: function( screenHeight, reverseClass, none ) { - this.beforeStartOut( screenHeight, reverseClass, none ); - - // Set the from page's height and start it transitioning out - // Note: setting an explicit height helps eliminate tiling in the transitions - this.$from - .height( screenHeight + $.mobile.window.scrollTop() ) - .addClass( this.name + " out" + reverseClass ); - }, - - toggleViewportClass: function() { - $.mobile.pageContainer.toggleClass( "ui-mobile-viewport-transitioning viewport-" + this.name ); - }, - - transition: function() { - // NOTE many of these could be calculated/recorded in the constructor, it's my - // opinion that binding them as late as possible has value with regards to - // better transitions with fewer bugs. Ie, it's not guaranteed that the - // object will be created and transition will be run immediately after as - // it is today. So we wait until transition is invoked to gather the following - var none, - reverseClass = this.reverse ? " reverse" : "", - screenHeight = $.mobile.getScreenHeight(), - maxTransitionOverride = $.mobile.maxTransitionWidth !== false && - $.mobile.window.width() > $.mobile.maxTransitionWidth; - - this.toScroll = $.mobile.navigate.history.getActive().lastScroll || $.mobile.defaultHomeScroll; - - none = !$.support.cssTransitions || !$.support.cssAnimations || - maxTransitionOverride || !this.name || this.name === "none" || - Math.max( $.mobile.window.scrollTop(), this.toScroll ) > - $.mobile.getMaxScrollForTransition(); - - this.toggleViewportClass(); - - if ( this.$from && !none ) { - this.startOut( screenHeight, reverseClass, none ); - } else { - this.doneOut( screenHeight, reverseClass, none, true ); - } - - return this.deferred.promise(); - } - }); -})( jQuery, this ); - - -(function( $ ) { - - $.mobile.SerialTransition = function() { - this.init.apply(this, arguments); - }; - - $.extend($.mobile.SerialTransition.prototype, $.mobile.Transition.prototype, { - sequential: true, - - beforeDoneOut: function() { - if ( this.$from ) { - this.cleanFrom(); - } - }, - - beforeStartOut: function( screenHeight, reverseClass, none ) { - this.$from.animationComplete($.proxy(function() { - this.doneOut( screenHeight, reverseClass, none ); - }, this )); - } - }); - -})( jQuery ); - - -(function( $ ) { - - $.mobile.ConcurrentTransition = function() { - this.init.apply(this, arguments); - }; - - $.extend($.mobile.ConcurrentTransition.prototype, $.mobile.Transition.prototype, { - sequential: false, - - beforeDoneIn: function() { - if ( this.$from ) { - this.cleanFrom(); - } - }, - - beforeStartOut: function( screenHeight, reverseClass, none ) { - this.doneOut( screenHeight, reverseClass, none ); - } - }); - -})( jQuery ); - - -(function( $ ) { - - // generate the handlers from the above - var defaultGetMaxScrollForTransition = function() { - return $.mobile.getScreenHeight() * 3; - }; - - //transition handler dictionary for 3rd party transitions - $.mobile.transitionHandlers = { - "sequential": $.mobile.SerialTransition, - "simultaneous": $.mobile.ConcurrentTransition - }; - - // Make our transition handler the public default. - $.mobile.defaultTransitionHandler = $.mobile.transitionHandlers.sequential; - - $.mobile.transitionFallbacks = {}; - - // If transition is defined, check if css 3D transforms are supported, and if not, if a fallback is specified - $.mobile._maybeDegradeTransition = function( transition ) { - if ( transition && !$.support.cssTransform3d && $.mobile.transitionFallbacks[ transition ] ) { - transition = $.mobile.transitionFallbacks[ transition ]; - } - - return transition; - }; - - // Set the getMaxScrollForTransition to default if no implementation was set by user - $.mobile.getMaxScrollForTransition = $.mobile.getMaxScrollForTransition || defaultGetMaxScrollForTransition; - -})( jQuery ); - -/* -* fallback transition for flip in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -$.mobile.transitionFallbacks.flip = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for flow in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -$.mobile.transitionFallbacks.flow = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for pop in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -$.mobile.transitionFallbacks.pop = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for slide in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -// Use the simultaneous transitions handler for slide transitions -$.mobile.transitionHandlers.slide = $.mobile.transitionHandlers.simultaneous; - -// Set the slide transitions's fallback to "fade" -$.mobile.transitionFallbacks.slide = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for slidedown in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -$.mobile.transitionFallbacks.slidedown = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for slidefade in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -// Set the slide transitions's fallback to "fade" -$.mobile.transitionFallbacks.slidefade = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for slideup in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -$.mobile.transitionFallbacks.slideup = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for turn in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -$.mobile.transitionFallbacks.turn = "fade"; - -})( jQuery, this ); - - -(function( $, undefined ) { - -$.mobile.degradeInputs = { - color: false, - date: false, - datetime: false, - "datetime-local": false, - email: false, - month: false, - number: false, - range: "number", - search: "text", - tel: false, - time: false, - url: false, - week: false -}; -// Backcompat remove in 1.5 -$.mobile.page.prototype.options.degradeInputs = $.mobile.degradeInputs; - -// Auto self-init widgets -$.mobile.degradeInputsWithin = function( target ) { - - target = $( target ); - - // Degrade inputs to avoid poorly implemented native functionality - target.find( "input" ).not( $.mobile.page.prototype.keepNativeSelector() ).each(function() { - var element = $( this ), - type = this.getAttribute( "type" ), - optType = $.mobile.degradeInputs[ type ] || "text", - html, hasType, findstr, repstr; - - if ( $.mobile.degradeInputs[ type ] ) { - html = $( "<div>" ).html( element.clone() ).html(); - // In IE browsers, the type sometimes doesn't exist in the cloned markup, so we replace the closing tag instead - hasType = html.indexOf( " type=" ) > -1; - findstr = hasType ? /\s+type=["']?\w+['"]?/ : /\/?>/; - repstr = " type=\"" + optType + "\" data-" + $.mobile.ns + "type=\"" + type + "\"" + ( hasType ? "" : ">" ); - - element.replaceWith( html.replace( findstr, repstr ) ); - } - }); - -}; - -})( jQuery ); - -(function( $, window, undefined ) { - -$.widget( "mobile.page", $.mobile.page, { - options: { - - // Accepts left, right and none - closeBtn: "left", - closeBtnText: "Close", - overlayTheme: "a", - corners: true, - dialog: false - }, - - _create: function() { - this._super(); - if ( this.options.dialog ) { - - $.extend( this, { - _inner: this.element.children(), - _headerCloseButton: null - }); - - if ( !this.options.enhanced ) { - this._setCloseBtn( this.options.closeBtn ); - } - } - }, - - _enhance: function() { - this._super(); - - // Class the markup for dialog styling and wrap interior - if ( this.options.dialog ) { - this.element.addClass( "ui-dialog" ) - .wrapInner( $( "<div/>", { - - // ARIA role - "role" : "dialog", - "class" : "ui-dialog-contain ui-overlay-shadow" + - ( this.options.corners ? " ui-corner-all" : "" ) - })); - } - }, - - _setOptions: function( options ) { - var closeButtonLocation, closeButtonText, - currentOpts = this.options; - - if ( options.corners !== undefined ) { - this._inner.toggleClass( "ui-corner-all", !!options.corners ); - } - - if ( options.overlayTheme !== undefined ) { - if ( $.mobile.activePage[ 0 ] === this.element[ 0 ] ) { - currentOpts.overlayTheme = options.overlayTheme; - this._handlePageBeforeShow(); - } - } - - if ( options.closeBtnText !== undefined ) { - closeButtonLocation = currentOpts.closeBtn; - closeButtonText = options.closeBtnText; - } - - if ( options.closeBtn !== undefined ) { - closeButtonLocation = options.closeBtn; - } - - if ( closeButtonLocation ) { - this._setCloseBtn( closeButtonLocation, closeButtonText ); - } - - this._super( options ); - }, - - _handlePageBeforeShow: function () { - if ( this.options.overlayTheme && this.options.dialog ) { - this.removeContainerBackground(); - this.setContainerBackground( this.options.overlayTheme ); - } else { - this._super(); - } - }, - - _setCloseBtn: function( location, text ) { - var dst, - btn = this._headerCloseButton; - - // Sanitize value - location = "left" === location ? "left" : "right" === location ? "right" : "none"; - - if ( "none" === location ) { - if ( btn ) { - btn.remove(); - btn = null; - } - } else if ( btn ) { - btn.removeClass( "ui-btn-left ui-btn-right" ).addClass( "ui-btn-" + location ); - if ( text ) { - btn.text( text ); - } - } else { - dst = this._inner.find( ":jqmData(role='header')" ).first(); - btn = $( "<a></a>", { - "href": "#", - "class": "ui-btn ui-corner-all ui-icon-delete ui-btn-icon-notext ui-btn-" + location - }) - .attr( "data-" + $.mobile.ns + "rel", "back" ) - .text( text || this.options.closeBtnText || "" ) - .prependTo( dst ); - } - - this._headerCloseButton = btn; - } -}); - -})( jQuery, this ); - -(function( $, window, undefined ) { - -$.widget( "mobile.dialog", { - options: { - - // Accepts left, right and none - closeBtn: "left", - closeBtnText: "Close", - overlayTheme: "a", - corners: true - }, - - // Override the theme set by the page plugin on pageshow - _handlePageBeforeShow: function() { - this._isCloseable = true; - if ( this.options.overlayTheme ) { - this.element - .page( "removeContainerBackground" ) - .page( "setContainerBackground", this.options.overlayTheme ); - } - }, - - _handlePageBeforeHide: function() { - this._isCloseable = false; - }, - - // click and submit events: - // - clicks and submits should use the closing transition that the dialog - // opened with unless a data-transition is specified on the link/form - // - if the click was on the close button, or the link has a data-rel="back" - // it'll go back in history naturally - _handleVClickSubmit: function( event ) { - var attrs, - $target = $( event.target ).closest( event.type === "vclick" ? "a" : "form" ); - - if ( $target.length && !$target.jqmData( "transition" ) ) { - attrs = {}; - attrs[ "data-" + $.mobile.ns + "transition" ] = - ( $.mobile.navigate.history.getActive() || {} )[ "transition" ] || - $.mobile.defaultDialogTransition; - attrs[ "data-" + $.mobile.ns + "direction" ] = "reverse"; - $target.attr( attrs ); - } - }, - - _create: function() { - var elem = this.element, - opts = this.options; - - // Class the markup for dialog styling and wrap interior - elem.addClass( "ui-dialog" ) - .wrapInner( $( "<div/>", { - - // ARIA role - "role" : "dialog", - "class" : "ui-dialog-contain ui-overlay-shadow" + - ( !!opts.corners ? " ui-corner-all" : "" ) - })); - - $.extend( this, { - _isCloseable: false, - _inner: elem.children(), - _headerCloseButton: null - }); - - this._on( elem, { - vclick: "_handleVClickSubmit", - submit: "_handleVClickSubmit", - pagebeforeshow: "_handlePageBeforeShow", - pagebeforehide: "_handlePageBeforeHide" - }); - - this._setCloseBtn( opts.closeBtn ); - }, - - _setOptions: function( options ) { - var closeButtonLocation, closeButtonText, - currentOpts = this.options; - - if ( options.corners !== undefined ) { - this._inner.toggleClass( "ui-corner-all", !!options.corners ); - } - - if ( options.overlayTheme !== undefined ) { - if ( $.mobile.activePage[ 0 ] === this.element[ 0 ] ) { - currentOpts.overlayTheme = options.overlayTheme; - this._handlePageBeforeShow(); - } - } - - if ( options.closeBtnText !== undefined ) { - closeButtonLocation = currentOpts.closeBtn; - closeButtonText = options.closeBtnText; - } - - if ( options.closeBtn !== undefined ) { - closeButtonLocation = options.closeBtn; - } - - if ( closeButtonLocation ) { - this._setCloseBtn( closeButtonLocation, closeButtonText ); - } - - this._super( options ); - }, - - _setCloseBtn: function( location, text ) { - var dst, - btn = this._headerCloseButton; - - // Sanitize value - location = "left" === location ? "left" : "right" === location ? "right" : "none"; - - if ( "none" === location ) { - if ( btn ) { - btn.remove(); - btn = null; - } - } else if ( btn ) { - btn.removeClass( "ui-btn-left ui-btn-right" ).addClass( "ui-btn-" + location ); - if ( text ) { - btn.text( text ); - } - } else { - dst = this._inner.find( ":jqmData(role='header')" ).first(); - btn = $( "<a></a>", { - "role": "button", - "href": "#", - "class": "ui-btn ui-corner-all ui-icon-delete ui-btn-icon-notext ui-btn-" + location - }) - .text( text || this.options.closeBtnText || "" ) - .prependTo( dst ); - this._on( btn, { click: "close" } ); - } - - this._headerCloseButton = btn; - }, - - // Close method goes back in history - close: function() { - var hist = $.mobile.navigate.history; - - if ( this._isCloseable ) { - this._isCloseable = false; - // If the hash listening is enabled and there is at least one preceding history - // entry it's ok to go back. Initial pages with the dialog hash state are an example - // where the stack check is necessary - if ( $.mobile.hashListeningEnabled && hist.activeIndex > 0 ) { - $.mobile.back(); - } else { - $.mobile.pageContainer.pagecontainer( "back" ); - } - } - } -}); - -})( jQuery, this ); - -(function( $, undefined ) { - -var rInitialLetter = /([A-Z])/g, - - // Construct iconpos class from iconpos value - iconposClass = function( iconpos ) { - return ( "ui-btn-icon-" + ( iconpos === null ? "left" : iconpos ) ); - }; - -$.widget( "mobile.collapsible", { - options: { - enhanced: false, - expandCueText: null, - collapseCueText: null, - collapsed: true, - heading: "h1,h2,h3,h4,h5,h6,legend", - collapsedIcon: null, - expandedIcon: null, - iconpos: null, - theme: null, - contentTheme: null, - inset: null, - corners: null, - mini: null - }, - - _create: function() { - var elem = this.element, - ui = { - accordion: elem - .closest( ":jqmData(role='collapsible-set')," + - ":jqmData(role='collapsibleset')" + - ( $.mobile.collapsibleset ? ", :mobile-collapsibleset" : - "" ) ) - .addClass( "ui-collapsible-set" ) - }; - - this._ui = ui; - this._renderedOptions = this._getOptions( this.options ); - - if ( this.options.enhanced ) { - ui.heading = this.element.children( ".ui-collapsible-heading" ); - ui.content = ui.heading.next(); - ui.anchor = ui.heading.children(); - ui.status = ui.anchor.children( ".ui-collapsible-heading-status" ); - } else { - this._enhance( elem, ui ); - } - - this._on( ui.heading, { - "tap": function() { - ui.heading.find( "a" ).first().addClass( $.mobile.activeBtnClass ); - }, - - "click": function( event ) { - this._handleExpandCollapse( !ui.heading.hasClass( "ui-collapsible-heading-collapsed" ) ); - event.preventDefault(); - event.stopPropagation(); - } - }); - }, - - // Adjust the keys inside options for inherited values - _getOptions: function( options ) { - var key, - accordion = this._ui.accordion, - accordionWidget = this._ui.accordionWidget; - - // Copy options - options = $.extend( {}, options ); - - if ( accordion.length && !accordionWidget ) { - this._ui.accordionWidget = - accordionWidget = accordion.data( "mobile-collapsibleset" ); - } - - for ( key in options ) { - - // Retrieve the option value first from the options object passed in and, if - // null, from the parent accordion or, if that's null too, or if there's no - // parent accordion, then from the defaults. - options[ key ] = - ( options[ key ] != null ) ? options[ key ] : - ( accordionWidget ) ? accordionWidget.options[ key ] : - accordion.length ? $.mobile.getAttribute( accordion[ 0 ], - key.replace( rInitialLetter, "-$1" ).toLowerCase() ): - null; - - if ( null == options[ key ] ) { - options[ key ] = $.mobile.collapsible.defaults[ key ]; - } - } - - return options; - }, - - _themeClassFromOption: function( prefix, value ) { - return ( value ? ( value === "none" ? "" : prefix + value ) : "" ); - }, - - _enhance: function( elem, ui ) { - var iconclass, - opts = this._renderedOptions, - contentThemeClass = this._themeClassFromOption( "ui-body-", opts.contentTheme ); - - elem.addClass( "ui-collapsible " + - ( opts.inset ? "ui-collapsible-inset " : "" ) + - ( opts.inset && opts.corners ? "ui-corner-all " : "" ) + - ( contentThemeClass ? "ui-collapsible-themed-content " : "" ) ); - ui.originalHeading = elem.children( this.options.heading ).first(), - ui.content = elem - .wrapInner( "<div " + - "class='ui-collapsible-content " + - contentThemeClass + "'></div>" ) - .children( ".ui-collapsible-content" ), - ui.heading = ui.originalHeading; - - // Replace collapsibleHeading if it's a legend - if ( ui.heading.is( "legend" ) ) { - ui.heading = $( "<div role='heading'>"+ ui.heading.html() +"</div>" ); - ui.placeholder = $( "<div><!-- placeholder for legend --></div>" ).insertBefore( ui.originalHeading ); - ui.originalHeading.remove(); - } - - iconclass = ( opts.collapsed ? ( opts.collapsedIcon ? "ui-icon-" + opts.collapsedIcon : "" ): - ( opts.expandedIcon ? "ui-icon-" + opts.expandedIcon : "" ) ); - - ui.status = $( "<span class='ui-collapsible-heading-status'></span>" ); - ui.anchor = ui.heading - .detach() - //modify markup & attributes - .addClass( "ui-collapsible-heading" ) - .append( ui.status ) - .wrapInner( "<a href='#' class='ui-collapsible-heading-toggle'></a>" ) - .find( "a" ) - .first() - .addClass( "ui-btn " + - ( iconclass ? iconclass + " " : "" ) + - ( iconclass ? iconposClass( opts.iconpos ) + - " " : "" ) + - this._themeClassFromOption( "ui-btn-", opts.theme ) + " " + - ( opts.mini ? "ui-mini " : "" ) ); - - //drop heading in before content - ui.heading.insertBefore( ui.content ); - - this._handleExpandCollapse( this.options.collapsed ); - - return ui; - }, - - refresh: function() { - this._applyOptions( this.options ); - this._renderedOptions = this._getOptions( this.options ); - }, - - _applyOptions: function( options ) { - var isCollapsed, newTheme, oldTheme, hasCorners, hasIcon, - elem = this.element, - currentOpts = this._renderedOptions, - ui = this._ui, - anchor = ui.anchor, - status = ui.status, - opts = this._getOptions( options ); - - // First and foremost we need to make sure the collapsible is in the proper - // state, in case somebody decided to change the collapsed option at the - // same time as another option - if ( options.collapsed !== undefined ) { - this._handleExpandCollapse( options.collapsed ); - } - - isCollapsed = elem.hasClass( "ui-collapsible-collapsed" ); - - // We only need to apply the cue text for the current state right away. - // The cue text for the alternate state will be stored in the options - // and applied the next time the collapsible's state is toggled - if ( isCollapsed ) { - if ( opts.expandCueText !== undefined ) { - status.text( opts.expandCueText ); - } - } else { - if ( opts.collapseCueText !== undefined ) { - status.text( opts.collapseCueText ); - } - } - - // Update icon - - // Is it supposed to have an icon? - hasIcon = - - // If the collapsedIcon is being set, consult that - ( opts.collapsedIcon !== undefined ? opts.collapsedIcon !== false : - - // Otherwise consult the existing option value - currentOpts.collapsedIcon !== false ); - - - // If any icon-related options have changed, make sure the new icon - // state is reflected by first removing all icon-related classes - // reflecting the current state and then adding all icon-related - // classes for the new state - if ( !( opts.iconpos === undefined && - opts.collapsedIcon === undefined && - opts.expandedIcon === undefined ) ) { - - // Remove all current icon-related classes - anchor.removeClass( [ iconposClass( currentOpts.iconpos ) ] - .concat( ( currentOpts.expandedIcon ? - [ "ui-icon-" + currentOpts.expandedIcon ] : [] ) ) - .concat( ( currentOpts.collapsedIcon ? - [ "ui-icon-" + currentOpts.collapsedIcon ] : [] ) ) - .join( " " ) ); - - // Add new classes if an icon is supposed to be present - if ( hasIcon ) { - anchor.addClass( - [ iconposClass( opts.iconpos !== undefined ? - opts.iconpos : currentOpts.iconpos ) ] - .concat( isCollapsed ? - [ "ui-icon-" + ( opts.collapsedIcon !== undefined ? - opts.collapsedIcon : - currentOpts.collapsedIcon ) ] : - [ "ui-icon-" + ( opts.expandedIcon !== undefined ? - opts.expandedIcon : - currentOpts.expandedIcon ) ] ) - .join( " " ) ); - } - } - - if ( opts.theme !== undefined ) { - oldTheme = this._themeClassFromOption( "ui-btn-", currentOpts.theme ); - newTheme = this._themeClassFromOption( "ui-btn-", opts.theme ); - anchor.removeClass( oldTheme ).addClass( newTheme ); - } - - if ( opts.contentTheme !== undefined ) { - oldTheme = this._themeClassFromOption( "ui-body-", - currentOpts.contentTheme ); - newTheme = this._themeClassFromOption( "ui-body-", - opts.contentTheme ); - ui.content.removeClass( oldTheme ).addClass( newTheme ); - } - - if ( opts.inset !== undefined ) { - elem.toggleClass( "ui-collapsible-inset", opts.inset ); - hasCorners = !!( opts.inset && ( opts.corners || currentOpts.corners ) ); - } - - if ( opts.corners !== undefined ) { - hasCorners = !!( opts.corners && ( opts.inset || currentOpts.inset ) ); - } - - if ( hasCorners !== undefined ) { - elem.toggleClass( "ui-corner-all", hasCorners ); - } - - if ( opts.mini !== undefined ) { - anchor.toggleClass( "ui-mini", opts.mini ); - } - }, - - _setOptions: function( options ) { - this._applyOptions( options ); - this._super( options ); - this._renderedOptions = this._getOptions( this.options ); - }, - - _handleExpandCollapse: function( isCollapse ) { - var opts = this._renderedOptions, - ui = this._ui; - - ui.status.text( isCollapse ? opts.expandCueText : opts.collapseCueText ); - ui.heading - .toggleClass( "ui-collapsible-heading-collapsed", isCollapse ) - .find( "a" ).first() - .toggleClass( "ui-icon-" + opts.expandedIcon, !isCollapse ) - - // logic or cause same icon for expanded/collapsed state would remove the ui-icon-class - .toggleClass( "ui-icon-" + opts.collapsedIcon, ( isCollapse || opts.expandedIcon === opts.collapsedIcon ) ) - .removeClass( $.mobile.activeBtnClass ); - - this.element.toggleClass( "ui-collapsible-collapsed", isCollapse ); - ui.content - .toggleClass( "ui-collapsible-content-collapsed", isCollapse ) - .attr( "aria-hidden", isCollapse ) - .trigger( "updatelayout" ); - this.options.collapsed = isCollapse; - this._trigger( isCollapse ? "collapse" : "expand" ); - }, - - expand: function() { - this._handleExpandCollapse( false ); - }, - - collapse: function() { - this._handleExpandCollapse( true ); - }, - - _destroy: function() { - var ui = this._ui, - opts = this.options; - - if ( opts.enhanced ) { - return; - } - - if ( ui.placeholder ) { - ui.originalHeading.insertBefore( ui.placeholder ); - ui.placeholder.remove(); - ui.heading.remove(); - } else { - ui.status.remove(); - ui.heading - .removeClass( "ui-collapsible-heading ui-collapsible-heading-collapsed" ) - .children() - .contents() - .unwrap(); - } - - ui.anchor.contents().unwrap(); - ui.content.contents().unwrap(); - this.element - .removeClass( "ui-collapsible ui-collapsible-collapsed " + - "ui-collapsible-themed-content ui-collapsible-inset ui-corner-all" ); - } -}); - -// Defaults to be used by all instances of collapsible if per-instance values -// are unset or if nothing is specified by way of inheritance from an accordion. -// Note that this hash does not contain options "collapsed" or "heading", -// because those are not inheritable. -$.mobile.collapsible.defaults = { - expandCueText: " click to expand contents", - collapseCueText: " click to collapse contents", - collapsedIcon: "plus", - contentTheme: "inherit", - expandedIcon: "minus", - iconpos: "left", - inset: true, - corners: true, - theme: "inherit", - mini: false -}; - -})( jQuery ); - -(function( $, undefined ) { - -var uiScreenHiddenRegex = /\bui-screen-hidden\b/; -function noHiddenClass( elements ) { - var index, - length = elements.length, - result = []; - - for ( index = 0; index < length; index++ ) { - if ( !elements[ index ].className.match( uiScreenHiddenRegex ) ) { - result.push( elements[ index ] ); - } - } - - return $( result ); -} - -$.mobile.behaviors.addFirstLastClasses = { - _getVisibles: function( $els, create ) { - var visibles; - - if ( create ) { - visibles = noHiddenClass( $els ); - } else { - visibles = $els.filter( ":visible" ); - if ( visibles.length === 0 ) { - visibles = noHiddenClass( $els ); - } - } - - return visibles; - }, - - _addFirstLastClasses: function( $els, $visibles, create ) { - $els.removeClass( "ui-first-child ui-last-child" ); - $visibles.eq( 0 ).addClass( "ui-first-child" ).end().last().addClass( "ui-last-child" ); - if ( !create ) { - this.element.trigger( "updatelayout" ); - } - }, - - _removeFirstLastClasses: function( $els ) { - $els.removeClass( "ui-first-child ui-last-child" ); - } -}; - -})( jQuery ); - -(function( $, undefined ) { - -var childCollapsiblesSelector = ":mobile-collapsible, " + $.mobile.collapsible.initSelector; - -$.widget( "mobile.collapsibleset", $.extend( { - - // The initSelector is deprecated as of 1.4.0. In 1.5.0 we will use - // :jqmData(role='collapsibleset') which will allow us to get rid of the line - // below altogether, because the autoinit will generate such an initSelector - initSelector: ":jqmData(role='collapsible-set'),:jqmData(role='collapsibleset')", - - options: $.extend( { - enhanced: false - }, $.mobile.collapsible.defaults ), - - _handleCollapsibleExpand: function( event ) { - var closestCollapsible = $( event.target ).closest( ".ui-collapsible" ); - - if ( closestCollapsible.parent().is( ":mobile-collapsibleset, :jqmData(role='collapsible-set')" ) ) { - closestCollapsible - .siblings( ".ui-collapsible:not(.ui-collapsible-collapsed)" ) - .collapsible( "collapse" ); - } - }, - - _create: function() { - var elem = this.element, - opts = this.options; - - $.extend( this, { - _classes: "" - }); - - if ( !opts.enhanced ) { - elem.addClass( "ui-collapsible-set " + - this._themeClassFromOption( "ui-group-theme-", opts.theme ) + " " + - ( opts.corners && opts.inset ? "ui-corner-all " : "" ) ); - this.element.find( $.mobile.collapsible.initSelector ).collapsible(); - } - - this._on( elem, { collapsibleexpand: "_handleCollapsibleExpand" } ); - }, - - _themeClassFromOption: function( prefix, value ) { - return ( value ? ( value === "none" ? "" : prefix + value ) : "" ); - }, - - _init: function() { - this._refresh( true ); - - // Because the corners are handled by the collapsible itself and the default state is collapsed - // That was causing https://github.com/jquery/jquery-mobile/issues/4116 - this.element - .children( childCollapsiblesSelector ) - .filter( ":jqmData(collapsed='false')" ) - .collapsible( "expand" ); - }, - - _setOptions: function( options ) { - var ret, hasCorners, - elem = this.element, - themeClass = this._themeClassFromOption( "ui-group-theme-", options.theme ); - - if ( themeClass ) { - elem - .removeClass( this._themeClassFromOption( "ui-group-theme-", this.options.theme ) ) - .addClass( themeClass ); - } - - if ( options.inset !== undefined ) { - hasCorners = !!( options.inset && ( options.corners || this.options.corners ) ); - } - - if ( options.corners !== undefined ) { - hasCorners = !!( options.corners && ( options.inset || this.options.inset ) ); - } - - if ( hasCorners !== undefined ) { - elem.toggleClass( "ui-corner-all", hasCorners ); - } - - ret = this._super( options ); - this.element.children( ":mobile-collapsible" ).collapsible( "refresh" ); - return ret; - }, - - _destroy: function() { - var el = this.element; - - this._removeFirstLastClasses( el.children( childCollapsiblesSelector ) ); - el - .removeClass( "ui-collapsible-set ui-corner-all " + - this._themeClassFromOption( "ui-group-theme-", this.options.theme ) ) - .children( ":mobile-collapsible" ) - .collapsible( "destroy" ); - }, - - _refresh: function( create ) { - var collapsiblesInSet = this.element.children( childCollapsiblesSelector ); - - this.element.find( $.mobile.collapsible.initSelector ).not( ".ui-collapsible" ).collapsible(); - - this._addFirstLastClasses( collapsiblesInSet, this._getVisibles( collapsiblesInSet, create ), create ); - }, - - refresh: function() { - this._refresh( false ); - } -}, $.mobile.behaviors.addFirstLastClasses ) ); - -})( jQuery ); - -(function( $, undefined ) { - -// Deprecated in 1.4 -$.fn.fieldcontain = function(/* options */) { - return this.addClass( "ui-field-contain" ); -}; - -})( jQuery ); - -(function( $, undefined ) { - -$.fn.grid = function( options ) { - return this.each(function() { - - var $this = $( this ), - o = $.extend({ - grid: null - }, options ), - $kids = $this.children(), - gridCols = { solo:1, a:2, b:3, c:4, d:5 }, - grid = o.grid, - iterator, - letter; - - if ( !grid ) { - if ( $kids.length <= 5 ) { - for ( letter in gridCols ) { - if ( gridCols[ letter ] === $kids.length ) { - grid = letter; - } - } - } else { - grid = "a"; - $this.addClass( "ui-grid-duo" ); - } - } - iterator = gridCols[grid]; - - $this.addClass( "ui-grid-" + grid ); - - $kids.filter( ":nth-child(" + iterator + "n+1)" ).addClass( "ui-block-a" ); - - if ( iterator > 1 ) { - $kids.filter( ":nth-child(" + iterator + "n+2)" ).addClass( "ui-block-b" ); - } - if ( iterator > 2 ) { - $kids.filter( ":nth-child(" + iterator + "n+3)" ).addClass( "ui-block-c" ); - } - if ( iterator > 3 ) { - $kids.filter( ":nth-child(" + iterator + "n+4)" ).addClass( "ui-block-d" ); - } - if ( iterator > 4 ) { - $kids.filter( ":nth-child(" + iterator + "n+5)" ).addClass( "ui-block-e" ); - } - }); -}; -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.navbar", { - options: { - iconpos: "top", - grid: null - }, - - _create: function() { - - var $navbar = this.element, - $navbtns = $navbar.find( "a, button" ), - iconpos = $navbtns.filter( ":jqmData(icon)" ).length ? this.options.iconpos : undefined; - - $navbar.addClass( "ui-navbar" ) - .attr( "role", "navigation" ) - .find( "ul" ) - .jqmEnhanceable() - .grid({ grid: this.options.grid }); - - $navbtns - .each( function() { - var icon = $.mobile.getAttribute( this, "icon" ), - theme = $.mobile.getAttribute( this, "theme" ), - classes = "ui-btn"; - - if ( theme ) { - classes += " ui-btn-" + theme; - } - if ( icon ) { - classes += " ui-icon-" + icon + " ui-btn-icon-" + iconpos; - } - $( this ).addClass( classes ); - }); - - $navbar.delegate( "a", "vclick", function( /* event */ ) { - var activeBtn = $( this ); - - if ( !( activeBtn.hasClass( "ui-state-disabled" ) || - - // DEPRECATED as of 1.4.0 - remove after 1.4.0 release - // only ui-state-disabled should be present thereafter - activeBtn.hasClass( "ui-disabled" ) || - activeBtn.hasClass( $.mobile.activeBtnClass ) ) ) { - - $navbtns.removeClass( $.mobile.activeBtnClass ); - activeBtn.addClass( $.mobile.activeBtnClass ); - - // The code below is a workaround to fix #1181 - $( document ).one( "pagehide", function() { - activeBtn.removeClass( $.mobile.activeBtnClass ); - }); - } - }); - - // Buttons in the navbar with ui-state-persist class should regain their active state before page show - $navbar.closest( ".ui-page" ).bind( "pagebeforeshow", function() { - $navbtns.filter( ".ui-state-persist" ).addClass( $.mobile.activeBtnClass ); - }); - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -var getAttr = $.mobile.getAttribute; - -$.widget( "mobile.listview", $.extend( { - - options: { - theme: null, - countTheme: null, /* Deprecated in 1.4 */ - dividerTheme: null, - icon: "carat-r", - splitIcon: "carat-r", - splitTheme: null, - corners: true, - shadow: true, - inset: false - }, - - _create: function() { - var t = this, - listviewClasses = ""; - - listviewClasses += t.options.inset ? " ui-listview-inset" : ""; - - if ( !!t.options.inset ) { - listviewClasses += t.options.corners ? " ui-corner-all" : ""; - listviewClasses += t.options.shadow ? " ui-shadow" : ""; - } - - // create listview markup - t.element.addClass( " ui-listview" + listviewClasses ); - - t.refresh( true ); - }, - - // TODO: Remove in 1.5 - _findFirstElementByTagName: function( ele, nextProp, lcName, ucName ) { - var dict = {}; - dict[ lcName ] = dict[ ucName ] = true; - while ( ele ) { - if ( dict[ ele.nodeName ] ) { - return ele; - } - ele = ele[ nextProp ]; - } - return null; - }, - // TODO: Remove in 1.5 - _addThumbClasses: function( containers ) { - var i, img, len = containers.length; - for ( i = 0; i < len; i++ ) { - img = $( this._findFirstElementByTagName( containers[ i ].firstChild, "nextSibling", "img", "IMG" ) ); - if ( img.length ) { - $( this._findFirstElementByTagName( img[ 0 ].parentNode, "parentNode", "li", "LI" ) ).addClass( img.hasClass( "ui-li-icon" ) ? "ui-li-has-icon" : "ui-li-has-thumb" ); - } - } - }, - - _getChildrenByTagName: function( ele, lcName, ucName ) { - var results = [], - dict = {}; - dict[ lcName ] = dict[ ucName ] = true; - ele = ele.firstChild; - while ( ele ) { - if ( dict[ ele.nodeName ] ) { - results.push( ele ); - } - ele = ele.nextSibling; - } - return $( results ); - }, - - _beforeListviewRefresh: $.noop, - _afterListviewRefresh: $.noop, - - refresh: function( create ) { - var buttonClass, pos, numli, item, itemClass, itemTheme, itemIcon, icon, a, - isDivider, startCount, newStartCount, value, last, splittheme, splitThemeClass, spliticon, - altButtonClass, dividerTheme, li, - o = this.options, - $list = this.element, - ol = !!$.nodeName( $list[ 0 ], "ol" ), - start = $list.attr( "start" ), - itemClassDict = {}, - countBubbles = $list.find( ".ui-li-count" ), - countTheme = getAttr( $list[ 0 ], "counttheme" ) || this.options.countTheme, - countThemeClass = countTheme ? "ui-body-" + countTheme : "ui-body-inherit"; - - if ( o.theme ) { - $list.addClass( "ui-group-theme-" + o.theme ); - } - - // Check if a start attribute has been set while taking a value of 0 into account - if ( ol && ( start || start === 0 ) ) { - startCount = parseInt( start, 10 ) - 1; - $list.css( "counter-reset", "listnumbering " + startCount ); - } - - this._beforeListviewRefresh(); - - li = this._getChildrenByTagName( $list[ 0 ], "li", "LI" ); - - for ( pos = 0, numli = li.length; pos < numli; pos++ ) { - item = li.eq( pos ); - itemClass = ""; - - if ( create || item[ 0 ].className.search( /\bui-li-static\b|\bui-li-divider\b/ ) < 0 ) { - a = this._getChildrenByTagName( item[ 0 ], "a", "A" ); - isDivider = ( getAttr( item[ 0 ], "role" ) === "list-divider" ); - value = item.attr( "value" ); - itemTheme = getAttr( item[ 0 ], "theme" ); - - if ( a.length && a[ 0 ].className.search( /\bui-btn\b/ ) < 0 && !isDivider ) { - itemIcon = getAttr( item[ 0 ], "icon" ); - icon = ( itemIcon === false ) ? false : ( itemIcon || o.icon ); - - // TODO: Remove in 1.5 together with links.js (links.js / .ui-link deprecated in 1.4) - a.removeClass( "ui-link" ); - - buttonClass = "ui-btn"; - - if ( itemTheme ) { - buttonClass += " ui-btn-" + itemTheme; - } - - if ( a.length > 1 ) { - itemClass = "ui-li-has-alt"; - - last = a.last(); - splittheme = getAttr( last[ 0 ], "theme" ) || o.splitTheme || getAttr( item[ 0 ], "theme", true ); - splitThemeClass = splittheme ? " ui-btn-" + splittheme : ""; - spliticon = getAttr( last[ 0 ], "icon" ) || getAttr( item[ 0 ], "icon" ) || o.splitIcon; - altButtonClass = "ui-btn ui-btn-icon-notext ui-icon-" + spliticon + splitThemeClass; - - last - .attr( "title", $.trim( last.getEncodedText() ) ) - .addClass( altButtonClass ) - .empty(); - - // Reduce to the first anchor, because only the first gets the buttonClass - a = a.first(); - } else if ( icon ) { - buttonClass += " ui-btn-icon-right ui-icon-" + icon; - } - - // Apply buttonClass to the (first) anchor - a.addClass( buttonClass ); - } else if ( isDivider ) { - dividerTheme = ( getAttr( item[ 0 ], "theme" ) || o.dividerTheme || o.theme ); - - itemClass = "ui-li-divider ui-bar-" + ( dividerTheme ? dividerTheme : "inherit" ); - - item.attr( "role", "heading" ); - } else if ( a.length <= 0 ) { - itemClass = "ui-li-static ui-body-" + ( itemTheme ? itemTheme : "inherit" ); - } - if ( ol && value ) { - newStartCount = parseInt( value , 10 ) - 1; - - item.css( "counter-reset", "listnumbering " + newStartCount ); - } - } - - // Instead of setting item class directly on the list item - // at this point in time, push the item into a dictionary - // that tells us what class to set on it so we can do this after this - // processing loop is finished. - - if ( !itemClassDict[ itemClass ] ) { - itemClassDict[ itemClass ] = []; - } - - itemClassDict[ itemClass ].push( item[ 0 ] ); - } - - // Set the appropriate listview item classes on each list item. - // The main reason we didn't do this - // in the for-loop above is because we can eliminate per-item function overhead - // by calling addClass() and children() once or twice afterwards. This - // can give us a significant boost on platforms like WP7.5. - - for ( itemClass in itemClassDict ) { - $( itemClassDict[ itemClass ] ).addClass( itemClass ); - } - - countBubbles.each( function() { - $( this ).closest( "li" ).addClass( "ui-li-has-count" ); - }); - if ( countThemeClass ) { - countBubbles.not( "[class*='ui-body-']" ).addClass( countThemeClass ); - } - - // Deprecated in 1.4. From 1.5 you have to add class ui-li-has-thumb or ui-li-has-icon to the LI. - this._addThumbClasses( li ); - this._addThumbClasses( li.find( ".ui-btn" ) ); - - this._afterListviewRefresh(); - - this._addFirstLastClasses( li, this._getVisibles( li, create ), create ); - } -}, $.mobile.behaviors.addFirstLastClasses ) ); - -})( jQuery ); - -(function( $, undefined ) { - -function defaultAutodividersSelector( elt ) { - // look for the text in the given element - var text = $.trim( elt.text() ) || null; - - if ( !text ) { - return null; - } - - // create the text for the divider (first uppercased letter) - text = text.slice( 0, 1 ).toUpperCase(); - - return text; -} - -$.widget( "mobile.listview", $.mobile.listview, { - options: { - autodividers: false, - autodividersSelector: defaultAutodividersSelector - }, - - _beforeListviewRefresh: function() { - if ( this.options.autodividers ) { - this._replaceDividers(); - this._superApply( arguments ); - } - }, - - _replaceDividers: function() { - var i, lis, li, dividerText, - lastDividerText = null, - list = this.element, - divider; - - list.children( "li:jqmData(role='list-divider')" ).remove(); - - lis = list.children( "li" ); - - for ( i = 0; i < lis.length ; i++ ) { - li = lis[ i ]; - dividerText = this.options.autodividersSelector( $( li ) ); - - if ( dividerText && lastDividerText !== dividerText ) { - divider = document.createElement( "li" ); - divider.appendChild( document.createTextNode( dividerText ) ); - divider.setAttribute( "data-" + $.mobile.ns + "role", "list-divider" ); - li.parentNode.insertBefore( divider, li ); - } - - lastDividerText = dividerText; - } - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -var rdivider = /(^|\s)ui-li-divider($|\s)/, - rhidden = /(^|\s)ui-screen-hidden($|\s)/; - -$.widget( "mobile.listview", $.mobile.listview, { - options: { - hideDividers: false - }, - - _afterListviewRefresh: function() { - var items, idx, item, hideDivider = true; - - this._superApply( arguments ); - - if ( this.options.hideDividers ) { - items = this._getChildrenByTagName( this.element[ 0 ], "li", "LI" ); - for ( idx = items.length - 1 ; idx > -1 ; idx-- ) { - item = items[ idx ]; - if ( item.className.match( rdivider ) ) { - if ( hideDivider ) { - item.className = item.className + " ui-screen-hidden"; - } - hideDivider = true; - } else { - if ( !item.className.match( rhidden ) ) { - hideDivider = false; - } - } - } - } - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -$.mobile.nojs = function( target ) { - $( ":jqmData(role='nojs')", target ).addClass( "ui-nojs" ); -}; - -})( jQuery ); - -(function( $, undefined ) { - -$.mobile.behaviors.formReset = { - _handleFormReset: function() { - this._on( this.element.closest( "form" ), { - reset: function() { - this._delay( "_reset" ); - } - }); - } -}; - -})( jQuery ); - -/* -* "checkboxradio" plugin -*/ - -(function( $, undefined ) { - -var escapeId = $.mobile.path.hashToSelector; - -$.widget( "mobile.checkboxradio", $.extend( { - - initSelector: "input:not( :jqmData(role='flipswitch' ) )[type='checkbox'],input[type='radio']:not( :jqmData(role='flipswitch' ))", - - options: { - theme: "inherit", - mini: false, - wrapperClass: null, - enhanced: false, - iconpos: "left" - - }, - _create: function() { - var input = this.element, - o = this.options, - inheritAttr = function( input, dataAttr ) { - return input.jqmData( dataAttr ) || - input.closest( "form, fieldset" ).jqmData( dataAttr ); - }, - label = this.options.enhanced ? - { - element: this.element.siblings( "label" ), - isParent: false - } : - this._findLabel(), - inputtype = input[0].type, - checkedClass = "ui-" + inputtype + "-on", - uncheckedClass = "ui-" + inputtype + "-off"; - - if ( inputtype !== "checkbox" && inputtype !== "radio" ) { - return; - } - - if ( this.element[0].disabled ) { - this.options.disabled = true; - } - - o.iconpos = inheritAttr( input, "iconpos" ) || - label.element.attr( "data-" + $.mobile.ns + "iconpos" ) || o.iconpos, - - // Establish options - o.mini = inheritAttr( input, "mini" ) || o.mini; - - // Expose for other methods - $.extend( this, { - input: input, - label: label.element, - labelIsParent: label.isParent, - inputtype: inputtype, - checkedClass: checkedClass, - uncheckedClass: uncheckedClass - }); - - if ( !this.options.enhanced ) { - this._enhance(); - } - - this._on( label.element, { - vmouseover: "_handleLabelVMouseOver", - vclick: "_handleLabelVClick" - }); - - this._on( input, { - vmousedown: "_cacheVals", - vclick: "_handleInputVClick", - focus: "_handleInputFocus", - blur: "_handleInputBlur" - }); - - this._handleFormReset(); - this.refresh(); - }, - - _findLabel: function() { - var parentLabel, label, isParent, - input = this.element, - labelsList = input[ 0 ].labels; - - if( labelsList && labelsList.length > 0 ) { - label = $( labelsList[ 0 ] ); - isParent = $.contains( label[ 0 ], input[ 0 ] ); - } else { - parentLabel = input.closest( "label" ); - isParent = ( parentLabel.length > 0 ); - - // NOTE: Windows Phone could not find the label through a selector - // filter works though. - label = isParent ? parentLabel : - $( this.document[ 0 ].getElementsByTagName( "label" ) ) - .filter( "[for='" + escapeId( input[ 0 ].id ) + "']" ) - .first(); - } - - return { - element: label, - isParent: isParent - }; - }, - - _enhance: function() { - this.label.addClass( "ui-btn ui-corner-all"); - - if ( this.labelIsParent ) { - this.input.add( this.label ).wrapAll( this._wrapper() ); - } else { - //this.element.replaceWith( this.input.add( this.label ).wrapAll( this._wrapper() ) ); - this.element.wrap( this._wrapper() ); - this.element.parent().prepend( this.label ); - } - - // Wrap the input + label in a div - - this._setOptions({ - "theme": this.options.theme, - "iconpos": this.options.iconpos, - "mini": this.options.mini - }); - - }, - - _wrapper: function() { - return $( "<div class='" + - ( this.options.wrapperClass ? this.options.wrapperClass : "" ) + - " ui-" + this.inputtype + - ( this.options.disabled ? " ui-state-disabled" : "" ) + "' ></div>" ); - }, - - _handleInputFocus: function() { - this.label.addClass( $.mobile.focusClass ); - }, - - _handleInputBlur: function() { - this.label.removeClass( $.mobile.focusClass ); - }, - - _handleInputVClick: function() { - // Adds checked attribute to checked input when keyboard is used - this.element.prop( "checked", this.element.is( ":checked" ) ); - this._getInputSet().not( this.element ).prop( "checked", false ); - this._updateAll( true ); - }, - - _handleLabelVMouseOver: function( event ) { - if ( this.label.parent().hasClass( "ui-state-disabled" ) ) { - event.stopPropagation(); - } - }, - - _handleLabelVClick: function( event ) { - var input = this.element; - - if ( input.is( ":disabled" ) ) { - event.preventDefault(); - return; - } - - this._cacheVals(); - - input.prop( "checked", this.inputtype === "radio" && true || !input.prop( "checked" ) ); - - // trigger click handler's bound directly to the input as a substitute for - // how label clicks behave normally in the browsers - // TODO: it would be nice to let the browser's handle the clicks and pass them - // through to the associate input. we can swallow that click at the parent - // wrapper element level - input.triggerHandler( "click" ); - - // Input set for common radio buttons will contain all the radio - // buttons, but will not for checkboxes. clearing the checked status - // of other radios ensures the active button state is applied properly - this._getInputSet().not( input ).prop( "checked", false ); - - this._updateAll(); - return false; - }, - - _cacheVals: function() { - this._getInputSet().each( function() { - $( this ).attr("data-" + $.mobile.ns + "cacheVal", this.checked ); - }); - }, - - // Returns those radio buttons that are supposed to be in the same group as - // this radio button. In the case of a checkbox or a radio lacking a name - // attribute, it returns this.element. - _getInputSet: function() { - var selector, formId, - radio = this.element[ 0 ], - name = radio.name, - form = radio.form, - doc = this.element.parents().last().get( 0 ), - - // A radio is always a member of its own group - radios = this.element; - - // Only start running selectors if this is an attached radio button with a name - if ( name && this.inputtype === "radio" && doc ) { - selector = "input[type='radio'][name='" + escapeId( name ) + "']"; - - // If we're inside a form - if ( form ) { - formId = form.getAttribute( "id" ); - - // If the form has an ID, collect radios scattered throught the document which - // nevertheless are part of the form by way of the value of their form attribute - if ( formId ) { - radios = $( selector + "[form='" + escapeId( formId ) + "']", doc ); - } - - // Also add to those the radios in the form itself - radios = $( form ).find( selector ).filter( function() { - - // Some radios inside the form may belong to some other form by virtue of - // having a form attribute defined on them, so we must filter them out here - return ( this.form === form ); - }).add( radios ); - - // If we're outside a form - } else { - - // Collect all those radios which are also outside of a form and match our name - radios = $( selector, doc ).filter( function() { - return !this.form; - }); - } - } - return radios; - }, - - _updateAll: function( changeTriggered ) { - var self = this; - - this._getInputSet().each( function() { - var $this = $( this ); - - if ( ( this.checked || self.inputtype === "checkbox" ) && !changeTriggered ) { - $this.trigger( "change" ); - } - }) - .checkboxradio( "refresh" ); - }, - - _reset: function() { - this.refresh(); - }, - - // Is the widget supposed to display an icon? - _hasIcon: function() { - var controlgroup, controlgroupWidget, - controlgroupConstructor = $.mobile.controlgroup; - - // If the controlgroup widget is defined ... - if ( controlgroupConstructor ) { - controlgroup = this.element.closest( - ":mobile-controlgroup," + - controlgroupConstructor.prototype.initSelector ); - - // ... and the checkbox is in a controlgroup ... - if ( controlgroup.length > 0 ) { - - // ... look for a controlgroup widget instance, and ... - controlgroupWidget = $.data( controlgroup[ 0 ], "mobile-controlgroup" ); - - // ... if found, decide based on the option value, ... - return ( ( controlgroupWidget ? controlgroupWidget.options.type : - - // ... otherwise decide based on the "type" data attribute. - controlgroup.attr( "data-" + $.mobile.ns + "type" ) ) !== "horizontal" ); - } - } - - // Normally, the widget displays an icon. - return true; - }, - - refresh: function() { - var isChecked = this.element[ 0 ].checked, - active = $.mobile.activeBtnClass, - iconposClass = "ui-btn-icon-" + this.options.iconpos, - addClasses = [], - removeClasses = []; - - if ( this._hasIcon() ) { - removeClasses.push( active ); - addClasses.push( iconposClass ); - } else { - removeClasses.push( iconposClass ); - ( isChecked ? addClasses : removeClasses ).push( active ); - } - - if ( isChecked ) { - addClasses.push( this.checkedClass ); - removeClasses.push( this.uncheckedClass ); - } else { - addClasses.push( this.uncheckedClass ); - removeClasses.push( this.checkedClass ); - } - - this.widget().toggleClass( "ui-state-disabled", this.element.prop( "disabled" ) ); - - this.label - .addClass( addClasses.join( " " ) ) - .removeClass( removeClasses.join( " " ) ); - }, - - widget: function() { - return this.label.parent(); - }, - - _setOptions: function( options ) { - var label = this.label, - currentOptions = this.options, - outer = this.widget(), - hasIcon = this._hasIcon(); - - if ( options.disabled !== undefined ) { - this.input.prop( "disabled", !!options.disabled ); - outer.toggleClass( "ui-state-disabled", !!options.disabled ); - } - if ( options.mini !== undefined ) { - outer.toggleClass( "ui-mini", !!options.mini ); - } - if ( options.theme !== undefined ) { - label - .removeClass( "ui-btn-" + currentOptions.theme ) - .addClass( "ui-btn-" + options.theme ); - } - if ( options.wrapperClass !== undefined ) { - outer - .removeClass( currentOptions.wrapperClass ) - .addClass( options.wrapperClass ); - } - if ( options.iconpos !== undefined && hasIcon ) { - label.removeClass( "ui-btn-icon-" + currentOptions.iconpos ).addClass( "ui-btn-icon-" + options.iconpos ); - } else if ( !hasIcon ) { - label.removeClass( "ui-btn-icon-" + currentOptions.iconpos ); - } - this._super( options ); - } - -}, $.mobile.behaviors.formReset ) ); - -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.button", { - - initSelector: "input[type='button'], input[type='submit'], input[type='reset']", - - options: { - theme: null, - icon: null, - iconpos: "left", - iconshadow: false, /* TODO: Deprecated in 1.4, remove in 1.5. */ - corners: true, - shadow: true, - inline: null, - mini: null, - wrapperClass: null, - enhanced: false - }, - - _create: function() { - - if ( this.element.is( ":disabled" ) ) { - this.options.disabled = true; - } - - if ( !this.options.enhanced ) { - this._enhance(); - } - - $.extend( this, { - wrapper: this.element.parent() - }); - - this._on( { - focus: function() { - this.widget().addClass( $.mobile.focusClass ); - }, - - blur: function() { - this.widget().removeClass( $.mobile.focusClass ); - } - }); - - this.refresh( true ); - }, - - _enhance: function() { - this.element.wrap( this._button() ); - }, - - _button: function() { - var options = this.options, - iconClasses = this._getIconClasses( this.options ); - - return $("<div class='ui-btn ui-input-btn" + - ( options.wrapperClass ? " " + options.wrapperClass : "" ) + - ( options.theme ? " ui-btn-" + options.theme : "" ) + - ( options.corners ? " ui-corner-all" : "" ) + - ( options.shadow ? " ui-shadow" : "" ) + - ( options.inline ? " ui-btn-inline" : "" ) + - ( options.mini ? " ui-mini" : "" ) + - ( options.disabled ? " ui-state-disabled" : "" ) + - ( iconClasses ? ( " " + iconClasses ) : "" ) + - "' >" + this.element.val() + "</div>" ); - }, - - widget: function() { - return this.wrapper; - }, - - _destroy: function() { - this.element.insertBefore( this.wrapper ); - this.wrapper.remove(); - }, - - _getIconClasses: function( options ) { - return ( options.icon ? ( "ui-icon-" + options.icon + - ( options.iconshadow ? " ui-shadow-icon" : "" ) + /* TODO: Deprecated in 1.4, remove in 1.5. */ - " ui-btn-icon-" + options.iconpos ) : "" ); - }, - - _setOptions: function( options ) { - var outer = this.widget(); - - if ( options.theme !== undefined ) { - outer - .removeClass( this.options.theme ) - .addClass( "ui-btn-" + options.theme ); - } - if ( options.corners !== undefined ) { - outer.toggleClass( "ui-corner-all", options.corners ); - } - if ( options.shadow !== undefined ) { - outer.toggleClass( "ui-shadow", options.shadow ); - } - if ( options.inline !== undefined ) { - outer.toggleClass( "ui-btn-inline", options.inline ); - } - if ( options.mini !== undefined ) { - outer.toggleClass( "ui-mini", options.mini ); - } - if ( options.disabled !== undefined ) { - this.element.prop( "disabled", options.disabled ); - outer.toggleClass( "ui-state-disabled", options.disabled ); - } - - if ( options.icon !== undefined || - options.iconshadow !== undefined || /* TODO: Deprecated in 1.4, remove in 1.5. */ - options.iconpos !== undefined ) { - outer - .removeClass( this._getIconClasses( this.options ) ) - .addClass( this._getIconClasses( - $.extend( {}, this.options, options ) ) ); - } - - this._super( options ); - }, - - refresh: function( create ) { - var originalElement, - isDisabled = this.element.prop( "disabled" ); - - if ( this.options.icon && this.options.iconpos === "notext" && this.element.attr( "title" ) ) { - this.element.attr( "title", this.element.val() ); - } - if ( !create ) { - originalElement = this.element.detach(); - $( this.wrapper ).text( this.element.val() ).append( originalElement ); - } - if ( this.options.disabled !== isDisabled ) { - this._setOptions({ disabled: isDisabled }); - } - } -}); - -})( jQuery ); - -(function( $ ) { - var meta = $( "meta[name=viewport]" ), - initialContent = meta.attr( "content" ), - disabledZoom = initialContent + ",maximum-scale=1, user-scalable=no", - enabledZoom = initialContent + ",maximum-scale=10, user-scalable=yes", - disabledInitially = /(user-scalable[\s]*=[\s]*no)|(maximum-scale[\s]*=[\s]*1)[$,\s]/.test( initialContent ); - - $.mobile.zoom = $.extend( {}, { - enabled: !disabledInitially, - locked: false, - disable: function( lock ) { - if ( !disabledInitially && !$.mobile.zoom.locked ) { - meta.attr( "content", disabledZoom ); - $.mobile.zoom.enabled = false; - $.mobile.zoom.locked = lock || false; - } - }, - enable: function( unlock ) { - if ( !disabledInitially && ( !$.mobile.zoom.locked || unlock === true ) ) { - meta.attr( "content", enabledZoom ); - $.mobile.zoom.enabled = true; - $.mobile.zoom.locked = false; - } - }, - restore: function() { - if ( !disabledInitially ) { - meta.attr( "content", initialContent ); - $.mobile.zoom.enabled = true; - } - } - }); - -}( jQuery )); - -(function( $, undefined ) { - -$.widget( "mobile.textinput", { - initSelector: "input[type='text']," + - "input[type='search']," + - ":jqmData(type='search')," + - "input[type='number']," + - ":jqmData(type='number')," + - "input[type='password']," + - "input[type='email']," + - "input[type='url']," + - "input[type='tel']," + - "textarea," + - "input[type='time']," + - "input[type='date']," + - "input[type='month']," + - "input[type='week']," + - "input[type='datetime']," + - "input[type='datetime-local']," + - "input[type='color']," + - "input:not([type])," + - "input[type='file']", - - options: { - theme: null, - corners: true, - mini: false, - // This option defaults to true on iOS devices. - preventFocusZoom: /iPhone|iPad|iPod/.test( navigator.platform ) && navigator.userAgent.indexOf( "AppleWebKit" ) > -1, - wrapperClass: "", - enhanced: false - }, - - _create: function() { - - var options = this.options, - isSearch = this.element.is( "[type='search'], :jqmData(type='search')" ), - isTextarea = this.element[ 0 ].tagName === "TEXTAREA", - isRange = this.element.is( "[data-" + ( $.mobile.ns || "" ) + "type='range']" ), - inputNeedsWrap = ( (this.element.is( "input" ) || - this.element.is( "[data-" + ( $.mobile.ns || "" ) + "type='search']" ) ) && - !isRange ); - - if ( this.element.prop( "disabled" ) ) { - options.disabled = true; - } - - $.extend( this, { - classes: this._classesFromOptions(), - isSearch: isSearch, - isTextarea: isTextarea, - isRange: isRange, - inputNeedsWrap: inputNeedsWrap - }); - - this._autoCorrect(); - - if ( !options.enhanced ) { - this._enhance(); - } - - this._on( { - "focus": "_handleFocus", - "blur": "_handleBlur" - }); - - }, - - refresh: function() { - this.setOptions({ - "disabled" : this.element.is( ":disabled" ) - }); - }, - - _enhance: function() { - var elementClasses = []; - - if ( this.isTextarea ) { - elementClasses.push( "ui-input-text" ); - } - - if ( this.isTextarea || this.isRange ) { - elementClasses.push( "ui-shadow-inset" ); - } - - //"search" and "text" input widgets - if ( this.inputNeedsWrap ) { - this.element.wrap( this._wrap() ); - } else { - elementClasses = elementClasses.concat( this.classes ); - } - - this.element.addClass( elementClasses.join( " " ) ); - }, - - widget: function() { - return ( this.inputNeedsWrap ) ? this.element.parent() : this.element; - }, - - _classesFromOptions: function() { - var options = this.options, - classes = []; - - classes.push( "ui-body-" + ( ( options.theme === null ) ? "inherit" : options.theme ) ); - if ( options.corners ) { - classes.push( "ui-corner-all" ); - } - if ( options.mini ) { - classes.push( "ui-mini" ); - } - if ( options.disabled ) { - classes.push( "ui-state-disabled" ); - } - if ( options.wrapperClass ) { - classes.push( options.wrapperClass ); - } - - return classes; - }, - - _wrap: function() { - return $( "<div class='" + - ( this.isSearch ? "ui-input-search " : "ui-input-text " ) + - this.classes.join( " " ) + " " + - "ui-shadow-inset'></div>" ); - }, - - _autoCorrect: function() { - // XXX: Temporary workaround for issue 785 (Apple bug 8910589). - // Turn off autocorrect and autocomplete on non-iOS 5 devices - // since the popup they use can't be dismissed by the user. Note - // that we test for the presence of the feature by looking for - // the autocorrect property on the input element. We currently - // have no test for iOS 5 or newer so we're temporarily using - // the touchOverflow support flag for jQM 1.0. Yes, I feel dirty. - // - jblas - if ( typeof this.element[0].autocorrect !== "undefined" && - !$.support.touchOverflow ) { - - // Set the attribute instead of the property just in case there - // is code that attempts to make modifications via HTML. - this.element[0].setAttribute( "autocorrect", "off" ); - this.element[0].setAttribute( "autocomplete", "off" ); - } - }, - - _handleBlur: function() { - this.widget().removeClass( $.mobile.focusClass ); - if ( this.options.preventFocusZoom ) { - $.mobile.zoom.enable( true ); - } - }, - - _handleFocus: function() { - // In many situations, iOS will zoom into the input upon tap, this - // prevents that from happening - if ( this.options.preventFocusZoom ) { - $.mobile.zoom.disable( true ); - } - this.widget().addClass( $.mobile.focusClass ); - }, - - _setOptions: function ( options ) { - var outer = this.widget(); - - this._super( options ); - - if ( !( options.disabled === undefined && - options.mini === undefined && - options.corners === undefined && - options.theme === undefined && - options.wrapperClass === undefined ) ) { - - outer.removeClass( this.classes.join( " " ) ); - this.classes = this._classesFromOptions(); - outer.addClass( this.classes.join( " " ) ); - } - - if ( options.disabled !== undefined ) { - this.element.prop( "disabled", !!options.disabled ); - } - }, - - _destroy: function() { - if ( this.options.enhanced ) { - return; - } - if ( this.inputNeedsWrap ) { - this.element.unwrap(); - } - this.element.removeClass( "ui-input-text " + this.classes.join( " " ) ); - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.slider", $.extend( { - initSelector: "input[type='range'], :jqmData(type='range'), :jqmData(role='slider')", - - widgetEventPrefix: "slide", - - options: { - theme: null, - trackTheme: null, - corners: true, - mini: false, - highlight: false - }, - - _create: function() { - - // TODO: Each of these should have comments explain what they're for - var self = this, - control = this.element, - trackTheme = this.options.trackTheme || $.mobile.getAttribute( control[ 0 ], "theme" ), - trackThemeClass = trackTheme ? " ui-bar-" + trackTheme : " ui-bar-inherit", - cornerClass = ( this.options.corners || control.jqmData( "corners" ) ) ? " ui-corner-all" : "", - miniClass = ( this.options.mini || control.jqmData( "mini" ) ) ? " ui-mini" : "", - cType = control[ 0 ].nodeName.toLowerCase(), - isToggleSwitch = ( cType === "select" ), - isRangeslider = control.parent().is( ":jqmData(role='rangeslider')" ), - selectClass = ( isToggleSwitch ) ? "ui-slider-switch" : "", - controlID = control.attr( "id" ), - $label = $( "[for='" + controlID + "']" ), - labelID = $label.attr( "id" ) || controlID + "-label", - min = !isToggleSwitch ? parseFloat( control.attr( "min" ) ) : 0, - max = !isToggleSwitch ? parseFloat( control.attr( "max" ) ) : control.find( "option" ).length-1, - step = window.parseFloat( control.attr( "step" ) || 1 ), - domHandle = document.createElement( "a" ), - handle = $( domHandle ), - domSlider = document.createElement( "div" ), - slider = $( domSlider ), - valuebg = this.options.highlight && !isToggleSwitch ? (function() { - var bg = document.createElement( "div" ); - bg.className = "ui-slider-bg " + $.mobile.activeBtnClass; - return $( bg ).prependTo( slider ); - })() : false, - options, - wrapper, - j, length, - i, optionsCount, origTabIndex, - side, activeClass, sliderImg; - - $label.attr( "id", labelID ); - this.isToggleSwitch = isToggleSwitch; - - domHandle.setAttribute( "href", "#" ); - domSlider.setAttribute( "role", "application" ); - domSlider.className = [ this.isToggleSwitch ? "ui-slider ui-slider-track ui-shadow-inset " : "ui-slider-track ui-shadow-inset ", selectClass, trackThemeClass, cornerClass, miniClass ].join( "" ); - domHandle.className = "ui-slider-handle"; - domSlider.appendChild( domHandle ); - - handle.attr({ - "role": "slider", - "aria-valuemin": min, - "aria-valuemax": max, - "aria-valuenow": this._value(), - "aria-valuetext": this._value(), - "title": this._value(), - "aria-labelledby": labelID - }); - - $.extend( this, { - slider: slider, - handle: handle, - control: control, - type: cType, - step: step, - max: max, - min: min, - valuebg: valuebg, - isRangeslider: isRangeslider, - dragging: false, - beforeStart: null, - userModified: false, - mouseMoved: false - }); - - if ( isToggleSwitch ) { - // TODO: restore original tabindex (if any) in a destroy method - origTabIndex = control.attr( "tabindex" ); - if ( origTabIndex ) { - handle.attr( "tabindex", origTabIndex ); - } - control.attr( "tabindex", "-1" ).focus(function() { - $( this ).blur(); - handle.focus(); - }); - - wrapper = document.createElement( "div" ); - wrapper.className = "ui-slider-inneroffset"; - - for ( j = 0, length = domSlider.childNodes.length; j < length; j++ ) { - wrapper.appendChild( domSlider.childNodes[j] ); - } - - domSlider.appendChild( wrapper ); - - // slider.wrapInner( "<div class='ui-slider-inneroffset'></div>" ); - - // make the handle move with a smooth transition - handle.addClass( "ui-slider-handle-snapping" ); - - options = control.find( "option" ); - - for ( i = 0, optionsCount = options.length; i < optionsCount; i++ ) { - side = !i ? "b" : "a"; - activeClass = !i ? "" : " " + $.mobile.activeBtnClass; - sliderImg = document.createElement( "span" ); - - sliderImg.className = [ "ui-slider-label ui-slider-label-", side, activeClass ].join( "" ); - sliderImg.setAttribute( "role", "img" ); - sliderImg.appendChild( document.createTextNode( options[i].innerHTML ) ); - $( sliderImg ).prependTo( slider ); - } - - self._labels = $( ".ui-slider-label", slider ); - - } - - // monitor the input for updated values - control.addClass( isToggleSwitch ? "ui-slider-switch" : "ui-slider-input" ); - - this._on( control, { - "change": "_controlChange", - "keyup": "_controlKeyup", - "blur": "_controlBlur", - "vmouseup": "_controlVMouseUp" - }); - - slider.bind( "vmousedown", $.proxy( this._sliderVMouseDown, this ) ) - .bind( "vclick", false ); - - // We have to instantiate a new function object for the unbind to work properly - // since the method itself is defined in the prototype (causing it to unbind everything) - this._on( document, { "vmousemove": "_preventDocumentDrag" }); - this._on( slider.add( document ), { "vmouseup": "_sliderVMouseUp" }); - - slider.insertAfter( control ); - - // wrap in a div for styling purposes - if ( !isToggleSwitch && !isRangeslider ) { - wrapper = this.options.mini ? "<div class='ui-slider ui-mini'>" : "<div class='ui-slider'>"; - - control.add( slider ).wrapAll( wrapper ); - } - - // bind the handle event callbacks and set the context to the widget instance - this._on( this.handle, { - "vmousedown": "_handleVMouseDown", - "keydown": "_handleKeydown", - "keyup": "_handleKeyup" - }); - - this.handle.bind( "vclick", false ); - - this._handleFormReset(); - - this.refresh( undefined, undefined, true ); - }, - - _setOptions: function( options ) { - if ( options.theme !== undefined ) { - this._setTheme( options.theme ); - } - - if ( options.trackTheme !== undefined ) { - this._setTrackTheme( options.trackTheme ); - } - - if ( options.corners !== undefined ) { - this._setCorners( options.corners ); - } - - if ( options.mini !== undefined ) { - this._setMini( options.mini ); - } - - if ( options.highlight !== undefined ) { - this._setHighlight( options.highlight ); - } - - if ( options.disabled !== undefined ) { - this._setDisabled( options.disabled ); - } - this._super( options ); - }, - - _controlChange: function( event ) { - // if the user dragged the handle, the "change" event was triggered from inside refresh(); don't call refresh() again - if ( this._trigger( "controlchange", event ) === false ) { - return false; - } - if ( !this.mouseMoved ) { - this.refresh( this._value(), true ); - } - }, - - _controlKeyup: function(/* event */) { // necessary? - this.refresh( this._value(), true, true ); - }, - - _controlBlur: function(/* event */) { - this.refresh( this._value(), true ); - }, - - // it appears the clicking the up and down buttons in chrome on - // range/number inputs doesn't trigger a change until the field is - // blurred. Here we check thif the value has changed and refresh - _controlVMouseUp: function(/* event */) { - this._checkedRefresh(); - }, - - // NOTE force focus on handle - _handleVMouseDown: function(/* event */) { - this.handle.focus(); - }, - - _handleKeydown: function( event ) { - var index = this._value(); - if ( this.options.disabled ) { - return; - } - - // In all cases prevent the default and mark the handle as active - switch ( event.keyCode ) { - case $.mobile.keyCode.HOME: - case $.mobile.keyCode.END: - case $.mobile.keyCode.PAGE_UP: - case $.mobile.keyCode.PAGE_DOWN: - case $.mobile.keyCode.UP: - case $.mobile.keyCode.RIGHT: - case $.mobile.keyCode.DOWN: - case $.mobile.keyCode.LEFT: - event.preventDefault(); - - if ( !this._keySliding ) { - this._keySliding = true; - this.handle.addClass( "ui-state-active" ); /* TODO: We don't use this class for styling. Do we need to add it? */ - } - - break; - } - - // move the slider according to the keypress - switch ( event.keyCode ) { - case $.mobile.keyCode.HOME: - this.refresh( this.min ); - break; - case $.mobile.keyCode.END: - this.refresh( this.max ); - break; - case $.mobile.keyCode.PAGE_UP: - case $.mobile.keyCode.UP: - case $.mobile.keyCode.RIGHT: - this.refresh( index + this.step ); - break; - case $.mobile.keyCode.PAGE_DOWN: - case $.mobile.keyCode.DOWN: - case $.mobile.keyCode.LEFT: - this.refresh( index - this.step ); - break; - } - }, // remove active mark - - _handleKeyup: function(/* event */) { - if ( this._keySliding ) { - this._keySliding = false; - this.handle.removeClass( "ui-state-active" ); /* See comment above. */ - } - }, - - _sliderVMouseDown: function( event ) { - // NOTE: we don't do this in refresh because we still want to - // support programmatic alteration of disabled inputs - if ( this.options.disabled || !( event.which === 1 || event.which === 0 || event.which === undefined ) ) { - return false; - } - if ( this._trigger( "beforestart", event ) === false ) { - return false; - } - this.dragging = true; - this.userModified = false; - this.mouseMoved = false; - - if ( this.isToggleSwitch ) { - this.beforeStart = this.element[0].selectedIndex; - } - - this.refresh( event ); - this._trigger( "start" ); - return false; - }, - - _sliderVMouseUp: function() { - if ( this.dragging ) { - this.dragging = false; - - if ( this.isToggleSwitch ) { - // make the handle move with a smooth transition - this.handle.addClass( "ui-slider-handle-snapping" ); - - if ( this.mouseMoved ) { - // this is a drag, change the value only if user dragged enough - if ( this.userModified ) { - this.refresh( this.beforeStart === 0 ? 1 : 0 ); - } else { - this.refresh( this.beforeStart ); - } - } else { - // this is just a click, change the value - this.refresh( this.beforeStart === 0 ? 1 : 0 ); - } - } - - this.mouseMoved = false; - this._trigger( "stop" ); - return false; - } - }, - - _preventDocumentDrag: function( event ) { - // NOTE: we don't do this in refresh because we still want to - // support programmatic alteration of disabled inputs - if ( this._trigger( "drag", event ) === false) { - return false; - } - if ( this.dragging && !this.options.disabled ) { - - // this.mouseMoved must be updated before refresh() because it will be used in the control "change" event - this.mouseMoved = true; - - if ( this.isToggleSwitch ) { - // make the handle move in sync with the mouse - this.handle.removeClass( "ui-slider-handle-snapping" ); - } - - this.refresh( event ); - - // only after refresh() you can calculate this.userModified - this.userModified = this.beforeStart !== this.element[0].selectedIndex; - return false; - } - }, - - _checkedRefresh: function() { - if ( this.value !== this._value() ) { - this.refresh( this._value() ); - } - }, - - _value: function() { - return this.isToggleSwitch ? this.element[0].selectedIndex : parseFloat( this.element.val() ) ; - }, - - _reset: function() { - this.refresh( undefined, false, true ); - }, - - refresh: function( val, isfromControl, preventInputUpdate ) { - // NOTE: we don't return here because we want to support programmatic - // alteration of the input value, which should still update the slider - - var self = this, - parentTheme = $.mobile.getAttribute( this.element[ 0 ], "theme" ), - theme = this.options.theme || parentTheme, - themeClass = theme ? " ui-btn-" + theme : "", - trackTheme = this.options.trackTheme || parentTheme, - trackThemeClass = trackTheme ? " ui-bar-" + trackTheme : " ui-bar-inherit", - cornerClass = this.options.corners ? " ui-corner-all" : "", - miniClass = this.options.mini ? " ui-mini" : "", - left, width, data, tol, - pxStep, percent, - control, isInput, optionElements, min, max, step, - newval, valModStep, alignValue, percentPerStep, - handlePercent, aPercent, bPercent, - valueChanged; - - self.slider[0].className = [ this.isToggleSwitch ? "ui-slider ui-slider-switch ui-slider-track ui-shadow-inset" : "ui-slider-track ui-shadow-inset", trackThemeClass, cornerClass, miniClass ].join( "" ); - if ( this.options.disabled || this.element.prop( "disabled" ) ) { - this.disable(); - } - - // set the stored value for comparison later - this.value = this._value(); - if ( this.options.highlight && !this.isToggleSwitch && this.slider.find( ".ui-slider-bg" ).length === 0 ) { - this.valuebg = (function() { - var bg = document.createElement( "div" ); - bg.className = "ui-slider-bg " + $.mobile.activeBtnClass; - return $( bg ).prependTo( self.slider ); - })(); - } - this.handle.addClass( "ui-btn" + themeClass + " ui-shadow" ); - - control = this.element; - isInput = !this.isToggleSwitch; - optionElements = isInput ? [] : control.find( "option" ); - min = isInput ? parseFloat( control.attr( "min" ) ) : 0; - max = isInput ? parseFloat( control.attr( "max" ) ) : optionElements.length - 1; - step = ( isInput && parseFloat( control.attr( "step" ) ) > 0 ) ? parseFloat( control.attr( "step" ) ) : 1; - - if ( typeof val === "object" ) { - data = val; - // a slight tolerance helped get to the ends of the slider - tol = 8; - - left = this.slider.offset().left; - width = this.slider.width(); - pxStep = width/((max-min)/step); - if ( !this.dragging || - data.pageX < left - tol || - data.pageX > left + width + tol ) { - return; - } - if ( pxStep > 1 ) { - percent = ( ( data.pageX - left ) / width ) * 100; - } else { - percent = Math.round( ( ( data.pageX - left ) / width ) * 100 ); - } - } else { - if ( val == null ) { - val = isInput ? parseFloat( control.val() || 0 ) : control[0].selectedIndex; - } - percent = ( parseFloat( val ) - min ) / ( max - min ) * 100; - } - - if ( isNaN( percent ) ) { - return; - } - - newval = ( percent / 100 ) * ( max - min ) + min; - - //from jQuery UI slider, the following source will round to the nearest step - valModStep = ( newval - min ) % step; - alignValue = newval - valModStep; - - if ( Math.abs( valModStep ) * 2 >= step ) { - alignValue += ( valModStep > 0 ) ? step : ( -step ); - } - - percentPerStep = 100/((max-min)/step); - // Since JavaScript has problems with large floats, round - // the final value to 5 digits after the decimal point (see jQueryUI: #4124) - newval = parseFloat( alignValue.toFixed(5) ); - - if ( typeof pxStep === "undefined" ) { - pxStep = width / ( (max-min) / step ); - } - if ( pxStep > 1 && isInput ) { - percent = ( newval - min ) * percentPerStep * ( 1 / step ); - } - if ( percent < 0 ) { - percent = 0; - } - - if ( percent > 100 ) { - percent = 100; - } - - if ( newval < min ) { - newval = min; - } - - if ( newval > max ) { - newval = max; - } - - this.handle.css( "left", percent + "%" ); - - this.handle[0].setAttribute( "aria-valuenow", isInput ? newval : optionElements.eq( newval ).attr( "value" ) ); - - this.handle[0].setAttribute( "aria-valuetext", isInput ? newval : optionElements.eq( newval ).getEncodedText() ); - - this.handle[0].setAttribute( "title", isInput ? newval : optionElements.eq( newval ).getEncodedText() ); - - if ( this.valuebg ) { - this.valuebg.css( "width", percent + "%" ); - } - - // drag the label widths - if ( this._labels ) { - handlePercent = this.handle.width() / this.slider.width() * 100; - aPercent = percent && handlePercent + ( 100 - handlePercent ) * percent / 100; - bPercent = percent === 100 ? 0 : Math.min( handlePercent + 100 - aPercent, 100 ); - - this._labels.each(function() { - var ab = $( this ).hasClass( "ui-slider-label-a" ); - $( this ).width( ( ab ? aPercent : bPercent ) + "%" ); - }); - } - - if ( !preventInputUpdate ) { - valueChanged = false; - - // update control"s value - if ( isInput ) { - valueChanged = parseFloat( control.val() ) !== newval; - control.val( newval ); - } else { - valueChanged = control[ 0 ].selectedIndex !== newval; - control[ 0 ].selectedIndex = newval; - } - if ( this._trigger( "beforechange", val ) === false) { - return false; - } - if ( !isfromControl && valueChanged ) { - control.trigger( "change" ); - } - } - }, - - _setHighlight: function( value ) { - value = !!value; - if ( value ) { - this.options.highlight = !!value; - this.refresh(); - } else if ( this.valuebg ) { - this.valuebg.remove(); - this.valuebg = false; - } - }, - - _setTheme: function( value ) { - this.handle - .removeClass( "ui-btn-" + this.options.theme ) - .addClass( "ui-btn-" + value ); - - var currentTheme = this.options.theme ? this.options.theme : "inherit", - newTheme = value ? value : "inherit"; - - this.control - .removeClass( "ui-body-" + currentTheme ) - .addClass( "ui-body-" + newTheme ); - }, - - _setTrackTheme: function( value ) { - var currentTrackTheme = this.options.trackTheme ? this.options.trackTheme : "inherit", - newTrackTheme = value ? value : "inherit"; - - this.slider - .removeClass( "ui-body-" + currentTrackTheme ) - .addClass( "ui-body-" + newTrackTheme ); - }, - - _setMini: function( value ) { - value = !!value; - if ( !this.isToggleSwitch && !this.isRangeslider ) { - this.slider.parent().toggleClass( "ui-mini", value ); - this.element.toggleClass( "ui-mini", value ); - } - this.slider.toggleClass( "ui-mini", value ); - }, - - _setCorners: function( value ) { - this.slider.toggleClass( "ui-corner-all", value ); - - if ( !this.isToggleSwitch ) { - this.control.toggleClass( "ui-corner-all", value ); - } - }, - - _setDisabled: function( value ) { - value = !!value; - this.element.prop( "disabled", value ); - this.slider - .toggleClass( "ui-state-disabled", value ) - .attr( "aria-disabled", value ); - - this.element.toggleClass( "ui-state-disabled", value ); - } - -}, $.mobile.behaviors.formReset ) ); - -})( jQuery ); - -(function( $, undefined ) { - -var popup; - -function getPopup() { - if ( !popup ) { - popup = $( "<div></div>", { - "class": "ui-slider-popup ui-shadow ui-corner-all" - }); - } - return popup.clone(); -} - -$.widget( "mobile.slider", $.mobile.slider, { - options: { - popupEnabled: false, - showValue: false - }, - - _create: function() { - this._super(); - - $.extend( this, { - _currentValue: null, - _popup: null, - _popupVisible: false - }); - - this._setOption( "popupEnabled", this.options.popupEnabled ); - - this._on( this.handle, { "vmousedown" : "_showPopup" } ); - this._on( this.slider.add( this.document ), { "vmouseup" : "_hidePopup" } ); - this._refresh(); - }, - - // position the popup centered 5px above the handle - _positionPopup: function() { - var dstOffset = this.handle.offset(); - - this._popup.offset( { - left: dstOffset.left + ( this.handle.width() - this._popup.width() ) / 2, - top: dstOffset.top - this._popup.outerHeight() - 5 - }); - }, - - _setOption: function( key, value ) { - this._super( key, value ); - - if ( key === "showValue" ) { - this.handle.html( value && !this.options.mini ? this._value() : "" ); - } else if ( key === "popupEnabled" ) { - if ( value && !this._popup ) { - this._popup = getPopup() - .addClass( "ui-body-" + ( this.options.theme || "a" ) ) - .hide() - .insertBefore( this.element ); - } - } - }, - - // show value on the handle and in popup - refresh: function() { - this._super.apply( this, arguments ); - this._refresh(); - }, - - _refresh: function() { - var o = this.options, newValue; - - if ( o.popupEnabled ) { - // remove the title attribute from the handle (which is - // responsible for the annoying tooltip); NB we have - // to do it here as the jqm slider sets it every time - // the slider's value changes :( - this.handle.removeAttr( "title" ); - } - - newValue = this._value(); - if ( newValue === this._currentValue ) { - return; - } - this._currentValue = newValue; - - if ( o.popupEnabled && this._popup ) { - this._positionPopup(); - this._popup.html( newValue ); - } - - if ( o.showValue && !this.options.mini ) { - this.handle.html( newValue ); - } - }, - - _showPopup: function() { - if ( this.options.popupEnabled && !this._popupVisible ) { - this.handle.html( "" ); - this._popup.show(); - this._positionPopup(); - this._popupVisible = true; - } - }, - - _hidePopup: function() { - var o = this.options; - - if ( o.popupEnabled && this._popupVisible ) { - if ( o.showValue && !o.mini ) { - this.handle.html( this._value() ); - } - this._popup.hide(); - this._popupVisible = false; - } - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.flipswitch", $.extend({ - - options: { - onText: "On", - offText: "Off", - theme: null, - enhanced: false, - wrapperClass: null, - corners: true, - mini: false - }, - - _create: function() { - if ( !this.options.enhanced ) { - this._enhance(); - } else { - $.extend( this, { - flipswitch: this.element.parent(), - on: this.element.find( ".ui-flipswitch-on" ).eq( 0 ), - off: this.element.find( ".ui-flipswitch-off" ).eq(0), - type: this.element.get( 0 ).tagName - }); - } - - this._handleFormReset(); - - // Transfer tabindex to "on" element and make input unfocusable - this._originalTabIndex = this.element.attr( "tabindex" ); - if ( this._originalTabIndex != null ) { - this.on.attr( "tabindex", this._originalTabIndex ); - } - this.element.attr( "tabindex", "-1" ); - this._on({ - "focus" : "_handleInputFocus" - }); - - if ( this.element.is( ":disabled" ) ) { - this._setOptions({ - "disabled": true - }); - } - - this._on( this.flipswitch, { - "click": "_toggle", - "swipeleft": "_left", - "swiperight": "_right" - }); - - this._on( this.on, { - "keydown": "_keydown" - }); - - this._on( { - "change": "refresh" - }); - }, - - _handleInputFocus: function() { - this.on.focus(); - }, - - widget: function() { - return this.flipswitch; - }, - - _left: function() { - this.flipswitch.removeClass( "ui-flipswitch-active" ); - if ( this.type === "SELECT" ) { - this.element.get( 0 ).selectedIndex = 0; - } else { - this.element.prop( "checked", false ); - } - this.element.trigger( "change" ); - }, - - _right: function() { - this.flipswitch.addClass( "ui-flipswitch-active" ); - if ( this.type === "SELECT" ) { - this.element.get( 0 ).selectedIndex = 1; - } else { - this.element.prop( "checked", true ); - } - this.element.trigger( "change" ); - }, - - _enhance: function() { - var flipswitch = $( "<div>" ), - options = this.options, - element = this.element, - theme = options.theme ? options.theme : "inherit", - - // The "on" button is an anchor so it's focusable - on = $( "<a></a>", { - "href": "#" - }), - off = $( "<span></span>" ), - type = element.get( 0 ).tagName, - onText = ( type === "INPUT" ) ? - options.onText : element.find( "option" ).eq( 1 ).text(), - offText = ( type === "INPUT" ) ? - options.offText : element.find( "option" ).eq( 0 ).text(); - - on - .addClass( "ui-flipswitch-on ui-btn ui-shadow ui-btn-inherit" ) - .text( onText ); - off - .addClass( "ui-flipswitch-off" ) - .text( offText ); - - flipswitch - .addClass( "ui-flipswitch ui-shadow-inset " + - "ui-bar-" + theme + " " + - ( options.wrapperClass ? options.wrapperClass : "" ) + " " + - ( ( element.is( ":checked" ) || - element - .find( "option" ) - .eq( 1 ) - .is( ":selected" ) ) ? "ui-flipswitch-active" : "" ) + - ( element.is(":disabled") ? " ui-state-disabled": "") + - ( options.corners ? " ui-corner-all": "" ) + - ( options.mini ? " ui-mini": "" ) ) - .append( on, off ); - - element - .addClass( "ui-flipswitch-input" ) - .after( flipswitch ) - .appendTo( flipswitch ); - - $.extend( this, { - flipswitch: flipswitch, - on: on, - off: off, - type: type - }); - }, - - _reset: function() { - this.refresh(); - }, - - refresh: function() { - var direction, - existingDirection = this.flipswitch.hasClass( "ui-flipswitch-active" ) ? "_right" : "_left"; - - if ( this.type === "SELECT" ) { - direction = ( this.element.get( 0 ).selectedIndex > 0 ) ? "_right": "_left"; - } else { - direction = this.element.prop( "checked" ) ? "_right": "_left"; - } - - if ( direction !== existingDirection ) { - this[ direction ](); - } - }, - - _toggle: function() { - var direction = this.flipswitch.hasClass( "ui-flipswitch-active" ) ? "_left" : "_right"; - - this[ direction ](); - }, - - _keydown: function( e ) { - if ( e.which === $.mobile.keyCode.LEFT ) { - this._left(); - } else if ( e.which === $.mobile.keyCode.RIGHT ) { - this._right(); - } else if ( e.which === $.mobile.keyCode.SPACE ) { - this._toggle(); - e.preventDefault(); - } - }, - - _setOptions: function( options ) { - if ( options.theme !== undefined ) { - var currentTheme = options.theme ? options.theme : "inherit", - newTheme = options.theme ? options.theme : "inherit"; - - this.widget() - .removeClass( "ui-bar-" + currentTheme ) - .addClass( "ui-bar-" + newTheme ); - } - if ( options.onText !== undefined ) { - this.on.text( options.onText ); - } - if ( options.offText !== undefined ) { - this.off.text( options.offText ); - } - if ( options.disabled !== undefined ) { - this.widget().toggleClass( "ui-state-disabled", options.disabled ); - } - if ( options.mini !== undefined ) { - this.widget().toggleClass( "ui-mini", options.mini ); - } - if ( options.corners !== undefined ) { - this.widget().toggleClass( "ui-corner-all", options.corners ); - } - - this._super( options ); - }, - - _destroy: function() { - if ( this.options.enhanced ) { - return; - } - if ( this._originalTabIndex != null ) { - this.element.attr( "tabindex", this._originalTabIndex ); - } else { - this.element.removeAttr( "tabindex" ); - } - this.on.remove(); - this.off.remove(); - this.element.unwrap(); - this.flipswitch.remove(); - this.removeClass( "ui-flipswitch-input" ); - } - -}, $.mobile.behaviors.formReset ) ); - -})( jQuery ); - -(function( $, undefined ) { - $.widget( "mobile.rangeslider", $.extend( { - - options: { - theme: null, - trackTheme: null, - corners: true, - mini: false, - highlight: true - }, - - _create: function() { - var $el = this.element, - elClass = this.options.mini ? "ui-rangeslider ui-mini" : "ui-rangeslider", - _inputFirst = $el.find( "input" ).first(), - _inputLast = $el.find( "input" ).last(), - _label = $el.find( "label" ).first(), - _sliderWidgetFirst = $.data( _inputFirst.get( 0 ), "mobile-slider" ) || - $.data( _inputFirst.slider().get( 0 ), "mobile-slider" ), - _sliderWidgetLast = $.data( _inputLast.get(0), "mobile-slider" ) || - $.data( _inputLast.slider().get( 0 ), "mobile-slider" ), - _sliderFirst = _sliderWidgetFirst.slider, - _sliderLast = _sliderWidgetLast.slider, - firstHandle = _sliderWidgetFirst.handle, - _sliders = $( "<div class='ui-rangeslider-sliders' />" ).appendTo( $el ); - - _inputFirst.addClass( "ui-rangeslider-first" ); - _inputLast.addClass( "ui-rangeslider-last" ); - $el.addClass( elClass ); - - _sliderFirst.appendTo( _sliders ); - _sliderLast.appendTo( _sliders ); - _label.insertBefore( $el ); - firstHandle.prependTo( _sliderLast ); - - $.extend( this, { - _inputFirst: _inputFirst, - _inputLast: _inputLast, - _sliderFirst: _sliderFirst, - _sliderLast: _sliderLast, - _label: _label, - _targetVal: null, - _sliderTarget: false, - _sliders: _sliders, - _proxy: false - }); - - this.refresh(); - this._on( this.element.find( "input.ui-slider-input" ), { - "slidebeforestart": "_slidebeforestart", - "slidestop": "_slidestop", - "slidedrag": "_slidedrag", - "slidebeforechange": "_change", - "blur": "_change", - "keyup": "_change" - }); - this._on({ - "mousedown":"_change" - }); - this._on( this.element.closest( "form" ), { - "reset":"_handleReset" - }); - this._on( firstHandle, { - "vmousedown": "_dragFirstHandle" - }); - }, - _handleReset: function() { - var self = this; - //we must wait for the stack to unwind before updateing other wise sliders will not have updated yet - setTimeout( function() { - self._updateHighlight(); - },0); - }, - - _dragFirstHandle: function( event ) { - //if the first handle is dragged send the event to the first slider - $.data( this._inputFirst.get(0), "mobile-slider" ).dragging = true; - $.data( this._inputFirst.get(0), "mobile-slider" ).refresh( event ); - $.data( this._inputFirst.get(0), "mobile-slider" )._trigger( "start" ); - return false; - }, - - _slidedrag: function( event ) { - var first = $( event.target ).is( this._inputFirst ), - otherSlider = ( first ) ? this._inputLast : this._inputFirst; - - this._sliderTarget = false; - //if the drag was initiated on an extreme and the other handle is focused send the events to - //the closest handle - if ( ( this._proxy === "first" && first ) || ( this._proxy === "last" && !first ) ) { - $.data( otherSlider.get(0), "mobile-slider" ).dragging = true; - $.data( otherSlider.get(0), "mobile-slider" ).refresh( event ); - return false; - } - }, - - _slidestop: function( event ) { - var first = $( event.target ).is( this._inputFirst ); - - this._proxy = false; - //this stops dragging of the handle and brings the active track to the front - //this makes clicks on the track go the the last handle used - this.element.find( "input" ).trigger( "vmouseup" ); - this._sliderFirst.css( "z-index", first ? 1 : "" ); - }, - - _slidebeforestart: function( event ) { - this._sliderTarget = false; - //if the track is the target remember this and the original value - if ( $( event.originalEvent.target ).hasClass( "ui-slider-track" ) ) { - this._sliderTarget = true; - this._targetVal = $( event.target ).val(); - } - }, - - _setOptions: function( options ) { - if ( options.theme !== undefined ) { - this._setTheme( options.theme ); - } - - if ( options.trackTheme !== undefined ) { - this._setTrackTheme( options.trackTheme ); - } - - if ( options.mini !== undefined ) { - this._setMini( options.mini ); - } - - if ( options.highlight !== undefined ) { - this._setHighlight( options.highlight ); - } - - if ( options.disabled !== undefined ) { - this._setDisabled( options.disabled ); - } - - this._super( options ); - this.refresh(); - }, - - refresh: function() { - var $el = this.element, - o = this.options; - - if ( this._inputFirst.is( ":disabled" ) || this._inputLast.is( ":disabled" ) ) { - this.options.disabled = true; - } - - $el.find( "input" ).slider({ - theme: o.theme, - trackTheme: o.trackTheme, - disabled: o.disabled, - corners: o.corners, - mini: o.mini, - highlight: o.highlight - }).slider( "refresh" ); - this._updateHighlight(); - }, - - _change: function( event ) { - if ( event.type === "keyup" ) { - this._updateHighlight(); - return false; - } - - var self = this, - min = parseFloat( this._inputFirst.val(), 10 ), - max = parseFloat( this._inputLast.val(), 10 ), - first = $( event.target ).hasClass( "ui-rangeslider-first" ), - thisSlider = first ? this._inputFirst : this._inputLast, - otherSlider = first ? this._inputLast : this._inputFirst; - - if ( ( this._inputFirst.val() > this._inputLast.val() && event.type === "mousedown" && !$(event.target).hasClass("ui-slider-handle")) ) { - thisSlider.blur(); - } else if ( event.type === "mousedown" ) { - return; - } - if ( min > max && !this._sliderTarget ) { - //this prevents min from being greater then max - thisSlider.val( first ? max: min ).slider( "refresh" ); - this._trigger( "normalize" ); - } else if ( min > max ) { - //this makes it so clicks on the target on either extreme go to the closest handle - thisSlider.val( this._targetVal ).slider( "refresh" ); - - //You must wait for the stack to unwind so first slider is updated before updating second - setTimeout( function() { - otherSlider.val( first ? min: max ).slider( "refresh" ); - $.data( otherSlider.get(0), "mobile-slider" ).handle.focus(); - self._sliderFirst.css( "z-index", first ? "" : 1 ); - self._trigger( "normalize" ); - }, 0 ); - this._proxy = ( first ) ? "first" : "last"; - } - //fixes issue where when both _sliders are at min they cannot be adjusted - if ( min === max ) { - $.data( thisSlider.get(0), "mobile-slider" ).handle.css( "z-index", 1 ); - $.data( otherSlider.get(0), "mobile-slider" ).handle.css( "z-index", 0 ); - } else { - $.data( otherSlider.get(0), "mobile-slider" ).handle.css( "z-index", "" ); - $.data( thisSlider.get(0), "mobile-slider" ).handle.css( "z-index", "" ); - } - - this._updateHighlight(); - - if ( min >= max ) { - return false; - } - }, - - _updateHighlight: function() { - var min = parseInt( $.data( this._inputFirst.get(0), "mobile-slider" ).handle.get(0).style.left, 10 ), - max = parseInt( $.data( this._inputLast.get(0), "mobile-slider" ).handle.get(0).style.left, 10 ), - width = (max - min); - - this.element.find( ".ui-slider-bg" ).css({ - "margin-left": min + "%", - "width": width + "%" - }); - }, - - _setTheme: function( value ) { - this._inputFirst.slider( "option", "theme", value ); - this._inputLast.slider( "option", "theme", value ); - }, - - _setTrackTheme: function( value ) { - this._inputFirst.slider( "option", "trackTheme", value ); - this._inputLast.slider( "option", "trackTheme", value ); - }, - - _setMini: function( value ) { - this._inputFirst.slider( "option", "mini", value ); - this._inputLast.slider( "option", "mini", value ); - this.element.toggleClass( "ui-mini", !!value ); - }, - - _setHighlight: function( value ) { - this._inputFirst.slider( "option", "highlight", value ); - this._inputLast.slider( "option", "highlight", value ); - }, - - _setDisabled: function( value ) { - this._inputFirst.prop( "disabled", value ); - this._inputLast.prop( "disabled", value ); - }, - - _destroy: function() { - this._label.prependTo( this.element ); - this.element.removeClass( "ui-rangeslider ui-mini" ); - this._inputFirst.after( this._sliderFirst ); - this._inputLast.after( this._sliderLast ); - this._sliders.remove(); - this.element.find( "input" ).removeClass( "ui-rangeslider-first ui-rangeslider-last" ).slider( "destroy" ); - } - - }, $.mobile.behaviors.formReset ) ); - -})( jQuery ); - -(function( $, undefined ) { - - $.widget( "mobile.textinput", $.mobile.textinput, { - options: { - clearBtn: false, - clearBtnText: "Clear text" - }, - - _create: function() { - this._super(); - - if ( this.isSearch ) { - this.options.clearBtn = true; - } - - if ( !!this.options.clearBtn && this.inputNeedsWrap ) { - this._addClearBtn(); - } - }, - - clearButton: function() { - return $( "<a href='#' tabindex='-1' aria-hidden='true' " + - "class='ui-input-clear ui-btn ui-icon-delete ui-btn-icon-notext ui-corner-all'>" + - "</a>" ) - .attr( "title", this.options.clearBtnText ) - .text( this.options.clearBtnText ); - }, - - _clearBtnClick: function( event ) { - this.element.val( "" ) - .focus() - .trigger( "change" ); - - this._clearBtn.addClass( "ui-input-clear-hidden" ); - event.preventDefault(); - }, - - _addClearBtn: function() { - - if ( !this.options.enhanced ) { - this._enhanceClear(); - } - - $.extend( this, { - _clearBtn: this.widget().find("a.ui-input-clear") - }); - - this._bindClearEvents(); - - this._toggleClear(); - - }, - - _enhanceClear: function() { - - this.clearButton().appendTo( this.widget() ); - this.widget().addClass( "ui-input-has-clear" ); - - }, - - _bindClearEvents: function() { - - this._on( this._clearBtn, { - "click": "_clearBtnClick" - }); - - this._on({ - "keyup": "_toggleClear", - "change": "_toggleClear", - "input": "_toggleClear", - "focus": "_toggleClear", - "blur": "_toggleClear", - "cut": "_toggleClear", - "paste": "_toggleClear" - - }); - - }, - - _unbindClear: function() { - this._off( this._clearBtn, "click"); - this._off( this.element, "keyup change input focus blur cut paste" ); - }, - - _setOptions: function( options ) { - this._super( options ); - - if ( options.clearBtn !== undefined && - !this.element.is( "textarea, :jqmData(type='range')" ) ) { - if ( options.clearBtn ) { - this._addClearBtn(); - } else { - this._destroyClear(); - } - } - - if ( options.clearBtnText !== undefined && this._clearBtn !== undefined ) { - this._clearBtn.text( options.clearBtnText ) - .attr("title", options.clearBtnText); - } - }, - - _toggleClear: function() { - this._delay( "_toggleClearClass", 0 ); - }, - - _toggleClearClass: function() { - this._clearBtn.toggleClass( "ui-input-clear-hidden", !this.element.val() ); - }, - - _destroyClear: function() { - this.widget().removeClass( "ui-input-has-clear" ); - this._unbindClear(); - this._clearBtn.remove(); - }, - - _destroy: function() { - this._super(); - if ( this.options.clearBtn ) { - this._destroyClear(); - } - } - - }); - -})( jQuery ); - -(function( $, undefined ) { - - $.widget( "mobile.textinput", $.mobile.textinput, { - options: { - autogrow:true, - keyupTimeoutBuffer: 100 - }, - - _create: function() { - this._super(); - - if ( this.options.autogrow && this.isTextarea ) { - this._autogrow(); - } - }, - - _autogrow: function() { - this.element.addClass( "ui-textinput-autogrow" ); - - this._on({ - "keyup": "_timeout", - "change": "_timeout", - "input": "_timeout", - "paste": "_timeout" - }); - - // Attach to the various you-have-become-visible notifications that the - // various framework elements emit. - // TODO: Remove all but the updatelayout handler once #6426 is fixed. - this._on( true, this.document, { - - // TODO: Move to non-deprecated event - "pageshow": "_handleShow", - "popupbeforeposition": "_handleShow", - "updatelayout": "_handleShow", - "panelopen": "_handleShow" - }); - }, - - // Synchronously fix the widget height if this widget's parents are such - // that they show/hide content at runtime. We still need to check whether - // the widget is actually visible in case it is contained inside multiple - // such containers. For example: panel contains collapsible contains - // autogrow textinput. The panel may emit "panelopen" indicating that its - // content has become visible, but the collapsible is still collapsed, so - // the autogrow textarea is still not visible. - _handleShow: function( event ) { - if ( $.contains( event.target, this.element[ 0 ] ) && - this.element.is( ":visible" ) ) { - - if ( event.type !== "popupbeforeposition" ) { - this.element - .addClass( "ui-textinput-autogrow-resize" ) - .animationComplete( - $.proxy( function() { - this.element.removeClass( "ui-textinput-autogrow-resize" ); - }, this ), - "transition" ); - } - this._prepareHeightUpdate(); - } - }, - - _unbindAutogrow: function() { - this.element.removeClass( "ui-textinput-autogrow" ); - this._off( this.element, "keyup change input paste" ); - this._off( this.document, - "pageshow popupbeforeposition updatelayout panelopen" ); - }, - - keyupTimeout: null, - - _prepareHeightUpdate: function( delay ) { - if ( this.keyupTimeout ) { - clearTimeout( this.keyupTimeout ); - } - if ( delay === undefined ) { - this._updateHeight(); - } else { - this.keyupTimeout = this._delay( "_updateHeight", delay ); - } - }, - - _timeout: function() { - this._prepareHeightUpdate( this.options.keyupTimeoutBuffer ); - }, - - _updateHeight: function() { - var paddingTop, paddingBottom, paddingHeight, scrollHeight, clientHeight, - borderTop, borderBottom, borderHeight, height, - scrollTop = this.window.scrollTop(); - this.keyupTimeout = 0; - - // IE8 textareas have the onpage property - others do not - if ( !( "onpage" in this.element[ 0 ] ) ) { - this.element.css({ - "height": 0, - "min-height": 0, - "max-height": 0 - }); - } - - scrollHeight = this.element[ 0 ].scrollHeight; - clientHeight = this.element[ 0 ].clientHeight; - borderTop = parseFloat( this.element.css( "border-top-width" ) ); - borderBottom = parseFloat( this.element.css( "border-bottom-width" ) ); - borderHeight = borderTop + borderBottom; - height = scrollHeight + borderHeight + 15; - - // Issue 6179: Padding is not included in scrollHeight and - // clientHeight by Firefox if no scrollbar is visible. Because - // textareas use the border-box box-sizing model, padding should be - // included in the new (assigned) height. Because the height is set - // to 0, clientHeight == 0 in Firefox. Therefore, we can use this to - // check if padding must be added. - if ( clientHeight === 0 ) { - paddingTop = parseFloat( this.element.css( "padding-top" ) ); - paddingBottom = parseFloat( this.element.css( "padding-bottom" ) ); - paddingHeight = paddingTop + paddingBottom; - - height += paddingHeight; - } - - this.element.css({ - "height": height, - "min-height": "", - "max-height": "" - }); - - this.window.scrollTop( scrollTop ); - }, - - refresh: function() { - if ( this.options.autogrow && this.isTextarea ) { - this._updateHeight(); - } - }, - - _setOptions: function( options ) { - - this._super( options ); - - if ( options.autogrow !== undefined && this.isTextarea ) { - if ( options.autogrow ) { - this._autogrow(); - } else { - this._unbindAutogrow(); - } - } - } - - }); -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.selectmenu", $.extend( { - initSelector: "select:not( :jqmData(role='slider')):not( :jqmData(role='flipswitch') )", - - options: { - theme: null, - icon: "carat-d", - iconpos: "right", - inline: false, - corners: true, - shadow: true, - iconshadow: false, /* TODO: Deprecated in 1.4, remove in 1.5. */ - overlayTheme: null, - dividerTheme: null, - hidePlaceholderMenuItems: true, - closeText: "Close", - nativeMenu: true, - // This option defaults to true on iOS devices. - preventFocusZoom: /iPhone|iPad|iPod/.test( navigator.platform ) && navigator.userAgent.indexOf( "AppleWebKit" ) > -1, - mini: false - }, - - _button: function() { - return $( "<div/>" ); - }, - - _setDisabled: function( value ) { - this.element.attr( "disabled", value ); - this.button.attr( "aria-disabled", value ); - return this._setOption( "disabled", value ); - }, - - _focusButton : function() { - var self = this; - - setTimeout( function() { - self.button.focus(); - }, 40); - }, - - _selectOptions: function() { - return this.select.find( "option" ); - }, - - // setup items that are generally necessary for select menu extension - _preExtension: function() { - var inline = this.options.inline || this.element.jqmData( "inline" ), - mini = this.options.mini || this.element.jqmData( "mini" ), - classes = ""; - // TODO: Post 1.1--once we have time to test thoroughly--any classes manually applied to the original element should be carried over to the enhanced element, with an `-enhanced` suffix. See https://github.com/jquery/jquery-mobile/issues/3577 - /* if ( $el[0].className.length ) { - classes = $el[0].className; - } */ - if ( !!~this.element[0].className.indexOf( "ui-btn-left" ) ) { - classes = " ui-btn-left"; - } - - if ( !!~this.element[0].className.indexOf( "ui-btn-right" ) ) { - classes = " ui-btn-right"; - } - - if ( inline ) { - classes += " ui-btn-inline"; - } - if ( mini ) { - classes += " ui-mini"; - } - - this.select = this.element.removeClass( "ui-btn-left ui-btn-right" ).wrap( "<div class='ui-select" + classes + "'>" ); - this.selectId = this.select.attr( "id" ) || ( "select-" + this.uuid ); - this.buttonId = this.selectId + "-button"; - this.label = $( "label[for='"+ this.selectId +"']" ); - this.isMultiple = this.select[ 0 ].multiple; - }, - - _destroy: function() { - var wrapper = this.element.parents( ".ui-select" ); - if ( wrapper.length > 0 ) { - if ( wrapper.is( ".ui-btn-left, .ui-btn-right" ) ) { - this.element.addClass( wrapper.hasClass( "ui-btn-left" ) ? "ui-btn-left" : "ui-btn-right" ); - } - this.element.insertAfter( wrapper ); - wrapper.remove(); - } - }, - - _create: function() { - this._preExtension(); - - this.button = this._button(); - - var self = this, - - options = this.options, - - iconpos = options.icon ? ( options.iconpos || this.select.jqmData( "iconpos" ) ) : false, - - button = this.button - .insertBefore( this.select ) - .attr( "id", this.buttonId ) - .addClass( "ui-btn" + - ( options.icon ? ( " ui-icon-" + options.icon + " ui-btn-icon-" + iconpos + - ( options.iconshadow ? " ui-shadow-icon" : "" ) ) : "" ) + /* TODO: Remove in 1.5. */ - ( options.theme ? " ui-btn-" + options.theme : "" ) + - ( options.corners ? " ui-corner-all" : "" ) + - ( options.shadow ? " ui-shadow" : "" ) ); - - this.setButtonText(); - - // Opera does not properly support opacity on select elements - // In Mini, it hides the element, but not its text - // On the desktop,it seems to do the opposite - // for these reasons, using the nativeMenu option results in a full native select in Opera - if ( options.nativeMenu && window.opera && window.opera.version ) { - button.addClass( "ui-select-nativeonly" ); - } - - // Add counter for multi selects - if ( this.isMultiple ) { - this.buttonCount = $( "<span>" ) - .addClass( "ui-li-count ui-body-inherit" ) - .hide() - .appendTo( button.addClass( "ui-li-has-count" ) ); - } - - // Disable if specified - if ( options.disabled || this.element.attr( "disabled" )) { - this.disable(); - } - - // Events on native select - this.select.change(function() { - self.refresh(); - - if ( !!options.nativeMenu ) { - self._delay( function() { - self.select.blur(); - }); - } - }); - - this._handleFormReset(); - - this._on( this.button, { - keydown: "_handleKeydown" - }); - - this.build(); - }, - - build: function() { - var self = this; - - this.select - .appendTo( self.button ) - .bind( "vmousedown", function() { - // Add active class to button - self.button.addClass( $.mobile.activeBtnClass ); - }) - .bind( "focus", function() { - self.button.addClass( $.mobile.focusClass ); - }) - .bind( "blur", function() { - self.button.removeClass( $.mobile.focusClass ); - }) - .bind( "focus vmouseover", function() { - self.button.trigger( "vmouseover" ); - }) - .bind( "vmousemove", function() { - // Remove active class on scroll/touchmove - self.button.removeClass( $.mobile.activeBtnClass ); - }) - .bind( "change blur vmouseout", function() { - self.button.trigger( "vmouseout" ) - .removeClass( $.mobile.activeBtnClass ); - }); - - // In many situations, iOS will zoom into the select upon tap, this prevents that from happening - self.button.bind( "vmousedown", function() { - if ( self.options.preventFocusZoom ) { - $.mobile.zoom.disable( true ); - } - }); - self.label.bind( "click focus", function() { - if ( self.options.preventFocusZoom ) { - $.mobile.zoom.disable( true ); - } - }); - self.select.bind( "focus", function() { - if ( self.options.preventFocusZoom ) { - $.mobile.zoom.disable( true ); - } - }); - self.button.bind( "mouseup", function() { - if ( self.options.preventFocusZoom ) { - setTimeout(function() { - $.mobile.zoom.enable( true ); - }, 0 ); - } - }); - self.select.bind( "blur", function() { - if ( self.options.preventFocusZoom ) { - $.mobile.zoom.enable( true ); - } - }); - - }, - - selected: function() { - return this._selectOptions().filter( ":selected" ); - }, - - selectedIndices: function() { - var self = this; - - return this.selected().map(function() { - return self._selectOptions().index( this ); - }).get(); - }, - - setButtonText: function() { - var self = this, - selected = this.selected(), - text = this.placeholder, - span = $( document.createElement( "span" ) ); - - this.button.children( "span" ).not( ".ui-li-count" ).remove().end().end().prepend( (function() { - if ( selected.length ) { - text = selected.map(function() { - return $( this ).text(); - }).get().join( ", " ); - } else { - text = self.placeholder; - } - - if ( text ) { - span.text( text ); - } else { - - // Set the contents to which we write as   to be XHTML compliant - see gh-6699 - span.html( " " ); - } - - // TODO possibly aggregate multiple select option classes - return span - .addClass( self.select.attr( "class" ) ) - .addClass( selected.attr( "class" ) ) - .removeClass( "ui-screen-hidden" ); - })()); - }, - - setButtonCount: function() { - var selected = this.selected(); - - // multiple count inside button - if ( this.isMultiple ) { - this.buttonCount[ selected.length > 1 ? "show" : "hide" ]().text( selected.length ); - } - }, - - _handleKeydown: function( /* event */ ) { - this._delay( "_refreshButton" ); - }, - - _reset: function() { - this.refresh(); - }, - - _refreshButton: function() { - this.setButtonText(); - this.setButtonCount(); - }, - - refresh: function() { - this._refreshButton(); - }, - - // open and close preserved in native selects - // to simplify users code when looping over selects - open: $.noop, - close: $.noop, - - disable: function() { - this._setDisabled( true ); - this.button.addClass( "ui-state-disabled" ); - }, - - enable: function() { - this._setDisabled( false ); - this.button.removeClass( "ui-state-disabled" ); - } -}, $.mobile.behaviors.formReset ) ); - -})( jQuery ); - -(function( $, undefined ) { - -$.mobile.links = function( target ) { - - //links within content areas, tests included with page - $( target ) - .find( "a" ) - .jqmEnhanceable() - .filter( ":jqmData(rel='popup')[href][href!='']" ) - .each( function() { - // Accessibility info for popups - var element = this, - idref = element.getAttribute( "href" ).substring( 1 ); - - if ( idref ) { - element.setAttribute( "aria-haspopup", true ); - element.setAttribute( "aria-owns", idref ); - element.setAttribute( "aria-expanded", false ); - } - }) - .end() - .not( ".ui-btn, :jqmData(role='none'), :jqmData(role='nojs')" ) - .addClass( "ui-link" ); - -}; - -})( jQuery ); - - -(function( $, undefined ) { - -function fitSegmentInsideSegment( windowSize, segmentSize, offset, desired ) { - var returnValue = desired; - - if ( windowSize < segmentSize ) { - // Center segment if it's bigger than the window - returnValue = offset + ( windowSize - segmentSize ) / 2; - } else { - // Otherwise center it at the desired coordinate while keeping it completely inside the window - returnValue = Math.min( Math.max( offset, desired - segmentSize / 2 ), offset + windowSize - segmentSize ); - } - - return returnValue; -} - -function getWindowCoordinates( theWindow ) { - return { - x: theWindow.scrollLeft(), - y: theWindow.scrollTop(), - cx: ( theWindow[ 0 ].innerWidth || theWindow.width() ), - cy: ( theWindow[ 0 ].innerHeight || theWindow.height() ) - }; -} - -$.widget( "mobile.popup", { - options: { - wrapperClass: null, - theme: null, - overlayTheme: null, - shadow: true, - corners: true, - transition: "none", - positionTo: "origin", - tolerance: null, - closeLinkSelector: "a:jqmData(rel='back')", - closeLinkEvents: "click.popup", - navigateEvents: "navigate.popup", - closeEvents: "navigate.popup pagebeforechange.popup", - dismissible: true, - enhanced: false, - - // NOTE Windows Phone 7 has a scroll position caching issue that - // requires us to disable popup history management by default - // https://github.com/jquery/jquery-mobile/issues/4784 - // - // NOTE this option is modified in _create! - history: !$.mobile.browser.oldIE - }, - - // When the user depresses the mouse/finger on an element inside the popup while the popup is - // open, we ignore resize events for a short while. This prevents #6961. - _handleDocumentVmousedown: function( theEvent ) { - if ( this._isOpen && $.contains( this._ui.container[ 0 ], theEvent.target ) ) { - this._ignoreResizeEvents(); - } - }, - - _create: function() { - var theElement = this.element, - myId = theElement.attr( "id" ), - currentOptions = this.options; - - // We need to adjust the history option to be false if there's no AJAX nav. - // We can't do it in the option declarations because those are run before - // it is determined whether there shall be AJAX nav. - currentOptions.history = currentOptions.history && $.mobile.ajaxEnabled && $.mobile.hashListeningEnabled; - - this._on( this.document, { - "vmousedown": "_handleDocumentVmousedown" - }); - - // Define instance variables - $.extend( this, { - _scrollTop: 0, - _page: theElement.closest( ".ui-page" ), - _ui: null, - _fallbackTransition: "", - _currentTransition: false, - _prerequisites: null, - _isOpen: false, - _tolerance: null, - _resizeData: null, - _ignoreResizeTo: 0, - _orientationchangeInProgress: false - }); - - if ( this._page.length === 0 ) { - this._page = $( "body" ); - } - - if ( currentOptions.enhanced ) { - this._ui = { - container: theElement.parent(), - screen: theElement.parent().prev(), - placeholder: $( this.document[ 0 ].getElementById( myId + "-placeholder" ) ) - }; - } else { - this._ui = this._enhance( theElement, myId ); - this._applyTransition( currentOptions.transition ); - } - this - ._setTolerance( currentOptions.tolerance ) - ._ui.focusElement = this._ui.container; - - // Event handlers - this._on( this._ui.screen, { "vclick": "_eatEventAndClose" } ); - this._on( this.window, { - orientationchange: $.proxy( this, "_handleWindowOrientationchange" ), - resize: $.proxy( this, "_handleWindowResize" ), - keyup: $.proxy( this, "_handleWindowKeyUp" ) - }); - this._on( this.document, { "focusin": "_handleDocumentFocusIn" } ); - }, - - _enhance: function( theElement, myId ) { - var currentOptions = this.options, - wrapperClass = currentOptions.wrapperClass, - ui = { - screen: $( "<div class='ui-screen-hidden ui-popup-screen " + - this._themeClassFromOption( "ui-overlay-", currentOptions.overlayTheme ) + "'></div>" ), - placeholder: $( "<div style='display: none;'><!-- placeholder --></div>" ), - container: $( "<div class='ui-popup-container ui-popup-hidden ui-popup-truncate" + - ( wrapperClass ? ( " " + wrapperClass ) : "" ) + "'></div>" ) - }, - fragment = this.document[ 0 ].createDocumentFragment(); - - fragment.appendChild( ui.screen[ 0 ] ); - fragment.appendChild( ui.container[ 0 ] ); - - if ( myId ) { - ui.screen.attr( "id", myId + "-screen" ); - ui.container.attr( "id", myId + "-popup" ); - ui.placeholder - .attr( "id", myId + "-placeholder" ) - .html( "<!-- placeholder for " + myId + " -->" ); - } - - // Apply the proto - this._page[ 0 ].appendChild( fragment ); - // Leave a placeholder where the element used to be - ui.placeholder.insertAfter( theElement ); - theElement - .detach() - .addClass( "ui-popup " + - this._themeClassFromOption( "ui-body-", currentOptions.theme ) + " " + - ( currentOptions.shadow ? "ui-overlay-shadow " : "" ) + - ( currentOptions.corners ? "ui-corner-all " : "" ) ) - .appendTo( ui.container ); - - return ui; - }, - - _eatEventAndClose: function( theEvent ) { - theEvent.preventDefault(); - theEvent.stopImmediatePropagation(); - if ( this.options.dismissible ) { - this.close(); - } - return false; - }, - - // Make sure the screen covers the entire document - CSS is sometimes not - // enough to accomplish this. - _resizeScreen: function() { - var screen = this._ui.screen, - popupHeight = this._ui.container.outerHeight( true ), - screenHeight = screen.removeAttr( "style" ).height(), - - // Subtracting 1 here is necessary for an obscure Andrdoid 4.0 bug where - // the browser hangs if the screen covers the entire document :/ - documentHeight = this.document.height() - 1; - - if ( screenHeight < documentHeight ) { - screen.height( documentHeight ); - } else if ( popupHeight > screenHeight ) { - screen.height( popupHeight ); - } - }, - - _handleWindowKeyUp: function( theEvent ) { - if ( this._isOpen && theEvent.keyCode === $.mobile.keyCode.ESCAPE ) { - return this._eatEventAndClose( theEvent ); - } - }, - - _expectResizeEvent: function() { - var windowCoordinates = getWindowCoordinates( this.window ); - - if ( this._resizeData ) { - if ( windowCoordinates.x === this._resizeData.windowCoordinates.x && - windowCoordinates.y === this._resizeData.windowCoordinates.y && - windowCoordinates.cx === this._resizeData.windowCoordinates.cx && - windowCoordinates.cy === this._resizeData.windowCoordinates.cy ) { - // timeout not refreshed - return false; - } else { - // clear existing timeout - it will be refreshed below - clearTimeout( this._resizeData.timeoutId ); - } - } - - this._resizeData = { - timeoutId: this._delay( "_resizeTimeout", 200 ), - windowCoordinates: windowCoordinates - }; - - return true; - }, - - _resizeTimeout: function() { - if ( this._isOpen ) { - if ( !this._expectResizeEvent() ) { - if ( this._ui.container.hasClass( "ui-popup-hidden" ) ) { - // effectively rapid-open the popup while leaving the screen intact - this._ui.container.removeClass( "ui-popup-hidden ui-popup-truncate" ); - this.reposition( { positionTo: "window" } ); - this._ignoreResizeEvents(); - } - - this._resizeScreen(); - this._resizeData = null; - this._orientationchangeInProgress = false; - } - } else { - this._resizeData = null; - this._orientationchangeInProgress = false; - } - }, - - _stopIgnoringResizeEvents: function() { - this._ignoreResizeTo = 0; - }, - - _ignoreResizeEvents: function() { - if ( this._ignoreResizeTo ) { - clearTimeout( this._ignoreResizeTo ); - } - this._ignoreResizeTo = this._delay( "_stopIgnoringResizeEvents", 1000 ); - }, - - _handleWindowResize: function(/* theEvent */) { - if ( this._isOpen && this._ignoreResizeTo === 0 ) { - if ( ( this._expectResizeEvent() || this._orientationchangeInProgress ) && - !this._ui.container.hasClass( "ui-popup-hidden" ) ) { - // effectively rapid-close the popup while leaving the screen intact - this._ui.container - .addClass( "ui-popup-hidden ui-popup-truncate" ) - .removeAttr( "style" ); - } - } - }, - - _handleWindowOrientationchange: function(/* theEvent */) { - if ( !this._orientationchangeInProgress && this._isOpen && this._ignoreResizeTo === 0 ) { - this._expectResizeEvent(); - this._orientationchangeInProgress = true; - } - }, - - // When the popup is open, attempting to focus on an element that is not a - // child of the popup will redirect focus to the popup - _handleDocumentFocusIn: function( theEvent ) { - var target, - targetElement = theEvent.target, - ui = this._ui; - - if ( !this._isOpen ) { - return; - } - - if ( targetElement !== ui.container[ 0 ] ) { - target = $( targetElement ); - if ( !$.contains( ui.container[ 0 ], targetElement ) ) { - $( this.document[ 0 ].activeElement ).one( "focus", $.proxy( function() { - this._safelyBlur( targetElement ); - }, this ) ); - ui.focusElement.focus(); - theEvent.preventDefault(); - theEvent.stopImmediatePropagation(); - return false; - } else if ( ui.focusElement[ 0 ] === ui.container[ 0 ] ) { - ui.focusElement = target; - } - } - - this._ignoreResizeEvents(); - }, - - _themeClassFromOption: function( prefix, value ) { - return ( value ? ( value === "none" ? "" : ( prefix + value ) ) : ( prefix + "inherit" ) ); - }, - - _applyTransition: function( value ) { - if ( value ) { - this._ui.container.removeClass( this._fallbackTransition ); - if ( value !== "none" ) { - this._fallbackTransition = $.mobile._maybeDegradeTransition( value ); - if ( this._fallbackTransition === "none" ) { - this._fallbackTransition = ""; - } - this._ui.container.addClass( this._fallbackTransition ); - } - } - - return this; - }, - - _setOptions: function( newOptions ) { - var currentOptions = this.options, - theElement = this.element, - screen = this._ui.screen; - - if ( newOptions.wrapperClass !== undefined ) { - this._ui.container - .removeClass( currentOptions.wrapperClass ) - .addClass( newOptions.wrapperClass ); - } - - if ( newOptions.theme !== undefined ) { - theElement - .removeClass( this._themeClassFromOption( "ui-body-", currentOptions.theme ) ) - .addClass( this._themeClassFromOption( "ui-body-", newOptions.theme ) ); - } - - if ( newOptions.overlayTheme !== undefined ) { - screen - .removeClass( this._themeClassFromOption( "ui-overlay-", currentOptions.overlayTheme ) ) - .addClass( this._themeClassFromOption( "ui-overlay-", newOptions.overlayTheme ) ); - - if ( this._isOpen ) { - screen.addClass( "in" ); - } - } - - if ( newOptions.shadow !== undefined ) { - theElement.toggleClass( "ui-overlay-shadow", newOptions.shadow ); - } - - if ( newOptions.corners !== undefined ) { - theElement.toggleClass( "ui-corner-all", newOptions.corners ); - } - - if ( newOptions.transition !== undefined ) { - if ( !this._currentTransition ) { - this._applyTransition( newOptions.transition ); - } - } - - if ( newOptions.tolerance !== undefined ) { - this._setTolerance( newOptions.tolerance ); - } - - if ( newOptions.disabled !== undefined ) { - if ( newOptions.disabled ) { - this.close(); - } - } - - return this._super( newOptions ); - }, - - _setTolerance: function( value ) { - var tol = { t: 30, r: 15, b: 30, l: 15 }, - ar; - - if ( value !== undefined ) { - ar = String( value ).split( "," ); - - $.each( ar, function( idx, val ) { ar[ idx ] = parseInt( val, 10 ); } ); - - switch( ar.length ) { - // All values are to be the same - case 1: - if ( !isNaN( ar[ 0 ] ) ) { - tol.t = tol.r = tol.b = tol.l = ar[ 0 ]; - } - break; - - // The first value denotes top/bottom tolerance, and the second value denotes left/right tolerance - case 2: - if ( !isNaN( ar[ 0 ] ) ) { - tol.t = tol.b = ar[ 0 ]; - } - if ( !isNaN( ar[ 1 ] ) ) { - tol.l = tol.r = ar[ 1 ]; - } - break; - - // The array contains values in the order top, right, bottom, left - case 4: - if ( !isNaN( ar[ 0 ] ) ) { - tol.t = ar[ 0 ]; - } - if ( !isNaN( ar[ 1 ] ) ) { - tol.r = ar[ 1 ]; - } - if ( !isNaN( ar[ 2 ] ) ) { - tol.b = ar[ 2 ]; - } - if ( !isNaN( ar[ 3 ] ) ) { - tol.l = ar[ 3 ]; - } - break; - - default: - break; - } - } - - this._tolerance = tol; - return this; - }, - - _clampPopupWidth: function( infoOnly ) { - var menuSize, - windowCoordinates = getWindowCoordinates( this.window ), - // rectangle within which the popup must fit - rectangle = { - x: this._tolerance.l, - y: windowCoordinates.y + this._tolerance.t, - cx: windowCoordinates.cx - this._tolerance.l - this._tolerance.r, - cy: windowCoordinates.cy - this._tolerance.t - this._tolerance.b - }; - - if ( !infoOnly ) { - // Clamp the width of the menu before grabbing its size - this._ui.container.css( "max-width", rectangle.cx ); - } - - menuSize = { - cx: this._ui.container.outerWidth( true ), - cy: this._ui.container.outerHeight( true ) - }; - - return { rc: rectangle, menuSize: menuSize }; - }, - - _calculateFinalLocation: function( desired, clampInfo ) { - var returnValue, - rectangle = clampInfo.rc, - menuSize = clampInfo.menuSize; - - // Center the menu over the desired coordinates, while not going outside - // the window tolerances. This will center wrt. the window if the popup is - // too large. - returnValue = { - left: fitSegmentInsideSegment( rectangle.cx, menuSize.cx, rectangle.x, desired.x ), - top: fitSegmentInsideSegment( rectangle.cy, menuSize.cy, rectangle.y, desired.y ) - }; - - // Make sure the top of the menu is visible - returnValue.top = Math.max( 0, returnValue.top ); - - // If the height of the menu is smaller than the height of the document - // align the bottom with the bottom of the document - - returnValue.top -= Math.min( returnValue.top, - Math.max( 0, returnValue.top + menuSize.cy - this.document.height() ) ); - - return returnValue; - }, - - // Try and center the overlay over the given coordinates - _placementCoords: function( desired ) { - return this._calculateFinalLocation( desired, this._clampPopupWidth() ); - }, - - _createPrerequisites: function( screenPrerequisite, containerPrerequisite, whenDone ) { - var prerequisites, - self = this; - - // It is important to maintain both the local variable prerequisites and - // self._prerequisites. The local variable remains in the closure of the - // functions which call the callbacks passed in. The comparison between the - // local variable and self._prerequisites is necessary, because once a - // function has been passed to .animationComplete() it will be called next - // time an animation completes, even if that's not the animation whose end - // the function was supposed to catch (for example, if an abort happens - // during the opening animation, the .animationComplete handler is not - // called for that animation anymore, but the handler remains attached, so - // it is called the next time the popup is opened - making it stale. - // Comparing the local variable prerequisites to the widget-level variable - // self._prerequisites ensures that callbacks triggered by a stale - // .animationComplete will be ignored. - - prerequisites = { - screen: $.Deferred(), - container: $.Deferred() - }; - - prerequisites.screen.then( function() { - if ( prerequisites === self._prerequisites ) { - screenPrerequisite(); - } - }); - - prerequisites.container.then( function() { - if ( prerequisites === self._prerequisites ) { - containerPrerequisite(); - } - }); - - $.when( prerequisites.screen, prerequisites.container ).done( function() { - if ( prerequisites === self._prerequisites ) { - self._prerequisites = null; - whenDone(); - } - }); - - self._prerequisites = prerequisites; - }, - - _animate: function( args ) { - // NOTE before removing the default animation of the screen - // this had an animate callback that would resolve the deferred - // now the deferred is resolved immediately - // TODO remove the dependency on the screen deferred - this._ui.screen - .removeClass( args.classToRemove ) - .addClass( args.screenClassToAdd ); - - args.prerequisites.screen.resolve(); - - if ( args.transition && args.transition !== "none" ) { - if ( args.applyTransition ) { - this._applyTransition( args.transition ); - } - if ( this._fallbackTransition ) { - this._ui.container - .addClass( args.containerClassToAdd ) - .removeClass( args.classToRemove ) - .animationComplete( $.proxy( args.prerequisites.container, "resolve" ) ); - return; - } - } - this._ui.container.removeClass( args.classToRemove ); - args.prerequisites.container.resolve(); - }, - - // The desired coordinates passed in will be returned untouched if no reference element can be identified via - // desiredPosition.positionTo. Nevertheless, this function ensures that its return value always contains valid - // x and y coordinates by specifying the center middle of the window if the coordinates are absent. - // options: { x: coordinate, y: coordinate, positionTo: string: "origin", "window", or jQuery selector - _desiredCoords: function( openOptions ) { - var offset, - dst = null, - windowCoordinates = getWindowCoordinates( this.window ), - x = openOptions.x, - y = openOptions.y, - pTo = openOptions.positionTo; - - // Establish which element will serve as the reference - if ( pTo && pTo !== "origin" ) { - if ( pTo === "window" ) { - x = windowCoordinates.cx / 2 + windowCoordinates.x; - y = windowCoordinates.cy / 2 + windowCoordinates.y; - } else { - try { - dst = $( pTo ); - } catch( err ) { - dst = null; - } - if ( dst ) { - dst.filter( ":visible" ); - if ( dst.length === 0 ) { - dst = null; - } - } - } - } - - // If an element was found, center over it - if ( dst ) { - offset = dst.offset(); - x = offset.left + dst.outerWidth() / 2; - y = offset.top + dst.outerHeight() / 2; - } - - // Make sure x and y are valid numbers - center over the window - if ( $.type( x ) !== "number" || isNaN( x ) ) { - x = windowCoordinates.cx / 2 + windowCoordinates.x; - } - if ( $.type( y ) !== "number" || isNaN( y ) ) { - y = windowCoordinates.cy / 2 + windowCoordinates.y; - } - - return { x: x, y: y }; - }, - - _reposition: function( openOptions ) { - // We only care about position-related parameters for repositioning - openOptions = { - x: openOptions.x, - y: openOptions.y, - positionTo: openOptions.positionTo - }; - this._trigger( "beforeposition", undefined, openOptions ); - this._ui.container.offset( this._placementCoords( this._desiredCoords( openOptions ) ) ); - }, - - reposition: function( openOptions ) { - if ( this._isOpen ) { - this._reposition( openOptions ); - } - }, - - _safelyBlur: function( currentElement ){ - if ( currentElement !== this.window[ 0 ] && - currentElement.nodeName.toLowerCase() !== "body" ) { - $( currentElement ).blur(); - } - }, - - _openPrerequisitesComplete: function() { - var id = this.element.attr( "id" ), - firstFocus = this._ui.container.find( ":focusable" ).first(); - - this._ui.container.addClass( "ui-popup-active" ); - this._isOpen = true; - this._resizeScreen(); - - // Check to see if currElement is not a child of the container. If it's not, blur - if ( !$.contains( this._ui.container[ 0 ], this.document[ 0 ].activeElement ) ) { - this._safelyBlur( this.document[ 0 ].activeElement ); - } - if ( firstFocus.length > 0 ) { - this._ui.focusElement = firstFocus; - } - this._ignoreResizeEvents(); - if ( id ) { - this.document.find( "[aria-haspopup='true'][aria-owns='" + id + "']" ).attr( "aria-expanded", true ); - } - this._trigger( "afteropen" ); - }, - - _open: function( options ) { - var openOptions = $.extend( {}, this.options, options ), - // TODO move blacklist to private method - androidBlacklist = ( function() { - var ua = navigator.userAgent, - // Rendering engine is Webkit, and capture major version - wkmatch = ua.match( /AppleWebKit\/([0-9\.]+)/ ), - wkversion = !!wkmatch && wkmatch[ 1 ], - androidmatch = ua.match( /Android (\d+(?:\.\d+))/ ), - andversion = !!androidmatch && androidmatch[ 1 ], - chromematch = ua.indexOf( "Chrome" ) > -1; - - // Platform is Android, WebKit version is greater than 534.13 ( Android 3.2.1 ) and not Chrome. - if ( androidmatch !== null && andversion === "4.0" && wkversion && wkversion > 534.13 && !chromematch ) { - return true; - } - return false; - }()); - - // Count down to triggering "popupafteropen" - we have two prerequisites: - // 1. The popup window animation completes (container()) - // 2. The screen opacity animation completes (screen()) - this._createPrerequisites( - $.noop, - $.noop, - $.proxy( this, "_openPrerequisitesComplete" ) ); - - this._currentTransition = openOptions.transition; - this._applyTransition( openOptions.transition ); - - this._ui.screen.removeClass( "ui-screen-hidden" ); - this._ui.container.removeClass( "ui-popup-truncate" ); - - // Give applications a chance to modify the contents of the container before it appears - this._reposition( openOptions ); - - this._ui.container.removeClass( "ui-popup-hidden" ); - - if ( this.options.overlayTheme && androidBlacklist ) { - /* TODO: The native browser on Android 4.0.X ("Ice Cream Sandwich") suffers from an issue where the popup overlay appears to be z-indexed above the popup itself when certain other styles exist on the same page -- namely, any element set to `position: fixed` and certain types of input. These issues are reminiscent of previously uncovered bugs in older versions of Android's native browser: https://github.com/scottjehl/Device-Bugs/issues/3 - This fix closes the following bugs ( I use "closes" with reluctance, and stress that this issue should be revisited as soon as possible ): - https://github.com/jquery/jquery-mobile/issues/4816 - https://github.com/jquery/jquery-mobile/issues/4844 - https://github.com/jquery/jquery-mobile/issues/4874 - */ - - // TODO sort out why this._page isn't working - this.element.closest( ".ui-page" ).addClass( "ui-popup-open" ); - } - this._animate({ - additionalCondition: true, - transition: openOptions.transition, - classToRemove: "", - screenClassToAdd: "in", - containerClassToAdd: "in", - applyTransition: false, - prerequisites: this._prerequisites - }); - }, - - _closePrerequisiteScreen: function() { - this._ui.screen - .removeClass( "out" ) - .addClass( "ui-screen-hidden" ); - }, - - _closePrerequisiteContainer: function() { - this._ui.container - .removeClass( "reverse out" ) - .addClass( "ui-popup-hidden ui-popup-truncate" ) - .removeAttr( "style" ); - }, - - _closePrerequisitesDone: function() { - var container = this._ui.container, - id = this.element.attr( "id" ); - - // remove the global mutex for popups - $.mobile.popup.active = undefined; - - // Blur elements inside the container, including the container - $( ":focus", container[ 0 ] ).add( container[ 0 ] ).blur(); - - if ( id ) { - this.document.find( "[aria-haspopup='true'][aria-owns='" + id + "']" ).attr( "aria-expanded", false ); - } - - // alert users that the popup is closed - this._trigger( "afterclose" ); - }, - - _close: function( immediate ) { - this._ui.container.removeClass( "ui-popup-active" ); - this._page.removeClass( "ui-popup-open" ); - - this._isOpen = false; - - // Count down to triggering "popupafterclose" - we have two prerequisites: - // 1. The popup window reverse animation completes (container()) - // 2. The screen opacity animation completes (screen()) - this._createPrerequisites( - $.proxy( this, "_closePrerequisiteScreen" ), - $.proxy( this, "_closePrerequisiteContainer" ), - $.proxy( this, "_closePrerequisitesDone" ) ); - - this._animate( { - additionalCondition: this._ui.screen.hasClass( "in" ), - transition: ( immediate ? "none" : ( this._currentTransition ) ), - classToRemove: "in", - screenClassToAdd: "out", - containerClassToAdd: "reverse out", - applyTransition: true, - prerequisites: this._prerequisites - }); - }, - - _unenhance: function() { - if ( this.options.enhanced ) { - return; - } - - // Put the element back to where the placeholder was and remove the "ui-popup" class - this._setOptions( { theme: $.mobile.popup.prototype.options.theme } ); - this.element - // Cannot directly insertAfter() - we need to detach() first, because - // insertAfter() will do nothing if the payload div was not attached - // to the DOM at the time the widget was created, and so the payload - // will remain inside the container even after we call insertAfter(). - // If that happens and we remove the container a few lines below, we - // will cause an infinite recursion - #5244 - .detach() - .insertAfter( this._ui.placeholder ) - .removeClass( "ui-popup ui-overlay-shadow ui-corner-all ui-body-inherit" ); - this._ui.screen.remove(); - this._ui.container.remove(); - this._ui.placeholder.remove(); - }, - - _destroy: function() { - if ( $.mobile.popup.active === this ) { - this.element.one( "popupafterclose", $.proxy( this, "_unenhance" ) ); - this.close(); - } else { - this._unenhance(); - } - - return this; - }, - - _closePopup: function( theEvent, data ) { - var parsedDst, toUrl, - currentOptions = this.options, - immediate = false; - - if ( ( theEvent && theEvent.isDefaultPrevented() ) || $.mobile.popup.active !== this ) { - return; - } - - // restore location on screen - window.scrollTo( 0, this._scrollTop ); - - if ( theEvent && theEvent.type === "pagebeforechange" && data ) { - // Determine whether we need to rapid-close the popup, or whether we can - // take the time to run the closing transition - if ( typeof data.toPage === "string" ) { - parsedDst = data.toPage; - } else { - parsedDst = data.toPage.jqmData( "url" ); - } - parsedDst = $.mobile.path.parseUrl( parsedDst ); - toUrl = parsedDst.pathname + parsedDst.search + parsedDst.hash; - - if ( this._myUrl !== $.mobile.path.makeUrlAbsolute( toUrl ) ) { - // Going to a different page - close immediately - immediate = true; - } else { - theEvent.preventDefault(); - } - } - - // remove nav bindings - this.window.off( currentOptions.closeEvents ); - // unbind click handlers added when history is disabled - this.element.undelegate( currentOptions.closeLinkSelector, currentOptions.closeLinkEvents ); - - this._close( immediate ); - }, - - // any navigation event after a popup is opened should close the popup - // NOTE the pagebeforechange is bound to catch navigation events that don't - // alter the url (eg, dialogs from popups) - _bindContainerClose: function() { - this.window - .on( this.options.closeEvents, $.proxy( this, "_closePopup" ) ); - }, - - widget: function() { - return this._ui.container; - }, - - // TODO no clear deliniation of what should be here and - // what should be in _open. Seems to be "visual" vs "history" for now - open: function( options ) { - var url, hashkey, activePage, currentIsDialog, hasHash, urlHistory, - self = this, - currentOptions = this.options; - - // make sure open is idempotent - if ( $.mobile.popup.active || currentOptions.disabled ) { - return this; - } - - // set the global popup mutex - $.mobile.popup.active = this; - this._scrollTop = this.window.scrollTop(); - - // if history alteration is disabled close on navigate events - // and leave the url as is - if ( !( currentOptions.history ) ) { - self._open( options ); - self._bindContainerClose(); - - // When histoy is disabled we have to grab the data-rel - // back link clicks so we can close the popup instead of - // relying on history to do it for us - self.element - .delegate( currentOptions.closeLinkSelector, currentOptions.closeLinkEvents, function( theEvent ) { - self.close(); - theEvent.preventDefault(); - }); - - return this; - } - - // cache some values for min/readability - urlHistory = $.mobile.navigate.history; - hashkey = $.mobile.dialogHashKey; - activePage = $.mobile.activePage; - currentIsDialog = ( activePage ? activePage.hasClass( "ui-dialog" ) : false ); - this._myUrl = url = urlHistory.getActive().url; - hasHash = ( url.indexOf( hashkey ) > -1 ) && !currentIsDialog && ( urlHistory.activeIndex > 0 ); - - if ( hasHash ) { - self._open( options ); - self._bindContainerClose(); - return this; - } - - // if the current url has no dialog hash key proceed as normal - // otherwise, if the page is a dialog simply tack on the hash key - if ( url.indexOf( hashkey ) === -1 && !currentIsDialog ) { - url = url + (url.indexOf( "#" ) > -1 ? hashkey : "#" + hashkey); - } else { - url = $.mobile.path.parseLocation().hash + hashkey; - } - - // swallow the the initial navigation event, and bind for the next - this.window.one( "beforenavigate", function( theEvent ) { - theEvent.preventDefault(); - self._open( options ); - self._bindContainerClose(); - }); - - this.urlAltered = true; - $.mobile.navigate( url, { role: "dialog" } ); - - return this; - }, - - close: function() { - // make sure close is idempotent - if ( $.mobile.popup.active !== this ) { - return this; - } - - this._scrollTop = this.window.scrollTop(); - - if ( this.options.history && this.urlAltered ) { - $.mobile.back(); - this.urlAltered = false; - } else { - // simulate the nav bindings having fired - this._closePopup(); - } - - return this; - } -}); - -// TODO this can be moved inside the widget -$.mobile.popup.handleLink = function( $link ) { - var offset, - path = $.mobile.path, - - // NOTE make sure to get only the hash from the href because ie7 (wp7) - // returns the absolute href in this case ruining the element selection - popup = $( path.hashToSelector( path.parseUrl( $link.attr( "href" ) ).hash ) ).first(); - - if ( popup.length > 0 && popup.data( "mobile-popup" ) ) { - offset = $link.offset(); - popup.popup( "open", { - x: offset.left + $link.outerWidth() / 2, - y: offset.top + $link.outerHeight() / 2, - transition: $link.jqmData( "transition" ), - positionTo: $link.jqmData( "position-to" ) - }); - } - - //remove after delay - setTimeout( function() { - $link.removeClass( $.mobile.activeBtnClass ); - }, 300 ); -}; - -// TODO move inside _create -$.mobile.document.on( "pagebeforechange", function( theEvent, data ) { - if ( data.options.role === "popup" ) { - $.mobile.popup.handleLink( data.options.link ); - theEvent.preventDefault(); - } -}); - -})( jQuery ); - -/* -* custom "selectmenu" plugin -*/ - -(function( $, undefined ) { - -var unfocusableItemSelector = ".ui-disabled,.ui-state-disabled,.ui-li-divider,.ui-screen-hidden,:jqmData(role='placeholder')", - goToAdjacentItem = function( item, target, direction ) { - var adjacent = item[ direction + "All" ]() - .not( unfocusableItemSelector ) - .first(); - - // if there's a previous option, focus it - if ( adjacent.length ) { - target - .blur() - .attr( "tabindex", "-1" ); - - adjacent.find( "a" ).first().focus(); - } - }; - -$.widget( "mobile.selectmenu", $.mobile.selectmenu, { - _create: function() { - var o = this.options; - - // Custom selects cannot exist inside popups, so revert the "nativeMenu" - // option to true if a parent is a popup - o.nativeMenu = o.nativeMenu || ( this.element.parents( ":jqmData(role='popup'),:mobile-popup" ).length > 0 ); - - return this._super(); - }, - - _handleSelectFocus: function() { - this.element.blur(); - this.button.focus(); - }, - - _handleKeydown: function( event ) { - this._super( event ); - this._handleButtonVclickKeydown( event ); - }, - - _handleButtonVclickKeydown: function( event ) { - if ( this.options.disabled || this.isOpen || this.options.nativeMenu ) { - return; - } - - if (event.type === "vclick" || - event.keyCode && (event.keyCode === $.mobile.keyCode.ENTER || event.keyCode === $.mobile.keyCode.SPACE)) { - - this._decideFormat(); - if ( this.menuType === "overlay" ) { - this.button.attr( "href", "#" + this.popupId ).attr( "data-" + ( $.mobile.ns || "" ) + "rel", "popup" ); - } else { - this.button.attr( "href", "#" + this.dialogId ).attr( "data-" + ( $.mobile.ns || "" ) + "rel", "dialog" ); - } - this.isOpen = true; - // Do not prevent default, so the navigation may have a chance to actually open the chosen format - } - }, - - _handleListFocus: function( e ) { - var params = ( e.type === "focusin" ) ? - { tabindex: "0", event: "vmouseover" }: - { tabindex: "-1", event: "vmouseout" }; - - $( e.target ) - .attr( "tabindex", params.tabindex ) - .trigger( params.event ); - }, - - _handleListKeydown: function( event ) { - var target = $( event.target ), - li = target.closest( "li" ); - - // switch logic based on which key was pressed - switch ( event.keyCode ) { - // up or left arrow keys - case 38: - goToAdjacentItem( li, target, "prev" ); - return false; - // down or right arrow keys - case 40: - goToAdjacentItem( li, target, "next" ); - return false; - // If enter or space is pressed, trigger click - case 13: - case 32: - target.trigger( "click" ); - return false; - } - }, - - _handleMenuPageHide: function() { - - // After the dialog's done, we may want to trigger change if the value has actually changed - this._delayedTrigger(); - - // TODO centralize page removal binding / handling in the page plugin. - // Suggestion from @jblas to do refcounting - // - // TODO extremely confusing dependency on the open method where the pagehide.remove - // bindings are stripped to prevent the parent page from disappearing. The way - // we're keeping pages in the DOM right now sucks - // - // rebind the page remove that was unbound in the open function - // to allow for the parent page removal from actions other than the use - // of a dialog sized custom select - // - // doing this here provides for the back button on the custom select dialog - this.thisPage.page( "bindRemove" ); - }, - - _handleHeaderCloseClick: function() { - if ( this.menuType === "overlay" ) { - this.close(); - return false; - } - }, - - _handleListItemClick: function( event ) { - var listItem = $( event.target ).closest( "li" ), - - // Index of option tag to be selected - oldIndex = this.select[ 0 ].selectedIndex, - newIndex = $.mobile.getAttribute( listItem, "option-index" ), - option = this._selectOptions().eq( newIndex )[ 0 ]; - - // Toggle selected status on the tag for multi selects - option.selected = this.isMultiple ? !option.selected : true; - - // Toggle checkbox class for multiple selects - if ( this.isMultiple ) { - listItem.find( "a" ) - .toggleClass( "ui-checkbox-on", option.selected ) - .toggleClass( "ui-checkbox-off", !option.selected ); - } - - // If it's not a multiple select, trigger change after it has finished closing - if ( !this.isMultiple && oldIndex !== newIndex ) { - this._triggerChange = true; - } - - // Trigger change if it's a multiple select - // Hide custom select for single selects only - otherwise focus clicked item - // We need to grab the clicked item the hard way, because the list may have been rebuilt - if ( this.isMultiple ) { - this.select.trigger( "change" ); - this.list.find( "li:not(.ui-li-divider)" ).eq( newIndex ) - .find( "a" ).first().focus(); - } - else { - this.close(); - } - - event.preventDefault(); - }, - - build: function() { - var selectId, popupId, dialogId, label, thisPage, isMultiple, menuId, - themeAttr, overlayTheme, overlayThemeAttr, dividerThemeAttr, - menuPage, listbox, list, header, headerTitle, menuPageContent, - menuPageClose, headerClose, - o = this.options; - - if ( o.nativeMenu ) { - return this._super(); - } - - selectId = this.selectId; - popupId = selectId + "-listbox"; - dialogId = selectId + "-dialog"; - label = this.label; - thisPage = this.element.closest( ".ui-page" ); - isMultiple = this.element[ 0 ].multiple; - menuId = selectId + "-menu"; - themeAttr = o.theme ? ( " data-" + $.mobile.ns + "theme='" + o.theme + "'" ) : ""; - overlayTheme = o.overlayTheme || o.theme || null; - overlayThemeAttr = overlayTheme ? ( " data-" + $.mobile.ns + - "overlay-theme='" + overlayTheme + "'" ) : ""; - dividerThemeAttr = ( o.dividerTheme && isMultiple ) ? ( " data-" + $.mobile.ns + "divider-theme='" + o.dividerTheme + "'" ) : ""; - menuPage = $( "<div data-" + $.mobile.ns + "role='dialog' class='ui-selectmenu' id='" + dialogId + "'" + themeAttr + overlayThemeAttr + ">" + - "<div data-" + $.mobile.ns + "role='header'>" + - "<div class='ui-title'></div>"+ - "</div>"+ - "<div data-" + $.mobile.ns + "role='content'></div>"+ - "</div>" ); - listbox = $( "<div" + themeAttr + overlayThemeAttr + " id='" + popupId + - "' class='ui-selectmenu'></div>" ) - .insertAfter( this.select ) - .popup(); - list = $( "<ul class='ui-selectmenu-list' id='" + menuId + "' role='listbox' aria-labelledby='" + this.buttonId + "'" + themeAttr + dividerThemeAttr + "></ul>" ).appendTo( listbox ); - header = $( "<div class='ui-header ui-bar-" + ( o.theme ? o.theme : "inherit" ) + "'></div>" ).prependTo( listbox ); - headerTitle = $( "<h1 class='ui-title'></h1>" ).appendTo( header ); - - if ( this.isMultiple ) { - headerClose = $( "<a>", { - "role": "button", - "text": o.closeText, - "href": "#", - "class": "ui-btn ui-corner-all ui-btn-left ui-btn-icon-notext ui-icon-delete" - }).appendTo( header ); - } - - $.extend( this, { - selectId: selectId, - menuId: menuId, - popupId: popupId, - dialogId: dialogId, - thisPage: thisPage, - menuPage: menuPage, - label: label, - isMultiple: isMultiple, - theme: o.theme, - listbox: listbox, - list: list, - header: header, - headerTitle: headerTitle, - headerClose: headerClose, - menuPageContent: menuPageContent, - menuPageClose: menuPageClose, - placeholder: "" - }); - - // Create list from select, update state - this.refresh(); - - if ( this._origTabIndex === undefined ) { - // Map undefined to false, because this._origTabIndex === undefined - // indicates that we have not yet checked whether the select has - // originally had a tabindex attribute, whereas false indicates that - // we have checked the select for such an attribute, and have found - // none present. - this._origTabIndex = ( this.select[ 0 ].getAttribute( "tabindex" ) === null ) ? false : this.select.attr( "tabindex" ); - } - this.select.attr( "tabindex", "-1" ); - this._on( this.select, { focus : "_handleSelectFocus" } ); - - // Button events - this._on( this.button, { - vclick: "_handleButtonVclickKeydown" - }); - - // Events for list items - this.list.attr( "role", "listbox" ); - this._on( this.list, { - "focusin": "_handleListFocus", - "focusout": "_handleListFocus", - "keydown": "_handleListKeydown", - "click li:not(.ui-disabled,.ui-state-disabled,.ui-li-divider)": "_handleListItemClick" - }); - - // button refocus ensures proper height calculation - // by removing the inline style and ensuring page inclusion - this._on( this.menuPage, { pagehide: "_handleMenuPageHide" } ); - - // Events on the popup - this._on( this.listbox, { popupafterclose: "_popupClosed" } ); - - // Close button on small overlays - if ( this.isMultiple ) { - this._on( this.headerClose, { click: "_handleHeaderCloseClick" } ); - } - - return this; - }, - - _popupClosed: function() { - this.close(); - this._delayedTrigger(); - }, - - _delayedTrigger: function() { - if ( this._triggerChange ) { - this.element.trigger( "change" ); - } - this._triggerChange = false; - }, - - _isRebuildRequired: function() { - var list = this.list.find( "li" ), - options = this._selectOptions().not( ".ui-screen-hidden" ); - - // TODO exceedingly naive method to determine difference - // ignores value changes etc in favor of a forcedRebuild - // from the user in the refresh method - return options.text() !== list.text(); - }, - - selected: function() { - return this._selectOptions().filter( ":selected:not( :jqmData(placeholder='true') )" ); - }, - - refresh: function( force ) { - var self, indices; - - if ( this.options.nativeMenu ) { - return this._super( force ); - } - - self = this; - if ( force || this._isRebuildRequired() ) { - self._buildList(); - } - - indices = this.selectedIndices(); - - self.setButtonText(); - self.setButtonCount(); - - self.list.find( "li:not(.ui-li-divider)" ) - .find( "a" ).removeClass( $.mobile.activeBtnClass ).end() - .attr( "aria-selected", false ) - .each(function( i ) { - var item = $( this ); - if ( $.inArray( i, indices ) > -1 ) { - - // Aria selected attr - item.attr( "aria-selected", true ); - - // Multiple selects: add the "on" checkbox state to the icon - if ( self.isMultiple ) { - item.find( "a" ).removeClass( "ui-checkbox-off" ).addClass( "ui-checkbox-on" ); - } else { - if ( item.hasClass( "ui-screen-hidden" ) ) { - item.next().find( "a" ).addClass( $.mobile.activeBtnClass ); - } else { - item.find( "a" ).addClass( $.mobile.activeBtnClass ); - } - } - } else if ( self.isMultiple ) { - item.find( "a" ).removeClass( "ui-checkbox-on" ).addClass( "ui-checkbox-off" ); - } - }); - }, - - close: function() { - if ( this.options.disabled || !this.isOpen ) { - return; - } - - var self = this; - - if ( self.menuType === "page" ) { - self.menuPage.dialog( "close" ); - self.list.appendTo( self.listbox ); - } else { - self.listbox.popup( "close" ); - } - - self._focusButton(); - // allow the dialog to be closed again - self.isOpen = false; - }, - - open: function() { - this.button.click(); - }, - - _focusMenuItem: function() { - var selector = this.list.find( "a." + $.mobile.activeBtnClass ); - if ( selector.length === 0 ) { - selector = this.list.find( "li:not(" + unfocusableItemSelector + ") a.ui-btn" ); - } - selector.first().focus(); - }, - - _decideFormat: function() { - var self = this, - $window = this.window, - selfListParent = self.list.parent(), - menuHeight = selfListParent.outerHeight(), - scrollTop = $window.scrollTop(), - btnOffset = self.button.offset().top, - screenHeight = $window.height(); - - if ( menuHeight > screenHeight - 80 || !$.support.scrollTop ) { - - self.menuPage.appendTo( $.mobile.pageContainer ).page(); - self.menuPageContent = self.menuPage.find( ".ui-content" ); - self.menuPageClose = self.menuPage.find( ".ui-header a" ); - - // prevent the parent page from being removed from the DOM, - // otherwise the results of selecting a list item in the dialog - // fall into a black hole - self.thisPage.unbind( "pagehide.remove" ); - - //for WebOS/Opera Mini (set lastscroll using button offset) - if ( scrollTop === 0 && btnOffset > screenHeight ) { - self.thisPage.one( "pagehide", function() { - $( this ).jqmData( "lastScroll", btnOffset ); - }); - } - - self.menuPage.one( { - pageshow: $.proxy( this, "_focusMenuItem" ), - pagehide: $.proxy( this, "close" ) - }); - - self.menuType = "page"; - self.menuPageContent.append( self.list ); - self.menuPage - .find( "div .ui-title" ) - .text( self.label.getEncodedText() || self.placeholder ); - } else { - self.menuType = "overlay"; - - self.listbox.one( { popupafteropen: $.proxy( this, "_focusMenuItem" ) } ); - } - }, - - _buildList: function() { - var self = this, - o = this.options, - placeholder = this.placeholder, - needPlaceholder = true, - dataIcon = "false", - $options, numOptions, select, - dataPrefix = "data-" + $.mobile.ns, - dataIndexAttr = dataPrefix + "option-index", - dataIconAttr = dataPrefix + "icon", - dataRoleAttr = dataPrefix + "role", - dataPlaceholderAttr = dataPrefix + "placeholder", - fragment = document.createDocumentFragment(), - isPlaceholderItem = false, - optGroup, - i, - option, $option, parent, text, anchor, classes, - optLabel, divider, item; - - self.list.empty().filter( ".ui-listview" ).listview( "destroy" ); - $options = this._selectOptions(); - numOptions = $options.length; - select = this.select[ 0 ]; - - for ( i = 0; i < numOptions;i++, isPlaceholderItem = false) { - option = $options[i]; - $option = $( option ); - - // Do not create options based on ui-screen-hidden select options - if ( $option.hasClass( "ui-screen-hidden" ) ) { - continue; - } - - parent = option.parentNode; - classes = []; - - // Although using .text() here raises the risk that, when we later paste this into the - // list item we end up pasting possibly malicious things like <script> tags, that risk - // only arises if we do something like $( "<li><a href='#'>" + text + "</a></li>" ). We - // don't do that. We do document.createTextNode( text ) instead, which guarantees that - // whatever we paste in will end up as text, with characters like <, > and & escaped. - text = $option.text(); - anchor = document.createElement( "a" ); - anchor.setAttribute( "href", "#" ); - anchor.appendChild( document.createTextNode( text ) ); - - // Are we inside an optgroup? - if ( parent !== select && parent.nodeName.toLowerCase() === "optgroup" ) { - optLabel = parent.getAttribute( "label" ); - if ( optLabel !== optGroup ) { - divider = document.createElement( "li" ); - divider.setAttribute( dataRoleAttr, "list-divider" ); - divider.setAttribute( "role", "option" ); - divider.setAttribute( "tabindex", "-1" ); - divider.appendChild( document.createTextNode( optLabel ) ); - fragment.appendChild( divider ); - optGroup = optLabel; - } - } - - if ( needPlaceholder && ( !option.getAttribute( "value" ) || text.length === 0 || $option.jqmData( "placeholder" ) ) ) { - needPlaceholder = false; - isPlaceholderItem = true; - - // If we have identified a placeholder, record the fact that it was - // us who have added the placeholder to the option and mark it - // retroactively in the select as well - if ( null === option.getAttribute( dataPlaceholderAttr ) ) { - this._removePlaceholderAttr = true; - } - option.setAttribute( dataPlaceholderAttr, true ); - if ( o.hidePlaceholderMenuItems ) { - classes.push( "ui-screen-hidden" ); - } - if ( placeholder !== text ) { - placeholder = self.placeholder = text; - } - } - - item = document.createElement( "li" ); - if ( option.disabled ) { - classes.push( "ui-state-disabled" ); - item.setAttribute( "aria-disabled", true ); - } - item.setAttribute( dataIndexAttr, i ); - item.setAttribute( dataIconAttr, dataIcon ); - if ( isPlaceholderItem ) { - item.setAttribute( dataPlaceholderAttr, true ); - } - item.className = classes.join( " " ); - item.setAttribute( "role", "option" ); - anchor.setAttribute( "tabindex", "-1" ); - if ( this.isMultiple ) { - $( anchor ).addClass( "ui-btn ui-checkbox-off ui-btn-icon-right" ); - } - - item.appendChild( anchor ); - fragment.appendChild( item ); - } - - self.list[0].appendChild( fragment ); - - // Hide header if it's not a multiselect and there's no placeholder - if ( !this.isMultiple && !placeholder.length ) { - this.header.addClass( "ui-screen-hidden" ); - } else { - this.headerTitle.text( this.placeholder ); - } - - // Now populated, create listview - self.list.listview(); - }, - - _button: function() { - return this.options.nativeMenu ? - this._super() : - $( "<a>", { - "href": "#", - "role": "button", - // TODO value is undefined at creation - "id": this.buttonId, - "aria-haspopup": "true", - - // TODO value is undefined at creation - "aria-owns": this.menuId - }); - }, - - _destroy: function() { - - if ( !this.options.nativeMenu ) { - this.close(); - - // Restore the tabindex attribute to its original value - if ( this._origTabIndex !== undefined ) { - if ( this._origTabIndex !== false ) { - this.select.attr( "tabindex", this._origTabIndex ); - } else { - this.select.removeAttr( "tabindex" ); - } - } - - // Remove the placeholder attribute if we were the ones to add it - if ( this._removePlaceholderAttr ) { - this._selectOptions().removeAttr( "data-" + $.mobile.ns + "placeholder" ); - } - - // Remove the popup - this.listbox.remove(); - - // Remove the dialog - this.menuPage.remove(); - } - - // Chain up - this._super(); - } -}); - -})( jQuery ); - - -// buttonMarkup is deprecated as of 1.4.0 and will be removed in 1.5.0. - -(function( $, undefined ) { - -// General policy: Do not access data-* attributes except during enhancement. -// In all other cases we determine the state of the button exclusively from its -// className. That's why optionsToClasses expects a full complement of options, -// and the jQuery plugin completes the set of options from the default values. - -// Map classes to buttonMarkup boolean options - used in classNameToOptions() -var reverseBoolOptionMap = { - "ui-shadow" : "shadow", - "ui-corner-all" : "corners", - "ui-btn-inline" : "inline", - "ui-shadow-icon" : "iconshadow", /* TODO: Remove in 1.5 */ - "ui-mini" : "mini" - }, - getAttrFixed = function() { - var ret = $.mobile.getAttribute.apply( this, arguments ); - - return ( ret == null ? undefined : ret ); - }, - capitalLettersRE = /[A-Z]/g; - -// optionsToClasses: -// @options: A complete set of options to convert to class names. -// @existingClasses: extra classes to add to the result -// -// Converts @options to buttonMarkup classes and returns the result as an array -// that can be converted to an element's className with .join( " " ). All -// possible options must be set inside @options. Use $.fn.buttonMarkup.defaults -// to get a complete set and use $.extend to override your choice of options -// from that set. -function optionsToClasses( options, existingClasses ) { - var classes = existingClasses ? existingClasses : []; - - // Add classes to the array - first ui-btn - classes.push( "ui-btn" ); - - // If there is a theme - if ( options.theme ) { - classes.push( "ui-btn-" + options.theme ); - } - - // If there's an icon, add the icon-related classes - if ( options.icon ) { - classes = classes.concat([ - "ui-icon-" + options.icon, - "ui-btn-icon-" + options.iconpos - ]); - if ( options.iconshadow ) { - classes.push( "ui-shadow-icon" ); /* TODO: Remove in 1.5 */ - } - } - - // Add the appropriate class for each boolean option - if ( options.inline ) { - classes.push( "ui-btn-inline" ); - } - if ( options.shadow ) { - classes.push( "ui-shadow" ); - } - if ( options.corners ) { - classes.push( "ui-corner-all" ); - } - if ( options.mini ) { - classes.push( "ui-mini" ); - } - - // Create a string from the array and return it - return classes; -} - -// classNameToOptions: -// @classes: A string containing a .className-style space-separated class list -// -// Loops over @classes and calculates an options object based on the -// buttonMarkup-related classes it finds. It records unrecognized classes in an -// array. -// -// Returns: An object containing the following items: -// -// "options": buttonMarkup options found to be present because of the -// presence/absence of corresponding classes -// -// "unknownClasses": a string containing all the non-buttonMarkup-related -// classes found in @classes -// -// "alreadyEnhanced": A boolean indicating whether the ui-btn class was among -// those found to be present -function classNameToOptions( classes ) { - var idx, map, unknownClass, - alreadyEnhanced = false, - noIcon = true, - o = { - icon: "", - inline: false, - shadow: false, - corners: false, - iconshadow: false, - mini: false - }, - unknownClasses = []; - - classes = classes.split( " " ); - - // Loop over the classes - for ( idx = 0 ; idx < classes.length ; idx++ ) { - - // Assume it's an unrecognized class - unknownClass = true; - - // Recognize boolean options from the presence of classes - map = reverseBoolOptionMap[ classes[ idx ] ]; - if ( map !== undefined ) { - unknownClass = false; - o[ map ] = true; - - // Recognize the presence of an icon and establish the icon position - } else if ( classes[ idx ].indexOf( "ui-btn-icon-" ) === 0 ) { - unknownClass = false; - noIcon = false; - o.iconpos = classes[ idx ].substring( 12 ); - - // Establish which icon is present - } else if ( classes[ idx ].indexOf( "ui-icon-" ) === 0 ) { - unknownClass = false; - o.icon = classes[ idx ].substring( 8 ); - - // Establish the theme - this recognizes one-letter theme swatch names - } else if ( classes[ idx ].indexOf( "ui-btn-" ) === 0 && classes[ idx ].length === 8 ) { - unknownClass = false; - o.theme = classes[ idx ].substring( 7 ); - - // Recognize that this element has already been buttonMarkup-enhanced - } else if ( classes[ idx ] === "ui-btn" ) { - unknownClass = false; - alreadyEnhanced = true; - } - - // If this class has not been recognized, add it to the list - if ( unknownClass ) { - unknownClasses.push( classes[ idx ] ); - } - } - - // If a "ui-btn-icon-*" icon position class is absent there cannot be an icon - if ( noIcon ) { - o.icon = ""; - } - - return { - options: o, - unknownClasses: unknownClasses, - alreadyEnhanced: alreadyEnhanced - }; -} - -function camelCase2Hyphenated( c ) { - return "-" + c.toLowerCase(); -} - -// $.fn.buttonMarkup: -// DOM: gets/sets .className -// -// @options: options to apply to the elements in the jQuery object -// @overwriteClasses: boolean indicating whether to honour existing classes -// -// Calculates the classes to apply to the elements in the jQuery object based on -// the options passed in. If @overwriteClasses is true, it sets the className -// property of each element in the jQuery object to the buttonMarkup classes -// it calculates based on the options passed in. -// -// If you wish to preserve any classes that are already present on the elements -// inside the jQuery object, including buttonMarkup-related classes that were -// added by a previous call to $.fn.buttonMarkup() or during page enhancement -// then you should omit @overwriteClasses or set it to false. -$.fn.buttonMarkup = function( options, overwriteClasses ) { - var idx, data, el, retrievedOptions, optionKey, - defaults = $.fn.buttonMarkup.defaults; - - for ( idx = 0 ; idx < this.length ; idx++ ) { - el = this[ idx ]; - data = overwriteClasses ? - - // Assume this element is not enhanced and ignore its classes - { alreadyEnhanced: false, unknownClasses: [] } : - - // Otherwise analyze existing classes to establish existing options and - // classes - classNameToOptions( el.className ); - - retrievedOptions = $.extend( {}, - - // If the element already has the class ui-btn, then we assume that - // it has passed through buttonMarkup before - otherwise, the options - // returned by classNameToOptions do not correctly reflect the state of - // the element - ( data.alreadyEnhanced ? data.options : {} ), - - // Finally, apply the options passed in - options ); - - // If this is the first call on this element, retrieve remaining options - // from the data-attributes - if ( !data.alreadyEnhanced ) { - for ( optionKey in defaults ) { - if ( retrievedOptions[ optionKey ] === undefined ) { - retrievedOptions[ optionKey ] = getAttrFixed( el, - optionKey.replace( capitalLettersRE, camelCase2Hyphenated ) - ); - } - } - } - - el.className = optionsToClasses( - - // Merge all the options and apply them as classes - $.extend( {}, - - // The defaults form the basis - defaults, - - // Add the computed options - retrievedOptions - ), - - // ... and re-apply any unrecognized classes that were found - data.unknownClasses ).join( " " ); - if ( el.tagName.toLowerCase() !== "button" ) { - el.setAttribute( "role", "button" ); - } - } - - return this; -}; - -// buttonMarkup defaults. This must be a complete set, i.e., a value must be -// given here for all recognized options -$.fn.buttonMarkup.defaults = { - icon: "", - iconpos: "left", - theme: null, - inline: false, - shadow: true, - corners: true, - iconshadow: false, /* TODO: Remove in 1.5. Option deprecated in 1.4. */ - mini: false -}; - -$.extend( $.fn.buttonMarkup, { - initSelector: "a:jqmData(role='button'), .ui-bar > a, .ui-bar > :jqmData(role='controlgroup') > a, button:not(:jqmData(role='navbar') button)" -}); - -})( jQuery ); - - -(function( $, undefined ) { - -$.widget( "mobile.controlgroup", $.extend( { - options: { - enhanced: false, - theme: null, - shadow: false, - corners: true, - excludeInvisible: true, - type: "vertical", - mini: false - }, - - _create: function() { - var elem = this.element, - opts = this.options, - keepNative = $.mobile.page.prototype.keepNativeSelector(); - - // Run buttonmarkup - if ( $.fn.buttonMarkup ) { - this.element - .find( $.fn.buttonMarkup.initSelector ) - .not( keepNative ) - .buttonMarkup(); - } - // Enhance child widgets - $.each( this._childWidgets, $.proxy( function( number, widgetName ) { - if ( $.mobile[ widgetName ] ) { - this.element - .find( $.mobile[ widgetName ].initSelector ) - .not( keepNative )[ widgetName ](); - } - }, this )); - - $.extend( this, { - _ui: null, - _initialRefresh: true - }); - - if ( opts.enhanced ) { - this._ui = { - groupLegend: elem.children( ".ui-controlgroup-label" ).children(), - childWrapper: elem.children( ".ui-controlgroup-controls" ) - }; - } else { - this._ui = this._enhance(); - } - - }, - - _childWidgets: [ "checkboxradio", "selectmenu", "button" ], - - _themeClassFromOption: function( value ) { - return ( value ? ( value === "none" ? "" : "ui-group-theme-" + value ) : "" ); - }, - - _enhance: function() { - var elem = this.element, - opts = this.options, - ui = { - groupLegend: elem.children( "legend" ), - childWrapper: elem - .addClass( "ui-controlgroup " + - "ui-controlgroup-" + - ( opts.type === "horizontal" ? "horizontal" : "vertical" ) + " " + - this._themeClassFromOption( opts.theme ) + " " + - ( opts.corners ? "ui-corner-all " : "" ) + - ( opts.mini ? "ui-mini " : "" ) ) - .wrapInner( "<div " + - "class='ui-controlgroup-controls " + - ( opts.shadow === true ? "ui-shadow" : "" ) + "'></div>" ) - .children() - }; - - if ( ui.groupLegend.length > 0 ) { - $( "<div role='heading' class='ui-controlgroup-label'></div>" ) - .append( ui.groupLegend ) - .prependTo( elem ); - } - - return ui; - }, - - _init: function() { - this.refresh(); - }, - - _setOptions: function( options ) { - var callRefresh, returnValue, - elem = this.element; - - // Must have one of horizontal or vertical - if ( options.type !== undefined ) { - elem - .removeClass( "ui-controlgroup-horizontal ui-controlgroup-vertical" ) - .addClass( "ui-controlgroup-" + ( options.type === "horizontal" ? "horizontal" : "vertical" ) ); - callRefresh = true; - } - - if ( options.theme !== undefined ) { - elem - .removeClass( this._themeClassFromOption( this.options.theme ) ) - .addClass( this._themeClassFromOption( options.theme ) ); - } - - if ( options.corners !== undefined ) { - elem.toggleClass( "ui-corner-all", options.corners ); - } - - if ( options.mini !== undefined ) { - elem.toggleClass( "ui-mini", options.mini ); - } - - if ( options.shadow !== undefined ) { - this._ui.childWrapper.toggleClass( "ui-shadow", options.shadow ); - } - - if ( options.excludeInvisible !== undefined ) { - this.options.excludeInvisible = options.excludeInvisible; - callRefresh = true; - } - - returnValue = this._super( options ); - - if ( callRefresh ) { - this.refresh(); - } - - return returnValue; - }, - - container: function() { - return this._ui.childWrapper; - }, - - refresh: function() { - var $el = this.container(), - els = $el.find( ".ui-btn" ).not( ".ui-slider-handle" ), - create = this._initialRefresh; - if ( $.mobile.checkboxradio ) { - $el.find( ":mobile-checkboxradio" ).checkboxradio( "refresh" ); - } - this._addFirstLastClasses( els, - this.options.excludeInvisible ? this._getVisibles( els, create ) : els, - create ); - this._initialRefresh = false; - }, - - // Caveat: If the legend is not the first child of the controlgroup at enhance - // time, it will be after _destroy(). - _destroy: function() { - var ui, buttons, - opts = this.options; - - if ( opts.enhanced ) { - return this; - } - - ui = this._ui; - buttons = this.element - .removeClass( "ui-controlgroup " + - "ui-controlgroup-horizontal ui-controlgroup-vertical ui-corner-all ui-mini " + - this._themeClassFromOption( opts.theme ) ) - .find( ".ui-btn" ) - .not( ".ui-slider-handle" ); - - this._removeFirstLastClasses( buttons ); - - ui.groupLegend.unwrap(); - ui.childWrapper.children().unwrap(); - } -}, $.mobile.behaviors.addFirstLastClasses ) ); - -})(jQuery); - -(function( $, undefined ) { - - $.widget( "mobile.toolbar", { - initSelector: ":jqmData(role='footer'), :jqmData(role='header')", - - options: { - theme: null, - addBackBtn: false, - backBtnTheme: null, - backBtnText: "Back" - }, - - _create: function() { - var leftbtn, rightbtn, - role = this.element.is( ":jqmData(role='header')" ) ? "header" : "footer", - page = this.element.closest( ".ui-page" ); - if ( page.length === 0 ) { - page = false; - this._on( this.document, { - "pageshow": "refresh" - }); - } - $.extend( this, { - role: role, - page: page, - leftbtn: leftbtn, - rightbtn: rightbtn - }); - this.element.attr( "role", role === "header" ? "banner" : "contentinfo" ).addClass( "ui-" + role ); - this.refresh(); - this._setOptions( this.options ); - }, - _setOptions: function( o ) { - if ( o.addBackBtn !== undefined ) { - this._updateBackButton(); - } - if ( o.backBtnTheme != null ) { - this.element - .find( ".ui-toolbar-back-btn" ) - .addClass( "ui-btn ui-btn-" + o.backBtnTheme ); - } - if ( o.backBtnText !== undefined ) { - this.element.find( ".ui-toolbar-back-btn .ui-btn-text" ).text( o.backBtnText ); - } - if ( o.theme !== undefined ) { - var currentTheme = this.options.theme ? this.options.theme : "inherit", - newTheme = o.theme ? o.theme : "inherit"; - - this.element.removeClass( "ui-bar-" + currentTheme ).addClass( "ui-bar-" + newTheme ); - } - - this._super( o ); - }, - refresh: function() { - if ( this.role === "header" ) { - this._addHeaderButtonClasses(); - } - if ( !this.page ) { - this._setRelative(); - if ( this.role === "footer" ) { - this.element.appendTo( "body" ); - } else if ( this.role === "header" ) { - this._updateBackButton(); - } - } - this._addHeadingClasses(); - this._btnMarkup(); - }, - - //we only want this to run on non fixed toolbars so make it easy to override - _setRelative: function() { - $( "[data-"+ $.mobile.ns + "role='page']" ).css({ "position": "relative" }); - }, - - // Deprecated in 1.4. As from 1.5 button classes have to be present in the markup. - _btnMarkup: function() { - this.element - .children( "a" ) - .filter( ":not([data-" + $.mobile.ns + "role='none'])" ) - .attr( "data-" + $.mobile.ns + "role", "button" ); - this.element.trigger( "create" ); - }, - // Deprecated in 1.4. As from 1.5 ui-btn-left/right classes have to be present in the markup. - _addHeaderButtonClasses: function() { - var headerAnchors = this.element.children( "a, button" ); - - // Do not mistake a back button for a left toolbar button - this.leftbtn = headerAnchors.hasClass( "ui-btn-left" ) && - !headerAnchors.hasClass( "ui-toolbar-back-btn" ); - - this.rightbtn = headerAnchors.hasClass( "ui-btn-right" ); - - // Filter out right buttons and back buttons - this.leftbtn = this.leftbtn || - headerAnchors.eq( 0 ) - .not( ".ui-btn-right,.ui-toolbar-back-btn" ) - .addClass( "ui-btn-left" ) - .length; - - this.rightbtn = this.rightbtn || headerAnchors.eq( 1 ).addClass( "ui-btn-right" ).length; - }, - _updateBackButton: function() { - var backButton, - options = this.options, - theme = options.backBtnTheme || options.theme; - - // Retrieve the back button or create a new, empty one - backButton = this._backButton = ( this._backButton || {} ); - - // We add a back button only if the option to do so is on - if ( this.options.addBackBtn && - - // This must also be a header toolbar - this.role === "header" && - - // There must be multiple pages in the DOM - $( ".ui-page" ).length > 1 && - ( this.page ? - - // If the toolbar is internal the page's URL must differ from the hash - ( this.page[ 0 ].getAttribute( "data-" + $.mobile.ns + "url" ) !== - $.mobile.path.stripHash( location.hash ) ) : - - // Otherwise, if the toolbar is external there must be at least one - // history item to which one can go back - ( $.mobile.navigate && $.mobile.navigate.history && - $.mobile.navigate.history.activeIndex > 0 ) ) && - - // The toolbar does not have a left button - !this.leftbtn ) { - - // Skip back button creation if one is already present - if ( !backButton.attached ) { - this.backButton = backButton.element = ( backButton.element || - $( "<a role='button' href='javascript:void(0);' " + - "class='ui-btn ui-corner-all ui-shadow ui-btn-left " + - ( theme ? "ui-btn-" + theme + " " : "" ) + - "ui-toolbar-back-btn ui-icon-carat-l ui-btn-icon-left' " + - "data-" + $.mobile.ns + "rel='back'>" + options.backBtnText + - "</a>" ) ) - .prependTo( this.element ); - backButton.attached = true; - } - - // If we are not adding a back button, then remove the one present, if any - } else if ( backButton.element ) { - backButton.element.detach(); - backButton.attached = false; - } - }, - _addHeadingClasses: function() { - this.element.children( "h1, h2, h3, h4, h5, h6" ) - .addClass( "ui-title" ) - // Regardless of h element number in src, it becomes h1 for the enhanced page - .attr({ - "role": "heading", - "aria-level": "1" - }); - }, - _destroy: function() { - var currentTheme; - - this.element.children( "h1, h2, h3, h4, h5, h6" ) - .removeClass( "ui-title" ) - .removeAttr( "role" ) - .removeAttr( "aria-level" ); - - if ( this.role === "header" ) { - this.element.children( "a, button" ) - .removeClass( "ui-btn-left ui-btn-right ui-btn ui-shadow ui-corner-all" ); - if ( this.backButton) { - this.backButton.remove(); - } - } - - currentTheme = this.options.theme ? this.options.theme : "inherit"; - this.element.removeClass( "ui-bar-" + currentTheme ); - - this.element.removeClass( "ui-" + this.role ).removeAttr( "role" ); - } - }); - -})( jQuery ); - -(function( $, undefined ) { - - $.widget( "mobile.toolbar", $.mobile.toolbar, { - options: { - position:null, - visibleOnPageShow: true, - disablePageZoom: true, - transition: "slide", //can be none, fade, slide (slide maps to slideup or slidedown) - fullscreen: false, - tapToggle: true, - tapToggleBlacklist: "a, button, input, select, textarea, .ui-header-fixed, .ui-footer-fixed, .ui-flipswitch, .ui-popup, .ui-panel, .ui-panel-dismiss-open", - hideDuringFocus: "input, textarea, select", - updatePagePadding: true, - trackPersistentToolbars: true, - - // Browser detection! Weeee, here we go... - // Unfortunately, position:fixed is costly, not to mention probably impossible, to feature-detect accurately. - // Some tests exist, but they currently return false results in critical devices and browsers, which could lead to a broken experience. - // Testing fixed positioning is also pretty obtrusive to page load, requiring injected elements and scrolling the window - // The following function serves to rule out some popular browsers with known fixed-positioning issues - // This is a plugin option like any other, so feel free to improve or overwrite it - supportBlacklist: function() { - return !$.support.fixedPosition; - } - }, - - _create: function() { - this._super(); - this.pagecontainer = $( ":mobile-pagecontainer" ); - if ( this.options.position === "fixed" && !this.options.supportBlacklist() ) { - this._makeFixed(); - } - }, - - _makeFixed: function() { - this.element.addClass( "ui-"+ this.role +"-fixed" ); - this.updatePagePadding(); - this._addTransitionClass(); - this._bindPageEvents(); - this._bindToggleHandlers(); - }, - - _setOptions: function( o ) { - if ( o.position === "fixed" && this.options.position !== "fixed" ) { - this._makeFixed(); - } - if ( this.options.position === "fixed" && !this.options.supportBlacklist() ) { - var $page = ( !!this.page )? this.page: ( $(".ui-page-active").length > 0 )? $(".ui-page-active"): $(".ui-page").eq(0); - - if ( o.fullscreen !== undefined) { - if ( o.fullscreen ) { - this.element.addClass( "ui-"+ this.role +"-fullscreen" ); - $page.addClass( "ui-page-" + this.role + "-fullscreen" ); - } - // If not fullscreen, add class to page to set top or bottom padding - else { - this.element.removeClass( "ui-"+ this.role +"-fullscreen" ); - $page.removeClass( "ui-page-" + this.role + "-fullscreen" ).addClass( "ui-page-" + this.role+ "-fixed" ); - } - } - } - this._super(o); - }, - - _addTransitionClass: function() { - var tclass = this.options.transition; - - if ( tclass && tclass !== "none" ) { - // use appropriate slide for header or footer - if ( tclass === "slide" ) { - tclass = this.element.hasClass( "ui-header" ) ? "slidedown" : "slideup"; - } - - this.element.addClass( tclass ); - } - }, - - _bindPageEvents: function() { - var page = ( !!this.page )? this.element.closest( ".ui-page" ): this.document; - //page event bindings - // Fixed toolbars require page zoom to be disabled, otherwise usability issues crop up - // This method is meant to disable zoom while a fixed-positioned toolbar page is visible - this._on( page , { - "pagebeforeshow": "_handlePageBeforeShow", - "webkitAnimationStart":"_handleAnimationStart", - "animationstart":"_handleAnimationStart", - "updatelayout": "_handleAnimationStart", - "pageshow": "_handlePageShow", - "pagebeforehide": "_handlePageBeforeHide" - }); - }, - - _handlePageBeforeShow: function( ) { - var o = this.options; - if ( o.disablePageZoom ) { - $.mobile.zoom.disable( true ); - } - if ( !o.visibleOnPageShow ) { - this.hide( true ); - } - }, - - _handleAnimationStart: function() { - if ( this.options.updatePagePadding ) { - this.updatePagePadding( ( !!this.page )? this.page: ".ui-page-active" ); - } - }, - - _handlePageShow: function() { - this.updatePagePadding( ( !!this.page )? this.page: ".ui-page-active" ); - if ( this.options.updatePagePadding ) { - this._on( this.window, { "throttledresize": "updatePagePadding" } ); - } - }, - - _handlePageBeforeHide: function( e, ui ) { - var o = this.options, - thisFooter, thisHeader, nextFooter, nextHeader; - - if ( o.disablePageZoom ) { - $.mobile.zoom.enable( true ); - } - if ( o.updatePagePadding ) { - this._off( this.window, "throttledresize" ); - } - - if ( o.trackPersistentToolbars ) { - thisFooter = $( ".ui-footer-fixed:jqmData(id)", this.page ); - thisHeader = $( ".ui-header-fixed:jqmData(id)", this.page ); - nextFooter = thisFooter.length && ui.nextPage && $( ".ui-footer-fixed:jqmData(id='" + thisFooter.jqmData( "id" ) + "')", ui.nextPage ) || $(); - nextHeader = thisHeader.length && ui.nextPage && $( ".ui-header-fixed:jqmData(id='" + thisHeader.jqmData( "id" ) + "')", ui.nextPage ) || $(); - - if ( nextFooter.length || nextHeader.length ) { - - nextFooter.add( nextHeader ).appendTo( $.mobile.pageContainer ); - - ui.nextPage.one( "pageshow", function() { - nextHeader.prependTo( this ); - nextFooter.appendTo( this ); - }); - } - } - }, - - _visible: true, - - // This will set the content element's top or bottom padding equal to the toolbar's height - updatePagePadding: function( tbPage ) { - var $el = this.element, - header = ( this.role ==="header" ), - pos = parseFloat( $el.css( header ? "top" : "bottom" ) ); - - // This behavior only applies to "fixed", not "fullscreen" - if ( this.options.fullscreen ) { return; } - // tbPage argument can be a Page object or an event, if coming from throttled resize. - tbPage = ( tbPage && tbPage.type === undefined && tbPage ) || this.page || $el.closest( ".ui-page" ); - tbPage = ( !!this.page )? this.page: ".ui-page-active"; - $( tbPage ).css( "padding-" + ( header ? "top" : "bottom" ), $el.outerHeight() + pos ); - }, - - _useTransition: function( notransition ) { - var $win = this.window, - $el = this.element, - scroll = $win.scrollTop(), - elHeight = $el.height(), - pHeight = ( !!this.page )? $el.closest( ".ui-page" ).height():$(".ui-page-active").height(), - viewportHeight = $.mobile.getScreenHeight(); - - return !notransition && - ( this.options.transition && this.options.transition !== "none" && - ( - ( this.role === "header" && !this.options.fullscreen && scroll > elHeight ) || - ( this.role === "footer" && !this.options.fullscreen && scroll + viewportHeight < pHeight - elHeight ) - ) || this.options.fullscreen - ); - }, - - show: function( notransition ) { - var hideClass = "ui-fixed-hidden", - $el = this.element; - - if ( this._useTransition( notransition ) ) { - $el - .removeClass( "out " + hideClass ) - .addClass( "in" ) - .animationComplete(function () { - $el.removeClass( "in" ); - }); - } - else { - $el.removeClass( hideClass ); - } - this._visible = true; - }, - - hide: function( notransition ) { - var hideClass = "ui-fixed-hidden", - $el = this.element, - // if it's a slide transition, our new transitions need the reverse class as well to slide outward - outclass = "out" + ( this.options.transition === "slide" ? " reverse" : "" ); - - if ( this._useTransition( notransition ) ) { - $el - .addClass( outclass ) - .removeClass( "in" ) - .animationComplete(function() { - $el.addClass( hideClass ).removeClass( outclass ); - }); - } - else { - $el.addClass( hideClass ).removeClass( outclass ); - } - this._visible = false; - }, - - toggle: function() { - this[ this._visible ? "hide" : "show" ](); - }, - - _bindToggleHandlers: function() { - var self = this, - o = self.options, - delayShow, delayHide, - isVisible = true, - page = ( !!this.page )? this.page: $(".ui-page"); - - // tap toggle - page - .bind( "vclick", function( e ) { - if ( o.tapToggle && !$( e.target ).closest( o.tapToggleBlacklist ).length ) { - self.toggle(); - } - }) - .bind( "focusin focusout", function( e ) { - //this hides the toolbars on a keyboard pop to give more screen room and prevent ios bug which - //positions fixed toolbars in the middle of the screen on pop if the input is near the top or - //bottom of the screen addresses issues #4410 Footer navbar moves up when clicking on a textbox in an Android environment - //and issue #4113 Header and footer change their position after keyboard popup - iOS - //and issue #4410 Footer navbar moves up when clicking on a textbox in an Android environment - if ( screen.width < 1025 && $( e.target ).is( o.hideDuringFocus ) && !$( e.target ).closest( ".ui-header-fixed, .ui-footer-fixed" ).length ) { - //Fix for issue #4724 Moving through form in Mobile Safari with "Next" and "Previous" system - //controls causes fixed position, tap-toggle false Header to reveal itself - // isVisible instead of self._visible because the focusin and focusout events fire twice at the same time - // Also use a delay for hiding the toolbars because on Android native browser focusin is direclty followed - // by a focusout when a native selects opens and the other way around when it closes. - if ( e.type === "focusout" && !isVisible ) { - isVisible = true; - //wait for the stack to unwind and see if we have jumped to another input - clearTimeout( delayHide ); - delayShow = setTimeout( function() { - self.show(); - }, 0 ); - } else if ( e.type === "focusin" && !!isVisible ) { - //if we have jumped to another input clear the time out to cancel the show. - clearTimeout( delayShow ); - isVisible = false; - delayHide = setTimeout( function() { - self.hide(); - }, 0 ); - } - } - }); - }, - - _setRelative: function() { - if( this.options.position !== "fixed" ){ - $( "[data-"+ $.mobile.ns + "role='page']" ).css({ "position": "relative" }); - } - }, - - _destroy: function() { - var pageClasses, toolbarClasses, hasFixed, header, hasFullscreen, - page = this.pagecontainer.pagecontainer( "getActivePage" ); - - this._super(); - if ( this.options.position === "fixed" ) { - hasFixed = $( "body>.ui-" + this.role + "-fixed" ) - .add( page.find( ".ui-" + this.options.role + "-fixed" ) ) - .not( this.element ).length > 0; - hasFullscreen = $( "body>.ui-" + this.role + "-fixed" ) - .add( page.find( ".ui-" + this.options.role + "-fullscreen" ) ) - .not( this.element ).length > 0; - toolbarClasses = "ui-header-fixed ui-footer-fixed ui-header-fullscreen in out" + - " ui-footer-fullscreen fade slidedown slideup ui-fixed-hidden"; - this.element.removeClass( toolbarClasses ); - if ( !hasFullscreen ) { - pageClasses = "ui-page-" + this.role + "-fullscreen"; - } - if ( !hasFixed ) { - header = this.role === "header"; - pageClasses += " ui-page-" + this.role + "-fixed"; - page.css( "padding-" + ( header ? "top" : "bottom" ), "" ); - } - page.removeClass( pageClasses ); - } - } - - }); -})( jQuery ); - -(function( $, undefined ) { - $.widget( "mobile.toolbar", $.mobile.toolbar, { - - _makeFixed: function() { - this._super(); - this._workarounds(); - }, - - //check the browser and version and run needed workarounds - _workarounds: function() { - var ua = navigator.userAgent, - platform = navigator.platform, - // Rendering engine is Webkit, and capture major version - wkmatch = ua.match( /AppleWebKit\/([0-9]+)/ ), - wkversion = !!wkmatch && wkmatch[ 1 ], - os = null, - self = this; - //set the os we are working in if it dosent match one with workarounds return - if ( platform.indexOf( "iPhone" ) > -1 || platform.indexOf( "iPad" ) > -1 || platform.indexOf( "iPod" ) > -1 ) { - os = "ios"; - } else if ( ua.indexOf( "Android" ) > -1 ) { - os = "android"; - } else { - return; - } - //check os version if it dosent match one with workarounds return - if ( os === "ios" ) { - //iOS workarounds - self._bindScrollWorkaround(); - } else if ( os === "android" && wkversion && wkversion < 534 ) { - //Android 2.3 run all Android 2.3 workaround - self._bindScrollWorkaround(); - self._bindListThumbWorkaround(); - } else { - return; - } - }, - - //Utility class for checking header and footer positions relative to viewport - _viewportOffset: function() { - var $el = this.element, - header = $el.hasClass( "ui-header" ), - offset = Math.abs( $el.offset().top - this.window.scrollTop() ); - if ( !header ) { - offset = Math.round( offset - this.window.height() + $el.outerHeight() ) - 60; - } - return offset; - }, - - //bind events for _triggerRedraw() function - _bindScrollWorkaround: function() { - var self = this; - //bind to scrollstop and check if the toolbars are correctly positioned - this._on( this.window, { scrollstop: function() { - var viewportOffset = self._viewportOffset(); - //check if the header is visible and if its in the right place - if ( viewportOffset > 2 && self._visible ) { - self._triggerRedraw(); - } - }}); - }, - - //this addresses issue #4250 Persistent footer instability in v1.1 with long select lists in Android 2.3.3 - //and issue #3748 Android 2.x: Page transitions broken when fixed toolbars used - //the absolutely positioned thumbnail in a list view causes problems with fixed position buttons above in a nav bar - //setting the li's to -webkit-transform:translate3d(0,0,0); solves this problem to avoide potential issues in other - //platforms we scope this with the class ui-android-2x-fix - _bindListThumbWorkaround: function() { - this.element.closest( ".ui-page" ).addClass( "ui-android-2x-fixed" ); - }, - //this addresses issues #4337 Fixed header problem after scrolling content on iOS and Android - //and device bugs project issue #1 Form elements can lose click hit area in position: fixed containers. - //this also addresses not on fixed toolbars page in docs - //adding 1px of padding to the bottom then removing it causes a "redraw" - //which positions the toolbars correctly (they will always be visually correct) - _triggerRedraw: function() { - var paddingBottom = parseFloat( $( ".ui-page-active" ).css( "padding-bottom" ) ); - //trigger page redraw to fix incorrectly positioned fixed elements - $( ".ui-page-active" ).css( "padding-bottom", ( paddingBottom + 1 ) + "px" ); - //if the padding is reset with out a timeout the reposition will not occure. - //this is independant of JQM the browser seems to need the time to react. - setTimeout( function() { - $( ".ui-page-active" ).css( "padding-bottom", paddingBottom + "px" ); - }, 0 ); - }, - - destroy: function() { - this._super(); - //Remove the class we added to the page previously in android 2.x - this.element.closest( ".ui-page-active" ).removeClass( "ui-android-2x-fix" ); - } - }); - -})( jQuery ); - - -( function( $, undefined ) { - -var ieHack = ( $.mobile.browser.oldIE && $.mobile.browser.oldIE <= 8 ), - uiTemplate = $( - "<div class='ui-popup-arrow-guide'></div>" + - "<div class='ui-popup-arrow-container" + ( ieHack ? " ie" : "" ) + "'>" + - "<div class='ui-popup-arrow'></div>" + - "</div>" - ); - -function getArrow() { - var clone = uiTemplate.clone(), - gd = clone.eq( 0 ), - ct = clone.eq( 1 ), - ar = ct.children(); - - return { arEls: ct.add( gd ), gd: gd, ct: ct, ar: ar }; -} - -$.widget( "mobile.popup", $.mobile.popup, { - options: { - - arrow: "" - }, - - _create: function() { - var ar, - ret = this._super(); - - if ( this.options.arrow ) { - this._ui.arrow = ar = this._addArrow(); - } - - return ret; - }, - - _addArrow: function() { - var theme, - opts = this.options, - ar = getArrow(); - - theme = this._themeClassFromOption( "ui-body-", opts.theme ); - ar.ar.addClass( theme + ( opts.shadow ? " ui-overlay-shadow" : "" ) ); - ar.arEls.hide().appendTo( this.element ); - - return ar; - }, - - _unenhance: function() { - var ar = this._ui.arrow; - - if ( ar ) { - ar.arEls.remove(); - } - - return this._super(); - }, - - // Pretend to show an arrow described by @p and @dir and calculate the - // distance from the desired point. If a best-distance is passed in, return - // the minimum of the one passed in and the one calculated. - _tryAnArrow: function( p, dir, desired, s, best ) { - var result, r, diff, desiredForArrow = {}, tip = {}; - - // If the arrow has no wiggle room along the edge of the popup, it cannot - // be displayed along the requested edge without it sticking out. - if ( s.arFull[ p.dimKey ] > s.guideDims[ p.dimKey ] ) { - return best; - } - - desiredForArrow[ p.fst ] = desired[ p.fst ] + - ( s.arHalf[ p.oDimKey ] + s.menuHalf[ p.oDimKey ] ) * p.offsetFactor - - s.contentBox[ p.fst ] + ( s.clampInfo.menuSize[ p.oDimKey ] - s.contentBox[ p.oDimKey ] ) * p.arrowOffsetFactor; - desiredForArrow[ p.snd ] = desired[ p.snd ]; - - result = s.result || this._calculateFinalLocation( desiredForArrow, s.clampInfo ); - r = { x: result.left, y: result.top }; - - tip[ p.fst ] = r[ p.fst ] + s.contentBox[ p.fst ] + p.tipOffset; - tip[ p.snd ] = Math.max( result[ p.prop ] + s.guideOffset[ p.prop ] + s.arHalf[ p.dimKey ], - Math.min( result[ p.prop ] + s.guideOffset[ p.prop ] + s.guideDims[ p.dimKey ] - s.arHalf[ p.dimKey ], - desired[ p.snd ] ) ); - - diff = Math.abs( desired.x - tip.x ) + Math.abs( desired.y - tip.y ); - if ( !best || diff < best.diff ) { - // Convert tip offset to coordinates inside the popup - tip[ p.snd ] -= s.arHalf[ p.dimKey ] + result[ p.prop ] + s.contentBox[ p.snd ]; - best = { dir: dir, diff: diff, result: result, posProp: p.prop, posVal: tip[ p.snd ] }; - } - - return best; - }, - - _getPlacementState: function( clamp ) { - var offset, gdOffset, - ar = this._ui.arrow, - state = { - clampInfo: this._clampPopupWidth( !clamp ), - arFull: { cx: ar.ct.width(), cy: ar.ct.height() }, - guideDims: { cx: ar.gd.width(), cy: ar.gd.height() }, - guideOffset: ar.gd.offset() - }; - - offset = this.element.offset(); - - ar.gd.css( { left: 0, top: 0, right: 0, bottom: 0 } ); - gdOffset = ar.gd.offset(); - state.contentBox = { - x: gdOffset.left - offset.left, - y: gdOffset.top - offset.top, - cx: ar.gd.width(), - cy: ar.gd.height() - }; - ar.gd.removeAttr( "style" ); - - // The arrow box moves between guideOffset and guideOffset + guideDims - arFull - state.guideOffset = { left: state.guideOffset.left - offset.left, top: state.guideOffset.top - offset.top }; - state.arHalf = { cx: state.arFull.cx / 2, cy: state.arFull.cy / 2 }; - state.menuHalf = { cx: state.clampInfo.menuSize.cx / 2, cy: state.clampInfo.menuSize.cy / 2 }; - - return state; - }, - - _placementCoords: function( desired ) { - var state, best, params, elOffset, bgRef, - optionValue = this.options.arrow, - ar = this._ui.arrow; - - if ( !ar ) { - return this._super( desired ); - } - - ar.arEls.show(); - - bgRef = {}; - state = this._getPlacementState( true ); - params = { - "l": { fst: "x", snd: "y", prop: "top", dimKey: "cy", oDimKey: "cx", offsetFactor: 1, tipOffset: -state.arHalf.cx, arrowOffsetFactor: 0 }, - "r": { fst: "x", snd: "y", prop: "top", dimKey: "cy", oDimKey: "cx", offsetFactor: -1, tipOffset: state.arHalf.cx + state.contentBox.cx, arrowOffsetFactor: 1 }, - "b": { fst: "y", snd: "x", prop: "left", dimKey: "cx", oDimKey: "cy", offsetFactor: -1, tipOffset: state.arHalf.cy + state.contentBox.cy, arrowOffsetFactor: 1 }, - "t": { fst: "y", snd: "x", prop: "left", dimKey: "cx", oDimKey: "cy", offsetFactor: 1, tipOffset: -state.arHalf.cy, arrowOffsetFactor: 0 } - }; - - // Try each side specified in the options to see on which one the arrow - // should be placed such that the distance between the tip of the arrow and - // the desired coordinates is the shortest. - $.each( ( optionValue === true ? "l,t,r,b" : optionValue ).split( "," ), - $.proxy( function( key, value ) { - best = this._tryAnArrow( params[ value ], value, desired, state, best ); - }, this ) ); - - // Could not place the arrow along any of the edges - behave as if showing - // the arrow was turned off. - if ( !best ) { - ar.arEls.hide(); - return this._super( desired ); - } - - // Move the arrow into place - ar.ct - .removeClass( "ui-popup-arrow-l ui-popup-arrow-t ui-popup-arrow-r ui-popup-arrow-b" ) - .addClass( "ui-popup-arrow-" + best.dir ) - .removeAttr( "style" ).css( best.posProp, best.posVal ) - .show(); - - // Do not move/size the background div on IE, because we use the arrow div for background as well. - if ( !ieHack ) { - elOffset = this.element.offset(); - bgRef[ params[ best.dir ].fst ] = ar.ct.offset(); - bgRef[ params[ best.dir ].snd ] = { - left: elOffset.left + state.contentBox.x, - top: elOffset.top + state.contentBox.y - }; - } - - return best.result; - }, - - _setOptions: function( opts ) { - var newTheme, - oldTheme = this.options.theme, - ar = this._ui.arrow, - ret = this._super( opts ); - - if ( opts.arrow !== undefined ) { - if ( !ar && opts.arrow ) { - this._ui.arrow = this._addArrow(); - - // Important to return here so we don't set the same options all over - // again below. - return; - } else if ( ar && !opts.arrow ) { - ar.arEls.remove(); - this._ui.arrow = null; - } - } - - // Reassign with potentially new arrow - ar = this._ui.arrow; - - if ( ar ) { - if ( opts.theme !== undefined ) { - oldTheme = this._themeClassFromOption( "ui-body-", oldTheme ); - newTheme = this._themeClassFromOption( "ui-body-", opts.theme ); - ar.ar.removeClass( oldTheme ).addClass( newTheme ); - } - - if ( opts.shadow !== undefined ) { - ar.ar.toggleClass( "ui-overlay-shadow", opts.shadow ); - } - } - - return ret; - }, - - _destroy: function() { - var ar = this._ui.arrow; - - if ( ar ) { - ar.arEls.remove(); - } - - return this._super(); - } -}); - -})( jQuery ); - - -(function( $, undefined ) { - -$.widget( "mobile.panel", { - options: { - classes: { - panel: "ui-panel", - panelOpen: "ui-panel-open", - panelClosed: "ui-panel-closed", - panelFixed: "ui-panel-fixed", - panelInner: "ui-panel-inner", - modal: "ui-panel-dismiss", - modalOpen: "ui-panel-dismiss-open", - pageContainer: "ui-panel-page-container", - pageWrapper: "ui-panel-wrapper", - pageFixedToolbar: "ui-panel-fixed-toolbar", - pageContentPrefix: "ui-panel-page-content", /* Used for wrapper and fixed toolbars position, display and open classes. */ - animate: "ui-panel-animate" - }, - animate: true, - theme: null, - position: "left", - dismissible: true, - display: "reveal", //accepts reveal, push, overlay - swipeClose: true, - positionFixed: false - }, - - _closeLink: null, - _parentPage: null, - _page: null, - _modal: null, - _panelInner: null, - _wrapper: null, - _fixedToolbars: null, - - _create: function() { - var el = this.element, - parentPage = el.closest( ".ui-page, :jqmData(role='page')" ); - - // expose some private props to other methods - $.extend( this, { - _closeLink: el.find( ":jqmData(rel='close')" ), - _parentPage: ( parentPage.length > 0 ) ? parentPage : false, - _openedPage: null, - _page: this._getPage, - _panelInner: this._getPanelInner(), - _fixedToolbars: this._getFixedToolbars - }); - if ( this.options.display !== "overlay" ){ - this._getWrapper(); - } - this._addPanelClasses(); - - // if animating, add the class to do so - if ( $.support.cssTransform3d && !!this.options.animate ) { - this.element.addClass( this.options.classes.animate ); - } - - this._bindUpdateLayout(); - this._bindCloseEvents(); - this._bindLinkListeners(); - this._bindPageEvents(); - - if ( !!this.options.dismissible ) { - this._createModal(); - } - - this._bindSwipeEvents(); - }, - - _getPanelInner: function() { - var panelInner = this.element.find( "." + this.options.classes.panelInner ); - - if ( panelInner.length === 0 ) { - panelInner = this.element.children().wrapAll( "<div class='" + this.options.classes.panelInner + "' />" ).parent(); - } - - return panelInner; - }, - - _createModal: function() { - var self = this, - target = self._parentPage ? self._parentPage.parent() : self.element.parent(); - - self._modal = $( "<div class='" + self.options.classes.modal + "'></div>" ) - .on( "mousedown", function() { - self.close(); - }) - .appendTo( target ); - }, - - _getPage: function() { - var page = this._openedPage || this._parentPage || $( "." + $.mobile.activePageClass ); - - return page; - }, - - _getWrapper: function() { - var wrapper = this._page().find( "." + this.options.classes.pageWrapper ); - if ( wrapper.length === 0 ) { - wrapper = this._page().children( ".ui-header:not(.ui-header-fixed), .ui-content:not(.ui-popup), .ui-footer:not(.ui-footer-fixed)" ) - .wrapAll( "<div class='" + this.options.classes.pageWrapper + "'></div>" ) - .parent(); - } - - this._wrapper = wrapper; - }, - - _getFixedToolbars: function() { - var extFixedToolbars = $( "body" ).children( ".ui-header-fixed, .ui-footer-fixed" ), - intFixedToolbars = this._page().find( ".ui-header-fixed, .ui-footer-fixed" ), - fixedToolbars = extFixedToolbars.add( intFixedToolbars ).addClass( this.options.classes.pageFixedToolbar ); - - return fixedToolbars; - }, - - _getPosDisplayClasses: function( prefix ) { - return prefix + "-position-" + this.options.position + " " + prefix + "-display-" + this.options.display; - }, - - _getPanelClasses: function() { - var panelClasses = this.options.classes.panel + - " " + this._getPosDisplayClasses( this.options.classes.panel ) + - " " + this.options.classes.panelClosed + - " " + "ui-body-" + ( this.options.theme ? this.options.theme : "inherit" ); - - if ( !!this.options.positionFixed ) { - panelClasses += " " + this.options.classes.panelFixed; - } - - return panelClasses; - }, - - _addPanelClasses: function() { - this.element.addClass( this._getPanelClasses() ); - }, - - _handleCloseClick: function( event ) { - if ( !event.isDefaultPrevented() ) { - this.close(); - } - }, - - _bindCloseEvents: function() { - this._on( this._closeLink, { - "click": "_handleCloseClick" - }); - - this._on({ - "click a:jqmData(ajax='false')": "_handleCloseClick" - }); - }, - - _positionPanel: function( scrollToTop ) { - var self = this, - panelInnerHeight = self._panelInner.outerHeight(), - expand = panelInnerHeight > $.mobile.getScreenHeight(); - - if ( expand || !self.options.positionFixed ) { - if ( expand ) { - self._unfixPanel(); - $.mobile.resetActivePageHeight( panelInnerHeight ); - } - if ( scrollToTop ) { - this.window[ 0 ].scrollTo( 0, $.mobile.defaultHomeScroll ); - } - } else { - self._fixPanel(); - } - }, - - _bindFixListener: function() { - this._on( $( window ), { "throttledresize": "_positionPanel" }); - }, - - _unbindFixListener: function() { - this._off( $( window ), "throttledresize" ); - }, - - _unfixPanel: function() { - if ( !!this.options.positionFixed && $.support.fixedPosition ) { - this.element.removeClass( this.options.classes.panelFixed ); - } - }, - - _fixPanel: function() { - if ( !!this.options.positionFixed && $.support.fixedPosition ) { - this.element.addClass( this.options.classes.panelFixed ); - } - }, - - _bindUpdateLayout: function() { - var self = this; - - self.element.on( "updatelayout", function(/* e */) { - if ( self._open ) { - self._positionPanel(); - } - }); - }, - - _bindLinkListeners: function() { - this._on( "body", { - "click a": "_handleClick" - }); - - }, - - _handleClick: function( e ) { - var link, - panelId = this.element.attr( "id" ); - - if ( e.currentTarget.href.split( "#" )[ 1 ] === panelId && panelId !== undefined ) { - - e.preventDefault(); - link = $( e.target ); - if ( link.hasClass( "ui-btn" ) ) { - link.addClass( $.mobile.activeBtnClass ); - this.element.one( "panelopen panelclose", function() { - link.removeClass( $.mobile.activeBtnClass ); - }); - } - this.toggle(); - } - }, - - _bindSwipeEvents: function() { - var self = this, - area = self._modal ? self.element.add( self._modal ) : self.element; - - // on swipe, close the panel - if ( !!self.options.swipeClose ) { - if ( self.options.position === "left" ) { - area.on( "swipeleft.panel", function(/* e */) { - self.close(); - }); - } else { - area.on( "swiperight.panel", function(/* e */) { - self.close(); - }); - } - } - }, - - _bindPageEvents: function() { - var self = this; - - this.document - // Close the panel if another panel on the page opens - .on( "panelbeforeopen", function( e ) { - if ( self._open && e.target !== self.element[ 0 ] ) { - self.close(); - } - }) - // On escape, close? might need to have a target check too... - .on( "keyup.panel", function( e ) { - if ( e.keyCode === 27 && self._open ) { - self.close(); - } - }); - if ( !this._parentPage && this.options.display !== "overlay" ) { - this._on( this.document, { - "pageshow": function() { - this._openedPage = null; - this._getWrapper(); - } - }); - } - // Clean up open panels after page hide - if ( self._parentPage ) { - this.document.on( "pagehide", ":jqmData(role='page')", function() { - if ( self._open ) { - self.close( true ); - } - }); - } else { - this.document.on( "pagebeforehide", function() { - if ( self._open ) { - self.close( true ); - } - }); - } - }, - - // state storage of open or closed - _open: false, - _pageContentOpenClasses: null, - _modalOpenClasses: null, - - open: function( immediate ) { - if ( !this._open ) { - var self = this, - o = self.options, - - _openPanel = function() { - self._off( self.document , "panelclose" ); - self._page().jqmData( "panel", "open" ); - - if ( $.support.cssTransform3d && !!o.animate && o.display !== "overlay" ) { - self._wrapper.addClass( o.classes.animate ); - self._fixedToolbars().addClass( o.classes.animate ); - } - - if ( !immediate && $.support.cssTransform3d && !!o.animate ) { - ( self._wrapper || self.element ) - .animationComplete( complete, "transition" ); - } else { - setTimeout( complete, 0 ); - } - - if ( o.theme && o.display !== "overlay" ) { - self._page().parent() - .addClass( o.classes.pageContainer + "-themed " + o.classes.pageContainer + "-" + o.theme ); - } - - self.element - .removeClass( o.classes.panelClosed ) - .addClass( o.classes.panelOpen ); - - self._positionPanel( true ); - - self._pageContentOpenClasses = self._getPosDisplayClasses( o.classes.pageContentPrefix ); - - if ( o.display !== "overlay" ) { - self._page().parent().addClass( o.classes.pageContainer ); - self._wrapper.addClass( self._pageContentOpenClasses ); - self._fixedToolbars().addClass( self._pageContentOpenClasses ); - } - - self._modalOpenClasses = self._getPosDisplayClasses( o.classes.modal ) + " " + o.classes.modalOpen; - if ( self._modal ) { - self._modal - .addClass( self._modalOpenClasses ) - .height( Math.max( self._modal.height(), self.document.height() ) ); - } - }, - complete = function() { - - // Bail if the panel was closed before the opening animation has completed - if ( !self._open ) { - return; - } - - if ( o.display !== "overlay" ) { - self._wrapper.addClass( o.classes.pageContentPrefix + "-open" ); - self._fixedToolbars().addClass( o.classes.pageContentPrefix + "-open" ); - } - - self._bindFixListener(); - - self._trigger( "open" ); - - self._openedPage = self._page(); - }; - - self._trigger( "beforeopen" ); - - if ( self._page().jqmData( "panel" ) === "open" ) { - self._on( self.document, { - "panelclose": _openPanel - }); - } else { - _openPanel(); - } - - self._open = true; - } - }, - - close: function( immediate ) { - if ( this._open ) { - var self = this, - o = this.options, - - _closePanel = function() { - - self.element.removeClass( o.classes.panelOpen ); - - if ( o.display !== "overlay" ) { - self._wrapper.removeClass( self._pageContentOpenClasses ); - self._fixedToolbars().removeClass( self._pageContentOpenClasses ); - } - - if ( !immediate && $.support.cssTransform3d && !!o.animate ) { - ( self._wrapper || self.element ) - .animationComplete( complete, "transition" ); - } else { - setTimeout( complete, 0 ); - } - - if ( self._modal ) { - self._modal - .removeClass( self._modalOpenClasses ) - .height( "" ); - } - }, - complete = function() { - if ( o.theme && o.display !== "overlay" ) { - self._page().parent().removeClass( o.classes.pageContainer + "-themed " + o.classes.pageContainer + "-" + o.theme ); - } - - self.element.addClass( o.classes.panelClosed ); - - if ( o.display !== "overlay" ) { - self._page().parent().removeClass( o.classes.pageContainer ); - self._wrapper.removeClass( o.classes.pageContentPrefix + "-open" ); - self._fixedToolbars().removeClass( o.classes.pageContentPrefix + "-open" ); - } - - if ( $.support.cssTransform3d && !!o.animate && o.display !== "overlay" ) { - self._wrapper.removeClass( o.classes.animate ); - self._fixedToolbars().removeClass( o.classes.animate ); - } - - self._fixPanel(); - self._unbindFixListener(); - $.mobile.resetActivePageHeight(); - - self._page().jqmRemoveData( "panel" ); - - self._trigger( "close" ); - - self._openedPage = null; - }; - - self._trigger( "beforeclose" ); - - _closePanel(); - - self._open = false; - } - }, - - toggle: function() { - this[ this._open ? "close" : "open" ](); - }, - - _destroy: function() { - var otherPanels, - o = this.options, - multiplePanels = ( $( "body > :mobile-panel" ).length + $.mobile.activePage.find( ":mobile-panel" ).length ) > 1; - - if ( o.display !== "overlay" ) { - - // remove the wrapper if not in use by another panel - otherPanels = $( "body > :mobile-panel" ).add( $.mobile.activePage.find( ":mobile-panel" ) ); - if ( otherPanels.not( ".ui-panel-display-overlay" ).not( this.element ).length === 0 ) { - this._wrapper.children().unwrap(); - } - - if ( this._open ) { - - this._fixedToolbars().removeClass( o.classes.pageContentPrefix + "-open" ); - - if ( $.support.cssTransform3d && !!o.animate ) { - this._fixedToolbars().removeClass( o.classes.animate ); - } - - this._page().parent().removeClass( o.classes.pageContainer ); - - if ( o.theme ) { - this._page().parent().removeClass( o.classes.pageContainer + "-themed " + o.classes.pageContainer + "-" + o.theme ); - } - } - } - - if ( !multiplePanels ) { - - this.document.off( "panelopen panelclose" ); - - } - - if ( this._open ) { - this._page().jqmRemoveData( "panel" ); - } - - this._panelInner.children().unwrap(); - - this.element - .removeClass( [ this._getPanelClasses(), o.classes.panelOpen, o.classes.animate ].join( " " ) ) - .off( "swipeleft.panel swiperight.panel" ) - .off( "panelbeforeopen" ) - .off( "panelhide" ) - .off( "keyup.panel" ) - .off( "updatelayout" ); - - if ( this._modal ) { - this._modal.remove(); - } - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.table", { - options: { - classes: { - table: "ui-table" - }, - enhanced: false - }, - - _create: function() { - if ( !this.options.enhanced ) { - this.element.addClass( this.options.classes.table ); - } - - // extend here, assign on refresh > _setHeaders - $.extend( this, { - - // Expose headers and allHeaders properties on the widget - // headers references the THs within the first TR in the table - headers: undefined, - - // allHeaders references headers, plus all THs in the thead, which may - // include several rows, or not - allHeaders: undefined - }); - - this._refresh( true ); - }, - - _setHeaders: function() { - var trs = this.element.find( "thead tr" ); - - this.headers = this.element.find( "tr:eq(0)" ).children(); - this.allHeaders = this.headers.add( trs.children() ); - }, - - refresh: function() { - this._refresh(); - }, - - rebuild: $.noop, - - _refresh: function( /* create */ ) { - var table = this.element, - trs = table.find( "thead tr" ); - - // updating headers on refresh (fixes #5880) - this._setHeaders(); - - // Iterate over the trs - trs.each( function() { - var columnCount = 0; - - // Iterate over the children of the tr - $( this ).children().each( function() { - var span = parseInt( this.getAttribute( "colspan" ), 10 ), - selector = ":nth-child(" + ( columnCount + 1 ) + ")", - j; - - this.setAttribute( "data-" + $.mobile.ns + "colstart", columnCount + 1 ); - - if ( span ) { - for( j = 0; j < span - 1; j++ ) { - columnCount++; - selector += ", :nth-child(" + ( columnCount + 1 ) + ")"; - } - } - - // Store "cells" data on header as a reference to all cells in the - // same column as this TH - $( this ).jqmData( "cells", table.find( "tr" ).not( trs.eq( 0 ) ).not( this ).children( selector ) ); - - columnCount++; - }); - }); - } -}); - -})( jQuery ); - - -(function( $, undefined ) { - -$.widget( "mobile.table", $.mobile.table, { - options: { - mode: "columntoggle", - columnBtnTheme: null, - columnPopupTheme: null, - columnBtnText: "Columns...", - classes: $.extend( $.mobile.table.prototype.options.classes, { - popup: "ui-table-columntoggle-popup", - columnBtn: "ui-table-columntoggle-btn", - priorityPrefix: "ui-table-priority-", - columnToggleTable: "ui-table-columntoggle" - }) - }, - - _create: function() { - this._super(); - - if ( this.options.mode !== "columntoggle" ) { - return; - } - - $.extend( this, { - _menu: null - }); - - if ( this.options.enhanced ) { - this._menu = $( this.document[ 0 ].getElementById( this._id() + "-popup" ) ).children().first(); - this._addToggles( this._menu, true ); - } else { - this._menu = this._enhanceColToggle(); - this.element.addClass( this.options.classes.columnToggleTable ); - } - - this._setupEvents(); - - this._setToggleState(); - }, - - _id: function() { - return ( this.element.attr( "id" ) || ( this.widgetName + this.uuid ) ); - }, - - _setupEvents: function() { - //NOTE: inputs are bound in bindToggles, - // so it can be called on refresh, too - - // update column toggles on resize - this._on( this.window, { - throttledresize: "_setToggleState" - }); - this._on( this._menu, { - "change input": "_menuInputChange" - }); - }, - - _addToggles: function( menu, keep ) { - var inputs, - checkboxIndex = 0, - opts = this.options, - container = menu.controlgroup( "container" ); - - // allow update of menu on refresh (fixes #5880) - if ( keep ) { - inputs = menu.find( "input" ); - } else { - container.empty(); - } - - // create the hide/show toggles - this.headers.not( "td" ).each( function() { - var input, cells, - header = $( this ), - priority = $.mobile.getAttribute( this, "priority" ); - - if ( priority ) { - cells = header.add( header.jqmData( "cells" ) ); - cells.addClass( opts.classes.priorityPrefix + priority ); - - // Make sure the (new?) checkbox is associated with its header via .jqmData() and - // that, vice versa, the header is also associated with the checkbox - input = ( keep ? inputs.eq( checkboxIndex++ ) : - $("<label><input type='checkbox' checked />" + - ( header.children( "abbr" ).first().attr( "title" ) || - header.text() ) + - "</label>" ) - .appendTo( container ) - .children( 0 ) - .checkboxradio( { - theme: opts.columnPopupTheme - }) ) - - // Associate the header with the checkbox - .jqmData( "header", header ) - .jqmData( "cells", cells ); - - // Associate the checkbox with the header - header.jqmData( "input", input ); - } - }); - - // set bindings here - if ( !keep ) { - menu.controlgroup( "refresh" ); - } - }, - - _menuInputChange: function( evt ) { - var input = $( evt.target ), - checked = input[ 0 ].checked; - - input.jqmData( "cells" ) - .toggleClass( "ui-table-cell-hidden", !checked ) - .toggleClass( "ui-table-cell-visible", checked ); - }, - - _unlockCells: function( cells ) { - // allow hide/show via CSS only = remove all toggle-locks - cells.removeClass( "ui-table-cell-hidden ui-table-cell-visible"); - }, - - _enhanceColToggle: function() { - var id , menuButton, popup, menu, - table = this.element, - opts = this.options, - ns = $.mobile.ns, - fragment = this.document[ 0 ].createDocumentFragment(); - - id = this._id() + "-popup"; - menuButton = $( "<a href='#" + id + "' " + - "class='" + opts.classes.columnBtn + " ui-btn " + - "ui-btn-" + ( opts.columnBtnTheme || "a" ) + - " ui-corner-all ui-shadow ui-mini' " + - "data-" + ns + "rel='popup'>" + opts.columnBtnText + "</a>" ); - popup = $( "<div class='" + opts.classes.popup + "' id='" + id + "'></div>" ); - menu = $( "<fieldset></fieldset>" ).controlgroup(); - - // set extension here, send "false" to trigger build/rebuild - this._addToggles( menu, false ); - - menu.appendTo( popup ); - - fragment.appendChild( popup[ 0 ] ); - fragment.appendChild( menuButton[ 0 ] ); - table.before( fragment ); - - popup.popup(); - - return menu; - }, - - rebuild: function() { - this._super(); - - if ( this.options.mode === "columntoggle" ) { - // NOTE: rebuild passes "false", while refresh passes "undefined" - // both refresh the table, but inside addToggles, !false will be true, - // so a rebuild call can be indentified - this._refresh( false ); - } - }, - - _refresh: function( create ) { - var headers, hiddenColumns, index; - - // Calling _super() here updates this.headers - this._super( create ); - - if ( !create && this.options.mode === "columntoggle" ) { - headers = this.headers; - hiddenColumns = []; - - // Find the index of the column header associated with each old checkbox among the - // post-refresh headers and, if the header is still there, make sure the corresponding - // column will be hidden if the pre-refresh checkbox indicates that the column is - // hidden by recording its index in the array of hidden columns. - this._menu.find( "input" ).each( function() { - var input = $( this ), - header = input.jqmData( "header" ), - index = headers.index( header[ 0 ] ); - - if ( index > -1 && !input.prop( "checked" ) ) { - - // The column header associated with /this/ checkbox is still present in the - // post-refresh table and the checkbox is not checked, so the column associated - // with this column header is currently hidden. Let's record that. - hiddenColumns.push( index ); - } - }); - - // columns not being replaced must be cleared from input toggle-locks - this._unlockCells( this.element.find( ".ui-table-cell-hidden, " + - ".ui-table-cell-visible" ) ); - - // update columntoggles and cells - this._addToggles( this._menu, create ); - - // At this point all columns are visible, so uncheck the checkboxes that correspond to - // those columns we've found to be hidden - for ( index = hiddenColumns.length - 1 ; index > -1 ; index-- ) { - headers.eq( hiddenColumns[ index ] ).jqmData( "input" ) - .prop( "checked", false ) - .checkboxradio( "refresh" ) - .trigger( "change" ); - } - } - }, - - _setToggleState: function() { - this._menu.find( "input" ).each( function() { - var checkbox = $( this ); - - this.checked = checkbox.jqmData( "cells" ).eq( 0 ).css( "display" ) === "table-cell"; - checkbox.checkboxradio( "refresh" ); - }); - }, - - _destroy: function() { - this._super(); - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.table", $.mobile.table, { - options: { - mode: "reflow", - classes: $.extend( $.mobile.table.prototype.options.classes, { - reflowTable: "ui-table-reflow", - cellLabels: "ui-table-cell-label" - }) - }, - - _create: function() { - this._super(); - - // If it's not reflow mode, return here. - if ( this.options.mode !== "reflow" ) { - return; - } - - if ( !this.options.enhanced ) { - this.element.addClass( this.options.classes.reflowTable ); - - this._updateReflow(); - } - }, - - rebuild: function() { - this._super(); - - if ( this.options.mode === "reflow" ) { - this._refresh( false ); - } - }, - - _refresh: function( create ) { - this._super( create ); - if ( !create && this.options.mode === "reflow" ) { - this._updateReflow( ); - } - }, - - _updateReflow: function() { - var table = this, - opts = this.options; - - // get headers in reverse order so that top-level headers are appended last - $( table.allHeaders.get().reverse() ).each( function() { - var cells = $( this ).jqmData( "cells" ), - colstart = $.mobile.getAttribute( this, "colstart" ), - hierarchyClass = cells.not( this ).filter( "thead th" ).length && " ui-table-cell-label-top", - contents = $( this ).clone().contents(), - iteration, filter; - - if ( contents.length > 0 ) { - - if ( hierarchyClass ) { - iteration = parseInt( this.getAttribute( "colspan" ), 10 ); - filter = ""; - - if ( iteration ) { - filter = "td:nth-child("+ iteration +"n + " + ( colstart ) +")"; - } - - table._addLabels( cells.filter( filter ), - opts.classes.cellLabels + hierarchyClass, contents ); - } else { - table._addLabels( cells, opts.classes.cellLabels, contents ); - } - - } - }); - }, - - _addLabels: function( cells, label, contents ) { - if ( contents.length === 1 && contents[ 0 ].nodeName.toLowerCase() === "abbr" ) { - contents = contents.eq( 0 ).attr( "title" ); - } - // .not fixes #6006 - cells - .not( ":has(b." + label + ")" ) - .prepend( $( "<b class='" + label + "'></b>" ).append( contents ) ); - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -// TODO rename filterCallback/deprecate and default to the item itself as the first argument -var defaultFilterCallback = function( index, searchValue ) { - return ( ( "" + ( $.mobile.getAttribute( this, "filtertext" ) || $( this ).text() ) ) - .toLowerCase().indexOf( searchValue ) === -1 ); -}; - -$.widget( "mobile.filterable", { - - initSelector: ":jqmData(filter='true')", - - options: { - filterReveal: false, - filterCallback: defaultFilterCallback, - enhanced: false, - input: null, - children: "> li, > option, > optgroup option, > tbody tr, > .ui-controlgroup-controls > .ui-btn, > .ui-controlgroup-controls > .ui-checkbox, > .ui-controlgroup-controls > .ui-radio" - }, - - _create: function() { - var opts = this.options; - - $.extend( this, { - _search: null, - _timer: 0 - }); - - this._setInput( opts.input ); - if ( !opts.enhanced ) { - this._filterItems( ( ( this._search && this._search.val() ) || "" ).toLowerCase() ); - } - }, - - _onKeyUp: function() { - var val, lastval, - search = this._search; - - if ( search ) { - val = search.val().toLowerCase(), - lastval = $.mobile.getAttribute( search[ 0 ], "lastval" ) + ""; - - if ( lastval && lastval === val ) { - // Execute the handler only once per value change - return; - } - - if ( this._timer ) { - window.clearTimeout( this._timer ); - this._timer = 0; - } - - this._timer = this._delay( function() { - if ( this._trigger( "beforefilter", null, { input: search } ) === false ) { - return false; - } - - // Change val as lastval for next execution - search[ 0 ].setAttribute( "data-" + $.mobile.ns + "lastval", val ); - - this._filterItems( val ); - this._timer = 0; - }, 250 ); - } - }, - - _getFilterableItems: function() { - var elem = this.element, - children = this.options.children, - items = !children ? { length: 0 }: - $.isFunction( children ) ? children(): - children.nodeName ? $( children ): - children.jquery ? children: - this.element.find( children ); - - if ( items.length === 0 ) { - items = elem.children(); - } - - return items; - }, - - _filterItems: function( val ) { - var idx, callback, length, dst, - show = [], - hide = [], - opts = this.options, - filterItems = this._getFilterableItems(); - - if ( val != null ) { - callback = opts.filterCallback || defaultFilterCallback; - length = filterItems.length; - - // Partition the items into those to be hidden and those to be shown - for ( idx = 0 ; idx < length ; idx++ ) { - dst = ( callback.call( filterItems[ idx ], idx, val ) ) ? hide : show; - dst.push( filterItems[ idx ] ); - } - } - - // If nothing is hidden, then the decision whether to hide or show the items - // is based on the "filterReveal" option. - if ( hide.length === 0 ) { - filterItems[ ( opts.filterReveal && val.length === 0 ) ? - "addClass" : "removeClass" ]( "ui-screen-hidden" ); - } else { - $( hide ).addClass( "ui-screen-hidden" ); - $( show ).removeClass( "ui-screen-hidden" ); - } - - this._refreshChildWidget(); - - this._trigger( "filter", null, { - items: filterItems - }); - }, - - // The Default implementation of _refreshChildWidget attempts to call - // refresh on collapsibleset, controlgroup, selectmenu, or listview - _refreshChildWidget: function() { - var widget, idx, - recognizedWidgets = [ "collapsibleset", "selectmenu", "controlgroup", "listview" ]; - - for ( idx = recognizedWidgets.length - 1 ; idx > -1 ; idx-- ) { - widget = recognizedWidgets[ idx ]; - if ( $.mobile[ widget ] ) { - widget = this.element.data( "mobile-" + widget ); - if ( widget && $.isFunction( widget.refresh ) ) { - widget.refresh(); - } - } - } - }, - - // TODO: When the input is not internal, do not even store it in this._search - _setInput: function ( selector ) { - var search = this._search; - - // Stop a pending filter operation - if ( this._timer ) { - window.clearTimeout( this._timer ); - this._timer = 0; - } - - if ( search ) { - this._off( search, "keyup change input" ); - search = null; - } - - if ( selector ) { - search = selector.jquery ? selector: - selector.nodeName ? $( selector ): - this.document.find( selector ); - - this._on( search, { - keydown: "_onKeyDown", - keypress: "_onKeyPress", - keyup: "_onKeyUp", - change: "_onKeyUp", - input: "_onKeyUp" - }); - } - - this._search = search; - }, - - // Prevent form submission - _onKeyDown: function( event ) { - if ( event.keyCode === $.ui.keyCode.ENTER ) { - event.preventDefault(); - this._preventKeyPress = true; - } - }, - - _onKeyPress: function( event ) { - if ( this._preventKeyPress ) { - event.preventDefault(); - this._preventKeyPress = false; - } - }, - - _setOptions: function( options ) { - var refilter = !( ( options.filterReveal === undefined ) && - ( options.filterCallback === undefined ) && - ( options.children === undefined ) ); - - this._super( options ); - - if ( options.input !== undefined ) { - this._setInput( options.input ); - refilter = true; - } - - if ( refilter ) { - this.refresh(); - } - }, - - _destroy: function() { - var opts = this.options, - items = this._getFilterableItems(); - - if ( opts.enhanced ) { - items.toggleClass( "ui-screen-hidden", opts.filterReveal ); - } else { - items.removeClass( "ui-screen-hidden" ); - } - }, - - refresh: function() { - if ( this._timer ) { - window.clearTimeout( this._timer ); - this._timer = 0; - } - this._filterItems( ( ( this._search && this._search.val() ) || "" ).toLowerCase() ); - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -// Create a function that will replace the _setOptions function of a widget, -// and will pass the options on to the input of the filterable. -var replaceSetOptions = function( self, orig ) { - return function( options ) { - orig.call( this, options ); - self._syncTextInputOptions( options ); - }; - }, - rDividerListItem = /(^|\s)ui-li-divider(\s|$)/, - origDefaultFilterCallback = $.mobile.filterable.prototype.options.filterCallback; - -// Override the default filter callback with one that does not hide list dividers -$.mobile.filterable.prototype.options.filterCallback = function( index, searchValue ) { - return !this.className.match( rDividerListItem ) && - origDefaultFilterCallback.call( this, index, searchValue ); -}; - -$.widget( "mobile.filterable", $.mobile.filterable, { - options: { - filterPlaceholder: "Filter items...", - filterTheme: null - }, - - _create: function() { - var idx, widgetName, - elem = this.element, - recognizedWidgets = [ "collapsibleset", "selectmenu", "controlgroup", "listview" ], - createHandlers = {}; - - this._super(); - - $.extend( this, { - _widget: null - }); - - for ( idx = recognizedWidgets.length - 1 ; idx > -1 ; idx-- ) { - widgetName = recognizedWidgets[ idx ]; - if ( $.mobile[ widgetName ] ) { - if ( this._setWidget( elem.data( "mobile-" + widgetName ) ) ) { - break; - } else { - createHandlers[ widgetName + "create" ] = "_handleCreate"; - } - } - } - - if ( !this._widget ) { - this._on( elem, createHandlers ); - } - }, - - _handleCreate: function( evt ) { - this._setWidget( this.element.data( "mobile-" + evt.type.substring( 0, evt.type.length - 6 ) ) ); - }, - - _trigger: function( type, event, data ) { - if ( this._widget && this._widget.widgetFullName === "mobile-listview" && - type === "beforefilter" ) { - - // Also trigger listviewbeforefilter if this widget is also a listview - this._widget._trigger( "beforefilter", event, data ); - } - - // Passing back the response enables calling preventDefault() - return this._super( type, event, data ); - }, - - _setWidget: function( widget ) { - if ( !this._widget && widget ) { - this._widget = widget; - this._widget._setOptions = replaceSetOptions( this, this._widget._setOptions ); - } - - if ( !!this._widget ) { - this._syncTextInputOptions( this._widget.options ); - if ( this._widget.widgetName === "listview" ) { - this._widget.options.hideDividers = true; - this._widget.element.listview( "refresh" ); - } - } - - return !!this._widget; - }, - - _isSearchInternal: function() { - return ( this._search && this._search.jqmData( "ui-filterable-" + this.uuid + "-internal" ) ); - }, - - _setInput: function( selector ) { - var opts = this.options, - updatePlaceholder = true, - textinputOpts = {}; - - if ( !selector ) { - if ( this._isSearchInternal() ) { - - // Ignore the call to set a new input if the selector goes to falsy and - // the current textinput is already of the internally generated variety. - return; - } else { - - // Generating a new textinput widget. No need to set the placeholder - // further down the function. - updatePlaceholder = false; - selector = $( "<input " + - "data-" + $.mobile.ns + "type='search' " + - "placeholder='" + opts.filterPlaceholder + "'></input>" ) - .jqmData( "ui-filterable-" + this.uuid + "-internal", true ); - $( "<form class='ui-filterable'></form>" ) - .append( selector ) - .submit( function( evt ) { - evt.preventDefault(); - selector.blur(); - }) - .insertBefore( this.element ); - if ( $.mobile.textinput ) { - if ( this.options.filterTheme != null ) { - textinputOpts[ "theme" ] = opts.filterTheme; - } - - selector.textinput( textinputOpts ); - } - } - } - - this._super( selector ); - - if ( this._isSearchInternal() && updatePlaceholder ) { - this._search.attr( "placeholder", this.options.filterPlaceholder ); - } - }, - - _setOptions: function( options ) { - var ret = this._super( options ); - - // Need to set the filterPlaceholder after having established the search input - if ( options.filterPlaceholder !== undefined ) { - if ( this._isSearchInternal() ) { - this._search.attr( "placeholder", options.filterPlaceholder ); - } - } - - if ( options.filterTheme !== undefined && this._search && $.mobile.textinput ) { - this._search.textinput( "option", "theme", options.filterTheme ); - } - - return ret; - }, - - // The listview implementation accompanying this filterable backcompat layer will call - // filterable.refresh() after it's done refreshing the listview to make sure the filterable - // filters out any new items added. However, when the listview refresh has been initiated by - // the filterable itself, then such filtering has already taken place, and calling the - // filterable's refresh() method will cause an infinite recursion. We stop this by setting a - // flag that will cause the filterable's refresh() method to short-circuit. - _refreshChildWidget: function() { - this._refreshingChildWidget = true; - this._superApply( arguments ); - this._refreshingChildWidget = false; - }, - - refresh: function() { - if ( !this._refreshingChildWidget ) { - this._superApply( arguments ); - } - }, - - _destroy: function() { - if ( this._isSearchInternal() ) { - this._search.remove(); - } - this._super(); - }, - - _syncTextInputOptions: function( options ) { - var idx, - textinputOptions = {}; - - // We only sync options if the filterable's textinput is of the internally - // generated variety, rather than one specified by the user. - if ( this._isSearchInternal() && $.mobile.textinput ) { - - // Apply only the options understood by textinput - for ( idx in $.mobile.textinput.prototype.options ) { - if ( options[ idx ] !== undefined ) { - if ( idx === "theme" && this.options.filterTheme != null ) { - textinputOptions[ idx ] = this.options.filterTheme; - } else { - textinputOptions[ idx ] = options[ idx ]; - } - } - } - this._search.textinput( "option", textinputOptions ); - } - } -}); - -// Instantiate a filterable on a listview that has the data-filter="true" attribute -// This is not necessary for static content, because the auto-enhance takes care of instantiating -// the filterable upon encountering data-filter="true". However, because of 1.3.x it is expected -// that a listview with data-filter="true" will be filterable even if you just instantiate a -// listview on it. The extension below ensures that this continues to happen in 1.4.x. -$.widget( "mobile.listview", $.mobile.listview, { - options: { - filter: false - }, - _create: function() { - if ( this.options.filter === true && - !this.element.data( "mobile-filterable" ) ) { - this.element.filterable(); - } - return this._super(); - }, - - refresh: function() { - var filterable; - - this._superApply( arguments ); - - if ( this.options.filter === true ) { - filterable = this.element.data( "mobile-filterable" ); - - if ( filterable ) { - filterable.refresh(); - } - } - } -}); - -})( jQuery ); - -/*! - * jQuery UI Tabs fadf2b312a05040436451c64bbfaf4814bc62c56 - * http://jqueryui.com - * - * Copyright 2013 jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/tabs/ - * - * Depends: - * jquery.ui.core.js - * jquery.ui.widget.js - */ -(function( $, undefined ) { - -var tabId = 0, - rhash = /#.*$/; - -function getNextTabId() { - return ++tabId; -} - -function isLocal( anchor ) { - return anchor.hash.length > 1 && - decodeURIComponent( anchor.href.replace( rhash, "" ) ) === - decodeURIComponent( location.href.replace( rhash, "" ) ); -} - -$.widget( "ui.tabs", { - version: "fadf2b312a05040436451c64bbfaf4814bc62c56", - delay: 300, - options: { - active: null, - collapsible: false, - event: "click", - heightStyle: "content", - hide: null, - show: null, - - // callbacks - activate: null, - beforeActivate: null, - beforeLoad: null, - load: null - }, - - _create: function() { - var that = this, - options = this.options; - - this.running = false; - - this.element - .addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" ) - .toggleClass( "ui-tabs-collapsible", options.collapsible ) - // Prevent users from focusing disabled tabs via click - .delegate( ".ui-tabs-nav > li", "mousedown" + this.eventNamespace, function( event ) { - if ( $( this ).is( ".ui-state-disabled" ) ) { - event.preventDefault(); - } - }) - // support: IE <9 - // Preventing the default action in mousedown doesn't prevent IE - // from focusing the element, so if the anchor gets focused, blur. - // We don't have to worry about focusing the previously focused - // element since clicking on a non-focusable element should focus - // the body anyway. - .delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() { - if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) { - this.blur(); - } - }); - - this._processTabs(); - options.active = this._initialActive(); - - // Take disabling tabs via class attribute from HTML - // into account and update option properly. - if ( $.isArray( options.disabled ) ) { - options.disabled = $.unique( options.disabled.concat( - $.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) { - return that.tabs.index( li ); - }) - ) ).sort(); - } - - // check for length avoids error when initializing empty list - if ( this.options.active !== false && this.anchors.length ) { - this.active = this._findActive( options.active ); - } else { - this.active = $(); - } - - this._refresh(); - - if ( this.active.length ) { - this.load( options.active ); - } - }, - - _initialActive: function() { - var active = this.options.active, - collapsible = this.options.collapsible, - locationHash = location.hash.substring( 1 ); - - if ( active === null ) { - // check the fragment identifier in the URL - if ( locationHash ) { - this.tabs.each(function( i, tab ) { - if ( $( tab ).attr( "aria-controls" ) === locationHash ) { - active = i; - return false; - } - }); - } - - // check for a tab marked active via a class - if ( active === null ) { - active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) ); - } - - // no active tab, set to false - if ( active === null || active === -1 ) { - active = this.tabs.length ? 0 : false; - } - } - - // handle numbers: negative, out of range - if ( active !== false ) { - active = this.tabs.index( this.tabs.eq( active ) ); - if ( active === -1 ) { - active = collapsible ? false : 0; - } - } - - // don't allow collapsible: false and active: false - if ( !collapsible && active === false && this.anchors.length ) { - active = 0; - } - - return active; - }, - - _getCreateEventData: function() { - return { - tab: this.active, - panel: !this.active.length ? $() : this._getPanelForTab( this.active ) - }; - }, - - _tabKeydown: function( event ) { - var focusedTab = $( this.document[0].activeElement ).closest( "li" ), - selectedIndex = this.tabs.index( focusedTab ), - goingForward = true; - - if ( this._handlePageNav( event ) ) { - return; - } - - switch ( event.keyCode ) { - case $.ui.keyCode.RIGHT: - case $.ui.keyCode.DOWN: - selectedIndex++; - break; - case $.ui.keyCode.UP: - case $.ui.keyCode.LEFT: - goingForward = false; - selectedIndex--; - break; - case $.ui.keyCode.END: - selectedIndex = this.anchors.length - 1; - break; - case $.ui.keyCode.HOME: - selectedIndex = 0; - break; - case $.ui.keyCode.SPACE: - // Activate only, no collapsing - event.preventDefault(); - clearTimeout( this.activating ); - this._activate( selectedIndex ); - return; - case $.ui.keyCode.ENTER: - // Toggle (cancel delayed activation, allow collapsing) - event.preventDefault(); - clearTimeout( this.activating ); - // Determine if we should collapse or activate - this._activate( selectedIndex === this.options.active ? false : selectedIndex ); - return; - default: - return; - } - - // Focus the appropriate tab, based on which key was pressed - event.preventDefault(); - clearTimeout( this.activating ); - selectedIndex = this._focusNextTab( selectedIndex, goingForward ); - - // Navigating with control key will prevent automatic activation - if ( !event.ctrlKey ) { - // Update aria-selected immediately so that AT think the tab is already selected. - // Otherwise AT may confuse the user by stating that they need to activate the tab, - // but the tab will already be activated by the time the announcement finishes. - focusedTab.attr( "aria-selected", "false" ); - this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" ); - - this.activating = this._delay(function() { - this.option( "active", selectedIndex ); - }, this.delay ); - } - }, - - _panelKeydown: function( event ) { - if ( this._handlePageNav( event ) ) { - return; - } - - // Ctrl+up moves focus to the current tab - if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) { - event.preventDefault(); - this.active.focus(); - } - }, - - // Alt+page up/down moves focus to the previous/next tab (and activates) - _handlePageNav: function( event ) { - if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) { - this._activate( this._focusNextTab( this.options.active - 1, false ) ); - return true; - } - if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) { - this._activate( this._focusNextTab( this.options.active + 1, true ) ); - return true; - } - }, - - _findNextTab: function( index, goingForward ) { - var lastTabIndex = this.tabs.length - 1; - - function constrain() { - if ( index > lastTabIndex ) { - index = 0; - } - if ( index < 0 ) { - index = lastTabIndex; - } - return index; - } - - while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) { - index = goingForward ? index + 1 : index - 1; - } - - return index; - }, - - _focusNextTab: function( index, goingForward ) { - index = this._findNextTab( index, goingForward ); - this.tabs.eq( index ).focus(); - return index; - }, - - _setOption: function( key, value ) { - if ( key === "active" ) { - // _activate() will handle invalid values and update this.options - this._activate( value ); - return; - } - - if ( key === "disabled" ) { - // don't use the widget factory's disabled handling - this._setupDisabled( value ); - return; - } - - this._super( key, value); - - if ( key === "collapsible" ) { - this.element.toggleClass( "ui-tabs-collapsible", value ); - // Setting collapsible: false while collapsed; open first panel - if ( !value && this.options.active === false ) { - this._activate( 0 ); - } - } - - if ( key === "event" ) { - this._setupEvents( value ); - } - - if ( key === "heightStyle" ) { - this._setupHeightStyle( value ); - } - }, - - _tabId: function( tab ) { - return tab.attr( "aria-controls" ) || "ui-tabs-" + getNextTabId(); - }, - - _sanitizeSelector: function( hash ) { - return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : ""; - }, - - refresh: function() { - var options = this.options, - lis = this.tablist.children( ":has(a[href])" ); - - // get disabled tabs from class attribute from HTML - // this will get converted to a boolean if needed in _refresh() - options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) { - return lis.index( tab ); - }); - - this._processTabs(); - - // was collapsed or no tabs - if ( options.active === false || !this.anchors.length ) { - options.active = false; - this.active = $(); - // was active, but active tab is gone - } else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) { - // all remaining tabs are disabled - if ( this.tabs.length === options.disabled.length ) { - options.active = false; - this.active = $(); - // activate previous tab - } else { - this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) ); - } - // was active, active tab still exists - } else { - // make sure active index is correct - options.active = this.tabs.index( this.active ); - } - - this._refresh(); - }, - - _refresh: function() { - this._setupDisabled( this.options.disabled ); - this._setupEvents( this.options.event ); - this._setupHeightStyle( this.options.heightStyle ); - - this.tabs.not( this.active ).attr({ - "aria-selected": "false", - tabIndex: -1 - }); - this.panels.not( this._getPanelForTab( this.active ) ) - .hide() - .attr({ - "aria-expanded": "false", - "aria-hidden": "true" - }); - - // Make sure one tab is in the tab order - if ( !this.active.length ) { - this.tabs.eq( 0 ).attr( "tabIndex", 0 ); - } else { - this.active - .addClass( "ui-tabs-active ui-state-active" ) - .attr({ - "aria-selected": "true", - tabIndex: 0 - }); - this._getPanelForTab( this.active ) - .show() - .attr({ - "aria-expanded": "true", - "aria-hidden": "false" - }); - } - }, - - _processTabs: function() { - var that = this; - - this.tablist = this._getList() - .addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ) - .attr( "role", "tablist" ); - - this.tabs = this.tablist.find( "> li:has(a[href])" ) - .addClass( "ui-state-default ui-corner-top" ) - .attr({ - role: "tab", - tabIndex: -1 - }); - - this.anchors = this.tabs.map(function() { - return $( "a", this )[ 0 ]; - }) - .addClass( "ui-tabs-anchor" ) - .attr({ - role: "presentation", - tabIndex: -1 - }); - - this.panels = $(); - - this.anchors.each(function( i, anchor ) { - var selector, panel, panelId, - anchorId = $( anchor ).uniqueId().attr( "id" ), - tab = $( anchor ).closest( "li" ), - originalAriaControls = tab.attr( "aria-controls" ); - - // inline tab - if ( isLocal( anchor ) ) { - selector = anchor.hash; - panel = that.element.find( that._sanitizeSelector( selector ) ); - // remote tab - } else { - panelId = that._tabId( tab ); - selector = "#" + panelId; - panel = that.element.find( selector ); - if ( !panel.length ) { - panel = that._createPanel( panelId ); - panel.insertAfter( that.panels[ i - 1 ] || that.tablist ); - } - panel.attr( "aria-live", "polite" ); - } - - if ( panel.length) { - that.panels = that.panels.add( panel ); - } - if ( originalAriaControls ) { - tab.data( "ui-tabs-aria-controls", originalAriaControls ); - } - tab.attr({ - "aria-controls": selector.substring( 1 ), - "aria-labelledby": anchorId - }); - panel.attr( "aria-labelledby", anchorId ); - }); - - this.panels - .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) - .attr( "role", "tabpanel" ); - }, - - // allow overriding how to find the list for rare usage scenarios (#7715) - _getList: function() { - return this.element.find( "ol,ul" ).eq( 0 ); - }, - - _createPanel: function( id ) { - return $( "<div>" ) - .attr( "id", id ) - .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) - .data( "ui-tabs-destroy", true ); - }, - - _setupDisabled: function( disabled ) { - if ( $.isArray( disabled ) ) { - if ( !disabled.length ) { - disabled = false; - } else if ( disabled.length === this.anchors.length ) { - disabled = true; - } - } - - // disable tabs - for ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) { - if ( disabled === true || $.inArray( i, disabled ) !== -1 ) { - $( li ) - .addClass( "ui-state-disabled" ) - .attr( "aria-disabled", "true" ); - } else { - $( li ) - .removeClass( "ui-state-disabled" ) - .removeAttr( "aria-disabled" ); - } - } - - this.options.disabled = disabled; - }, - - _setupEvents: function( event ) { - var events = { - click: function( event ) { - event.preventDefault(); - } - }; - if ( event ) { - $.each( event.split(" "), function( index, eventName ) { - events[ eventName ] = "_eventHandler"; - }); - } - - this._off( this.anchors.add( this.tabs ).add( this.panels ) ); - this._on( this.anchors, events ); - this._on( this.tabs, { keydown: "_tabKeydown" } ); - this._on( this.panels, { keydown: "_panelKeydown" } ); - - this._focusable( this.tabs ); - this._hoverable( this.tabs ); - }, - - _setupHeightStyle: function( heightStyle ) { - var maxHeight, - parent = this.element.parent(); - - if ( heightStyle === "fill" ) { - maxHeight = parent.height(); - maxHeight -= this.element.outerHeight() - this.element.height(); - - this.element.siblings( ":visible" ).each(function() { - var elem = $( this ), - position = elem.css( "position" ); - - if ( position === "absolute" || position === "fixed" ) { - return; - } - maxHeight -= elem.outerHeight( true ); - }); - - this.element.children().not( this.panels ).each(function() { - maxHeight -= $( this ).outerHeight( true ); - }); - - this.panels.each(function() { - $( this ).height( Math.max( 0, maxHeight - - $( this ).innerHeight() + $( this ).height() ) ); - }) - .css( "overflow", "auto" ); - } else if ( heightStyle === "auto" ) { - maxHeight = 0; - this.panels.each(function() { - maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() ); - }).height( maxHeight ); - } - }, - - _eventHandler: function( event ) { - var options = this.options, - active = this.active, - anchor = $( event.currentTarget ), - tab = anchor.closest( "li" ), - clickedIsActive = tab[ 0 ] === active[ 0 ], - collapsing = clickedIsActive && options.collapsible, - toShow = collapsing ? $() : this._getPanelForTab( tab ), - toHide = !active.length ? $() : this._getPanelForTab( active ), - eventData = { - oldTab: active, - oldPanel: toHide, - newTab: collapsing ? $() : tab, - newPanel: toShow - }; - - event.preventDefault(); - - if ( tab.hasClass( "ui-state-disabled" ) || - // tab is already loading - tab.hasClass( "ui-tabs-loading" ) || - // can't switch durning an animation - this.running || - // click on active header, but not collapsible - ( clickedIsActive && !options.collapsible ) || - // allow canceling activation - ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { - return; - } - - options.active = collapsing ? false : this.tabs.index( tab ); - - this.active = clickedIsActive ? $() : tab; - if ( this.xhr ) { - this.xhr.abort(); - } - - if ( !toHide.length && !toShow.length ) { - $.error( "jQuery UI Tabs: Mismatching fragment identifier." ); - } - - if ( toShow.length ) { - this.load( this.tabs.index( tab ), event ); - } - this._toggle( event, eventData ); - }, - - // handles show/hide for selecting tabs - _toggle: function( event, eventData ) { - var that = this, - toShow = eventData.newPanel, - toHide = eventData.oldPanel; - - this.running = true; - - function complete() { - that.running = false; - that._trigger( "activate", event, eventData ); - } - - function show() { - eventData.newTab.closest( "li" ).addClass( "ui-tabs-active ui-state-active" ); - - if ( toShow.length && that.options.show ) { - that._show( toShow, that.options.show, complete ); - } else { - toShow.show(); - complete(); - } - } - - // start out by hiding, then showing, then completing - if ( toHide.length && this.options.hide ) { - this._hide( toHide, this.options.hide, function() { - eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" ); - show(); - }); - } else { - eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" ); - toHide.hide(); - show(); - } - - toHide.attr({ - "aria-expanded": "false", - "aria-hidden": "true" - }); - eventData.oldTab.attr( "aria-selected", "false" ); - // If we're switching tabs, remove the old tab from the tab order. - // If we're opening from collapsed state, remove the previous tab from the tab order. - // If we're collapsing, then keep the collapsing tab in the tab order. - if ( toShow.length && toHide.length ) { - eventData.oldTab.attr( "tabIndex", -1 ); - } else if ( toShow.length ) { - this.tabs.filter(function() { - return $( this ).attr( "tabIndex" ) === 0; - }) - .attr( "tabIndex", -1 ); - } - - toShow.attr({ - "aria-expanded": "true", - "aria-hidden": "false" - }); - eventData.newTab.attr({ - "aria-selected": "true", - tabIndex: 0 - }); - }, - - _activate: function( index ) { - var anchor, - active = this._findActive( index ); - - // trying to activate the already active panel - if ( active[ 0 ] === this.active[ 0 ] ) { - return; - } - - // trying to collapse, simulate a click on the current active header - if ( !active.length ) { - active = this.active; - } - - anchor = active.find( ".ui-tabs-anchor" )[ 0 ]; - this._eventHandler({ - target: anchor, - currentTarget: anchor, - preventDefault: $.noop - }); - }, - - _findActive: function( index ) { - return index === false ? $() : this.tabs.eq( index ); - }, - - _getIndex: function( index ) { - // meta-function to give users option to provide a href string instead of a numerical index. - if ( typeof index === "string" ) { - index = this.anchors.index( this.anchors.filter( "[href$='" + index + "']" ) ); - } - - return index; - }, - - _destroy: function() { - if ( this.xhr ) { - this.xhr.abort(); - } - - this.element.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" ); - - this.tablist - .removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ) - .removeAttr( "role" ); - - this.anchors - .removeClass( "ui-tabs-anchor" ) - .removeAttr( "role" ) - .removeAttr( "tabIndex" ) - .removeUniqueId(); - - this.tabs.add( this.panels ).each(function() { - if ( $.data( this, "ui-tabs-destroy" ) ) { - $( this ).remove(); - } else { - $( this ) - .removeClass( "ui-state-default ui-state-active ui-state-disabled " + - "ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel" ) - .removeAttr( "tabIndex" ) - .removeAttr( "aria-live" ) - .removeAttr( "aria-busy" ) - .removeAttr( "aria-selected" ) - .removeAttr( "aria-labelledby" ) - .removeAttr( "aria-hidden" ) - .removeAttr( "aria-expanded" ) - .removeAttr( "role" ); - } - }); - - this.tabs.each(function() { - var li = $( this ), - prev = li.data( "ui-tabs-aria-controls" ); - if ( prev ) { - li - .attr( "aria-controls", prev ) - .removeData( "ui-tabs-aria-controls" ); - } else { - li.removeAttr( "aria-controls" ); - } - }); - - this.panels.show(); - - if ( this.options.heightStyle !== "content" ) { - this.panels.css( "height", "" ); - } - }, - - enable: function( index ) { - var disabled = this.options.disabled; - if ( disabled === false ) { - return; - } - - if ( index === undefined ) { - disabled = false; - } else { - index = this._getIndex( index ); - if ( $.isArray( disabled ) ) { - disabled = $.map( disabled, function( num ) { - return num !== index ? num : null; - }); - } else { - disabled = $.map( this.tabs, function( li, num ) { - return num !== index ? num : null; - }); - } - } - this._setupDisabled( disabled ); - }, - - disable: function( index ) { - var disabled = this.options.disabled; - if ( disabled === true ) { - return; - } - - if ( index === undefined ) { - disabled = true; - } else { - index = this._getIndex( index ); - if ( $.inArray( index, disabled ) !== -1 ) { - return; - } - if ( $.isArray( disabled ) ) { - disabled = $.merge( [ index ], disabled ).sort(); - } else { - disabled = [ index ]; - } - } - this._setupDisabled( disabled ); - }, - - load: function( index, event ) { - index = this._getIndex( index ); - var that = this, - tab = this.tabs.eq( index ), - anchor = tab.find( ".ui-tabs-anchor" ), - panel = this._getPanelForTab( tab ), - eventData = { - tab: tab, - panel: panel - }; - - // not remote - if ( isLocal( anchor[ 0 ] ) ) { - return; - } - - this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) ); - - // support: jQuery <1.8 - // jQuery <1.8 returns false if the request is canceled in beforeSend, - // but as of 1.8, $.ajax() always returns a jqXHR object. - if ( this.xhr && this.xhr.statusText !== "canceled" ) { - tab.addClass( "ui-tabs-loading" ); - panel.attr( "aria-busy", "true" ); - - this.xhr - .success(function( response ) { - // support: jQuery <1.8 - // http://bugs.jquery.com/ticket/11778 - setTimeout(function() { - panel.html( response ); - that._trigger( "load", event, eventData ); - }, 1 ); - }) - .complete(function( jqXHR, status ) { - // support: jQuery <1.8 - // http://bugs.jquery.com/ticket/11778 - setTimeout(function() { - if ( status === "abort" ) { - that.panels.stop( false, true ); - } - - tab.removeClass( "ui-tabs-loading" ); - panel.removeAttr( "aria-busy" ); - - if ( jqXHR === that.xhr ) { - delete that.xhr; - } - }, 1 ); - }); - } - }, - - _ajaxSettings: function( anchor, event, eventData ) { - var that = this; - return { - url: anchor.attr( "href" ), - beforeSend: function( jqXHR, settings ) { - return that._trigger( "beforeLoad", event, - $.extend( { jqXHR : jqXHR, ajaxSettings: settings }, eventData ) ); - } - }; - }, - - _getPanelForTab: function( tab ) { - var id = $( tab ).attr( "aria-controls" ); - return this.element.find( this._sanitizeSelector( "#" + id ) ); - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -})( jQuery ); - -(function( $, window ) { - - $.mobile.iosorientationfixEnabled = true; - - // This fix addresses an iOS bug, so return early if the UA claims it's something else. - var ua = navigator.userAgent, - zoom, - evt, x, y, z, aig; - if ( !( /iPhone|iPad|iPod/.test( navigator.platform ) && /OS [1-5]_[0-9_]* like Mac OS X/i.test( ua ) && ua.indexOf( "AppleWebKit" ) > -1 ) ) { - $.mobile.iosorientationfixEnabled = false; - return; - } - - zoom = $.mobile.zoom; - - function checkTilt( e ) { - evt = e.originalEvent; - aig = evt.accelerationIncludingGravity; - - x = Math.abs( aig.x ); - y = Math.abs( aig.y ); - z = Math.abs( aig.z ); - - // If portrait orientation and in one of the danger zones - if ( !window.orientation && ( x > 7 || ( ( z > 6 && y < 8 || z < 8 && y > 6 ) && x > 5 ) ) ) { - if ( zoom.enabled ) { - zoom.disable(); - } - } else if ( !zoom.enabled ) { - zoom.enable(); - } - } - - $.mobile.document.on( "mobileinit", function() { - if ( $.mobile.iosorientationfixEnabled ) { - $.mobile.window - .bind( "orientationchange.iosorientationfix", zoom.enable ) - .bind( "devicemotion.iosorientationfix", checkTilt ); - } - }); - -}( jQuery, this )); - -(function( $, window, undefined ) { - var $html = $( "html" ), - $window = $.mobile.window; - - //remove initial build class (only present on first pageshow) - function hideRenderingClass() { - $html.removeClass( "ui-mobile-rendering" ); - } - - // trigger mobileinit event - useful hook for configuring $.mobile settings before they're used - $( window.document ).trigger( "mobileinit" ); - - // support conditions - // if device support condition(s) aren't met, leave things as they are -> a basic, usable experience, - // otherwise, proceed with the enhancements - if ( !$.mobile.gradeA() ) { - return; - } - - // override ajaxEnabled on platforms that have known conflicts with hash history updates - // or generally work better browsing in regular http for full page refreshes (BB5, Opera Mini) - if ( $.mobile.ajaxBlacklist ) { - $.mobile.ajaxEnabled = false; - } - - // Add mobile, initial load "rendering" classes to docEl - $html.addClass( "ui-mobile ui-mobile-rendering" ); - - // This is a fallback. If anything goes wrong (JS errors, etc), or events don't fire, - // this ensures the rendering class is removed after 5 seconds, so content is visible and accessible - setTimeout( hideRenderingClass, 5000 ); - - $.extend( $.mobile, { - // find and enhance the pages in the dom and transition to the first page. - initializePage: function() { - // find present pages - var path = $.mobile.path, - $pages = $( ":jqmData(role='page'), :jqmData(role='dialog')" ), - hash = path.stripHash( path.stripQueryParams(path.parseLocation().hash) ), - theLocation = $.mobile.path.parseLocation(), - hashPage = hash ? document.getElementById( hash ) : undefined; - - // if no pages are found, create one with body's inner html - if ( !$pages.length ) { - $pages = $( "body" ).wrapInner( "<div data-" + $.mobile.ns + "role='page'></div>" ).children( 0 ); - } - - // add dialogs, set data-url attrs - $pages.each(function() { - var $this = $( this ); - - // unless the data url is already set set it to the pathname - if ( !$this[ 0 ].getAttribute( "data-" + $.mobile.ns + "url" ) ) { - $this.attr( "data-" + $.mobile.ns + "url", $this.attr( "id" ) || - path.convertUrlToDataUrl( theLocation.pathname + theLocation.search ) ); - } - }); - - // define first page in dom case one backs out to the directory root (not always the first page visited, but defined as fallback) - $.mobile.firstPage = $pages.first(); - - // define page container - $.mobile.pageContainer = $.mobile.firstPage - .parent() - .addClass( "ui-mobile-viewport" ) - .pagecontainer(); - - // initialize navigation events now, after mobileinit has occurred and the page container - // has been created but before the rest of the library is alerted to that fact - $.mobile.navreadyDeferred.resolve(); - - // alert listeners that the pagecontainer has been determined for binding - // to events triggered on it - $window.trigger( "pagecontainercreate" ); - - // cue page loading message - $.mobile.loading( "show" ); - - //remove initial build class (only present on first pageshow) - hideRenderingClass(); - - // if hashchange listening is disabled, there's no hash deeplink, - // the hash is not valid (contains more than one # or does not start with #) - // or there is no page with that hash, change to the first page in the DOM - // Remember, however, that the hash can also be a path! - if ( ! ( $.mobile.hashListeningEnabled && - $.mobile.path.isHashValid( location.hash ) && - ( $( hashPage ).is( ":jqmData(role='page')" ) || - $.mobile.path.isPath( hash ) || - hash === $.mobile.dialogHashKey ) ) ) { - - // make sure to set initial popstate state if it exists - // so that navigation back to the initial page works properly - if ( $.event.special.navigate.isPushStateEnabled() ) { - $.mobile.navigate.navigator.squash( path.parseLocation().href ); - } - - $.mobile.changePage( $.mobile.firstPage, { - transition: "none", - reverse: true, - changeHash: false, - fromHashChange: true - }); - } else { - // trigger hashchange or navigate to squash and record the correct - // history entry for an initial hash path - if ( !$.event.special.navigate.isPushStateEnabled() ) { - $window.trigger( "hashchange", [true] ); - } else { - // TODO figure out how to simplify this interaction with the initial history entry - // at the bottom js/navigate/navigate.js - $.mobile.navigate.history.stack = []; - $.mobile.navigate( $.mobile.path.isPath( location.hash ) ? location.hash : location.href ); - } - } - } - }); - - $(function() { - //Run inlineSVG support test - $.support.inlineSVG(); - - // check which scrollTop value should be used by scrolling to 1 immediately at domready - // then check what the scroll top is. Android will report 0... others 1 - // note that this initial scroll won't hide the address bar. It's just for the check. - - // hide iOS browser chrome on load if hideUrlBar is true this is to try and do it as soon as possible - if ( $.mobile.hideUrlBar ) { - window.scrollTo( 0, 1 ); - } - - // if defaultHomeScroll hasn't been set yet, see if scrollTop is 1 - // it should be 1 in most browsers, but android treats 1 as 0 (for hiding addr bar) - // so if it's 1, use 0 from now on - $.mobile.defaultHomeScroll = ( !$.support.scrollTop || $.mobile.window.scrollTop() === 1 ) ? 0 : 1; - - //dom-ready inits - if ( $.mobile.autoInitializePage ) { - $.mobile.initializePage(); - } - - // window load event - // hide iOS browser chrome on load if hideUrlBar is true this is as fall back incase we were too early before - if ( $.mobile.hideUrlBar ) { - $window.load( $.mobile.silentScroll ); - } - - if ( !$.support.cssPointerEvents ) { - // IE and Opera don't support CSS pointer-events: none that we use to disable link-based buttons - // by adding the 'ui-disabled' class to them. Using a JavaScript workaround for those browser. - // https://github.com/jquery/jquery-mobile/issues/3558 - - // DEPRECATED as of 1.4.0 - remove ui-disabled after 1.4.0 release - // only ui-state-disabled should be present thereafter - $.mobile.document.delegate( ".ui-state-disabled,.ui-disabled", "vclick", - function( e ) { - e.preventDefault(); - e.stopImmediatePropagation(); - } - ); - } - }); -}( jQuery, this )); - - -})); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.js b/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.js deleted file mode 100644 index 6e1cbf7d..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -!function(a,b,c){"function"==typeof define&&define.amd?define(["jquery"],function(d){return c(d,a,b),d.mobile}):c(a.jQuery,a,b)}(this,document,function(a,b,c){!function(a){a.mobile={}}(a),function(a,b){function d(b,c){var d,f,g,h=b.nodeName.toLowerCase();return"area"===h?(d=b.parentNode,f=d.name,b.href&&f&&"map"===d.nodeName.toLowerCase()?(g=a("img[usemap=#"+f+"]")[0],!!g&&e(g)):!1):(/input|select|textarea|button|object/.test(h)?!b.disabled:"a"===h?b.href||c:c)&&e(b)}function e(b){return a.expr.filters.visible(b)&&!a(b).parents().addBack().filter(function(){return"hidden"===a.css(this,"visibility")}).length}var f=0,g=/^ui-id-\d+$/;a.ui=a.ui||{},a.extend(a.ui,{version:"c0ab71056b936627e8a7821f03c044aec6280a40",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),a.fn.extend({focus:function(b){return function(c,d){return"number"==typeof c?this.each(function(){var b=this;setTimeout(function(){a(b).focus(),d&&d.call(b)},c)}):b.apply(this,arguments)}}(a.fn.focus),scrollParent:function(){var b;return b=a.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.css(this,"position"))&&/(auto|scroll)/.test(a.css(this,"overflow")+a.css(this,"overflow-y")+a.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(a.css(this,"overflow")+a.css(this,"overflow-y")+a.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(this[0].ownerDocument||c):b},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++f)})},removeUniqueId:function(){return this.each(function(){g.test(this.id)&&a(this).removeAttr("id")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return d(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var c=a.attr(b,"tabindex"),e=isNaN(c);return(e||c>=0)&&d(b,!e)}}),a("<a>").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function e(b,c,d,e){return a.each(f,function(){c-=parseFloat(a.css(b,"padding"+this))||0,d&&(c-=parseFloat(a.css(b,"border"+this+"Width"))||0),e&&(c-=parseFloat(a.css(b,"margin"+this))||0)}),c}var f="Width"===d?["Left","Right"]:["Top","Bottom"],g=d.toLowerCase(),h={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?h["inner"+d].call(this):this.each(function(){a(this).css(g,e(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return"number"!=typeof b?h["outer"+d].call(this,b):this.each(function(){a(this).css(g,e(this,b,!0,c)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=function(b){return function(c){return arguments.length?b.call(this,a.camelCase(c)):b.call(this)}}(a.fn.removeData)),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.support.selectstart="onselectstart"in c.createElement("div"),a.fn.extend({disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(d){if(d!==b)return this.css("zIndex",d);if(this.length)for(var e,f,g=a(this[0]);g.length&&g[0]!==c;){if(e=g.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(f=parseInt(g.css("zIndex"),10),!isNaN(f)&&0!==f))return f;g=g.parent()}return 0}}),a.ui.plugin={add:function(b,c,d){var e,f=a.ui[b].prototype;for(e in d)f.plugins[e]=f.plugins[e]||[],f.plugins[e].push([c,d[e]])},call:function(a,b,c,d){var e,f=a.plugins[b];if(f&&(d||a.element[0].parentNode&&11!==a.element[0].parentNode.nodeType))for(e=0;e<f.length;e++)a.options[f[e][0]]&&f[e][1].apply(a.element,c)}}}(a),function(a,b){var d=function(b,c){var d=b.parent(),e=[],f=function(){var b=a(this),c=a.mobile.toolbar&&b.data("mobile-toolbar")?b.toolbar("option"):{position:b.attr("data-"+a.mobile.ns+"position"),updatePagePadding:b.attr("data-"+a.mobile.ns+"update-page-padding")!==!1};return!("fixed"===c.position&&c.updatePagePadding===!0)},g=d.children(":jqmData(role='header')").filter(f),h=b.children(":jqmData(role='header')"),i=d.children(":jqmData(role='footer')").filter(f),j=b.children(":jqmData(role='footer')");return 0===h.length&&g.length>0&&(e=e.concat(g.toArray())),0===j.length&&i.length>0&&(e=e.concat(i.toArray())),a.each(e,function(b,d){c-=a(d).outerHeight()}),Math.max(0,c)};a.extend(a.mobile,{window:a(b),document:a(c),keyCode:a.ui.keyCode,behaviors:{},silentScroll:function(c){"number"!==a.type(c)&&(c=a.mobile.defaultHomeScroll),a.event.special.scrollstart.enabled=!1,setTimeout(function(){b.scrollTo(0,c),a.mobile.document.trigger("silentscroll",{x:0,y:c})},20),setTimeout(function(){a.event.special.scrollstart.enabled=!0},150)},getClosestBaseUrl:function(b){var c=a(b).closest(".ui-page").jqmData("url"),d=a.mobile.path.documentBase.hrefNoHash;return a.mobile.dynamicBaseEnabled&&c&&a.mobile.path.isPath(c)||(c=d),a.mobile.path.makeUrlAbsolute(c,d)},removeActiveLinkClass:function(b){!a.mobile.activeClickedLink||a.mobile.activeClickedLink.closest("."+a.mobile.activePageClass).length&&!b||a.mobile.activeClickedLink.removeClass(a.mobile.activeBtnClass),a.mobile.activeClickedLink=null},getInheritedTheme:function(a,b){for(var c,d,e=a[0],f="",g=/ui-(bar|body|overlay)-([a-z])\b/;e&&(c=e.className||"",!(c&&(d=g.exec(c))&&(f=d[2])));)e=e.parentNode;return f||b||"a"},enhanceable:function(a){return this.haveParents(a,"enhance")},hijackable:function(a){return this.haveParents(a,"ajax")},haveParents:function(b,c){if(!a.mobile.ignoreContentEnabled)return b;var d,e,f,g,h,i=b.length,j=a();for(g=0;i>g;g++){for(e=b.eq(g),f=!1,d=b[g];d;){if(h=d.getAttribute?d.getAttribute("data-"+a.mobile.ns+c):"","false"===h){f=!0;break}d=d.parentNode}f||(j=j.add(e))}return j},getScreenHeight:function(){return b.innerHeight||a.mobile.window.height()},resetActivePageHeight:function(b){var c=a("."+a.mobile.activePageClass),e=c.height(),f=c.outerHeight(!0);b=d(c,"number"==typeof b?b:a.mobile.getScreenHeight()),c.css("min-height",""),c.height()<b&&c.css("min-height",b-(f-e))},loading:function(){var b=this.loading._widget||a(a.mobile.loader.prototype.defaultHtml).loader(),c=b.loader.apply(b,arguments);return this.loading._widget=b,c}}),a.addDependents=function(b,c){var d=a(b),e=d.jqmData("dependents")||a();d.jqmData("dependents",a(e).add(c))},a.fn.extend({removeWithDependents:function(){a.removeWithDependents(this)},enhanceWithin:function(){var b,c={},d=a.mobile.page.prototype.keepNativeSelector(),e=this;a.mobile.nojs&&a.mobile.nojs(this),a.mobile.links&&a.mobile.links(this),a.mobile.degradeInputsWithin&&a.mobile.degradeInputsWithin(this),a.fn.buttonMarkup&&this.find(a.fn.buttonMarkup.initSelector).not(d).jqmEnhanceable().buttonMarkup(),a.fn.fieldcontain&&this.find(":jqmData(role='fieldcontain')").not(d).jqmEnhanceable().fieldcontain(),a.each(a.mobile.widgets,function(b,f){if(f.initSelector){var g=a.mobile.enhanceable(e.find(f.initSelector));g.length>0&&(g=g.not(d)),g.length>0&&(c[f.prototype.widgetName]=g)}});for(b in c)c[b][b]();return this},addDependents:function(b){a.addDependents(this,b)},getEncodedText:function(){return a("<a>").text(this.text()).html()},jqmEnhanceable:function(){return a.mobile.enhanceable(this)},jqmHijackable:function(){return a.mobile.hijackable(this)}}),a.removeWithDependents=function(b){var c=a(b);(c.jqmData("dependents")||a()).remove(),c.remove()},a.addDependents=function(b,c){var d=a(b),e=d.jqmData("dependents")||a();d.jqmData("dependents",a(e).add(c))},a.find.matches=function(b,c){return a.find(b,null,null,c)},a.find.matchesSelector=function(b,c){return a.find(c,null,null,[b]).length>0}}(a,this),function(a){a.extend(a.mobile,{version:"1.4.5",subPageUrlKey:"ui-page",hideUrlBar:!0,keepNative:":jqmData(role='none'), :jqmData(role='nojs')",activePageClass:"ui-page-active",activeBtnClass:"ui-btn-active",focusClass:"ui-focus",ajaxEnabled:!0,hashListeningEnabled:!0,linkBindingEnabled:!0,defaultPageTransition:"fade",maxTransitionWidth:!1,minScrollBack:0,defaultDialogTransition:"pop",pageLoadErrorMessage:"Error Loading Page",pageLoadErrorMessageTheme:"a",phonegapNavigationEnabled:!1,autoInitializePage:!0,pushStateEnabled:!0,ignoreContentEnabled:!1,buttonMarkup:{hoverDelay:200},dynamicBaseEnabled:!0,pageContainer:a(),allowCrossDomainPages:!1,dialogHashKey:"&ui-state=dialog"})}(a,this),function(a,b){var c=0,d=Array.prototype.slice,e=a.cleanData;a.cleanData=function(b){for(var c,d=0;null!=(c=b[d]);d++)try{a(c).triggerHandler("remove")}catch(f){}e(b)},a.widget=function(b,c,d){var e,f,g,h,i={},j=b.split(".")[0];return b=b.split(".")[1],e=j+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e.toLowerCase()]=function(b){return!!a.data(b,e)},a[j]=a[j]||{},f=a[j][b],g=a[j][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new g(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,d){return a.isFunction(d)?void(i[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},e=function(a){return c.prototype[b].apply(this,a)};return function(){var b,c=this._super,f=this._superApply;return this._super=a,this._superApply=e,b=d.apply(this,arguments),this._super=c,this._superApply=f,b}}()):void(i[b]=d)}),g.prototype=a.widget.extend(h,{widgetEventPrefix:f?h.widgetEventPrefix||b:b},i,{constructor:g,namespace:j,widgetName:b,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g),g},a.widget.extend=function(c){for(var e,f,g=d.call(arguments,1),h=0,i=g.length;i>h;h++)for(e in g[h])f=g[h][e],g[h].hasOwnProperty(e)&&f!==b&&(c[e]=a.isPlainObject(f)?a.isPlainObject(c[e])?a.widget.extend({},c[e],f):a.widget.extend({},f):f);return c},a.widget.bridge=function(c,e){var f=e.prototype.widgetFullName||c;a.fn[c]=function(g){var h="string"==typeof g,i=d.call(arguments,1),j=this;return g=!h&&i.length?a.widget.extend.apply(null,[g].concat(i)):g,this.each(h?function(){var d,e=a.data(this,f);return"instance"===g?(j=e,!1):e?a.isFunction(e[g])&&"_"!==g.charAt(0)?(d=e[g].apply(e,i),d!==e&&d!==b?(j=d&&d.jquery?j.pushStack(d.get()):d,!1):void 0):a.error("no such method '"+g+"' for "+c+" widget instance"):a.error("cannot call methods on "+c+" prior to initialization; attempted to call method '"+g+"'")}:function(){var b=a.data(this,f);b?b.option(g||{})._init():a.data(this,f,new e(g,this))}),j}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(b,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=a.widget.extend({},this.options,this._getCreateOptions(),b),this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===d&&this.destroy()}}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(c,d){var e,f,g,h=c;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof c)if(h={},e=c.split("."),c=e.shift(),e.length){for(f=h[c]=a.widget.extend({},this.options[c]),g=0;g<e.length-1;g++)f[e[g]]=f[e[g]]||{},f=f[e[g]];if(c=e.pop(),d===b)return f[c]===b?null:f[c];f[c]=d}else{if(d===b)return this.options[c]===b?null:this.options[c];h[c]=d}return this._setOptions(h),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!b),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(b,c,d){var e,f=this;"boolean"!=typeof b&&(d=c,c=b,b=!1),d?(c=e=a(c),this.bindings=this.bindings.add(c)):(d=c,c=this.element,e=this.widget()),a.each(d,function(d,g){function h(){return b||f.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled")?("string"==typeof g?f[g]:g).apply(f,arguments):void 0}"string"!=typeof g&&(h.guid=g.guid=g.guid||h.guid||a.guid++);var i=d.match(/^(\w+)\s*(.*)$/),j=i[1]+f.eventNamespace,k=i[2];k?e.delegate(k,j,h):c.bind(j,h)})},_off:function(a,b){b=(b||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,a.unbind(b).undelegate(b)},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}})}(a),function(a,b,c){var d={},e=a.find,f=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,g=/:jqmData\(([^)]*)\)/g;a.extend(a.mobile,{ns:"",getAttribute:function(b,c){var d;b=b.jquery?b[0]:b,b&&b.getAttribute&&(d=b.getAttribute("data-"+a.mobile.ns+c));try{d="true"===d?!0:"false"===d?!1:"null"===d?null:+d+""===d?+d:f.test(d)?JSON.parse(d):d}catch(e){}return d},nsNormalizeDict:d,nsNormalize:function(b){return d[b]||(d[b]=a.camelCase(a.mobile.ns+b))},closestPageData:function(a){return a.closest(":jqmData(role='page'), :jqmData(role='dialog')").data("mobile-page")}}),a.fn.jqmData=function(b,d){var e;return"undefined"!=typeof b&&(b&&(b=a.mobile.nsNormalize(b)),e=arguments.length<2||d===c?this.data(b):this.data(b,d)),e},a.jqmData=function(b,c,d){var e;return"undefined"!=typeof c&&(e=a.data(b,c?a.mobile.nsNormalize(c):c,d)),e},a.fn.jqmRemoveData=function(b){return this.removeData(a.mobile.nsNormalize(b))},a.jqmRemoveData=function(b,c){return a.removeData(b,a.mobile.nsNormalize(c))},a.find=function(b,c,d,f){return b.indexOf(":jqmData")>-1&&(b=b.replace(g,"[data-"+(a.mobile.ns||"")+"$1]")),e.call(this,b,c,d,f)},a.extend(a.find,e)}(a,this),function(a){var b=/[A-Z]/g,c=function(a){return"-"+a.toLowerCase()};a.extend(a.Widget.prototype,{_getCreateOptions:function(){var d,e,f=this.element[0],g={};if(!a.mobile.getAttribute(f,"defaults"))for(d in this.options)e=a.mobile.getAttribute(f,d.replace(b,c)),null!=e&&(g[d]=e);return g}}),a.mobile.widget=a.Widget}(a),function(a){var b="ui-loader",c=a("html");a.widget("mobile.loader",{options:{theme:"a",textVisible:!1,html:"",text:"loading"},defaultHtml:"<div class='"+b+"'><span class='ui-icon-loading'></span><h1></h1></div>",fakeFixLoader:function(){var b=a("."+a.mobile.activeBtnClass).first();this.element.css({top:a.support.scrollTop&&this.window.scrollTop()+this.window.height()/2||b.length&&b.offset().top||100})},checkLoaderPosition:function(){var b=this.element.offset(),c=this.window.scrollTop(),d=a.mobile.getScreenHeight();(b.top<c||b.top-c>d)&&(this.element.addClass("ui-loader-fakefix"),this.fakeFixLoader(),this.window.unbind("scroll",this.checkLoaderPosition).bind("scroll",a.proxy(this.fakeFixLoader,this)))},resetHtml:function(){this.element.html(a(this.defaultHtml).html())},show:function(d,e,f){var g,h,i;this.resetHtml(),"object"===a.type(d)?(i=a.extend({},this.options,d),d=i.theme):(i=this.options,d=d||i.theme),h=e||(i.text===!1?"":i.text),c.addClass("ui-loading"),g=i.textVisible,this.element.attr("class",b+" ui-corner-all ui-body-"+d+" ui-loader-"+(g||e||d.text?"verbose":"default")+(i.textonly||f?" ui-loader-textonly":"")),i.html?this.element.html(i.html):this.element.find("h1").text(h),this.element.appendTo(a(a.mobile.pagecontainer?":mobile-pagecontainer":"body")),this.checkLoaderPosition(),this.window.bind("scroll",a.proxy(this.checkLoaderPosition,this))},hide:function(){c.removeClass("ui-loading"),this.options.text&&this.element.removeClass("ui-loader-fakefix"),this.window.unbind("scroll",this.fakeFixLoader),this.window.unbind("scroll",this.checkLoaderPosition)}})}(a,this),function(a,b,d){"$:nomunge";function e(a){return a=a||location.href,"#"+a.replace(/^[^#]*#?(.*)$/,"$1")}var f,g="hashchange",h=c,i=a.event.special,j=h.documentMode,k="on"+g in b&&(j===d||j>7);a.fn[g]=function(a){return a?this.bind(g,a):this.trigger(g)},a.fn[g].delay=50,i[g]=a.extend(i[g],{setup:function(){return k?!1:void a(f.start)},teardown:function(){return k?!1:void a(f.stop)}}),f=function(){function c(){var d=e(),h=n(j);d!==j?(m(j=d,h),a(b).trigger(g)):h!==j&&(location.href=location.href.replace(/#.*/,"")+h),f=setTimeout(c,a.fn[g].delay)}var f,i={},j=e(),l=function(a){return a},m=l,n=l;return i.start=function(){f||c()},i.stop=function(){f&&clearTimeout(f),f=d},b.attachEvent&&!b.addEventListener&&!k&&function(){var b,d;i.start=function(){b||(d=a.fn[g].src,d=d&&d+e(),b=a('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){d||m(e()),c()}).attr("src",d||"javascript:0").insertAfter("body")[0].contentWindow,h.onpropertychange=function(){try{"title"===event.propertyName&&(b.document.title=h.title)}catch(a){}})},i.stop=l,n=function(){return e(b.location.href)},m=function(c,d){var e=b.document,f=a.fn[g].domain;c!==d&&(e.title=h.title,e.open(),f&&e.write('<script>document.domain="'+f+'"</script>'),e.close(),b.location.hash=c)}}(),i}()}(a,this),function(a){b.matchMedia=b.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(c),a.mobile.media=function(a){return b.matchMedia(a).matches}}(a),function(a){var b={touch:"ontouchend"in c};a.mobile.support=a.mobile.support||{},a.extend(a.support,b),a.extend(a.mobile.support,b)}(a),function(a){a.extend(a.support,{orientation:"orientation"in b&&"onorientationchange"in b})}(a),function(a,d){function e(a){var b,c=a.charAt(0).toUpperCase()+a.substr(1),e=(a+" "+o.join(c+" ")+c).split(" ");for(b in e)if(n[e[b]]!==d)return!0}function f(){var c=b,d=!(!c.document.createElementNS||!c.document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect||c.opera&&-1===navigator.userAgent.indexOf("Chrome")),e=function(b){b&&d||a("html").addClass("ui-nosvg")},f=new c.Image;f.onerror=function(){e(!1)},f.onload=function(){e(1===f.width&&1===f.height)},f.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="}function g(){var e,f,g,h="transform-3d",i=a.mobile.media("(-"+o.join("-"+h+"),(-")+"-"+h+"),("+h+")");if(i)return!!i;e=c.createElement("div"),f={MozTransform:"-moz-transform",transform:"transform"},m.append(e);for(g in f)e.style[g]!==d&&(e.style[g]="translate3d( 100px, 1px, 1px )",i=b.getComputedStyle(e).getPropertyValue(f[g]));return!!i&&"none"!==i}function h(){var b,c,d=location.protocol+"//"+location.host+location.pathname+"ui-dir/",e=a("head base"),f=null,g="";return e.length?g=e.attr("href"):e=f=a("<base>",{href:d}).appendTo("head"),b=a("<a href='testurl' />").prependTo(m),c=b[0].href,e[0].href=g||location.pathname,f&&f.remove(),0===c.indexOf(d)}function i(){var a,d=c.createElement("x"),e=c.documentElement,f=b.getComputedStyle;return"pointerEvents"in d.style?(d.style.pointerEvents="auto",d.style.pointerEvents="x",e.appendChild(d),a=f&&"auto"===f(d,"").pointerEvents,e.removeChild(d),!!a):!1}function j(){var a=c.createElement("div");return"undefined"!=typeof a.getBoundingClientRect}function k(){var a=b,c=navigator.userAgent,d=navigator.platform,e=c.match(/AppleWebKit\/([0-9]+)/),f=!!e&&e[1],g=c.match(/Fennec\/([0-9]+)/),h=!!g&&g[1],i=c.match(/Opera Mobi\/([0-9]+)/),j=!!i&&i[1];return(d.indexOf("iPhone")>-1||d.indexOf("iPad")>-1||d.indexOf("iPod")>-1)&&f&&534>f||a.operamini&&"[object OperaMini]"==={}.toString.call(a.operamini)||i&&7458>j||c.indexOf("Android")>-1&&f&&533>f||h&&6>h||"palmGetResource"in b&&f&&534>f||c.indexOf("MeeGo")>-1&&c.indexOf("NokiaBrowser/8.5.0")>-1?!1:!0}var l,m=a("<body>").prependTo("html"),n=m[0].style,o=["Webkit","Moz","O"],p="palmGetResource"in b,q=b.operamini&&"[object OperaMini]"==={}.toString.call(b.operamini),r=b.blackberry&&!e("-webkit-transform");a.extend(a.mobile,{browser:{}}),a.mobile.browser.oldIE=function(){var a=3,b=c.createElement("div"),d=b.all||[];do b.innerHTML="<!--[if gt IE "+ ++a+"]><br><![endif]-->";while(d[0]);return a>4?a:!a}(),a.extend(a.support,{pushState:"pushState"in history&&"replaceState"in history&&!(b.navigator.userAgent.indexOf("Firefox")>=0&&b.top!==b)&&-1===b.navigator.userAgent.search(/CriOS/),mediaquery:a.mobile.media("only all"),cssPseudoElement:!!e("content"),touchOverflow:!!e("overflowScrolling"),cssTransform3d:g(),boxShadow:!!e("boxShadow")&&!r,fixedPosition:k(),scrollTop:("pageXOffset"in b||"scrollTop"in c.documentElement||"scrollTop"in m[0])&&!p&&!q,dynamicBaseTag:h(),cssPointerEvents:i(),boundingRect:j(),inlineSVG:f}),m.remove(),l=function(){var a=b.navigator.userAgent;return a.indexOf("Nokia")>-1&&(a.indexOf("Symbian/3")>-1||a.indexOf("Series60/5")>-1)&&a.indexOf("AppleWebKit")>-1&&a.match(/(BrowserNG|NokiaBrowser)\/7\.[0-3]/)}(),a.mobile.gradeA=function(){return(a.support.mediaquery&&a.support.cssPseudoElement||a.mobile.browser.oldIE&&a.mobile.browser.oldIE>=8)&&(a.support.boundingRect||null!==a.fn.jquery.match(/1\.[0-7+]\.[0-9+]?/))},a.mobile.ajaxBlacklist=b.blackberry&&!b.WebKitPoint||q||l,l&&a(function(){a("head link[rel='stylesheet']").attr("rel","alternate stylesheet").attr("rel","stylesheet")}),a.support.boxShadow||a("html").addClass("ui-noboxshadow")}(a),function(a,b){var c,d=a.mobile.window,e=function(){};a.event.special.beforenavigate={setup:function(){d.on("navigate",e)},teardown:function(){d.off("navigate",e)}},a.event.special.navigate=c={bound:!1,pushStateEnabled:!0,originalEventName:b,isPushStateEnabled:function(){return a.support.pushState&&a.mobile.pushStateEnabled===!0&&this.isHashChangeEnabled()},isHashChangeEnabled:function(){return a.mobile.hashListeningEnabled===!0},popstate:function(b){var c=new a.Event("navigate"),e=new a.Event("beforenavigate"),f=b.originalEvent.state||{};e.originalEvent=b,d.trigger(e),e.isDefaultPrevented()||(b.historyState&&a.extend(f,b.historyState),c.originalEvent=b,setTimeout(function(){d.trigger(c,{state:f})},0))},hashchange:function(b){var c=new a.Event("navigate"),e=new a.Event("beforenavigate");e.originalEvent=b,d.trigger(e),e.isDefaultPrevented()||(c.originalEvent=b,d.trigger(c,{state:b.hashchangeState||{}}))},setup:function(){c.bound||(c.bound=!0,c.isPushStateEnabled()?(c.originalEventName="popstate",d.bind("popstate.navigate",c.popstate)):c.isHashChangeEnabled()&&(c.originalEventName="hashchange",d.bind("hashchange.navigate",c.hashchange)))}}}(a),function(a,c){var d,e,f="&ui-state=dialog";a.mobile.path=d={uiStateKey:"&ui-state",urlParseRE:/^\s*(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/,getLocation:function(a){var b=this.parseUrl(a||location.href),c=a?b:location,d=b.hash;return d="#"===d?"":d,c.protocol+b.doubleSlash+c.host+(""!==c.protocol&&"/"!==c.pathname.substring(0,1)?"/":"")+c.pathname+c.search+d},getDocumentUrl:function(b){return b?a.extend({},d.documentUrl):d.documentUrl.href},parseLocation:function(){return this.parseUrl(this.getLocation())},parseUrl:function(b){if("object"===a.type(b))return b;var c=d.urlParseRE.exec(b||"")||[];return{href:c[0]||"",hrefNoHash:c[1]||"",hrefNoSearch:c[2]||"",domain:c[3]||"",protocol:c[4]||"",doubleSlash:c[5]||"",authority:c[6]||"",username:c[8]||"",password:c[9]||"",host:c[10]||"",hostname:c[11]||"",port:c[12]||"",pathname:c[13]||"",directory:c[14]||"",filename:c[15]||"",search:c[16]||"",hash:c[17]||""}},makePathAbsolute:function(a,b){var c,d,e,f;if(a&&"/"===a.charAt(0))return a;for(a=a||"",b=b?b.replace(/^\/|(\/[^\/]*|[^\/]+)$/g,""):"",c=b?b.split("/"):[],d=a.split("/"),e=0;e<d.length;e++)switch(f=d[e]){case".":break;case"..":c.length&&c.pop();break;default:c.push(f)}return"/"+c.join("/")},isSameDomain:function(a,b){return d.parseUrl(a).domain.toLowerCase()===d.parseUrl(b).domain.toLowerCase()},isRelativeUrl:function(a){return""===d.parseUrl(a).protocol},isAbsoluteUrl:function(a){return""!==d.parseUrl(a).protocol},makeUrlAbsolute:function(a,b){if(!d.isRelativeUrl(a))return a;b===c&&(b=this.documentBase);var e=d.parseUrl(a),f=d.parseUrl(b),g=e.protocol||f.protocol,h=e.protocol?e.doubleSlash:e.doubleSlash||f.doubleSlash,i=e.authority||f.authority,j=""!==e.pathname,k=d.makePathAbsolute(e.pathname||f.filename,f.pathname),l=e.search||!j&&f.search||"",m=e.hash;return g+h+i+k+l+m},addSearchParams:function(b,c){var e=d.parseUrl(b),f="object"==typeof c?a.param(c):c,g=e.search||"?";return e.hrefNoSearch+g+("?"!==g.charAt(g.length-1)?"&":"")+f+(e.hash||"")},convertUrlToDataUrl:function(a){var c=a,e=d.parseUrl(a);return d.isEmbeddedPage(e)?c=e.hash.split(f)[0].replace(/^#/,"").replace(/\?.*$/,""):d.isSameDomain(e,this.documentBase)&&(c=e.hrefNoHash.replace(this.documentBase.domain,"").split(f)[0]),b.decodeURIComponent(c)},get:function(a){return a===c&&(a=d.parseLocation().hash),d.stripHash(a).replace(/[^\/]*\.[^\/*]+$/,"")},set:function(a){location.hash=a},isPath:function(a){return/\//.test(a)},clean:function(a){return a.replace(this.documentBase.domain,"")},stripHash:function(a){return a.replace(/^#/,"")},stripQueryParams:function(a){return a.replace(/\?.*$/,"")},cleanHash:function(a){return d.stripHash(a.replace(/\?.*$/,"").replace(f,""))},isHashValid:function(a){return/^#[^#]+$/.test(a)},isExternal:function(a){var b=d.parseUrl(a);return!(!b.protocol||b.domain.toLowerCase()===this.documentUrl.domain.toLowerCase())},hasProtocol:function(a){return/^(:?\w+:)/.test(a)},isEmbeddedPage:function(a){var b=d.parseUrl(a);return""!==b.protocol?!this.isPath(b.hash)&&b.hash&&(b.hrefNoHash===this.documentUrl.hrefNoHash||this.documentBaseDiffers&&b.hrefNoHash===this.documentBase.hrefNoHash):/^#/.test(b.href)},squash:function(a,b){var c,e,f,g,h,i=this.isPath(a),j=this.parseUrl(a),k=j.hash,l="";return b||(i?b=d.getLocation():(h=d.getDocumentUrl(!0),b=d.isPath(h.hash)?d.squash(h.href):h.href)),e=i?d.stripHash(a):a,e=d.isPath(j.hash)?d.stripHash(j.hash):e,g=e.indexOf(this.uiStateKey),g>-1&&(l=e.slice(g),e=e.slice(0,g)),c=d.makeUrlAbsolute(e,b),f=this.parseUrl(c).search,i?((d.isPath(k)||0===k.replace("#","").indexOf(this.uiStateKey))&&(k=""),l&&-1===k.indexOf(this.uiStateKey)&&(k+=l),-1===k.indexOf("#")&&""!==k&&(k="#"+k),c=d.parseUrl(c),c=c.protocol+c.doubleSlash+c.host+c.pathname+f+k):c+=c.indexOf("#")>-1?l:"#"+l,c},isPreservableHash:function(a){return 0===a.replace("#","").indexOf(this.uiStateKey)},hashToSelector:function(a){var b="#"===a.substring(0,1);return b&&(a=a.substring(1)),(b?"#":"")+a.replace(/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g,"\\$1")},getFilePath:function(a){return a&&a.split(f)[0]},isFirstPageUrl:function(b){var e=d.parseUrl(d.makeUrlAbsolute(b,this.documentBase)),f=e.hrefNoHash===this.documentUrl.hrefNoHash||this.documentBaseDiffers&&e.hrefNoHash===this.documentBase.hrefNoHash,g=a.mobile.firstPage,h=g&&g[0]?g[0].id:c;return f&&(!e.hash||"#"===e.hash||h&&e.hash.replace(/^#/,"")===h)},isPermittedCrossDomainRequest:function(b,c){return a.mobile.allowCrossDomainPages&&("file:"===b.protocol||"content:"===b.protocol)&&-1!==c.search(/^https?:/)}},d.documentUrl=d.parseLocation(),e=a("head").find("base"),d.documentBase=e.length?d.parseUrl(d.makeUrlAbsolute(e.attr("href"),d.documentUrl.href)):d.documentUrl,d.documentBaseDiffers=d.documentUrl.hrefNoHash!==d.documentBase.hrefNoHash,d.getDocumentBase=function(b){return b?a.extend({},d.documentBase):d.documentBase.href},a.extend(a.mobile,{getDocumentUrl:d.getDocumentUrl,getDocumentBase:d.getDocumentBase})}(a),function(a,b){a.mobile.History=function(a,b){this.stack=a||[],this.activeIndex=b||0},a.extend(a.mobile.History.prototype,{getActive:function(){return this.stack[this.activeIndex]},getLast:function(){return this.stack[this.previousIndex]},getNext:function(){return this.stack[this.activeIndex+1]},getPrev:function(){return this.stack[this.activeIndex-1]},add:function(a,b){b=b||{},this.getNext()&&this.clearForward(),b.hash&&-1===b.hash.indexOf("#")&&(b.hash="#"+b.hash),b.url=a,this.stack.push(b),this.activeIndex=this.stack.length-1},clearForward:function(){this.stack=this.stack.slice(0,this.activeIndex+1)},find:function(a,b,c){b=b||this.stack;var d,e,f,g=b.length;for(e=0;g>e;e++)if(d=b[e],(decodeURIComponent(a)===decodeURIComponent(d.url)||decodeURIComponent(a)===decodeURIComponent(d.hash))&&(f=e,c))return f;return f},closest:function(a){var c,d=this.activeIndex;return c=this.find(a,this.stack.slice(0,d)),c===b&&(c=this.find(a,this.stack.slice(d),!0),c=c===b?c:c+d),c},direct:function(c){var d=this.closest(c.url),e=this.activeIndex;d!==b&&(this.activeIndex=d,this.previousIndex=e),e>d?(c.present||c.back||a.noop)(this.getActive(),"back"):d>e?(c.present||c.forward||a.noop)(this.getActive(),"forward"):d===b&&c.missing&&c.missing(this.getActive())}})}(a),function(a){var d=a.mobile.path,e=location.href;a.mobile.Navigator=function(b){this.history=b,this.ignoreInitialHashChange=!0,a.mobile.window.bind({"popstate.history":a.proxy(this.popstate,this),"hashchange.history":a.proxy(this.hashchange,this)})},a.extend(a.mobile.Navigator.prototype,{squash:function(e,f){var g,h,i=d.isPath(e)?d.stripHash(e):e;return h=d.squash(e),g=a.extend({hash:i,url:h},f),b.history.replaceState(g,g.title||c.title,h),g},hash:function(a,b){var c,e,f,g;return c=d.parseUrl(a),e=d.parseLocation(),e.pathname+e.search===c.pathname+c.search?f=c.hash?c.hash:c.pathname+c.search:d.isPath(a)?(g=d.parseUrl(b),f=g.pathname+g.search+(d.isPreservableHash(g.hash)?g.hash.replace("#",""):"")):f=a,f},go:function(e,f,g){var h,i,j,k,l=a.event.special.navigate.isPushStateEnabled(); -i=d.squash(e),j=this.hash(e,i),g&&j!==d.stripHash(d.parseLocation().hash)&&(this.preventNextHashChange=g),this.preventHashAssignPopState=!0,b.location.hash=j,this.preventHashAssignPopState=!1,h=a.extend({url:i,hash:j,title:c.title},f),l&&(k=new a.Event("popstate"),k.originalEvent={type:"popstate",state:null},this.squash(e,h),g||(this.ignorePopState=!0,a.mobile.window.trigger(k))),this.history.add(h.url,h)},popstate:function(b){var c,f;if(a.event.special.navigate.isPushStateEnabled())return this.preventHashAssignPopState?(this.preventHashAssignPopState=!1,void b.stopImmediatePropagation()):this.ignorePopState?void(this.ignorePopState=!1):!b.originalEvent.state&&1===this.history.stack.length&&this.ignoreInitialHashChange&&(this.ignoreInitialHashChange=!1,location.href===e)?void b.preventDefault():(c=d.parseLocation().hash,!b.originalEvent.state&&c?(f=this.squash(c),this.history.add(f.url,f),void(b.historyState=f)):void this.history.direct({url:(b.originalEvent.state||{}).url||c,present:function(c,d){b.historyState=a.extend({},c),b.historyState.direction=d}}))},hashchange:function(b){var e,f;if(a.event.special.navigate.isHashChangeEnabled()&&!a.event.special.navigate.isPushStateEnabled()){if(this.preventNextHashChange)return this.preventNextHashChange=!1,void b.stopImmediatePropagation();e=this.history,f=d.parseLocation().hash,this.history.direct({url:f,present:function(c,d){b.hashchangeState=a.extend({},c),b.hashchangeState.direction=d},missing:function(){e.add(f,{hash:f,title:c.title})}})}}})}(a),function(a){a.mobile.navigate=function(b,c,d){a.mobile.navigate.navigator.go(b,c,d)},a.mobile.navigate.history=new a.mobile.History,a.mobile.navigate.navigator=new a.mobile.Navigator(a.mobile.navigate.history);var b=a.mobile.path.parseLocation();a.mobile.navigate.history.add(b.href,{hash:b.hash})}(a),function(a,b){var d={animation:{},transition:{}},e=c.createElement("a"),f=["","webkit-","moz-","o-"];a.each(["animation","transition"],function(c,g){var h=0===c?g+"-name":g;a.each(f,function(c,f){return e.style[a.camelCase(f+h)]!==b?(d[g].prefix=f,!1):void 0}),d[g].duration=a.camelCase(d[g].prefix+g+"-duration"),d[g].event=a.camelCase(d[g].prefix+g+"-end"),""===d[g].prefix&&(d[g].event=d[g].event.toLowerCase())}),a.support.cssTransitions=d.transition.prefix!==b,a.support.cssAnimations=d.animation.prefix!==b,a(e).remove(),a.fn.animationComplete=function(e,f,g){var h,i,j=this,k=function(){clearTimeout(h),e.apply(this,arguments)},l=f&&"animation"!==f?"transition":"animation";return a.support.cssTransitions&&"transition"===l||a.support.cssAnimations&&"animation"===l?(g===b&&(a(this).context!==c&&(i=3e3*parseFloat(a(this).css(d[l].duration))),(0===i||i===b||isNaN(i))&&(i=a.fn.animationComplete.defaultDuration)),h=setTimeout(function(){a(j).off(d[l].event,k),e.apply(j)},i),a(this).one(d[l].event,k)):(setTimeout(a.proxy(e,this),0),a(this))},a.fn.animationComplete.defaultDuration=1e3}(a),function(a,b,c,d){function e(a){for(;a&&"undefined"!=typeof a.originalEvent;)a=a.originalEvent;return a}function f(b,c){var f,g,h,i,j,k,l,m,n,o=b.type;if(b=a.Event(b),b.type=c,f=b.originalEvent,g=a.event.props,o.search(/^(mouse|click)/)>-1&&(g=E),f)for(l=g.length,i;l;)i=g[--l],b[i]=f[i];if(o.search(/mouse(down|up)|click/)>-1&&!b.which&&(b.which=1),-1!==o.search(/^touch/)&&(h=e(f),o=h.touches,j=h.changedTouches,k=o&&o.length?o[0]:j&&j.length?j[0]:d))for(m=0,n=C.length;n>m;m++)i=C[m],b[i]=k[i];return b}function g(b){for(var c,d,e={};b;){c=a.data(b,z);for(d in c)c[d]&&(e[d]=e.hasVirtualBinding=!0);b=b.parentNode}return e}function h(b,c){for(var d;b;){if(d=a.data(b,z),d&&(!c||d[c]))return b;b=b.parentNode}return null}function i(){M=!1}function j(){M=!0}function k(){Q=0,K.length=0,L=!1,j()}function l(){i()}function m(){n(),G=setTimeout(function(){G=0,k()},a.vmouse.resetTimerDuration)}function n(){G&&(clearTimeout(G),G=0)}function o(b,c,d){var e;return(d&&d[b]||!d&&h(c.target,b))&&(e=f(c,b),a(c.target).trigger(e)),e}function p(b){var c,d=a.data(b.target,A);L||Q&&Q===d||(c=o("v"+b.type,b),c&&(c.isDefaultPrevented()&&b.preventDefault(),c.isPropagationStopped()&&b.stopPropagation(),c.isImmediatePropagationStopped()&&b.stopImmediatePropagation()))}function q(b){var c,d,f,h=e(b).touches;h&&1===h.length&&(c=b.target,d=g(c),d.hasVirtualBinding&&(Q=P++,a.data(c,A,Q),n(),l(),J=!1,f=e(b).touches[0],H=f.pageX,I=f.pageY,o("vmouseover",b,d),o("vmousedown",b,d)))}function r(a){M||(J||o("vmousecancel",a,g(a.target)),J=!0,m())}function s(b){if(!M){var c=e(b).touches[0],d=J,f=a.vmouse.moveDistanceThreshold,h=g(b.target);J=J||Math.abs(c.pageX-H)>f||Math.abs(c.pageY-I)>f,J&&!d&&o("vmousecancel",b,h),o("vmousemove",b,h),m()}}function t(a){if(!M){j();var b,c,d=g(a.target);o("vmouseup",a,d),J||(b=o("vclick",a,d),b&&b.isDefaultPrevented()&&(c=e(a).changedTouches[0],K.push({touchID:Q,x:c.clientX,y:c.clientY}),L=!0)),o("vmouseout",a,d),J=!1,m()}}function u(b){var c,d=a.data(b,z);if(d)for(c in d)if(d[c])return!0;return!1}function v(){}function w(b){var c=b.substr(1);return{setup:function(){u(this)||a.data(this,z,{});var d=a.data(this,z);d[b]=!0,F[b]=(F[b]||0)+1,1===F[b]&&O.bind(c,p),a(this).bind(c,v),N&&(F.touchstart=(F.touchstart||0)+1,1===F.touchstart&&O.bind("touchstart",q).bind("touchend",t).bind("touchmove",s).bind("scroll",r))},teardown:function(){--F[b],F[b]||O.unbind(c,p),N&&(--F.touchstart,F.touchstart||O.unbind("touchstart",q).unbind("touchmove",s).unbind("touchend",t).unbind("scroll",r));var d=a(this),e=a.data(this,z);e&&(e[b]=!1),d.unbind(c,v),u(this)||d.removeData(z)}}}var x,y,z="virtualMouseBindings",A="virtualTouchID",B="vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "),C="clientX clientY pageX pageY screenX screenY".split(" "),D=a.event.mouseHooks?a.event.mouseHooks.props:[],E=a.event.props.concat(D),F={},G=0,H=0,I=0,J=!1,K=[],L=!1,M=!1,N="addEventListener"in c,O=a(c),P=1,Q=0;for(a.vmouse={moveDistanceThreshold:10,clickDistanceThreshold:10,resetTimerDuration:1500},y=0;y<B.length;y++)a.event.special[B[y]]=w(B[y]);N&&c.addEventListener("click",function(b){var c,d,e,f,g,h,i=K.length,j=b.target;if(i)for(c=b.clientX,d=b.clientY,x=a.vmouse.clickDistanceThreshold,e=j;e;){for(f=0;i>f;f++)if(g=K[f],h=0,e===j&&Math.abs(g.x-c)<x&&Math.abs(g.y-d)<x||a.data(e,A)===g.touchID)return b.preventDefault(),void b.stopPropagation();e=e.parentNode}},!0)}(a,b,c),function(a,b,d){function e(b,c,e,f){var g=e.type;e.type=c,f?a.event.trigger(e,d,b):a.event.dispatch.call(b,e),e.type=g}var f=a(c),g=a.mobile.support.touch,h="touchmove scroll",i=g?"touchstart":"mousedown",j=g?"touchend":"mouseup",k=g?"touchmove":"mousemove";a.each("touchstart touchmove touchend tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "),function(b,c){a.fn[c]=function(a){return a?this.bind(c,a):this.trigger(c)},a.attrFn&&(a.attrFn[c]=!0)}),a.event.special.scrollstart={enabled:!0,setup:function(){function b(a,b){c=b,e(f,c?"scrollstart":"scrollstop",a)}var c,d,f=this,g=a(f);g.bind(h,function(e){a.event.special.scrollstart.enabled&&(c||b(e,!0),clearTimeout(d),d=setTimeout(function(){b(e,!1)},50))})},teardown:function(){a(this).unbind(h)}},a.event.special.tap={tapholdThreshold:750,emitTapOnTaphold:!0,setup:function(){var b=this,c=a(b),d=!1;c.bind("vmousedown",function(g){function h(){clearTimeout(k)}function i(){h(),c.unbind("vclick",j).unbind("vmouseup",h),f.unbind("vmousecancel",i)}function j(a){i(),d||l!==a.target?d&&a.preventDefault():e(b,"tap",a)}if(d=!1,g.which&&1!==g.which)return!1;var k,l=g.target;c.bind("vmouseup",h).bind("vclick",j),f.bind("vmousecancel",i),k=setTimeout(function(){a.event.special.tap.emitTapOnTaphold||(d=!0),e(b,"taphold",a.Event("taphold",{target:l}))},a.event.special.tap.tapholdThreshold)})},teardown:function(){a(this).unbind("vmousedown").unbind("vclick").unbind("vmouseup"),f.unbind("vmousecancel")}},a.event.special.swipe={scrollSupressionThreshold:30,durationThreshold:1e3,horizontalDistanceThreshold:30,verticalDistanceThreshold:30,getLocation:function(a){var c=b.pageXOffset,d=b.pageYOffset,e=a.clientX,f=a.clientY;return 0===a.pageY&&Math.floor(f)>Math.floor(a.pageY)||0===a.pageX&&Math.floor(e)>Math.floor(a.pageX)?(e-=c,f-=d):(f<a.pageY-d||e<a.pageX-c)&&(e=a.pageX-c,f=a.pageY-d),{x:e,y:f}},start:function(b){var c=b.originalEvent.touches?b.originalEvent.touches[0]:b,d=a.event.special.swipe.getLocation(c);return{time:(new Date).getTime(),coords:[d.x,d.y],origin:a(b.target)}},stop:function(b){var c=b.originalEvent.touches?b.originalEvent.touches[0]:b,d=a.event.special.swipe.getLocation(c);return{time:(new Date).getTime(),coords:[d.x,d.y]}},handleSwipe:function(b,c,d,f){if(c.time-b.time<a.event.special.swipe.durationThreshold&&Math.abs(b.coords[0]-c.coords[0])>a.event.special.swipe.horizontalDistanceThreshold&&Math.abs(b.coords[1]-c.coords[1])<a.event.special.swipe.verticalDistanceThreshold){var g=b.coords[0]>c.coords[0]?"swipeleft":"swiperight";return e(d,"swipe",a.Event("swipe",{target:f,swipestart:b,swipestop:c}),!0),e(d,g,a.Event(g,{target:f,swipestart:b,swipestop:c}),!0),!0}return!1},eventInProgress:!1,setup:function(){var b,c=this,d=a(c),e={};b=a.data(this,"mobile-events"),b||(b={length:0},a.data(this,"mobile-events",b)),b.length++,b.swipe=e,e.start=function(b){if(!a.event.special.swipe.eventInProgress){a.event.special.swipe.eventInProgress=!0;var d,g=a.event.special.swipe.start(b),h=b.target,i=!1;e.move=function(b){g&&!b.isDefaultPrevented()&&(d=a.event.special.swipe.stop(b),i||(i=a.event.special.swipe.handleSwipe(g,d,c,h),i&&(a.event.special.swipe.eventInProgress=!1)),Math.abs(g.coords[0]-d.coords[0])>a.event.special.swipe.scrollSupressionThreshold&&b.preventDefault())},e.stop=function(){i=!0,a.event.special.swipe.eventInProgress=!1,f.off(k,e.move),e.move=null},f.on(k,e.move).one(j,e.stop)}},d.on(i,e.start)},teardown:function(){var b,c;b=a.data(this,"mobile-events"),b&&(c=b.swipe,delete b.swipe,b.length--,0===b.length&&a.removeData(this,"mobile-events")),c&&(c.start&&a(this).off(i,c.start),c.move&&f.off(k,c.move),c.stop&&f.off(j,c.stop))}},a.each({scrollstop:"scrollstart",taphold:"tap",swipeleft:"swipe.left",swiperight:"swipe.right"},function(b,c){a.event.special[b]={setup:function(){a(this).bind(c,a.noop)},teardown:function(){a(this).unbind(c)}}})}(a,this),function(a){a.event.special.throttledresize={setup:function(){a(this).bind("resize",f)},teardown:function(){a(this).unbind("resize",f)}};var b,c,d,e=250,f=function(){c=(new Date).getTime(),d=c-g,d>=e?(g=c,a(this).trigger("throttledresize")):(b&&clearTimeout(b),b=setTimeout(f,e-d))},g=0}(a),function(a,b){function d(){var a=e();a!==f&&(f=a,l.trigger(m))}var e,f,g,h,i,j,k,l=a(b),m="orientationchange",n={0:!0,180:!0};a.support.orientation&&(i=b.innerWidth||l.width(),j=b.innerHeight||l.height(),k=50,g=i>j&&i-j>k,h=n[b.orientation],(g&&h||!g&&!h)&&(n={"-90":!0,90:!0})),a.event.special.orientationchange=a.extend({},a.event.special.orientationchange,{setup:function(){return a.support.orientation&&!a.event.special.orientationchange.disabled?!1:(f=e(),void l.bind("throttledresize",d))},teardown:function(){return a.support.orientation&&!a.event.special.orientationchange.disabled?!1:void l.unbind("throttledresize",d)},add:function(a){var b=a.handler;a.handler=function(a){return a.orientation=e(),b.apply(this,arguments)}}}),a.event.special.orientationchange.orientation=e=function(){var d=!0,e=c.documentElement;return d=a.support.orientation?n[b.orientation]:e&&e.clientWidth/e.clientHeight<1.1,d?"portrait":"landscape"},a.fn[m]=function(a){return a?this.bind(m,a):this.trigger(m)},a.attrFn&&(a.attrFn[m]=!0)}(a,this),function(a){var b=a("head").children("base"),c={element:b.length?b:a("<base>",{href:a.mobile.path.documentBase.hrefNoHash}).prependTo(a("head")),linkSelector:"[src], link[href], a[rel='external'], :jqmData(ajax='false'), a[target]",set:function(b){a.mobile.dynamicBaseEnabled&&a.support.dynamicBaseTag&&c.element.attr("href",a.mobile.path.makeUrlAbsolute(b,a.mobile.path.documentBase))},rewrite:function(b,d){var e=a.mobile.path.get(b);d.find(c.linkSelector).each(function(b,c){var d=a(c).is("[href]")?"href":a(c).is("[src]")?"src":"action",f=a.mobile.path.parseLocation(),g=a(c).attr(d);g=g.replace(f.protocol+f.doubleSlash+f.host+f.pathname,""),/^(\w+:|#|\/)/.test(g)||a(c).attr(d,e+g)})},reset:function(){c.element.attr("href",a.mobile.path.documentBase.hrefNoSearch)}};a.mobile.base=c}(a),function(a,b){a.mobile.widgets={};var c=a.widget,d=a.mobile.keepNative;a.widget=function(c){return function(){var d=c.apply(this,arguments),e=d.prototype.widgetName;return d.initSelector=d.prototype.initSelector!==b?d.prototype.initSelector:":jqmData(role='"+e+"')",a.mobile.widgets[e]=d,d}}(a.widget),a.extend(a.widget,c),a.mobile.document.on("create",function(b){a(b.target).enhanceWithin()}),a.widget("mobile.page",{options:{theme:"a",domCache:!1,keepNativeDefault:a.mobile.keepNative,contentTheme:null,enhanced:!1},_createWidget:function(){a.Widget.prototype._createWidget.apply(this,arguments),this._trigger("init")},_create:function(){return this._trigger("beforecreate")===!1?!1:(this.options.enhanced||this._enhance(),this._on(this.element,{pagebeforehide:"removeContainerBackground",pagebeforeshow:"_handlePageBeforeShow"}),this.element.enhanceWithin(),void("dialog"===a.mobile.getAttribute(this.element[0],"role")&&a.mobile.dialog&&this.element.dialog()))},_enhance:function(){var c="data-"+a.mobile.ns,d=this;this.options.role&&this.element.attr("data-"+a.mobile.ns+"role",this.options.role),this.element.attr("tabindex","0").addClass("ui-page ui-page-theme-"+this.options.theme),this.element.find("["+c+"role='content']").each(function(){var e=a(this),f=this.getAttribute(c+"theme")||b;d.options.contentTheme=f||d.options.contentTheme||d.options.dialog&&d.options.theme||"dialog"===d.element.jqmData("role")&&d.options.theme,e.addClass("ui-content"),d.options.contentTheme&&e.addClass("ui-body-"+d.options.contentTheme),e.attr("role","main").addClass("ui-content")})},bindRemove:function(b){var c=this.element;!c.data("mobile-page").options.domCache&&c.is(":jqmData(external-page='true')")&&c.bind("pagehide.remove",b||function(b,c){if(!c.samePage){var d=a(this),e=new a.Event("pageremove");d.trigger(e),e.isDefaultPrevented()||d.removeWithDependents()}})},_setOptions:function(c){c.theme!==b&&this.element.removeClass("ui-page-theme-"+this.options.theme).addClass("ui-page-theme-"+c.theme),c.contentTheme!==b&&this.element.find("[data-"+a.mobile.ns+"='content']").removeClass("ui-body-"+this.options.contentTheme).addClass("ui-body-"+c.contentTheme)},_handlePageBeforeShow:function(){this.setContainerBackground()},removeContainerBackground:function(){this.element.closest(":mobile-pagecontainer").pagecontainer({theme:"none"})},setContainerBackground:function(a){this.element.parent().pagecontainer({theme:a||this.options.theme})},keepNativeSelector:function(){var b=this.options,c=a.trim(b.keepNative||""),e=a.trim(a.mobile.keepNative),f=a.trim(b.keepNativeDefault),g=d===e?"":e,h=""===g?f:"";return(c?[c]:[]).concat(g?[g]:[]).concat(h?[h]:[]).join(", ")}})}(a),function(a,d){a.widget("mobile.pagecontainer",{options:{theme:"a"},initSelector:!1,_create:function(){this._trigger("beforecreate"),this.setLastScrollEnabled=!0,this._on(this.window,{navigate:"_disableRecordScroll",scrollstop:"_delayedRecordScroll"}),this._on(this.window,{navigate:"_filterNavigateEvents"}),this._on({pagechange:"_afterContentChange"}),this.window.one("navigate",a.proxy(function(){this.setLastScrollEnabled=!0},this))},_setOptions:function(a){a.theme!==d&&"none"!==a.theme?this.element.removeClass("ui-overlay-"+this.options.theme).addClass("ui-overlay-"+a.theme):a.theme!==d&&this.element.removeClass("ui-overlay-"+this.options.theme),this._super(a)},_disableRecordScroll:function(){this.setLastScrollEnabled=!1},_enableRecordScroll:function(){this.setLastScrollEnabled=!0},_afterContentChange:function(){this.setLastScrollEnabled=!0,this._off(this.window,"scrollstop"),this._on(this.window,{scrollstop:"_delayedRecordScroll"})},_recordScroll:function(){if(this.setLastScrollEnabled){var a,b,c,d=this._getActiveHistory();d&&(a=this._getScroll(),b=this._getMinScroll(),c=this._getDefaultScroll(),d.lastScroll=b>a?c:a)}},_delayedRecordScroll:function(){setTimeout(a.proxy(this,"_recordScroll"),100)},_getScroll:function(){return this.window.scrollTop()},_getMinScroll:function(){return a.mobile.minScrollBack},_getDefaultScroll:function(){return a.mobile.defaultHomeScroll},_filterNavigateEvents:function(b,c){var d;b.originalEvent&&b.originalEvent.isDefaultPrevented()||(d=b.originalEvent.type.indexOf("hashchange")>-1?c.state.hash:c.state.url,d||(d=this._getHash()),d&&"#"!==d&&0!==d.indexOf("#"+a.mobile.path.uiStateKey)||(d=location.href),this._handleNavigate(d,c.state))},_getHash:function(){return a.mobile.path.parseLocation().hash},getActivePage:function(){return this.activePage},_getInitialContent:function(){return a.mobile.firstPage},_getHistory:function(){return a.mobile.navigate.history},_getActiveHistory:function(){return this._getHistory().getActive()},_getDocumentBase:function(){return a.mobile.path.documentBase},back:function(){this.go(-1)},forward:function(){this.go(1)},go:function(c){if(a.mobile.hashListeningEnabled)b.history.go(c);else{var d=a.mobile.navigate.history.activeIndex,e=d+parseInt(c,10),f=a.mobile.navigate.history.stack[e].url,g=c>=1?"forward":"back";a.mobile.navigate.history.activeIndex=e,a.mobile.navigate.history.previousIndex=d,this.change(f,{direction:g,changeHash:!1,fromHashChange:!0})}},_handleDestination:function(b){var c;return"string"===a.type(b)&&(b=a.mobile.path.stripHash(b)),b&&(c=this._getHistory(),b=a.mobile.path.isPath(b)?b:a.mobile.path.makeUrlAbsolute("#"+b,this._getDocumentBase())),b||this._getInitialContent()},_transitionFromHistory:function(a,b){var c=this._getHistory(),d="back"===a?c.getLast():c.getActive();return d&&d.transition||b},_handleDialog:function(b,c){var d,e,f=this.getActivePage();return f&&!f.data("mobile-dialog")?("back"===c.direction?this.back():this.forward(),!1):(d=c.pageUrl,e=this._getActiveHistory(),a.extend(b,{role:e.role,transition:this._transitionFromHistory(c.direction,b.transition),reverse:"back"===c.direction}),d)},_handleNavigate:function(b,c){var d=a.mobile.path.stripHash(b),e=this._getHistory(),f=0===e.stack.length?"none":this._transitionFromHistory(c.direction),g={changeHash:!1,fromHashChange:!0,reverse:"back"===c.direction};a.extend(g,c,{transition:f}),e.activeIndex>0&&d.indexOf(a.mobile.dialogHashKey)>-1&&(d=this._handleDialog(g,c),d===!1)||this._changeContent(this._handleDestination(d),g)},_changeContent:function(b,c){a.mobile.changePage(b,c)},_getBase:function(){return a.mobile.base},_getNs:function(){return a.mobile.ns},_enhance:function(a,b){return a.page({role:b})},_include:function(a,b){a.appendTo(this.element),this._enhance(a,b.role),a.page("bindRemove")},_find:function(b){var c,d=this._createFileUrl(b),e=this._createDataUrl(b),f=this._getInitialContent();return c=this.element.children("[data-"+this._getNs()+"url='"+a.mobile.path.hashToSelector(e)+"']"),0===c.length&&e&&!a.mobile.path.isPath(e)&&(c=this.element.children(a.mobile.path.hashToSelector("#"+e)).attr("data-"+this._getNs()+"url",e).jqmData("url",e)),0===c.length&&a.mobile.path.isFirstPageUrl(d)&&f&&f.parent().length&&(c=a(f)),c},_getLoader:function(){return a.mobile.loading()},_showLoading:function(b,c,d,e){this._loadMsg||(this._loadMsg=setTimeout(a.proxy(function(){this._getLoader().loader("show",c,d,e),this._loadMsg=0},this),b))},_hideLoading:function(){clearTimeout(this._loadMsg),this._loadMsg=0,this._getLoader().loader("hide")},_showError:function(){this._hideLoading(),this._showLoading(0,a.mobile.pageLoadErrorMessageTheme,a.mobile.pageLoadErrorMessage,!0),setTimeout(a.proxy(this,"_hideLoading"),1500)},_parse:function(b,c){var d,e=a("<div></div>");return e.get(0).innerHTML=b,d=e.find(":jqmData(role='page'), :jqmData(role='dialog')").first(),d.length||(d=a("<div data-"+this._getNs()+"role='page'>"+(b.split(/<\/?body[^>]*>/gim)[1]||"")+"</div>")),d.attr("data-"+this._getNs()+"url",this._createDataUrl(c)).attr("data-"+this._getNs()+"external-page",!0),d},_setLoadedTitle:function(b,c){var d=c.match(/<title[^>]*>([^<]*)/)&&RegExp.$1;d&&!b.jqmData("title")&&(d=a("<div>"+d+"</div>").text(),b.jqmData("title",d))},_isRewritableBaseTag:function(){return a.mobile.dynamicBaseEnabled&&!a.support.dynamicBaseTag},_createDataUrl:function(b){return a.mobile.path.convertUrlToDataUrl(b)},_createFileUrl:function(b){return a.mobile.path.getFilePath(b)},_triggerWithDeprecated:function(b,c,d){var e=a.Event("page"+b),f=a.Event(this.widgetName+b);return(d||this.element).trigger(e,c),this._trigger(b,f,c),{deprecatedEvent:e,event:f}},_loadSuccess:function(b,c,e,f){var g=this._createFileUrl(b);return a.proxy(function(h,i,j){var k,l=new RegExp("(<[^>]+\\bdata-"+this._getNs()+"role=[\"']?page[\"']?[^>]*>)"),m=new RegExp("\\bdata-"+this._getNs()+"url=[\"']?([^\"'>]*)[\"']?");l.test(h)&&RegExp.$1&&m.test(RegExp.$1)&&RegExp.$1&&(g=a.mobile.path.getFilePath(a("<div>"+RegExp.$1+"</div>").text()),g=this.window[0].encodeURIComponent(g)),e.prefetch===d&&this._getBase().set(g),k=this._parse(h,g),this._setLoadedTitle(k,h),c.xhr=j,c.textStatus=i,c.page=k,c.content=k,c.toPage=k,this._triggerWithDeprecated("load",c).event.isDefaultPrevented()||(this._isRewritableBaseTag()&&k&&this._getBase().rewrite(g,k),this._include(k,e),e.showLoadMsg&&this._hideLoading(),f.resolve(b,e,k))},this)},_loadDefaults:{type:"get",data:d,reloadPage:!1,reload:!1,role:d,showLoadMsg:!1,loadMsgDelay:50},load:function(b,c){var e,f,g,h,i=c&&c.deferred||a.Deferred(),j=c&&c.reload===d&&c.reloadPage!==d?{reload:c.reloadPage}:{},k=a.extend({},this._loadDefaults,c,j),l=null,m=a.mobile.path.makeUrlAbsolute(b,this._findBaseWithDefault());return k.data&&"get"===k.type&&(m=a.mobile.path.addSearchParams(m,k.data),k.data=d),k.data&&"post"===k.type&&(k.reload=!0),e=this._createFileUrl(m),f=this._createDataUrl(m),l=this._find(m),0===l.length&&a.mobile.path.isEmbeddedPage(e)&&!a.mobile.path.isFirstPageUrl(e)?(i.reject(m,k),i.promise()):(this._getBase().reset(),l.length&&!k.reload?(this._enhance(l,k.role),i.resolve(m,k,l),k.prefetch||this._getBase().set(b),i.promise()):(h={url:b,absUrl:m,toPage:b,prevPage:c?c.fromPage:d,dataUrl:f,deferred:i,options:k},g=this._triggerWithDeprecated("beforeload",h),g.deprecatedEvent.isDefaultPrevented()||g.event.isDefaultPrevented()?i.promise():(k.showLoadMsg&&this._showLoading(k.loadMsgDelay),k.prefetch===d&&this._getBase().reset(),a.mobile.allowCrossDomainPages||a.mobile.path.isSameDomain(a.mobile.path.documentUrl,m)?(a.ajax({url:e,type:k.type,data:k.data,contentType:k.contentType,dataType:"html",success:this._loadSuccess(m,h,k,i),error:this._loadError(m,h,k,i)}),i.promise()):(i.reject(m,k),i.promise()))))},_loadError:function(b,c,d,e){return a.proxy(function(f,g,h){this._getBase().set(a.mobile.path.get()),c.xhr=f,c.textStatus=g,c.errorThrown=h;var i=this._triggerWithDeprecated("loadfailed",c);i.deprecatedEvent.isDefaultPrevented()||i.event.isDefaultPrevented()||(d.showLoadMsg&&this._showError(),e.reject(b,d))},this)},_getTransitionHandler:function(b){return b=a.mobile._maybeDegradeTransition(b),a.mobile.transitionHandlers[b]||a.mobile.defaultTransitionHandler},_triggerCssTransitionEvents:function(b,c,d){var e=!1;d=d||"",c&&(b[0]===c[0]&&(e=!0),this._triggerWithDeprecated(d+"hide",{nextPage:b,toPage:b,prevPage:c,samePage:e},c)),this._triggerWithDeprecated(d+"show",{prevPage:c||a(""),toPage:b},b)},_cssTransition:function(b,c,d){var e,f,g=d.transition,h=d.reverse,i=d.deferred;this._triggerCssTransitionEvents(b,c,"before"),this._hideLoading(),e=this._getTransitionHandler(g),f=new e(g,h,b,c).transition(),f.done(a.proxy(function(){this._triggerCssTransitionEvents(b,c)},this)),f.done(function(){i.resolve.apply(i,arguments)})},_releaseTransitionLock:function(){f=!1,e.length>0&&a.mobile.changePage.apply(null,e.pop())},_removeActiveLinkClass:function(b){a.mobile.removeActiveLinkClass(b)},_loadUrl:function(b,c,d){d.target=b,d.deferred=a.Deferred(),this.load(b,d),d.deferred.done(a.proxy(function(a,b,d){f=!1,b.absUrl=c.absUrl,this.transition(d,c,b)},this)),d.deferred.fail(a.proxy(function(){this._removeActiveLinkClass(!0),this._releaseTransitionLock(),this._triggerWithDeprecated("changefailed",c)},this))},_triggerPageBeforeChange:function(b,c,d){var e;return c.prevPage=this.activePage,a.extend(c,{toPage:b,options:d}),c.absUrl="string"===a.type(b)?a.mobile.path.makeUrlAbsolute(b,this._findBaseWithDefault()):d.absUrl,e=this._triggerWithDeprecated("beforechange",c),e.event.isDefaultPrevented()||e.deprecatedEvent.isDefaultPrevented()?!1:!0},change:function(b,c){if(f)return void e.unshift(arguments);var d=a.extend({},a.mobile.changePage.defaults,c),g={};d.fromPage=d.fromPage||this.activePage,this._triggerPageBeforeChange(b,g,d)&&(b=g.toPage,"string"===a.type(b)?(f=!0,this._loadUrl(b,g,d)):this.transition(b,g,d))},transition:function(b,g,h){var i,j,k,l,m,n,o,p,q,r,s,t,u,v;if(f)return void e.unshift([b,h]);if(this._triggerPageBeforeChange(b,g,h)&&(g.prevPage=h.fromPage,v=this._triggerWithDeprecated("beforetransition",g),!v.deprecatedEvent.isDefaultPrevented()&&!v.event.isDefaultPrevented())){if(f=!0,b[0]!==a.mobile.firstPage[0]||h.dataUrl||(h.dataUrl=a.mobile.path.documentUrl.hrefNoHash),i=h.fromPage,j=h.dataUrl&&a.mobile.path.convertUrlToDataUrl(h.dataUrl)||b.jqmData("url"),k=j,l=a.mobile.path.getFilePath(j),m=a.mobile.navigate.history.getActive(),n=0===a.mobile.navigate.history.activeIndex,o=0,p=c.title,q=("dialog"===h.role||"dialog"===b.jqmData("role"))&&b.jqmData("dialog")!==!0,i&&i[0]===b[0]&&!h.allowSamePageTransition)return f=!1,this._triggerWithDeprecated("transition",g),this._triggerWithDeprecated("change",g),void(h.fromHashChange&&a.mobile.navigate.history.direct({url:j}));b.page({role:h.role}),h.fromHashChange&&(o="back"===h.direction?-1:1);try{c.activeElement&&"body"!==c.activeElement.nodeName.toLowerCase()?a(c.activeElement).blur():a("input:focus, textarea:focus, select:focus").blur()}catch(w){}r=!1,q&&m&&(m.url&&m.url.indexOf(a.mobile.dialogHashKey)>-1&&this.activePage&&!this.activePage.hasClass("ui-dialog")&&a.mobile.navigate.history.activeIndex>0&&(h.changeHash=!1,r=!0),j=m.url||"",j+=!r&&j.indexOf("#")>-1?a.mobile.dialogHashKey:"#"+a.mobile.dialogHashKey),s=m?b.jqmData("title")||b.children(":jqmData(role='header')").find(".ui-title").text():p,s&&p===c.title&&(p=s),b.jqmData("title")||b.jqmData("title",p),h.transition=h.transition||(o&&!n?m.transition:d)||(q?a.mobile.defaultDialogTransition:a.mobile.defaultPageTransition),!o&&r&&(a.mobile.navigate.history.getActive().pageUrl=k),j&&!h.fromHashChange&&(!a.mobile.path.isPath(j)&&j.indexOf("#")<0&&(j="#"+j),t={transition:h.transition,title:p,pageUrl:k,role:h.role},h.changeHash!==!1&&a.mobile.hashListeningEnabled?a.mobile.navigate(this.window[0].encodeURI(j),t,!0):b[0]!==a.mobile.firstPage[0]&&a.mobile.navigate.history.add(j,t)),c.title=p,a.mobile.activePage=b,this.activePage=b,h.reverse=h.reverse||0>o,u=a.Deferred(),this._cssTransition(b,i,{transition:h.transition,reverse:h.reverse,deferred:u}),u.done(a.proxy(function(c,d,e,f,i){a.mobile.removeActiveLinkClass(),h.duplicateCachedPage&&h.duplicateCachedPage.remove(),i||a.mobile.focusPage(b),this._releaseTransitionLock(),this._triggerWithDeprecated("transition",g),this._triggerWithDeprecated("change",g)},this))}},_findBaseWithDefault:function(){var b=this.activePage&&a.mobile.getClosestBaseUrl(this.activePage);return b||a.mobile.path.documentBase.hrefNoHash}}),a.mobile.navreadyDeferred=a.Deferred();var e=[],f=!1}(a),function(a,d){function e(a){for(;a&&("string"!=typeof a.nodeName||"a"!==a.nodeName.toLowerCase());)a=a.parentNode;return a}var f=a.Deferred(),g=a.Deferred(),h=function(){g.resolve(),g=null},i=a.mobile.path.documentUrl,j=null;a.mobile.loadPage=function(b,c){var d;return c=c||{},d=c.pageContainer||a.mobile.pageContainer,c.deferred=a.Deferred(),d.pagecontainer("load",b,c),c.deferred.promise()},a.mobile.back=function(){var c=b.navigator;this.phonegapNavigationEnabled&&c&&c.app&&c.app.backHistory?c.app.backHistory():a.mobile.pageContainer.pagecontainer("back")},a.mobile.focusPage=function(a){var b=a.find("[autofocus]"),c=a.find(".ui-title:eq(0)");return b.length?void b.focus():void(c.length?c.focus():a.focus())},a.mobile._maybeDegradeTransition=a.mobile._maybeDegradeTransition||function(a){return a},a.mobile.changePage=function(b,c){a.mobile.pageContainer.pagecontainer("change",b,c)},a.mobile.changePage.defaults={transition:d,reverse:!1,changeHash:!0,fromHashChange:!1,role:d,duplicateCachedPage:d,pageContainer:d,showLoadMsg:!0,dataUrl:d,fromPage:d,allowSamePageTransition:!1},a.mobile._registerInternalEvents=function(){var c=function(b,c){var d,e,f,g,h=!0;return!a.mobile.ajaxEnabled||b.is(":jqmData(ajax='false')")||!b.jqmHijackable().length||b.attr("target")?!1:(d=j&&j.attr("formaction")||b.attr("action"),g=(b.attr("method")||"get").toLowerCase(),d||(d=a.mobile.getClosestBaseUrl(b),"get"===g&&(d=a.mobile.path.parseUrl(d).hrefNoSearch),d===a.mobile.path.documentBase.hrefNoHash&&(d=i.hrefNoSearch)),d=a.mobile.path.makeUrlAbsolute(d,a.mobile.getClosestBaseUrl(b)),a.mobile.path.isExternal(d)&&!a.mobile.path.isPermittedCrossDomainRequest(i,d)?!1:(c||(e=b.serializeArray(),j&&j[0].form===b[0]&&(f=j.attr("name"),f&&(a.each(e,function(a,b){return b.name===f?(f="",!1):void 0}),f&&e.push({name:f,value:j.attr("value")}))),h={url:d,options:{type:g,data:a.param(e),transition:b.jqmData("transition"),reverse:"reverse"===b.jqmData("direction"),reloadPage:!0}}),h))};a.mobile.document.delegate("form","submit",function(b){var d;b.isDefaultPrevented()||(d=c(a(this)),d&&(a.mobile.changePage(d.url,d.options),b.preventDefault()))}),a.mobile.document.bind("vclick",function(b){var d,f,g=b.target,h=!1;if(!(b.which>1)&&a.mobile.linkBindingEnabled){if(j=a(g),a.data(g,"mobile-button")){if(!c(a(g).closest("form"),!0))return;g.parentNode&&(g=g.parentNode)}else{if(g=e(g),!g||"#"===a.mobile.path.parseUrl(g.getAttribute("href")||"#").hash)return;if(!a(g).jqmHijackable().length)return}~g.className.indexOf("ui-link-inherit")?g.parentNode&&(f=a.data(g.parentNode,"buttonElements")):f=a.data(g,"buttonElements"),f?g=f.outer:h=!0,d=a(g),h&&(d=d.closest(".ui-btn")),d.length>0&&!d.hasClass("ui-state-disabled")&&(a.mobile.removeActiveLinkClass(!0),a.mobile.activeClickedLink=d,a.mobile.activeClickedLink.addClass(a.mobile.activeBtnClass))}}),a.mobile.document.bind("click",function(c){if(a.mobile.linkBindingEnabled&&!c.isDefaultPrevented()){var f,g,h,j,k,l,m,n=e(c.target),o=a(n),p=function(){b.setTimeout(function(){a.mobile.removeActiveLinkClass(!0)},200)};if(a.mobile.activeClickedLink&&a.mobile.activeClickedLink[0]===c.target.parentNode&&p(),n&&!(c.which>1)&&o.jqmHijackable().length){if(o.is(":jqmData(rel='back')"))return a.mobile.back(),!1;if(f=a.mobile.getClosestBaseUrl(o),g=a.mobile.path.makeUrlAbsolute(o.attr("href")||"#",f),!a.mobile.ajaxEnabled&&!a.mobile.path.isEmbeddedPage(g))return void p();if(!(-1===g.search("#")||a.mobile.path.isExternal(g)&&a.mobile.path.isAbsoluteUrl(g))){if(g=g.replace(/[^#]*#/,""),!g)return void c.preventDefault();g=a.mobile.path.isPath(g)?a.mobile.path.makeUrlAbsolute(g,f):a.mobile.path.makeUrlAbsolute("#"+g,i.hrefNoHash)}if(h=o.is("[rel='external']")||o.is(":jqmData(ajax='false')")||o.is("[target]"),j=h||a.mobile.path.isExternal(g)&&!a.mobile.path.isPermittedCrossDomainRequest(i,g))return void p();k=o.jqmData("transition"),l="reverse"===o.jqmData("direction")||o.jqmData("back"),m=o.attr("data-"+a.mobile.ns+"rel")||d,a.mobile.changePage(g,{transition:k,reverse:l,role:m,link:o}),c.preventDefault()}}}),a.mobile.document.delegate(".ui-page","pageshow.prefetch",function(){var b=[];a(this).find("a:jqmData(prefetch)").each(function(){var c=a(this),d=c.attr("href");d&&-1===a.inArray(d,b)&&(b.push(d),a.mobile.loadPage(d,{role:c.attr("data-"+a.mobile.ns+"rel"),prefetch:!0}))})}),a.mobile.pageContainer.pagecontainer(),a.mobile.document.bind("pageshow",function(){g?g.done(a.mobile.resetActivePageHeight):a.mobile.resetActivePageHeight() -}),a.mobile.window.bind("throttledresize",a.mobile.resetActivePageHeight)},a(function(){f.resolve()}),"complete"===c.readyState?h():a.mobile.window.load(h),a.when(f,a.mobile.navreadyDeferred).done(function(){a.mobile._registerInternalEvents()})}(a),function(a,b){a.mobile.Transition=function(){this.init.apply(this,arguments)},a.extend(a.mobile.Transition.prototype,{toPreClass:" ui-page-pre-in",init:function(b,c,d,e){a.extend(this,{name:b,reverse:c,$to:d,$from:e,deferred:new a.Deferred})},cleanFrom:function(){this.$from.removeClass(a.mobile.activePageClass+" out in reverse "+this.name).height("")},beforeDoneIn:function(){},beforeDoneOut:function(){},beforeStartOut:function(){},doneIn:function(){this.beforeDoneIn(),this.$to.removeClass("out in reverse "+this.name).height(""),this.toggleViewportClass(),a.mobile.window.scrollTop()!==this.toScroll&&this.scrollPage(),this.sequential||this.$to.addClass(a.mobile.activePageClass),this.deferred.resolve(this.name,this.reverse,this.$to,this.$from,!0)},doneOut:function(a,b,c,d){this.beforeDoneOut(),this.startIn(a,b,c,d)},hideIn:function(a){this.$to.css("z-index",-10),a.call(this),this.$to.css("z-index","")},scrollPage:function(){a.event.special.scrollstart.enabled=!1,(a.mobile.hideUrlBar||this.toScroll!==a.mobile.defaultHomeScroll)&&b.scrollTo(0,this.toScroll),setTimeout(function(){a.event.special.scrollstart.enabled=!0},150)},startIn:function(b,c,d,e){this.hideIn(function(){this.$to.addClass(a.mobile.activePageClass+this.toPreClass),e||a.mobile.focusPage(this.$to),this.$to.height(b+this.toScroll),d||this.scrollPage()}),this.$to.removeClass(this.toPreClass).addClass(this.name+" in "+c),d?this.doneIn():this.$to.animationComplete(a.proxy(function(){this.doneIn()},this))},startOut:function(b,c,d){this.beforeStartOut(b,c,d),this.$from.height(b+a.mobile.window.scrollTop()).addClass(this.name+" out"+c)},toggleViewportClass:function(){a.mobile.pageContainer.toggleClass("ui-mobile-viewport-transitioning viewport-"+this.name)},transition:function(){var b,c=this.reverse?" reverse":"",d=a.mobile.getScreenHeight(),e=a.mobile.maxTransitionWidth!==!1&&a.mobile.window.width()>a.mobile.maxTransitionWidth;return this.toScroll=a.mobile.navigate.history.getActive().lastScroll||a.mobile.defaultHomeScroll,b=!a.support.cssTransitions||!a.support.cssAnimations||e||!this.name||"none"===this.name||Math.max(a.mobile.window.scrollTop(),this.toScroll)>a.mobile.getMaxScrollForTransition(),this.toggleViewportClass(),this.$from&&!b?this.startOut(d,c,b):this.doneOut(d,c,b,!0),this.deferred.promise()}})}(a,this),function(a){a.mobile.SerialTransition=function(){this.init.apply(this,arguments)},a.extend(a.mobile.SerialTransition.prototype,a.mobile.Transition.prototype,{sequential:!0,beforeDoneOut:function(){this.$from&&this.cleanFrom()},beforeStartOut:function(b,c,d){this.$from.animationComplete(a.proxy(function(){this.doneOut(b,c,d)},this))}})}(a),function(a){a.mobile.ConcurrentTransition=function(){this.init.apply(this,arguments)},a.extend(a.mobile.ConcurrentTransition.prototype,a.mobile.Transition.prototype,{sequential:!1,beforeDoneIn:function(){this.$from&&this.cleanFrom()},beforeStartOut:function(a,b,c){this.doneOut(a,b,c)}})}(a),function(a){var b=function(){return 3*a.mobile.getScreenHeight()};a.mobile.transitionHandlers={sequential:a.mobile.SerialTransition,simultaneous:a.mobile.ConcurrentTransition},a.mobile.defaultTransitionHandler=a.mobile.transitionHandlers.sequential,a.mobile.transitionFallbacks={},a.mobile._maybeDegradeTransition=function(b){return b&&!a.support.cssTransform3d&&a.mobile.transitionFallbacks[b]&&(b=a.mobile.transitionFallbacks[b]),b},a.mobile.getMaxScrollForTransition=a.mobile.getMaxScrollForTransition||b}(a),function(a){a.mobile.transitionFallbacks.flip="fade"}(a,this),function(a){a.mobile.transitionFallbacks.flow="fade"}(a,this),function(a){a.mobile.transitionFallbacks.pop="fade"}(a,this),function(a){a.mobile.transitionHandlers.slide=a.mobile.transitionHandlers.simultaneous,a.mobile.transitionFallbacks.slide="fade"}(a,this),function(a){a.mobile.transitionFallbacks.slidedown="fade"}(a,this),function(a){a.mobile.transitionFallbacks.slidefade="fade"}(a,this),function(a){a.mobile.transitionFallbacks.slideup="fade"}(a,this),function(a){a.mobile.transitionFallbacks.turn="fade"}(a,this),function(a){a.mobile.degradeInputs={color:!1,date:!1,datetime:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:"number",search:"text",tel:!1,time:!1,url:!1,week:!1},a.mobile.page.prototype.options.degradeInputs=a.mobile.degradeInputs,a.mobile.degradeInputsWithin=function(b){b=a(b),b.find("input").not(a.mobile.page.prototype.keepNativeSelector()).each(function(){var b,c,d,e,f=a(this),g=this.getAttribute("type"),h=a.mobile.degradeInputs[g]||"text";a.mobile.degradeInputs[g]&&(b=a("<div>").html(f.clone()).html(),c=b.indexOf(" type=")>-1,d=c?/\s+type=["']?\w+['"]?/:/\/?>/,e=' type="'+h+'" data-'+a.mobile.ns+'type="'+g+'"'+(c?"":">"),f.replaceWith(b.replace(d,e)))})}}(a),function(a,b,c){a.widget("mobile.page",a.mobile.page,{options:{closeBtn:"left",closeBtnText:"Close",overlayTheme:"a",corners:!0,dialog:!1},_create:function(){this._super(),this.options.dialog&&(a.extend(this,{_inner:this.element.children(),_headerCloseButton:null}),this.options.enhanced||this._setCloseBtn(this.options.closeBtn))},_enhance:function(){this._super(),this.options.dialog&&this.element.addClass("ui-dialog").wrapInner(a("<div/>",{role:"dialog","class":"ui-dialog-contain ui-overlay-shadow"+(this.options.corners?" ui-corner-all":"")}))},_setOptions:function(b){var d,e,f=this.options;b.corners!==c&&this._inner.toggleClass("ui-corner-all",!!b.corners),b.overlayTheme!==c&&a.mobile.activePage[0]===this.element[0]&&(f.overlayTheme=b.overlayTheme,this._handlePageBeforeShow()),b.closeBtnText!==c&&(d=f.closeBtn,e=b.closeBtnText),b.closeBtn!==c&&(d=b.closeBtn),d&&this._setCloseBtn(d,e),this._super(b)},_handlePageBeforeShow:function(){this.options.overlayTheme&&this.options.dialog?(this.removeContainerBackground(),this.setContainerBackground(this.options.overlayTheme)):this._super()},_setCloseBtn:function(b,c){var d,e=this._headerCloseButton;b="left"===b?"left":"right"===b?"right":"none","none"===b?e&&(e.remove(),e=null):e?(e.removeClass("ui-btn-left ui-btn-right").addClass("ui-btn-"+b),c&&e.text(c)):(d=this._inner.find(":jqmData(role='header')").first(),e=a("<a></a>",{href:"#","class":"ui-btn ui-corner-all ui-icon-delete ui-btn-icon-notext ui-btn-"+b}).attr("data-"+a.mobile.ns+"rel","back").text(c||this.options.closeBtnText||"").prependTo(d)),this._headerCloseButton=e}})}(a,this),function(a,b,c){a.widget("mobile.dialog",{options:{closeBtn:"left",closeBtnText:"Close",overlayTheme:"a",corners:!0},_handlePageBeforeShow:function(){this._isCloseable=!0,this.options.overlayTheme&&this.element.page("removeContainerBackground").page("setContainerBackground",this.options.overlayTheme)},_handlePageBeforeHide:function(){this._isCloseable=!1},_handleVClickSubmit:function(b){var c,d=a(b.target).closest("vclick"===b.type?"a":"form");d.length&&!d.jqmData("transition")&&(c={},c["data-"+a.mobile.ns+"transition"]=(a.mobile.navigate.history.getActive()||{}).transition||a.mobile.defaultDialogTransition,c["data-"+a.mobile.ns+"direction"]="reverse",d.attr(c))},_create:function(){var b=this.element,c=this.options;b.addClass("ui-dialog").wrapInner(a("<div/>",{role:"dialog","class":"ui-dialog-contain ui-overlay-shadow"+(c.corners?" ui-corner-all":"")})),a.extend(this,{_isCloseable:!1,_inner:b.children(),_headerCloseButton:null}),this._on(b,{vclick:"_handleVClickSubmit",submit:"_handleVClickSubmit",pagebeforeshow:"_handlePageBeforeShow",pagebeforehide:"_handlePageBeforeHide"}),this._setCloseBtn(c.closeBtn)},_setOptions:function(b){var d,e,f=this.options;b.corners!==c&&this._inner.toggleClass("ui-corner-all",!!b.corners),b.overlayTheme!==c&&a.mobile.activePage[0]===this.element[0]&&(f.overlayTheme=b.overlayTheme,this._handlePageBeforeShow()),b.closeBtnText!==c&&(d=f.closeBtn,e=b.closeBtnText),b.closeBtn!==c&&(d=b.closeBtn),d&&this._setCloseBtn(d,e),this._super(b)},_setCloseBtn:function(b,c){var d,e=this._headerCloseButton;b="left"===b?"left":"right"===b?"right":"none","none"===b?e&&(e.remove(),e=null):e?(e.removeClass("ui-btn-left ui-btn-right").addClass("ui-btn-"+b),c&&e.text(c)):(d=this._inner.find(":jqmData(role='header')").first(),e=a("<a></a>",{role:"button",href:"#","class":"ui-btn ui-corner-all ui-icon-delete ui-btn-icon-notext ui-btn-"+b}).text(c||this.options.closeBtnText||"").prependTo(d),this._on(e,{click:"close"})),this._headerCloseButton=e},close:function(){var b=a.mobile.navigate.history;this._isCloseable&&(this._isCloseable=!1,a.mobile.hashListeningEnabled&&b.activeIndex>0?a.mobile.back():a.mobile.pageContainer.pagecontainer("back"))}})}(a,this),function(a,b){var c=/([A-Z])/g,d=function(a){return"ui-btn-icon-"+(null===a?"left":a)};a.widget("mobile.collapsible",{options:{enhanced:!1,expandCueText:null,collapseCueText:null,collapsed:!0,heading:"h1,h2,h3,h4,h5,h6,legend",collapsedIcon:null,expandedIcon:null,iconpos:null,theme:null,contentTheme:null,inset:null,corners:null,mini:null},_create:function(){var b=this.element,c={accordion:b.closest(":jqmData(role='collapsible-set'),:jqmData(role='collapsibleset')"+(a.mobile.collapsibleset?", :mobile-collapsibleset":"")).addClass("ui-collapsible-set")};this._ui=c,this._renderedOptions=this._getOptions(this.options),this.options.enhanced?(c.heading=this.element.children(".ui-collapsible-heading"),c.content=c.heading.next(),c.anchor=c.heading.children(),c.status=c.anchor.children(".ui-collapsible-heading-status")):this._enhance(b,c),this._on(c.heading,{tap:function(){c.heading.find("a").first().addClass(a.mobile.activeBtnClass)},click:function(a){this._handleExpandCollapse(!c.heading.hasClass("ui-collapsible-heading-collapsed")),a.preventDefault(),a.stopPropagation()}})},_getOptions:function(b){var d,e=this._ui.accordion,f=this._ui.accordionWidget;b=a.extend({},b),e.length&&!f&&(this._ui.accordionWidget=f=e.data("mobile-collapsibleset"));for(d in b)b[d]=null!=b[d]?b[d]:f?f.options[d]:e.length?a.mobile.getAttribute(e[0],d.replace(c,"-$1").toLowerCase()):null,null==b[d]&&(b[d]=a.mobile.collapsible.defaults[d]);return b},_themeClassFromOption:function(a,b){return b?"none"===b?"":a+b:""},_enhance:function(b,c){var e,f=this._renderedOptions,g=this._themeClassFromOption("ui-body-",f.contentTheme);return b.addClass("ui-collapsible "+(f.inset?"ui-collapsible-inset ":"")+(f.inset&&f.corners?"ui-corner-all ":"")+(g?"ui-collapsible-themed-content ":"")),c.originalHeading=b.children(this.options.heading).first(),c.content=b.wrapInner("<div class='ui-collapsible-content "+g+"'></div>").children(".ui-collapsible-content"),c.heading=c.originalHeading,c.heading.is("legend")&&(c.heading=a("<div role='heading'>"+c.heading.html()+"</div>"),c.placeholder=a("<div><!-- placeholder for legend --></div>").insertBefore(c.originalHeading),c.originalHeading.remove()),e=f.collapsed?f.collapsedIcon?"ui-icon-"+f.collapsedIcon:"":f.expandedIcon?"ui-icon-"+f.expandedIcon:"",c.status=a("<span class='ui-collapsible-heading-status'></span>"),c.anchor=c.heading.detach().addClass("ui-collapsible-heading").append(c.status).wrapInner("<a href='#' class='ui-collapsible-heading-toggle'></a>").find("a").first().addClass("ui-btn "+(e?e+" ":"")+(e?d(f.iconpos)+" ":"")+this._themeClassFromOption("ui-btn-",f.theme)+" "+(f.mini?"ui-mini ":"")),c.heading.insertBefore(c.content),this._handleExpandCollapse(this.options.collapsed),c},refresh:function(){this._applyOptions(this.options),this._renderedOptions=this._getOptions(this.options)},_applyOptions:function(a){var c,e,f,g,h,i=this.element,j=this._renderedOptions,k=this._ui,l=k.anchor,m=k.status,n=this._getOptions(a);a.collapsed!==b&&this._handleExpandCollapse(a.collapsed),c=i.hasClass("ui-collapsible-collapsed"),c?n.expandCueText!==b&&m.text(n.expandCueText):n.collapseCueText!==b&&m.text(n.collapseCueText),h=n.collapsedIcon!==b?n.collapsedIcon!==!1:j.collapsedIcon!==!1,(n.iconpos!==b||n.collapsedIcon!==b||n.expandedIcon!==b)&&(l.removeClass([d(j.iconpos)].concat(j.expandedIcon?["ui-icon-"+j.expandedIcon]:[]).concat(j.collapsedIcon?["ui-icon-"+j.collapsedIcon]:[]).join(" ")),h&&l.addClass([d(n.iconpos!==b?n.iconpos:j.iconpos)].concat(c?["ui-icon-"+(n.collapsedIcon!==b?n.collapsedIcon:j.collapsedIcon)]:["ui-icon-"+(n.expandedIcon!==b?n.expandedIcon:j.expandedIcon)]).join(" "))),n.theme!==b&&(f=this._themeClassFromOption("ui-btn-",j.theme),e=this._themeClassFromOption("ui-btn-",n.theme),l.removeClass(f).addClass(e)),n.contentTheme!==b&&(f=this._themeClassFromOption("ui-body-",j.contentTheme),e=this._themeClassFromOption("ui-body-",n.contentTheme),k.content.removeClass(f).addClass(e)),n.inset!==b&&(i.toggleClass("ui-collapsible-inset",n.inset),g=!(!n.inset||!n.corners&&!j.corners)),n.corners!==b&&(g=!(!n.corners||!n.inset&&!j.inset)),g!==b&&i.toggleClass("ui-corner-all",g),n.mini!==b&&l.toggleClass("ui-mini",n.mini)},_setOptions:function(a){this._applyOptions(a),this._super(a),this._renderedOptions=this._getOptions(this.options)},_handleExpandCollapse:function(b){var c=this._renderedOptions,d=this._ui;d.status.text(b?c.expandCueText:c.collapseCueText),d.heading.toggleClass("ui-collapsible-heading-collapsed",b).find("a").first().toggleClass("ui-icon-"+c.expandedIcon,!b).toggleClass("ui-icon-"+c.collapsedIcon,b||c.expandedIcon===c.collapsedIcon).removeClass(a.mobile.activeBtnClass),this.element.toggleClass("ui-collapsible-collapsed",b),d.content.toggleClass("ui-collapsible-content-collapsed",b).attr("aria-hidden",b).trigger("updatelayout"),this.options.collapsed=b,this._trigger(b?"collapse":"expand")},expand:function(){this._handleExpandCollapse(!1)},collapse:function(){this._handleExpandCollapse(!0)},_destroy:function(){var a=this._ui,b=this.options;b.enhanced||(a.placeholder?(a.originalHeading.insertBefore(a.placeholder),a.placeholder.remove(),a.heading.remove()):(a.status.remove(),a.heading.removeClass("ui-collapsible-heading ui-collapsible-heading-collapsed").children().contents().unwrap()),a.anchor.contents().unwrap(),a.content.contents().unwrap(),this.element.removeClass("ui-collapsible ui-collapsible-collapsed ui-collapsible-themed-content ui-collapsible-inset ui-corner-all"))}}),a.mobile.collapsible.defaults={expandCueText:" click to expand contents",collapseCueText:" click to collapse contents",collapsedIcon:"plus",contentTheme:"inherit",expandedIcon:"minus",iconpos:"left",inset:!0,corners:!0,theme:"inherit",mini:!1}}(a),function(a){function b(b){var d,e=b.length,f=[];for(d=0;e>d;d++)b[d].className.match(c)||f.push(b[d]);return a(f)}var c=/\bui-screen-hidden\b/;a.mobile.behaviors.addFirstLastClasses={_getVisibles:function(a,c){var d;return c?d=b(a):(d=a.filter(":visible"),0===d.length&&(d=b(a))),d},_addFirstLastClasses:function(a,b,c){a.removeClass("ui-first-child ui-last-child"),b.eq(0).addClass("ui-first-child").end().last().addClass("ui-last-child"),c||this.element.trigger("updatelayout")},_removeFirstLastClasses:function(a){a.removeClass("ui-first-child ui-last-child")}}}(a),function(a,b){var c=":mobile-collapsible, "+a.mobile.collapsible.initSelector;a.widget("mobile.collapsibleset",a.extend({initSelector:":jqmData(role='collapsible-set'),:jqmData(role='collapsibleset')",options:a.extend({enhanced:!1},a.mobile.collapsible.defaults),_handleCollapsibleExpand:function(b){var c=a(b.target).closest(".ui-collapsible");c.parent().is(":mobile-collapsibleset, :jqmData(role='collapsible-set')")&&c.siblings(".ui-collapsible:not(.ui-collapsible-collapsed)").collapsible("collapse")},_create:function(){var b=this.element,c=this.options;a.extend(this,{_classes:""}),c.enhanced||(b.addClass("ui-collapsible-set "+this._themeClassFromOption("ui-group-theme-",c.theme)+" "+(c.corners&&c.inset?"ui-corner-all ":"")),this.element.find(a.mobile.collapsible.initSelector).collapsible()),this._on(b,{collapsibleexpand:"_handleCollapsibleExpand"})},_themeClassFromOption:function(a,b){return b?"none"===b?"":a+b:""},_init:function(){this._refresh(!0),this.element.children(c).filter(":jqmData(collapsed='false')").collapsible("expand")},_setOptions:function(a){var c,d,e=this.element,f=this._themeClassFromOption("ui-group-theme-",a.theme);return f&&e.removeClass(this._themeClassFromOption("ui-group-theme-",this.options.theme)).addClass(f),a.inset!==b&&(d=!(!a.inset||!a.corners&&!this.options.corners)),a.corners!==b&&(d=!(!a.corners||!a.inset&&!this.options.inset)),d!==b&&e.toggleClass("ui-corner-all",d),c=this._super(a),this.element.children(":mobile-collapsible").collapsible("refresh"),c},_destroy:function(){var a=this.element;this._removeFirstLastClasses(a.children(c)),a.removeClass("ui-collapsible-set ui-corner-all "+this._themeClassFromOption("ui-group-theme-",this.options.theme)).children(":mobile-collapsible").collapsible("destroy")},_refresh:function(b){var d=this.element.children(c);this.element.find(a.mobile.collapsible.initSelector).not(".ui-collapsible").collapsible(),this._addFirstLastClasses(d,this._getVisibles(d,b),b)},refresh:function(){this._refresh(!1)}},a.mobile.behaviors.addFirstLastClasses))}(a),function(a){a.fn.fieldcontain=function(){return this.addClass("ui-field-contain")}}(a),function(a){a.fn.grid=function(b){return this.each(function(){var c,d,e=a(this),f=a.extend({grid:null},b),g=e.children(),h={solo:1,a:2,b:3,c:4,d:5},i=f.grid;if(!i)if(g.length<=5)for(d in h)h[d]===g.length&&(i=d);else i="a",e.addClass("ui-grid-duo");c=h[i],e.addClass("ui-grid-"+i),g.filter(":nth-child("+c+"n+1)").addClass("ui-block-a"),c>1&&g.filter(":nth-child("+c+"n+2)").addClass("ui-block-b"),c>2&&g.filter(":nth-child("+c+"n+3)").addClass("ui-block-c"),c>3&&g.filter(":nth-child("+c+"n+4)").addClass("ui-block-d"),c>4&&g.filter(":nth-child("+c+"n+5)").addClass("ui-block-e")})}}(a),function(a,b){a.widget("mobile.navbar",{options:{iconpos:"top",grid:null},_create:function(){var d=this.element,e=d.find("a, button"),f=e.filter(":jqmData(icon)").length?this.options.iconpos:b;d.addClass("ui-navbar").attr("role","navigation").find("ul").jqmEnhanceable().grid({grid:this.options.grid}),e.each(function(){var b=a.mobile.getAttribute(this,"icon"),c=a.mobile.getAttribute(this,"theme"),d="ui-btn";c&&(d+=" ui-btn-"+c),b&&(d+=" ui-icon-"+b+" ui-btn-icon-"+f),a(this).addClass(d)}),d.delegate("a","vclick",function(){var b=a(this);b.hasClass("ui-state-disabled")||b.hasClass("ui-disabled")||b.hasClass(a.mobile.activeBtnClass)||(e.removeClass(a.mobile.activeBtnClass),b.addClass(a.mobile.activeBtnClass),a(c).one("pagehide",function(){b.removeClass(a.mobile.activeBtnClass)}))}),d.closest(".ui-page").bind("pagebeforeshow",function(){e.filter(".ui-state-persist").addClass(a.mobile.activeBtnClass)})}})}(a),function(a){var b=a.mobile.getAttribute;a.widget("mobile.listview",a.extend({options:{theme:null,countTheme:null,dividerTheme:null,icon:"carat-r",splitIcon:"carat-r",splitTheme:null,corners:!0,shadow:!0,inset:!1},_create:function(){var a=this,b="";b+=a.options.inset?" ui-listview-inset":"",a.options.inset&&(b+=a.options.corners?" ui-corner-all":"",b+=a.options.shadow?" ui-shadow":""),a.element.addClass(" ui-listview"+b),a.refresh(!0)},_findFirstElementByTagName:function(a,b,c,d){var e={};for(e[c]=e[d]=!0;a;){if(e[a.nodeName])return a;a=a[b]}return null},_addThumbClasses:function(b){var c,d,e=b.length;for(c=0;e>c;c++)d=a(this._findFirstElementByTagName(b[c].firstChild,"nextSibling","img","IMG")),d.length&&a(this._findFirstElementByTagName(d[0].parentNode,"parentNode","li","LI")).addClass(d.hasClass("ui-li-icon")?"ui-li-has-icon":"ui-li-has-thumb")},_getChildrenByTagName:function(b,c,d){var e=[],f={};for(f[c]=f[d]=!0,b=b.firstChild;b;)f[b.nodeName]&&e.push(b),b=b.nextSibling;return a(e)},_beforeListviewRefresh:a.noop,_afterListviewRefresh:a.noop,refresh:function(c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x=this.options,y=this.element,z=!!a.nodeName(y[0],"ol"),A=y.attr("start"),B={},C=y.find(".ui-li-count"),D=b(y[0],"counttheme")||this.options.countTheme,E=D?"ui-body-"+D:"ui-body-inherit";for(x.theme&&y.addClass("ui-group-theme-"+x.theme),z&&(A||0===A)&&(n=parseInt(A,10)-1,y.css("counter-reset","listnumbering "+n)),this._beforeListviewRefresh(),w=this._getChildrenByTagName(y[0],"li","LI"),e=0,f=w.length;f>e;e++)g=w.eq(e),h="",(c||g[0].className.search(/\bui-li-static\b|\bui-li-divider\b/)<0)&&(l=this._getChildrenByTagName(g[0],"a","A"),m="list-divider"===b(g[0],"role"),p=g.attr("value"),i=b(g[0],"theme"),l.length&&l[0].className.search(/\bui-btn\b/)<0&&!m?(j=b(g[0],"icon"),k=j===!1?!1:j||x.icon,l.removeClass("ui-link"),d="ui-btn",i&&(d+=" ui-btn-"+i),l.length>1?(h="ui-li-has-alt",q=l.last(),r=b(q[0],"theme")||x.splitTheme||b(g[0],"theme",!0),s=r?" ui-btn-"+r:"",t=b(q[0],"icon")||b(g[0],"icon")||x.splitIcon,u="ui-btn ui-btn-icon-notext ui-icon-"+t+s,q.attr("title",a.trim(q.getEncodedText())).addClass(u).empty(),l=l.first()):k&&(d+=" ui-btn-icon-right ui-icon-"+k),l.addClass(d)):m?(v=b(g[0],"theme")||x.dividerTheme||x.theme,h="ui-li-divider ui-bar-"+(v?v:"inherit"),g.attr("role","heading")):l.length<=0&&(h="ui-li-static ui-body-"+(i?i:"inherit")),z&&p&&(o=parseInt(p,10)-1,g.css("counter-reset","listnumbering "+o))),B[h]||(B[h]=[]),B[h].push(g[0]);for(h in B)a(B[h]).addClass(h);C.each(function(){a(this).closest("li").addClass("ui-li-has-count")}),E&&C.not("[class*='ui-body-']").addClass(E),this._addThumbClasses(w),this._addThumbClasses(w.find(".ui-btn")),this._afterListviewRefresh(),this._addFirstLastClasses(w,this._getVisibles(w,c),c)}},a.mobile.behaviors.addFirstLastClasses))}(a),function(a){function b(b){var c=a.trim(b.text())||null;return c?c=c.slice(0,1).toUpperCase():null}a.widget("mobile.listview",a.mobile.listview,{options:{autodividers:!1,autodividersSelector:b},_beforeListviewRefresh:function(){this.options.autodividers&&(this._replaceDividers(),this._superApply(arguments))},_replaceDividers:function(){var b,d,e,f,g,h=null,i=this.element;for(i.children("li:jqmData(role='list-divider')").remove(),d=i.children("li"),b=0;b<d.length;b++)e=d[b],f=this.options.autodividersSelector(a(e)),f&&h!==f&&(g=c.createElement("li"),g.appendChild(c.createTextNode(f)),g.setAttribute("data-"+a.mobile.ns+"role","list-divider"),e.parentNode.insertBefore(g,e)),h=f}})}(a),function(a){var b=/(^|\s)ui-li-divider($|\s)/,c=/(^|\s)ui-screen-hidden($|\s)/;a.widget("mobile.listview",a.mobile.listview,{options:{hideDividers:!1},_afterListviewRefresh:function(){var a,d,e,f=!0;if(this._superApply(arguments),this.options.hideDividers)for(a=this._getChildrenByTagName(this.element[0],"li","LI"),d=a.length-1;d>-1;d--)e=a[d],e.className.match(b)?(f&&(e.className=e.className+" ui-screen-hidden"),f=!0):e.className.match(c)||(f=!1)}})}(a),function(a){a.mobile.nojs=function(b){a(":jqmData(role='nojs')",b).addClass("ui-nojs")}}(a),function(a){a.mobile.behaviors.formReset={_handleFormReset:function(){this._on(this.element.closest("form"),{reset:function(){this._delay("_reset")}})}}}(a),function(a,b){var c=a.mobile.path.hashToSelector;a.widget("mobile.checkboxradio",a.extend({initSelector:"input:not( :jqmData(role='flipswitch' ) )[type='checkbox'],input[type='radio']:not( :jqmData(role='flipswitch' ))",options:{theme:"inherit",mini:!1,wrapperClass:null,enhanced:!1,iconpos:"left"},_create:function(){var b=this.element,c=this.options,d=function(a,b){return a.jqmData(b)||a.closest("form, fieldset").jqmData(b)},e=this.options.enhanced?{element:this.element.siblings("label"),isParent:!1}:this._findLabel(),f=b[0].type,g="ui-"+f+"-on",h="ui-"+f+"-off";("checkbox"===f||"radio"===f)&&(this.element[0].disabled&&(this.options.disabled=!0),c.iconpos=d(b,"iconpos")||e.element.attr("data-"+a.mobile.ns+"iconpos")||c.iconpos,c.mini=d(b,"mini")||c.mini,a.extend(this,{input:b,label:e.element,labelIsParent:e.isParent,inputtype:f,checkedClass:g,uncheckedClass:h}),this.options.enhanced||this._enhance(),this._on(e.element,{vmouseover:"_handleLabelVMouseOver",vclick:"_handleLabelVClick"}),this._on(b,{vmousedown:"_cacheVals",vclick:"_handleInputVClick",focus:"_handleInputFocus",blur:"_handleInputBlur"}),this._handleFormReset(),this.refresh())},_findLabel:function(){var b,d,e,f=this.element,g=f[0].labels;return g&&g.length>0?(d=a(g[0]),e=a.contains(d[0],f[0])):(b=f.closest("label"),e=b.length>0,d=e?b:a(this.document[0].getElementsByTagName("label")).filter("[for='"+c(f[0].id)+"']").first()),{element:d,isParent:e}},_enhance:function(){this.label.addClass("ui-btn ui-corner-all"),this.labelIsParent?this.input.add(this.label).wrapAll(this._wrapper()):(this.element.wrap(this._wrapper()),this.element.parent().prepend(this.label)),this._setOptions({theme:this.options.theme,iconpos:this.options.iconpos,mini:this.options.mini})},_wrapper:function(){return a("<div class='"+(this.options.wrapperClass?this.options.wrapperClass:"")+" ui-"+this.inputtype+(this.options.disabled?" ui-state-disabled":"")+"' ></div>")},_handleInputFocus:function(){this.label.addClass(a.mobile.focusClass)},_handleInputBlur:function(){this.label.removeClass(a.mobile.focusClass)},_handleInputVClick:function(){this.element.prop("checked",this.element.is(":checked")),this._getInputSet().not(this.element).prop("checked",!1),this._updateAll(!0)},_handleLabelVMouseOver:function(a){this.label.parent().hasClass("ui-state-disabled")&&a.stopPropagation()},_handleLabelVClick:function(a){var b=this.element;return b.is(":disabled")?void a.preventDefault():(this._cacheVals(),b.prop("checked","radio"===this.inputtype&&!0||!b.prop("checked")),b.triggerHandler("click"),this._getInputSet().not(b).prop("checked",!1),this._updateAll(),!1)},_cacheVals:function(){this._getInputSet().each(function(){a(this).attr("data-"+a.mobile.ns+"cacheVal",this.checked)})},_getInputSet:function(){var b,d,e=this.element[0],f=e.name,g=e.form,h=this.element.parents().last().get(0),i=this.element;return f&&"radio"===this.inputtype&&h&&(b="input[type='radio'][name='"+c(f)+"']",g?(d=g.getAttribute("id"),d&&(i=a(b+"[form='"+c(d)+"']",h)),i=a(g).find(b).filter(function(){return this.form===g}).add(i)):i=a(b,h).filter(function(){return!this.form})),i},_updateAll:function(b){var c=this;this._getInputSet().each(function(){var d=a(this);!this.checked&&"checkbox"!==c.inputtype||b||d.trigger("change")}).checkboxradio("refresh")},_reset:function(){this.refresh()},_hasIcon:function(){var b,c,d=a.mobile.controlgroup;return d&&(b=this.element.closest(":mobile-controlgroup,"+d.prototype.initSelector),b.length>0)?(c=a.data(b[0],"mobile-controlgroup"),"horizontal"!==(c?c.options.type:b.attr("data-"+a.mobile.ns+"type"))):!0},refresh:function(){var b=this.element[0].checked,c=a.mobile.activeBtnClass,d="ui-btn-icon-"+this.options.iconpos,e=[],f=[];this._hasIcon()?(f.push(c),e.push(d)):(f.push(d),(b?e:f).push(c)),b?(e.push(this.checkedClass),f.push(this.uncheckedClass)):(e.push(this.uncheckedClass),f.push(this.checkedClass)),this.widget().toggleClass("ui-state-disabled",this.element.prop("disabled")),this.label.addClass(e.join(" ")).removeClass(f.join(" "))},widget:function(){return this.label.parent()},_setOptions:function(a){var c=this.label,d=this.options,e=this.widget(),f=this._hasIcon();a.disabled!==b&&(this.input.prop("disabled",!!a.disabled),e.toggleClass("ui-state-disabled",!!a.disabled)),a.mini!==b&&e.toggleClass("ui-mini",!!a.mini),a.theme!==b&&c.removeClass("ui-btn-"+d.theme).addClass("ui-btn-"+a.theme),a.wrapperClass!==b&&e.removeClass(d.wrapperClass).addClass(a.wrapperClass),a.iconpos!==b&&f?c.removeClass("ui-btn-icon-"+d.iconpos).addClass("ui-btn-icon-"+a.iconpos):f||c.removeClass("ui-btn-icon-"+d.iconpos),this._super(a)}},a.mobile.behaviors.formReset))}(a),function(a,b){a.widget("mobile.button",{initSelector:"input[type='button'], input[type='submit'], input[type='reset']",options:{theme:null,icon:null,iconpos:"left",iconshadow:!1,corners:!0,shadow:!0,inline:null,mini:null,wrapperClass:null,enhanced:!1},_create:function(){this.element.is(":disabled")&&(this.options.disabled=!0),this.options.enhanced||this._enhance(),a.extend(this,{wrapper:this.element.parent()}),this._on({focus:function(){this.widget().addClass(a.mobile.focusClass)},blur:function(){this.widget().removeClass(a.mobile.focusClass)}}),this.refresh(!0)},_enhance:function(){this.element.wrap(this._button())},_button:function(){var b=this.options,c=this._getIconClasses(this.options);return a("<div class='ui-btn ui-input-btn"+(b.wrapperClass?" "+b.wrapperClass:"")+(b.theme?" ui-btn-"+b.theme:"")+(b.corners?" ui-corner-all":"")+(b.shadow?" ui-shadow":"")+(b.inline?" ui-btn-inline":"")+(b.mini?" ui-mini":"")+(b.disabled?" ui-state-disabled":"")+(c?" "+c:"")+"' >"+this.element.val()+"</div>")},widget:function(){return this.wrapper},_destroy:function(){this.element.insertBefore(this.wrapper),this.wrapper.remove()},_getIconClasses:function(a){return a.icon?"ui-icon-"+a.icon+(a.iconshadow?" ui-shadow-icon":"")+" ui-btn-icon-"+a.iconpos:""},_setOptions:function(c){var d=this.widget();c.theme!==b&&d.removeClass(this.options.theme).addClass("ui-btn-"+c.theme),c.corners!==b&&d.toggleClass("ui-corner-all",c.corners),c.shadow!==b&&d.toggleClass("ui-shadow",c.shadow),c.inline!==b&&d.toggleClass("ui-btn-inline",c.inline),c.mini!==b&&d.toggleClass("ui-mini",c.mini),c.disabled!==b&&(this.element.prop("disabled",c.disabled),d.toggleClass("ui-state-disabled",c.disabled)),(c.icon!==b||c.iconshadow!==b||c.iconpos!==b)&&d.removeClass(this._getIconClasses(this.options)).addClass(this._getIconClasses(a.extend({},this.options,c))),this._super(c)},refresh:function(b){var c,d=this.element.prop("disabled");this.options.icon&&"notext"===this.options.iconpos&&this.element.attr("title")&&this.element.attr("title",this.element.val()),b||(c=this.element.detach(),a(this.wrapper).text(this.element.val()).append(c)),this.options.disabled!==d&&this._setOptions({disabled:d})}})}(a),function(a){var b=a("meta[name=viewport]"),c=b.attr("content"),d=c+",maximum-scale=1, user-scalable=no",e=c+",maximum-scale=10, user-scalable=yes",f=/(user-scalable[\s]*=[\s]*no)|(maximum-scale[\s]*=[\s]*1)[$,\s]/.test(c);a.mobile.zoom=a.extend({},{enabled:!f,locked:!1,disable:function(c){f||a.mobile.zoom.locked||(b.attr("content",d),a.mobile.zoom.enabled=!1,a.mobile.zoom.locked=c||!1)},enable:function(c){f||a.mobile.zoom.locked&&c!==!0||(b.attr("content",e),a.mobile.zoom.enabled=!0,a.mobile.zoom.locked=!1)},restore:function(){f||(b.attr("content",c),a.mobile.zoom.enabled=!0)}})}(a),function(a,b){a.widget("mobile.textinput",{initSelector:"input[type='text'],input[type='search'],:jqmData(type='search'),input[type='number'],:jqmData(type='number'),input[type='password'],input[type='email'],input[type='url'],input[type='tel'],textarea,input[type='time'],input[type='date'],input[type='month'],input[type='week'],input[type='datetime'],input[type='datetime-local'],input[type='color'],input:not([type]),input[type='file']",options:{theme:null,corners:!0,mini:!1,preventFocusZoom:/iPhone|iPad|iPod/.test(navigator.platform)&&navigator.userAgent.indexOf("AppleWebKit")>-1,wrapperClass:"",enhanced:!1},_create:function(){var b=this.options,c=this.element.is("[type='search'], :jqmData(type='search')"),d="TEXTAREA"===this.element[0].tagName,e=this.element.is("[data-"+(a.mobile.ns||"")+"type='range']"),f=(this.element.is("input")||this.element.is("[data-"+(a.mobile.ns||"")+"type='search']"))&&!e;this.element.prop("disabled")&&(b.disabled=!0),a.extend(this,{classes:this._classesFromOptions(),isSearch:c,isTextarea:d,isRange:e,inputNeedsWrap:f}),this._autoCorrect(),b.enhanced||this._enhance(),this._on({focus:"_handleFocus",blur:"_handleBlur"})},refresh:function(){this.setOptions({disabled:this.element.is(":disabled")})},_enhance:function(){var a=[];this.isTextarea&&a.push("ui-input-text"),(this.isTextarea||this.isRange)&&a.push("ui-shadow-inset"),this.inputNeedsWrap?this.element.wrap(this._wrap()):a=a.concat(this.classes),this.element.addClass(a.join(" "))},widget:function(){return this.inputNeedsWrap?this.element.parent():this.element},_classesFromOptions:function(){var a=this.options,b=[];return b.push("ui-body-"+(null===a.theme?"inherit":a.theme)),a.corners&&b.push("ui-corner-all"),a.mini&&b.push("ui-mini"),a.disabled&&b.push("ui-state-disabled"),a.wrapperClass&&b.push(a.wrapperClass),b -},_wrap:function(){return a("<div class='"+(this.isSearch?"ui-input-search ":"ui-input-text ")+this.classes.join(" ")+" ui-shadow-inset'></div>")},_autoCorrect:function(){"undefined"==typeof this.element[0].autocorrect||a.support.touchOverflow||(this.element[0].setAttribute("autocorrect","off"),this.element[0].setAttribute("autocomplete","off"))},_handleBlur:function(){this.widget().removeClass(a.mobile.focusClass),this.options.preventFocusZoom&&a.mobile.zoom.enable(!0)},_handleFocus:function(){this.options.preventFocusZoom&&a.mobile.zoom.disable(!0),this.widget().addClass(a.mobile.focusClass)},_setOptions:function(a){var c=this.widget();this._super(a),(a.disabled!==b||a.mini!==b||a.corners!==b||a.theme!==b||a.wrapperClass!==b)&&(c.removeClass(this.classes.join(" ")),this.classes=this._classesFromOptions(),c.addClass(this.classes.join(" "))),a.disabled!==b&&this.element.prop("disabled",!!a.disabled)},_destroy:function(){this.options.enhanced||(this.inputNeedsWrap&&this.element.unwrap(),this.element.removeClass("ui-input-text "+this.classes.join(" ")))}})}(a),function(a,d){a.widget("mobile.slider",a.extend({initSelector:"input[type='range'], :jqmData(type='range'), :jqmData(role='slider')",widgetEventPrefix:"slide",options:{theme:null,trackTheme:null,corners:!0,mini:!1,highlight:!1},_create:function(){var e,f,g,h,i,j,k,l,m,n,o=this,p=this.element,q=this.options.trackTheme||a.mobile.getAttribute(p[0],"theme"),r=q?" ui-bar-"+q:" ui-bar-inherit",s=this.options.corners||p.jqmData("corners")?" ui-corner-all":"",t=this.options.mini||p.jqmData("mini")?" ui-mini":"",u=p[0].nodeName.toLowerCase(),v="select"===u,w=p.parent().is(":jqmData(role='rangeslider')"),x=v?"ui-slider-switch":"",y=p.attr("id"),z=a("[for='"+y+"']"),A=z.attr("id")||y+"-label",B=v?0:parseFloat(p.attr("min")),C=v?p.find("option").length-1:parseFloat(p.attr("max")),D=b.parseFloat(p.attr("step")||1),E=c.createElement("a"),F=a(E),G=c.createElement("div"),H=a(G),I=this.options.highlight&&!v?function(){var b=c.createElement("div");return b.className="ui-slider-bg "+a.mobile.activeBtnClass,a(b).prependTo(H)}():!1;if(z.attr("id",A),this.isToggleSwitch=v,E.setAttribute("href","#"),G.setAttribute("role","application"),G.className=[this.isToggleSwitch?"ui-slider ui-slider-track ui-shadow-inset ":"ui-slider-track ui-shadow-inset ",x,r,s,t].join(""),E.className="ui-slider-handle",G.appendChild(E),F.attr({role:"slider","aria-valuemin":B,"aria-valuemax":C,"aria-valuenow":this._value(),"aria-valuetext":this._value(),title:this._value(),"aria-labelledby":A}),a.extend(this,{slider:H,handle:F,control:p,type:u,step:D,max:C,min:B,valuebg:I,isRangeslider:w,dragging:!1,beforeStart:null,userModified:!1,mouseMoved:!1}),v){for(k=p.attr("tabindex"),k&&F.attr("tabindex",k),p.attr("tabindex","-1").focus(function(){a(this).blur(),F.focus()}),f=c.createElement("div"),f.className="ui-slider-inneroffset",g=0,h=G.childNodes.length;h>g;g++)f.appendChild(G.childNodes[g]);for(G.appendChild(f),F.addClass("ui-slider-handle-snapping"),e=p.find("option"),i=0,j=e.length;j>i;i++)l=i?"a":"b",m=i?" "+a.mobile.activeBtnClass:"",n=c.createElement("span"),n.className=["ui-slider-label ui-slider-label-",l,m].join(""),n.setAttribute("role","img"),n.appendChild(c.createTextNode(e[i].innerHTML)),a(n).prependTo(H);o._labels=a(".ui-slider-label",H)}p.addClass(v?"ui-slider-switch":"ui-slider-input"),this._on(p,{change:"_controlChange",keyup:"_controlKeyup",blur:"_controlBlur",vmouseup:"_controlVMouseUp"}),H.bind("vmousedown",a.proxy(this._sliderVMouseDown,this)).bind("vclick",!1),this._on(c,{vmousemove:"_preventDocumentDrag"}),this._on(H.add(c),{vmouseup:"_sliderVMouseUp"}),H.insertAfter(p),v||w||(f=this.options.mini?"<div class='ui-slider ui-mini'>":"<div class='ui-slider'>",p.add(H).wrapAll(f)),this._on(this.handle,{vmousedown:"_handleVMouseDown",keydown:"_handleKeydown",keyup:"_handleKeyup"}),this.handle.bind("vclick",!1),this._handleFormReset(),this.refresh(d,d,!0)},_setOptions:function(a){a.theme!==d&&this._setTheme(a.theme),a.trackTheme!==d&&this._setTrackTheme(a.trackTheme),a.corners!==d&&this._setCorners(a.corners),a.mini!==d&&this._setMini(a.mini),a.highlight!==d&&this._setHighlight(a.highlight),a.disabled!==d&&this._setDisabled(a.disabled),this._super(a)},_controlChange:function(a){return this._trigger("controlchange",a)===!1?!1:void(this.mouseMoved||this.refresh(this._value(),!0))},_controlKeyup:function(){this.refresh(this._value(),!0,!0)},_controlBlur:function(){this.refresh(this._value(),!0)},_controlVMouseUp:function(){this._checkedRefresh()},_handleVMouseDown:function(){this.handle.focus()},_handleKeydown:function(b){var c=this._value();if(!this.options.disabled){switch(b.keyCode){case a.mobile.keyCode.HOME:case a.mobile.keyCode.END:case a.mobile.keyCode.PAGE_UP:case a.mobile.keyCode.PAGE_DOWN:case a.mobile.keyCode.UP:case a.mobile.keyCode.RIGHT:case a.mobile.keyCode.DOWN:case a.mobile.keyCode.LEFT:b.preventDefault(),this._keySliding||(this._keySliding=!0,this.handle.addClass("ui-state-active"))}switch(b.keyCode){case a.mobile.keyCode.HOME:this.refresh(this.min);break;case a.mobile.keyCode.END:this.refresh(this.max);break;case a.mobile.keyCode.PAGE_UP:case a.mobile.keyCode.UP:case a.mobile.keyCode.RIGHT:this.refresh(c+this.step);break;case a.mobile.keyCode.PAGE_DOWN:case a.mobile.keyCode.DOWN:case a.mobile.keyCode.LEFT:this.refresh(c-this.step)}}},_handleKeyup:function(){this._keySliding&&(this._keySliding=!1,this.handle.removeClass("ui-state-active"))},_sliderVMouseDown:function(a){return this.options.disabled||1!==a.which&&0!==a.which&&a.which!==d?!1:this._trigger("beforestart",a)===!1?!1:(this.dragging=!0,this.userModified=!1,this.mouseMoved=!1,this.isToggleSwitch&&(this.beforeStart=this.element[0].selectedIndex),this.refresh(a),this._trigger("start"),!1)},_sliderVMouseUp:function(){return this.dragging?(this.dragging=!1,this.isToggleSwitch&&(this.handle.addClass("ui-slider-handle-snapping"),this.refresh(this.mouseMoved?this.userModified?0===this.beforeStart?1:0:this.beforeStart:0===this.beforeStart?1:0)),this.mouseMoved=!1,this._trigger("stop"),!1):void 0},_preventDocumentDrag:function(a){return this._trigger("drag",a)===!1?!1:this.dragging&&!this.options.disabled?(this.mouseMoved=!0,this.isToggleSwitch&&this.handle.removeClass("ui-slider-handle-snapping"),this.refresh(a),this.userModified=this.beforeStart!==this.element[0].selectedIndex,!1):void 0},_checkedRefresh:function(){this.value!==this._value()&&this.refresh(this._value())},_value:function(){return this.isToggleSwitch?this.element[0].selectedIndex:parseFloat(this.element.val())},_reset:function(){this.refresh(d,!1,!0)},refresh:function(b,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z=this,A=a.mobile.getAttribute(this.element[0],"theme"),B=this.options.theme||A,C=B?" ui-btn-"+B:"",D=this.options.trackTheme||A,E=D?" ui-bar-"+D:" ui-bar-inherit",F=this.options.corners?" ui-corner-all":"",G=this.options.mini?" ui-mini":"";if(z.slider[0].className=[this.isToggleSwitch?"ui-slider ui-slider-switch ui-slider-track ui-shadow-inset":"ui-slider-track ui-shadow-inset",E,F,G].join(""),(this.options.disabled||this.element.prop("disabled"))&&this.disable(),this.value=this._value(),this.options.highlight&&!this.isToggleSwitch&&0===this.slider.find(".ui-slider-bg").length&&(this.valuebg=function(){var b=c.createElement("div");return b.className="ui-slider-bg "+a.mobile.activeBtnClass,a(b).prependTo(z.slider)}()),this.handle.addClass("ui-btn"+C+" ui-shadow"),l=this.element,m=!this.isToggleSwitch,n=m?[]:l.find("option"),o=m?parseFloat(l.attr("min")):0,p=m?parseFloat(l.attr("max")):n.length-1,q=m&&parseFloat(l.attr("step"))>0?parseFloat(l.attr("step")):1,"object"==typeof b){if(h=b,i=8,f=this.slider.offset().left,g=this.slider.width(),j=g/((p-o)/q),!this.dragging||h.pageX<f-i||h.pageX>f+g+i)return;k=j>1?(h.pageX-f)/g*100:Math.round((h.pageX-f)/g*100)}else null==b&&(b=m?parseFloat(l.val()||0):l[0].selectedIndex),k=(parseFloat(b)-o)/(p-o)*100;if(!isNaN(k)&&(r=k/100*(p-o)+o,s=(r-o)%q,t=r-s,2*Math.abs(s)>=q&&(t+=s>0?q:-q),u=100/((p-o)/q),r=parseFloat(t.toFixed(5)),"undefined"==typeof j&&(j=g/((p-o)/q)),j>1&&m&&(k=(r-o)*u*(1/q)),0>k&&(k=0),k>100&&(k=100),o>r&&(r=o),r>p&&(r=p),this.handle.css("left",k+"%"),this.handle[0].setAttribute("aria-valuenow",m?r:n.eq(r).attr("value")),this.handle[0].setAttribute("aria-valuetext",m?r:n.eq(r).getEncodedText()),this.handle[0].setAttribute("title",m?r:n.eq(r).getEncodedText()),this.valuebg&&this.valuebg.css("width",k+"%"),this._labels&&(v=this.handle.width()/this.slider.width()*100,w=k&&v+(100-v)*k/100,x=100===k?0:Math.min(v+100-w,100),this._labels.each(function(){var b=a(this).hasClass("ui-slider-label-a");a(this).width((b?w:x)+"%")})),!e)){if(y=!1,m?(y=parseFloat(l.val())!==r,l.val(r)):(y=l[0].selectedIndex!==r,l[0].selectedIndex=r),this._trigger("beforechange",b)===!1)return!1;!d&&y&&l.trigger("change")}},_setHighlight:function(a){a=!!a,a?(this.options.highlight=!!a,this.refresh()):this.valuebg&&(this.valuebg.remove(),this.valuebg=!1)},_setTheme:function(a){this.handle.removeClass("ui-btn-"+this.options.theme).addClass("ui-btn-"+a);var b=this.options.theme?this.options.theme:"inherit",c=a?a:"inherit";this.control.removeClass("ui-body-"+b).addClass("ui-body-"+c)},_setTrackTheme:function(a){var b=this.options.trackTheme?this.options.trackTheme:"inherit",c=a?a:"inherit";this.slider.removeClass("ui-body-"+b).addClass("ui-body-"+c)},_setMini:function(a){a=!!a,this.isToggleSwitch||this.isRangeslider||(this.slider.parent().toggleClass("ui-mini",a),this.element.toggleClass("ui-mini",a)),this.slider.toggleClass("ui-mini",a)},_setCorners:function(a){this.slider.toggleClass("ui-corner-all",a),this.isToggleSwitch||this.control.toggleClass("ui-corner-all",a)},_setDisabled:function(a){a=!!a,this.element.prop("disabled",a),this.slider.toggleClass("ui-state-disabled",a).attr("aria-disabled",a),this.element.toggleClass("ui-state-disabled",a)}},a.mobile.behaviors.formReset))}(a),function(a){function b(){return c||(c=a("<div></div>",{"class":"ui-slider-popup ui-shadow ui-corner-all"})),c.clone()}var c;a.widget("mobile.slider",a.mobile.slider,{options:{popupEnabled:!1,showValue:!1},_create:function(){this._super(),a.extend(this,{_currentValue:null,_popup:null,_popupVisible:!1}),this._setOption("popupEnabled",this.options.popupEnabled),this._on(this.handle,{vmousedown:"_showPopup"}),this._on(this.slider.add(this.document),{vmouseup:"_hidePopup"}),this._refresh()},_positionPopup:function(){var a=this.handle.offset();this._popup.offset({left:a.left+(this.handle.width()-this._popup.width())/2,top:a.top-this._popup.outerHeight()-5})},_setOption:function(a,c){this._super(a,c),"showValue"===a?this.handle.html(c&&!this.options.mini?this._value():""):"popupEnabled"===a&&c&&!this._popup&&(this._popup=b().addClass("ui-body-"+(this.options.theme||"a")).hide().insertBefore(this.element))},refresh:function(){this._super.apply(this,arguments),this._refresh()},_refresh:function(){var a,b=this.options;b.popupEnabled&&this.handle.removeAttr("title"),a=this._value(),a!==this._currentValue&&(this._currentValue=a,b.popupEnabled&&this._popup&&(this._positionPopup(),this._popup.html(a)),b.showValue&&!this.options.mini&&this.handle.html(a))},_showPopup:function(){this.options.popupEnabled&&!this._popupVisible&&(this.handle.html(""),this._popup.show(),this._positionPopup(),this._popupVisible=!0)},_hidePopup:function(){var a=this.options;a.popupEnabled&&this._popupVisible&&(a.showValue&&!a.mini&&this.handle.html(this._value()),this._popup.hide(),this._popupVisible=!1)}})}(a),function(a,b){a.widget("mobile.flipswitch",a.extend({options:{onText:"On",offText:"Off",theme:null,enhanced:!1,wrapperClass:null,corners:!0,mini:!1},_create:function(){this.options.enhanced?a.extend(this,{flipswitch:this.element.parent(),on:this.element.find(".ui-flipswitch-on").eq(0),off:this.element.find(".ui-flipswitch-off").eq(0),type:this.element.get(0).tagName}):this._enhance(),this._handleFormReset(),this._originalTabIndex=this.element.attr("tabindex"),null!=this._originalTabIndex&&this.on.attr("tabindex",this._originalTabIndex),this.element.attr("tabindex","-1"),this._on({focus:"_handleInputFocus"}),this.element.is(":disabled")&&this._setOptions({disabled:!0}),this._on(this.flipswitch,{click:"_toggle",swipeleft:"_left",swiperight:"_right"}),this._on(this.on,{keydown:"_keydown"}),this._on({change:"refresh"})},_handleInputFocus:function(){this.on.focus()},widget:function(){return this.flipswitch},_left:function(){this.flipswitch.removeClass("ui-flipswitch-active"),"SELECT"===this.type?this.element.get(0).selectedIndex=0:this.element.prop("checked",!1),this.element.trigger("change")},_right:function(){this.flipswitch.addClass("ui-flipswitch-active"),"SELECT"===this.type?this.element.get(0).selectedIndex=1:this.element.prop("checked",!0),this.element.trigger("change")},_enhance:function(){var b=a("<div>"),c=this.options,d=this.element,e=c.theme?c.theme:"inherit",f=a("<a></a>",{href:"#"}),g=a("<span></span>"),h=d.get(0).tagName,i="INPUT"===h?c.onText:d.find("option").eq(1).text(),j="INPUT"===h?c.offText:d.find("option").eq(0).text();f.addClass("ui-flipswitch-on ui-btn ui-shadow ui-btn-inherit").text(i),g.addClass("ui-flipswitch-off").text(j),b.addClass("ui-flipswitch ui-shadow-inset ui-bar-"+e+" "+(c.wrapperClass?c.wrapperClass:"")+" "+(d.is(":checked")||d.find("option").eq(1).is(":selected")?"ui-flipswitch-active":"")+(d.is(":disabled")?" ui-state-disabled":"")+(c.corners?" ui-corner-all":"")+(c.mini?" ui-mini":"")).append(f,g),d.addClass("ui-flipswitch-input").after(b).appendTo(b),a.extend(this,{flipswitch:b,on:f,off:g,type:h})},_reset:function(){this.refresh()},refresh:function(){var a,b=this.flipswitch.hasClass("ui-flipswitch-active")?"_right":"_left";a="SELECT"===this.type?this.element.get(0).selectedIndex>0?"_right":"_left":this.element.prop("checked")?"_right":"_left",a!==b&&this[a]()},_toggle:function(){var a=this.flipswitch.hasClass("ui-flipswitch-active")?"_left":"_right";this[a]()},_keydown:function(b){b.which===a.mobile.keyCode.LEFT?this._left():b.which===a.mobile.keyCode.RIGHT?this._right():b.which===a.mobile.keyCode.SPACE&&(this._toggle(),b.preventDefault())},_setOptions:function(a){if(a.theme!==b){var c=a.theme?a.theme:"inherit",d=a.theme?a.theme:"inherit";this.widget().removeClass("ui-bar-"+c).addClass("ui-bar-"+d)}a.onText!==b&&this.on.text(a.onText),a.offText!==b&&this.off.text(a.offText),a.disabled!==b&&this.widget().toggleClass("ui-state-disabled",a.disabled),a.mini!==b&&this.widget().toggleClass("ui-mini",a.mini),a.corners!==b&&this.widget().toggleClass("ui-corner-all",a.corners),this._super(a)},_destroy:function(){this.options.enhanced||(null!=this._originalTabIndex?this.element.attr("tabindex",this._originalTabIndex):this.element.removeAttr("tabindex"),this.on.remove(),this.off.remove(),this.element.unwrap(),this.flipswitch.remove(),this.removeClass("ui-flipswitch-input"))}},a.mobile.behaviors.formReset))}(a),function(a,b){a.widget("mobile.rangeslider",a.extend({options:{theme:null,trackTheme:null,corners:!0,mini:!1,highlight:!0},_create:function(){var b=this.element,c=this.options.mini?"ui-rangeslider ui-mini":"ui-rangeslider",d=b.find("input").first(),e=b.find("input").last(),f=b.find("label").first(),g=a.data(d.get(0),"mobile-slider")||a.data(d.slider().get(0),"mobile-slider"),h=a.data(e.get(0),"mobile-slider")||a.data(e.slider().get(0),"mobile-slider"),i=g.slider,j=h.slider,k=g.handle,l=a("<div class='ui-rangeslider-sliders' />").appendTo(b);d.addClass("ui-rangeslider-first"),e.addClass("ui-rangeslider-last"),b.addClass(c),i.appendTo(l),j.appendTo(l),f.insertBefore(b),k.prependTo(j),a.extend(this,{_inputFirst:d,_inputLast:e,_sliderFirst:i,_sliderLast:j,_label:f,_targetVal:null,_sliderTarget:!1,_sliders:l,_proxy:!1}),this.refresh(),this._on(this.element.find("input.ui-slider-input"),{slidebeforestart:"_slidebeforestart",slidestop:"_slidestop",slidedrag:"_slidedrag",slidebeforechange:"_change",blur:"_change",keyup:"_change"}),this._on({mousedown:"_change"}),this._on(this.element.closest("form"),{reset:"_handleReset"}),this._on(k,{vmousedown:"_dragFirstHandle"})},_handleReset:function(){var a=this;setTimeout(function(){a._updateHighlight()},0)},_dragFirstHandle:function(b){return a.data(this._inputFirst.get(0),"mobile-slider").dragging=!0,a.data(this._inputFirst.get(0),"mobile-slider").refresh(b),a.data(this._inputFirst.get(0),"mobile-slider")._trigger("start"),!1},_slidedrag:function(b){var c=a(b.target).is(this._inputFirst),d=c?this._inputLast:this._inputFirst;return this._sliderTarget=!1,"first"===this._proxy&&c||"last"===this._proxy&&!c?(a.data(d.get(0),"mobile-slider").dragging=!0,a.data(d.get(0),"mobile-slider").refresh(b),!1):void 0},_slidestop:function(b){var c=a(b.target).is(this._inputFirst);this._proxy=!1,this.element.find("input").trigger("vmouseup"),this._sliderFirst.css("z-index",c?1:"")},_slidebeforestart:function(b){this._sliderTarget=!1,a(b.originalEvent.target).hasClass("ui-slider-track")&&(this._sliderTarget=!0,this._targetVal=a(b.target).val())},_setOptions:function(a){a.theme!==b&&this._setTheme(a.theme),a.trackTheme!==b&&this._setTrackTheme(a.trackTheme),a.mini!==b&&this._setMini(a.mini),a.highlight!==b&&this._setHighlight(a.highlight),a.disabled!==b&&this._setDisabled(a.disabled),this._super(a),this.refresh()},refresh:function(){var a=this.element,b=this.options;(this._inputFirst.is(":disabled")||this._inputLast.is(":disabled"))&&(this.options.disabled=!0),a.find("input").slider({theme:b.theme,trackTheme:b.trackTheme,disabled:b.disabled,corners:b.corners,mini:b.mini,highlight:b.highlight}).slider("refresh"),this._updateHighlight()},_change:function(b){if("keyup"===b.type)return this._updateHighlight(),!1;var c=this,d=parseFloat(this._inputFirst.val(),10),e=parseFloat(this._inputLast.val(),10),f=a(b.target).hasClass("ui-rangeslider-first"),g=f?this._inputFirst:this._inputLast,h=f?this._inputLast:this._inputFirst;if(this._inputFirst.val()>this._inputLast.val()&&"mousedown"===b.type&&!a(b.target).hasClass("ui-slider-handle"))g.blur();else if("mousedown"===b.type)return;return d>e&&!this._sliderTarget?(g.val(f?e:d).slider("refresh"),this._trigger("normalize")):d>e&&(g.val(this._targetVal).slider("refresh"),setTimeout(function(){h.val(f?d:e).slider("refresh"),a.data(h.get(0),"mobile-slider").handle.focus(),c._sliderFirst.css("z-index",f?"":1),c._trigger("normalize")},0),this._proxy=f?"first":"last"),d===e?(a.data(g.get(0),"mobile-slider").handle.css("z-index",1),a.data(h.get(0),"mobile-slider").handle.css("z-index",0)):(a.data(h.get(0),"mobile-slider").handle.css("z-index",""),a.data(g.get(0),"mobile-slider").handle.css("z-index","")),this._updateHighlight(),d>=e?!1:void 0},_updateHighlight:function(){var b=parseInt(a.data(this._inputFirst.get(0),"mobile-slider").handle.get(0).style.left,10),c=parseInt(a.data(this._inputLast.get(0),"mobile-slider").handle.get(0).style.left,10),d=c-b;this.element.find(".ui-slider-bg").css({"margin-left":b+"%",width:d+"%"})},_setTheme:function(a){this._inputFirst.slider("option","theme",a),this._inputLast.slider("option","theme",a)},_setTrackTheme:function(a){this._inputFirst.slider("option","trackTheme",a),this._inputLast.slider("option","trackTheme",a)},_setMini:function(a){this._inputFirst.slider("option","mini",a),this._inputLast.slider("option","mini",a),this.element.toggleClass("ui-mini",!!a)},_setHighlight:function(a){this._inputFirst.slider("option","highlight",a),this._inputLast.slider("option","highlight",a)},_setDisabled:function(a){this._inputFirst.prop("disabled",a),this._inputLast.prop("disabled",a)},_destroy:function(){this._label.prependTo(this.element),this.element.removeClass("ui-rangeslider ui-mini"),this._inputFirst.after(this._sliderFirst),this._inputLast.after(this._sliderLast),this._sliders.remove(),this.element.find("input").removeClass("ui-rangeslider-first ui-rangeslider-last").slider("destroy")}},a.mobile.behaviors.formReset))}(a),function(a,b){a.widget("mobile.textinput",a.mobile.textinput,{options:{clearBtn:!1,clearBtnText:"Clear text"},_create:function(){this._super(),this.isSearch&&(this.options.clearBtn=!0),this.options.clearBtn&&this.inputNeedsWrap&&this._addClearBtn()},clearButton:function(){return a("<a href='#' tabindex='-1' aria-hidden='true' class='ui-input-clear ui-btn ui-icon-delete ui-btn-icon-notext ui-corner-all'></a>").attr("title",this.options.clearBtnText).text(this.options.clearBtnText)},_clearBtnClick:function(a){this.element.val("").focus().trigger("change"),this._clearBtn.addClass("ui-input-clear-hidden"),a.preventDefault()},_addClearBtn:function(){this.options.enhanced||this._enhanceClear(),a.extend(this,{_clearBtn:this.widget().find("a.ui-input-clear")}),this._bindClearEvents(),this._toggleClear()},_enhanceClear:function(){this.clearButton().appendTo(this.widget()),this.widget().addClass("ui-input-has-clear")},_bindClearEvents:function(){this._on(this._clearBtn,{click:"_clearBtnClick"}),this._on({keyup:"_toggleClear",change:"_toggleClear",input:"_toggleClear",focus:"_toggleClear",blur:"_toggleClear",cut:"_toggleClear",paste:"_toggleClear"})},_unbindClear:function(){this._off(this._clearBtn,"click"),this._off(this.element,"keyup change input focus blur cut paste")},_setOptions:function(a){this._super(a),a.clearBtn===b||this.element.is("textarea, :jqmData(type='range')")||(a.clearBtn?this._addClearBtn():this._destroyClear()),a.clearBtnText!==b&&this._clearBtn!==b&&this._clearBtn.text(a.clearBtnText).attr("title",a.clearBtnText)},_toggleClear:function(){this._delay("_toggleClearClass",0)},_toggleClearClass:function(){this._clearBtn.toggleClass("ui-input-clear-hidden",!this.element.val())},_destroyClear:function(){this.widget().removeClass("ui-input-has-clear"),this._unbindClear(),this._clearBtn.remove()},_destroy:function(){this._super(),this.options.clearBtn&&this._destroyClear()}})}(a),function(a,b){a.widget("mobile.textinput",a.mobile.textinput,{options:{autogrow:!0,keyupTimeoutBuffer:100},_create:function(){this._super(),this.options.autogrow&&this.isTextarea&&this._autogrow()},_autogrow:function(){this.element.addClass("ui-textinput-autogrow"),this._on({keyup:"_timeout",change:"_timeout",input:"_timeout",paste:"_timeout"}),this._on(!0,this.document,{pageshow:"_handleShow",popupbeforeposition:"_handleShow",updatelayout:"_handleShow",panelopen:"_handleShow"})},_handleShow:function(b){a.contains(b.target,this.element[0])&&this.element.is(":visible")&&("popupbeforeposition"!==b.type&&this.element.addClass("ui-textinput-autogrow-resize").animationComplete(a.proxy(function(){this.element.removeClass("ui-textinput-autogrow-resize")},this),"transition"),this._prepareHeightUpdate())},_unbindAutogrow:function(){this.element.removeClass("ui-textinput-autogrow"),this._off(this.element,"keyup change input paste"),this._off(this.document,"pageshow popupbeforeposition updatelayout panelopen")},keyupTimeout:null,_prepareHeightUpdate:function(a){this.keyupTimeout&&clearTimeout(this.keyupTimeout),a===b?this._updateHeight():this.keyupTimeout=this._delay("_updateHeight",a)},_timeout:function(){this._prepareHeightUpdate(this.options.keyupTimeoutBuffer)},_updateHeight:function(){var a,b,c,d,e,f,g,h,i,j=this.window.scrollTop();this.keyupTimeout=0,"onpage"in this.element[0]||this.element.css({height:0,"min-height":0,"max-height":0}),d=this.element[0].scrollHeight,e=this.element[0].clientHeight,f=parseFloat(this.element.css("border-top-width")),g=parseFloat(this.element.css("border-bottom-width")),h=f+g,i=d+h+15,0===e&&(a=parseFloat(this.element.css("padding-top")),b=parseFloat(this.element.css("padding-bottom")),c=a+b,i+=c),this.element.css({height:i,"min-height":"","max-height":""}),this.window.scrollTop(j)},refresh:function(){this.options.autogrow&&this.isTextarea&&this._updateHeight()},_setOptions:function(a){this._super(a),a.autogrow!==b&&this.isTextarea&&(a.autogrow?this._autogrow():this._unbindAutogrow())}})}(a),function(a){a.widget("mobile.selectmenu",a.extend({initSelector:"select:not( :jqmData(role='slider')):not( :jqmData(role='flipswitch') )",options:{theme:null,icon:"carat-d",iconpos:"right",inline:!1,corners:!0,shadow:!0,iconshadow:!1,overlayTheme:null,dividerTheme:null,hidePlaceholderMenuItems:!0,closeText:"Close",nativeMenu:!0,preventFocusZoom:/iPhone|iPad|iPod/.test(navigator.platform)&&navigator.userAgent.indexOf("AppleWebKit")>-1,mini:!1},_button:function(){return a("<div/>")},_setDisabled:function(a){return this.element.attr("disabled",a),this.button.attr("aria-disabled",a),this._setOption("disabled",a)},_focusButton:function(){var a=this;setTimeout(function(){a.button.focus()},40)},_selectOptions:function(){return this.select.find("option")},_preExtension:function(){var b=this.options.inline||this.element.jqmData("inline"),c=this.options.mini||this.element.jqmData("mini"),d="";~this.element[0].className.indexOf("ui-btn-left")&&(d=" ui-btn-left"),~this.element[0].className.indexOf("ui-btn-right")&&(d=" ui-btn-right"),b&&(d+=" ui-btn-inline"),c&&(d+=" ui-mini"),this.select=this.element.removeClass("ui-btn-left ui-btn-right").wrap("<div class='ui-select"+d+"'>"),this.selectId=this.select.attr("id")||"select-"+this.uuid,this.buttonId=this.selectId+"-button",this.label=a("label[for='"+this.selectId+"']"),this.isMultiple=this.select[0].multiple},_destroy:function(){var a=this.element.parents(".ui-select");a.length>0&&(a.is(".ui-btn-left, .ui-btn-right")&&this.element.addClass(a.hasClass("ui-btn-left")?"ui-btn-left":"ui-btn-right"),this.element.insertAfter(a),a.remove())},_create:function(){this._preExtension(),this.button=this._button();var c=this,d=this.options,e=d.icon?d.iconpos||this.select.jqmData("iconpos"):!1,f=this.button.insertBefore(this.select).attr("id",this.buttonId).addClass("ui-btn"+(d.icon?" ui-icon-"+d.icon+" ui-btn-icon-"+e+(d.iconshadow?" ui-shadow-icon":""):"")+(d.theme?" ui-btn-"+d.theme:"")+(d.corners?" ui-corner-all":"")+(d.shadow?" ui-shadow":""));this.setButtonText(),d.nativeMenu&&b.opera&&b.opera.version&&f.addClass("ui-select-nativeonly"),this.isMultiple&&(this.buttonCount=a("<span>").addClass("ui-li-count ui-body-inherit").hide().appendTo(f.addClass("ui-li-has-count"))),(d.disabled||this.element.attr("disabled"))&&this.disable(),this.select.change(function(){c.refresh(),d.nativeMenu&&c._delay(function(){c.select.blur()})}),this._handleFormReset(),this._on(this.button,{keydown:"_handleKeydown"}),this.build()},build:function(){var b=this;this.select.appendTo(b.button).bind("vmousedown",function(){b.button.addClass(a.mobile.activeBtnClass)}).bind("focus",function(){b.button.addClass(a.mobile.focusClass)}).bind("blur",function(){b.button.removeClass(a.mobile.focusClass)}).bind("focus vmouseover",function(){b.button.trigger("vmouseover")}).bind("vmousemove",function(){b.button.removeClass(a.mobile.activeBtnClass)}).bind("change blur vmouseout",function(){b.button.trigger("vmouseout").removeClass(a.mobile.activeBtnClass)}),b.button.bind("vmousedown",function(){b.options.preventFocusZoom&&a.mobile.zoom.disable(!0)}),b.label.bind("click focus",function(){b.options.preventFocusZoom&&a.mobile.zoom.disable(!0)}),b.select.bind("focus",function(){b.options.preventFocusZoom&&a.mobile.zoom.disable(!0)}),b.button.bind("mouseup",function(){b.options.preventFocusZoom&&setTimeout(function(){a.mobile.zoom.enable(!0)},0)}),b.select.bind("blur",function(){b.options.preventFocusZoom&&a.mobile.zoom.enable(!0)})},selected:function(){return this._selectOptions().filter(":selected")},selectedIndices:function(){var a=this;return this.selected().map(function(){return a._selectOptions().index(this)}).get()},setButtonText:function(){var b=this,d=this.selected(),e=this.placeholder,f=a(c.createElement("span"));this.button.children("span").not(".ui-li-count").remove().end().end().prepend(function(){return e=d.length?d.map(function(){return a(this).text()}).get().join(", "):b.placeholder,e?f.text(e):f.html(" "),f.addClass(b.select.attr("class")).addClass(d.attr("class")).removeClass("ui-screen-hidden")}())},setButtonCount:function(){var a=this.selected();this.isMultiple&&this.buttonCount[a.length>1?"show":"hide"]().text(a.length)},_handleKeydown:function(){this._delay("_refreshButton")},_reset:function(){this.refresh()},_refreshButton:function(){this.setButtonText(),this.setButtonCount()},refresh:function(){this._refreshButton()},open:a.noop,close:a.noop,disable:function(){this._setDisabled(!0),this.button.addClass("ui-state-disabled")},enable:function(){this._setDisabled(!1),this.button.removeClass("ui-state-disabled")}},a.mobile.behaviors.formReset))}(a),function(a){a.mobile.links=function(b){a(b).find("a").jqmEnhanceable().filter(":jqmData(rel='popup')[href][href!='']").each(function(){var a=this,b=a.getAttribute("href").substring(1);b&&(a.setAttribute("aria-haspopup",!0),a.setAttribute("aria-owns",b),a.setAttribute("aria-expanded",!1))}).end().not(".ui-btn, :jqmData(role='none'), :jqmData(role='nojs')").addClass("ui-link")}}(a),function(a,c){function d(a,b,c,d){var e=d;return e=b>a?c+(a-b)/2:Math.min(Math.max(c,d-b/2),c+a-b)}function e(a){return{x:a.scrollLeft(),y:a.scrollTop(),cx:a[0].innerWidth||a.width(),cy:a[0].innerHeight||a.height()}}a.widget("mobile.popup",{options:{wrapperClass:null,theme:null,overlayTheme:null,shadow:!0,corners:!0,transition:"none",positionTo:"origin",tolerance:null,closeLinkSelector:"a:jqmData(rel='back')",closeLinkEvents:"click.popup",navigateEvents:"navigate.popup",closeEvents:"navigate.popup pagebeforechange.popup",dismissible:!0,enhanced:!1,history:!a.mobile.browser.oldIE},_handleDocumentVmousedown:function(b){this._isOpen&&a.contains(this._ui.container[0],b.target)&&this._ignoreResizeEvents()},_create:function(){var b=this.element,c=b.attr("id"),d=this.options;d.history=d.history&&a.mobile.ajaxEnabled&&a.mobile.hashListeningEnabled,this._on(this.document,{vmousedown:"_handleDocumentVmousedown"}),a.extend(this,{_scrollTop:0,_page:b.closest(".ui-page"),_ui:null,_fallbackTransition:"",_currentTransition:!1,_prerequisites:null,_isOpen:!1,_tolerance:null,_resizeData:null,_ignoreResizeTo:0,_orientationchangeInProgress:!1}),0===this._page.length&&(this._page=a("body")),d.enhanced?this._ui={container:b.parent(),screen:b.parent().prev(),placeholder:a(this.document[0].getElementById(c+"-placeholder"))}:(this._ui=this._enhance(b,c),this._applyTransition(d.transition)),this._setTolerance(d.tolerance)._ui.focusElement=this._ui.container,this._on(this._ui.screen,{vclick:"_eatEventAndClose"}),this._on(this.window,{orientationchange:a.proxy(this,"_handleWindowOrientationchange"),resize:a.proxy(this,"_handleWindowResize"),keyup:a.proxy(this,"_handleWindowKeyUp")}),this._on(this.document,{focusin:"_handleDocumentFocusIn"})},_enhance:function(b,c){var d=this.options,e=d.wrapperClass,f={screen:a("<div class='ui-screen-hidden ui-popup-screen "+this._themeClassFromOption("ui-overlay-",d.overlayTheme)+"'></div>"),placeholder:a("<div style='display: none;'><!-- placeholder --></div>"),container:a("<div class='ui-popup-container ui-popup-hidden ui-popup-truncate"+(e?" "+e:"")+"'></div>")},g=this.document[0].createDocumentFragment();return g.appendChild(f.screen[0]),g.appendChild(f.container[0]),c&&(f.screen.attr("id",c+"-screen"),f.container.attr("id",c+"-popup"),f.placeholder.attr("id",c+"-placeholder").html("<!-- placeholder for "+c+" -->")),this._page[0].appendChild(g),f.placeholder.insertAfter(b),b.detach().addClass("ui-popup "+this._themeClassFromOption("ui-body-",d.theme)+" "+(d.shadow?"ui-overlay-shadow ":"")+(d.corners?"ui-corner-all ":"")).appendTo(f.container),f},_eatEventAndClose:function(a){return a.preventDefault(),a.stopImmediatePropagation(),this.options.dismissible&&this.close(),!1},_resizeScreen:function(){var a=this._ui.screen,b=this._ui.container.outerHeight(!0),c=a.removeAttr("style").height(),d=this.document.height()-1;d>c?a.height(d):b>c&&a.height(b)},_handleWindowKeyUp:function(b){return this._isOpen&&b.keyCode===a.mobile.keyCode.ESCAPE?this._eatEventAndClose(b):void 0},_expectResizeEvent:function(){var a=e(this.window); -if(this._resizeData){if(a.x===this._resizeData.windowCoordinates.x&&a.y===this._resizeData.windowCoordinates.y&&a.cx===this._resizeData.windowCoordinates.cx&&a.cy===this._resizeData.windowCoordinates.cy)return!1;clearTimeout(this._resizeData.timeoutId)}return this._resizeData={timeoutId:this._delay("_resizeTimeout",200),windowCoordinates:a},!0},_resizeTimeout:function(){this._isOpen?this._expectResizeEvent()||(this._ui.container.hasClass("ui-popup-hidden")&&(this._ui.container.removeClass("ui-popup-hidden ui-popup-truncate"),this.reposition({positionTo:"window"}),this._ignoreResizeEvents()),this._resizeScreen(),this._resizeData=null,this._orientationchangeInProgress=!1):(this._resizeData=null,this._orientationchangeInProgress=!1)},_stopIgnoringResizeEvents:function(){this._ignoreResizeTo=0},_ignoreResizeEvents:function(){this._ignoreResizeTo&&clearTimeout(this._ignoreResizeTo),this._ignoreResizeTo=this._delay("_stopIgnoringResizeEvents",1e3)},_handleWindowResize:function(){this._isOpen&&0===this._ignoreResizeTo&&(!this._expectResizeEvent()&&!this._orientationchangeInProgress||this._ui.container.hasClass("ui-popup-hidden")||this._ui.container.addClass("ui-popup-hidden ui-popup-truncate").removeAttr("style"))},_handleWindowOrientationchange:function(){!this._orientationchangeInProgress&&this._isOpen&&0===this._ignoreResizeTo&&(this._expectResizeEvent(),this._orientationchangeInProgress=!0)},_handleDocumentFocusIn:function(b){var c,d=b.target,e=this._ui;if(this._isOpen){if(d!==e.container[0]){if(c=a(d),!a.contains(e.container[0],d))return a(this.document[0].activeElement).one("focus",a.proxy(function(){this._safelyBlur(d)},this)),e.focusElement.focus(),b.preventDefault(),b.stopImmediatePropagation(),!1;e.focusElement[0]===e.container[0]&&(e.focusElement=c)}this._ignoreResizeEvents()}},_themeClassFromOption:function(a,b){return b?"none"===b?"":a+b:a+"inherit"},_applyTransition:function(b){return b&&(this._ui.container.removeClass(this._fallbackTransition),"none"!==b&&(this._fallbackTransition=a.mobile._maybeDegradeTransition(b),"none"===this._fallbackTransition&&(this._fallbackTransition=""),this._ui.container.addClass(this._fallbackTransition))),this},_setOptions:function(a){var b=this.options,d=this.element,e=this._ui.screen;return a.wrapperClass!==c&&this._ui.container.removeClass(b.wrapperClass).addClass(a.wrapperClass),a.theme!==c&&d.removeClass(this._themeClassFromOption("ui-body-",b.theme)).addClass(this._themeClassFromOption("ui-body-",a.theme)),a.overlayTheme!==c&&(e.removeClass(this._themeClassFromOption("ui-overlay-",b.overlayTheme)).addClass(this._themeClassFromOption("ui-overlay-",a.overlayTheme)),this._isOpen&&e.addClass("in")),a.shadow!==c&&d.toggleClass("ui-overlay-shadow",a.shadow),a.corners!==c&&d.toggleClass("ui-corner-all",a.corners),a.transition!==c&&(this._currentTransition||this._applyTransition(a.transition)),a.tolerance!==c&&this._setTolerance(a.tolerance),a.disabled!==c&&a.disabled&&this.close(),this._super(a)},_setTolerance:function(b){var d,e={t:30,r:15,b:30,l:15};if(b!==c)switch(d=String(b).split(","),a.each(d,function(a,b){d[a]=parseInt(b,10)}),d.length){case 1:isNaN(d[0])||(e.t=e.r=e.b=e.l=d[0]);break;case 2:isNaN(d[0])||(e.t=e.b=d[0]),isNaN(d[1])||(e.l=e.r=d[1]);break;case 4:isNaN(d[0])||(e.t=d[0]),isNaN(d[1])||(e.r=d[1]),isNaN(d[2])||(e.b=d[2]),isNaN(d[3])||(e.l=d[3])}return this._tolerance=e,this},_clampPopupWidth:function(a){var b,c=e(this.window),d={x:this._tolerance.l,y:c.y+this._tolerance.t,cx:c.cx-this._tolerance.l-this._tolerance.r,cy:c.cy-this._tolerance.t-this._tolerance.b};return a||this._ui.container.css("max-width",d.cx),b={cx:this._ui.container.outerWidth(!0),cy:this._ui.container.outerHeight(!0)},{rc:d,menuSize:b}},_calculateFinalLocation:function(a,b){var c,e=b.rc,f=b.menuSize;return c={left:d(e.cx,f.cx,e.x,a.x),top:d(e.cy,f.cy,e.y,a.y)},c.top=Math.max(0,c.top),c.top-=Math.min(c.top,Math.max(0,c.top+f.cy-this.document.height())),c},_placementCoords:function(a){return this._calculateFinalLocation(a,this._clampPopupWidth())},_createPrerequisites:function(b,c,d){var e,f=this;e={screen:a.Deferred(),container:a.Deferred()},e.screen.then(function(){e===f._prerequisites&&b()}),e.container.then(function(){e===f._prerequisites&&c()}),a.when(e.screen,e.container).done(function(){e===f._prerequisites&&(f._prerequisites=null,d())}),f._prerequisites=e},_animate:function(b){return this._ui.screen.removeClass(b.classToRemove).addClass(b.screenClassToAdd),b.prerequisites.screen.resolve(),b.transition&&"none"!==b.transition&&(b.applyTransition&&this._applyTransition(b.transition),this._fallbackTransition)?void this._ui.container.addClass(b.containerClassToAdd).removeClass(b.classToRemove).animationComplete(a.proxy(b.prerequisites.container,"resolve")):(this._ui.container.removeClass(b.classToRemove),void b.prerequisites.container.resolve())},_desiredCoords:function(b){var c,d=null,f=e(this.window),g=b.x,h=b.y,i=b.positionTo;if(i&&"origin"!==i)if("window"===i)g=f.cx/2+f.x,h=f.cy/2+f.y;else{try{d=a(i)}catch(j){d=null}d&&(d.filter(":visible"),0===d.length&&(d=null))}return d&&(c=d.offset(),g=c.left+d.outerWidth()/2,h=c.top+d.outerHeight()/2),("number"!==a.type(g)||isNaN(g))&&(g=f.cx/2+f.x),("number"!==a.type(h)||isNaN(h))&&(h=f.cy/2+f.y),{x:g,y:h}},_reposition:function(a){a={x:a.x,y:a.y,positionTo:a.positionTo},this._trigger("beforeposition",c,a),this._ui.container.offset(this._placementCoords(this._desiredCoords(a)))},reposition:function(a){this._isOpen&&this._reposition(a)},_safelyBlur:function(b){b!==this.window[0]&&"body"!==b.nodeName.toLowerCase()&&a(b).blur()},_openPrerequisitesComplete:function(){var b=this.element.attr("id"),c=this._ui.container.find(":focusable").first();this._ui.container.addClass("ui-popup-active"),this._isOpen=!0,this._resizeScreen(),a.contains(this._ui.container[0],this.document[0].activeElement)||this._safelyBlur(this.document[0].activeElement),c.length>0&&(this._ui.focusElement=c),this._ignoreResizeEvents(),b&&this.document.find("[aria-haspopup='true'][aria-owns='"+b+"']").attr("aria-expanded",!0),this._trigger("afteropen")},_open:function(b){var c=a.extend({},this.options,b),d=function(){var a=navigator.userAgent,b=a.match(/AppleWebKit\/([0-9\.]+)/),c=!!b&&b[1],d=a.match(/Android (\d+(?:\.\d+))/),e=!!d&&d[1],f=a.indexOf("Chrome")>-1;return null!==d&&"4.0"===e&&c&&c>534.13&&!f?!0:!1}();this._createPrerequisites(a.noop,a.noop,a.proxy(this,"_openPrerequisitesComplete")),this._currentTransition=c.transition,this._applyTransition(c.transition),this._ui.screen.removeClass("ui-screen-hidden"),this._ui.container.removeClass("ui-popup-truncate"),this._reposition(c),this._ui.container.removeClass("ui-popup-hidden"),this.options.overlayTheme&&d&&this.element.closest(".ui-page").addClass("ui-popup-open"),this._animate({additionalCondition:!0,transition:c.transition,classToRemove:"",screenClassToAdd:"in",containerClassToAdd:"in",applyTransition:!1,prerequisites:this._prerequisites})},_closePrerequisiteScreen:function(){this._ui.screen.removeClass("out").addClass("ui-screen-hidden")},_closePrerequisiteContainer:function(){this._ui.container.removeClass("reverse out").addClass("ui-popup-hidden ui-popup-truncate").removeAttr("style")},_closePrerequisitesDone:function(){var b=this._ui.container,d=this.element.attr("id");a.mobile.popup.active=c,a(":focus",b[0]).add(b[0]).blur(),d&&this.document.find("[aria-haspopup='true'][aria-owns='"+d+"']").attr("aria-expanded",!1),this._trigger("afterclose")},_close:function(b){this._ui.container.removeClass("ui-popup-active"),this._page.removeClass("ui-popup-open"),this._isOpen=!1,this._createPrerequisites(a.proxy(this,"_closePrerequisiteScreen"),a.proxy(this,"_closePrerequisiteContainer"),a.proxy(this,"_closePrerequisitesDone")),this._animate({additionalCondition:this._ui.screen.hasClass("in"),transition:b?"none":this._currentTransition,classToRemove:"in",screenClassToAdd:"out",containerClassToAdd:"reverse out",applyTransition:!0,prerequisites:this._prerequisites})},_unenhance:function(){this.options.enhanced||(this._setOptions({theme:a.mobile.popup.prototype.options.theme}),this.element.detach().insertAfter(this._ui.placeholder).removeClass("ui-popup ui-overlay-shadow ui-corner-all ui-body-inherit"),this._ui.screen.remove(),this._ui.container.remove(),this._ui.placeholder.remove())},_destroy:function(){return a.mobile.popup.active===this?(this.element.one("popupafterclose",a.proxy(this,"_unenhance")),this.close()):this._unenhance(),this},_closePopup:function(c,d){var e,f,g=this.options,h=!1;c&&c.isDefaultPrevented()||a.mobile.popup.active!==this||(b.scrollTo(0,this._scrollTop),c&&"pagebeforechange"===c.type&&d&&(e="string"==typeof d.toPage?d.toPage:d.toPage.jqmData("url"),e=a.mobile.path.parseUrl(e),f=e.pathname+e.search+e.hash,this._myUrl!==a.mobile.path.makeUrlAbsolute(f)?h=!0:c.preventDefault()),this.window.off(g.closeEvents),this.element.undelegate(g.closeLinkSelector,g.closeLinkEvents),this._close(h))},_bindContainerClose:function(){this.window.on(this.options.closeEvents,a.proxy(this,"_closePopup"))},widget:function(){return this._ui.container},open:function(b){var c,d,e,f,g,h,i=this,j=this.options;return a.mobile.popup.active||j.disabled?this:(a.mobile.popup.active=this,this._scrollTop=this.window.scrollTop(),j.history?(h=a.mobile.navigate.history,d=a.mobile.dialogHashKey,e=a.mobile.activePage,f=e?e.hasClass("ui-dialog"):!1,this._myUrl=c=h.getActive().url,(g=c.indexOf(d)>-1&&!f&&h.activeIndex>0)?(i._open(b),i._bindContainerClose(),this):(-1!==c.indexOf(d)||f?c=a.mobile.path.parseLocation().hash+d:c+=c.indexOf("#")>-1?d:"#"+d,this.window.one("beforenavigate",function(a){a.preventDefault(),i._open(b),i._bindContainerClose()}),this.urlAltered=!0,a.mobile.navigate(c,{role:"dialog"}),this)):(i._open(b),i._bindContainerClose(),i.element.delegate(j.closeLinkSelector,j.closeLinkEvents,function(a){i.close(),a.preventDefault()}),this))},close:function(){return a.mobile.popup.active!==this?this:(this._scrollTop=this.window.scrollTop(),this.options.history&&this.urlAltered?(a.mobile.back(),this.urlAltered=!1):this._closePopup(),this)}}),a.mobile.popup.handleLink=function(b){var c,d=a.mobile.path,e=a(d.hashToSelector(d.parseUrl(b.attr("href")).hash)).first();e.length>0&&e.data("mobile-popup")&&(c=b.offset(),e.popup("open",{x:c.left+b.outerWidth()/2,y:c.top+b.outerHeight()/2,transition:b.jqmData("transition"),positionTo:b.jqmData("position-to")})),setTimeout(function(){b.removeClass(a.mobile.activeBtnClass)},300)},a.mobile.document.on("pagebeforechange",function(b,c){"popup"===c.options.role&&(a.mobile.popup.handleLink(c.options.link),b.preventDefault())})}(a),function(a,b){var d=".ui-disabled,.ui-state-disabled,.ui-li-divider,.ui-screen-hidden,:jqmData(role='placeholder')",e=function(a,b,c){var e=a[c+"All"]().not(d).first();e.length&&(b.blur().attr("tabindex","-1"),e.find("a").first().focus())};a.widget("mobile.selectmenu",a.mobile.selectmenu,{_create:function(){var a=this.options;return a.nativeMenu=a.nativeMenu||this.element.parents(":jqmData(role='popup'),:mobile-popup").length>0,this._super()},_handleSelectFocus:function(){this.element.blur(),this.button.focus()},_handleKeydown:function(a){this._super(a),this._handleButtonVclickKeydown(a)},_handleButtonVclickKeydown:function(b){this.options.disabled||this.isOpen||this.options.nativeMenu||("vclick"===b.type||b.keyCode&&(b.keyCode===a.mobile.keyCode.ENTER||b.keyCode===a.mobile.keyCode.SPACE))&&(this._decideFormat(),"overlay"===this.menuType?this.button.attr("href","#"+this.popupId).attr("data-"+(a.mobile.ns||"")+"rel","popup"):this.button.attr("href","#"+this.dialogId).attr("data-"+(a.mobile.ns||"")+"rel","dialog"),this.isOpen=!0)},_handleListFocus:function(b){var c="focusin"===b.type?{tabindex:"0",event:"vmouseover"}:{tabindex:"-1",event:"vmouseout"};a(b.target).attr("tabindex",c.tabindex).trigger(c.event)},_handleListKeydown:function(b){var c=a(b.target),d=c.closest("li");switch(b.keyCode){case 38:return e(d,c,"prev"),!1;case 40:return e(d,c,"next"),!1;case 13:case 32:return c.trigger("click"),!1}},_handleMenuPageHide:function(){this._delayedTrigger(),this.thisPage.page("bindRemove")},_handleHeaderCloseClick:function(){return"overlay"===this.menuType?(this.close(),!1):void 0},_handleListItemClick:function(b){var c=a(b.target).closest("li"),d=this.select[0].selectedIndex,e=a.mobile.getAttribute(c,"option-index"),f=this._selectOptions().eq(e)[0];f.selected=this.isMultiple?!f.selected:!0,this.isMultiple&&c.find("a").toggleClass("ui-checkbox-on",f.selected).toggleClass("ui-checkbox-off",!f.selected),this.isMultiple||d===e||(this._triggerChange=!0),this.isMultiple?(this.select.trigger("change"),this.list.find("li:not(.ui-li-divider)").eq(e).find("a").first().focus()):this.close(),b.preventDefault()},build:function(){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=this.options;return v.nativeMenu?this._super():(c=this.selectId,d=c+"-listbox",e=c+"-dialog",f=this.label,g=this.element.closest(".ui-page"),h=this.element[0].multiple,i=c+"-menu",j=v.theme?" data-"+a.mobile.ns+"theme='"+v.theme+"'":"",k=v.overlayTheme||v.theme||null,l=k?" data-"+a.mobile.ns+"overlay-theme='"+k+"'":"",m=v.dividerTheme&&h?" data-"+a.mobile.ns+"divider-theme='"+v.dividerTheme+"'":"",n=a("<div data-"+a.mobile.ns+"role='dialog' class='ui-selectmenu' id='"+e+"'"+j+l+"><div data-"+a.mobile.ns+"role='header'><div class='ui-title'></div></div><div data-"+a.mobile.ns+"role='content'></div></div>"),o=a("<div"+j+l+" id='"+d+"' class='ui-selectmenu'></div>").insertAfter(this.select).popup(),p=a("<ul class='ui-selectmenu-list' id='"+i+"' role='listbox' aria-labelledby='"+this.buttonId+"'"+j+m+"></ul>").appendTo(o),q=a("<div class='ui-header ui-bar-"+(v.theme?v.theme:"inherit")+"'></div>").prependTo(o),r=a("<h1 class='ui-title'></h1>").appendTo(q),this.isMultiple&&(u=a("<a>",{role:"button",text:v.closeText,href:"#","class":"ui-btn ui-corner-all ui-btn-left ui-btn-icon-notext ui-icon-delete"}).appendTo(q)),a.extend(this,{selectId:c,menuId:i,popupId:d,dialogId:e,thisPage:g,menuPage:n,label:f,isMultiple:h,theme:v.theme,listbox:o,list:p,header:q,headerTitle:r,headerClose:u,menuPageContent:s,menuPageClose:t,placeholder:""}),this.refresh(),this._origTabIndex===b&&(this._origTabIndex=null===this.select[0].getAttribute("tabindex")?!1:this.select.attr("tabindex")),this.select.attr("tabindex","-1"),this._on(this.select,{focus:"_handleSelectFocus"}),this._on(this.button,{vclick:"_handleButtonVclickKeydown"}),this.list.attr("role","listbox"),this._on(this.list,{focusin:"_handleListFocus",focusout:"_handleListFocus",keydown:"_handleListKeydown","click li:not(.ui-disabled,.ui-state-disabled,.ui-li-divider)":"_handleListItemClick"}),this._on(this.menuPage,{pagehide:"_handleMenuPageHide"}),this._on(this.listbox,{popupafterclose:"_popupClosed"}),this.isMultiple&&this._on(this.headerClose,{click:"_handleHeaderCloseClick"}),this)},_popupClosed:function(){this.close(),this._delayedTrigger()},_delayedTrigger:function(){this._triggerChange&&this.element.trigger("change"),this._triggerChange=!1},_isRebuildRequired:function(){var a=this.list.find("li"),b=this._selectOptions().not(".ui-screen-hidden");return b.text()!==a.text()},selected:function(){return this._selectOptions().filter(":selected:not( :jqmData(placeholder='true') )")},refresh:function(b){var c,d;return this.options.nativeMenu?this._super(b):(c=this,(b||this._isRebuildRequired())&&c._buildList(),d=this.selectedIndices(),c.setButtonText(),c.setButtonCount(),void c.list.find("li:not(.ui-li-divider)").find("a").removeClass(a.mobile.activeBtnClass).end().attr("aria-selected",!1).each(function(b){var e=a(this);a.inArray(b,d)>-1?(e.attr("aria-selected",!0),c.isMultiple?e.find("a").removeClass("ui-checkbox-off").addClass("ui-checkbox-on"):e.hasClass("ui-screen-hidden")?e.next().find("a").addClass(a.mobile.activeBtnClass):e.find("a").addClass(a.mobile.activeBtnClass)):c.isMultiple&&e.find("a").removeClass("ui-checkbox-on").addClass("ui-checkbox-off")}))},close:function(){if(!this.options.disabled&&this.isOpen){var a=this;"page"===a.menuType?(a.menuPage.dialog("close"),a.list.appendTo(a.listbox)):a.listbox.popup("close"),a._focusButton(),a.isOpen=!1}},open:function(){this.button.click()},_focusMenuItem:function(){var b=this.list.find("a."+a.mobile.activeBtnClass);0===b.length&&(b=this.list.find("li:not("+d+") a.ui-btn")),b.first().focus()},_decideFormat:function(){var b=this,c=this.window,d=b.list.parent(),e=d.outerHeight(),f=c.scrollTop(),g=b.button.offset().top,h=c.height();e>h-80||!a.support.scrollTop?(b.menuPage.appendTo(a.mobile.pageContainer).page(),b.menuPageContent=b.menuPage.find(".ui-content"),b.menuPageClose=b.menuPage.find(".ui-header a"),b.thisPage.unbind("pagehide.remove"),0===f&&g>h&&b.thisPage.one("pagehide",function(){a(this).jqmData("lastScroll",g)}),b.menuPage.one({pageshow:a.proxy(this,"_focusMenuItem"),pagehide:a.proxy(this,"close")}),b.menuType="page",b.menuPageContent.append(b.list),b.menuPage.find("div .ui-title").text(b.label.getEncodedText()||b.placeholder)):(b.menuType="overlay",b.listbox.one({popupafteropen:a.proxy(this,"_focusMenuItem")}))},_buildList:function(){var b,d,e,f,g,h,i,j,k,l,m,n,o,p,q=this,r=this.options,s=this.placeholder,t=!0,u="false",v="data-"+a.mobile.ns,w=v+"option-index",x=v+"icon",y=v+"role",z=v+"placeholder",A=c.createDocumentFragment(),B=!1;for(q.list.empty().filter(".ui-listview").listview("destroy"),b=this._selectOptions(),d=b.length,e=this.select[0],g=0;d>g;g++,B=!1)h=b[g],i=a(h),i.hasClass("ui-screen-hidden")||(j=h.parentNode,m=[],k=i.text(),l=c.createElement("a"),l.setAttribute("href","#"),l.appendChild(c.createTextNode(k)),j!==e&&"optgroup"===j.nodeName.toLowerCase()&&(n=j.getAttribute("label"),n!==f&&(o=c.createElement("li"),o.setAttribute(y,"list-divider"),o.setAttribute("role","option"),o.setAttribute("tabindex","-1"),o.appendChild(c.createTextNode(n)),A.appendChild(o),f=n)),!t||h.getAttribute("value")&&0!==k.length&&!i.jqmData("placeholder")||(t=!1,B=!0,null===h.getAttribute(z)&&(this._removePlaceholderAttr=!0),h.setAttribute(z,!0),r.hidePlaceholderMenuItems&&m.push("ui-screen-hidden"),s!==k&&(s=q.placeholder=k)),p=c.createElement("li"),h.disabled&&(m.push("ui-state-disabled"),p.setAttribute("aria-disabled",!0)),p.setAttribute(w,g),p.setAttribute(x,u),B&&p.setAttribute(z,!0),p.className=m.join(" "),p.setAttribute("role","option"),l.setAttribute("tabindex","-1"),this.isMultiple&&a(l).addClass("ui-btn ui-checkbox-off ui-btn-icon-right"),p.appendChild(l),A.appendChild(p));q.list[0].appendChild(A),this.isMultiple||s.length?this.headerTitle.text(this.placeholder):this.header.addClass("ui-screen-hidden"),q.list.listview()},_button:function(){return this.options.nativeMenu?this._super():a("<a>",{href:"#",role:"button",id:this.buttonId,"aria-haspopup":"true","aria-owns":this.menuId})},_destroy:function(){this.options.nativeMenu||(this.close(),this._origTabIndex!==b&&(this._origTabIndex!==!1?this.select.attr("tabindex",this._origTabIndex):this.select.removeAttr("tabindex")),this._removePlaceholderAttr&&this._selectOptions().removeAttr("data-"+a.mobile.ns+"placeholder"),this.listbox.remove(),this.menuPage.remove()),this._super()}})}(a),function(a,b){function c(a,b){var c=b?b:[];return c.push("ui-btn"),a.theme&&c.push("ui-btn-"+a.theme),a.icon&&(c=c.concat(["ui-icon-"+a.icon,"ui-btn-icon-"+a.iconpos]),a.iconshadow&&c.push("ui-shadow-icon")),a.inline&&c.push("ui-btn-inline"),a.shadow&&c.push("ui-shadow"),a.corners&&c.push("ui-corner-all"),a.mini&&c.push("ui-mini"),c}function d(a){var c,d,e,g=!1,h=!0,i={icon:"",inline:!1,shadow:!1,corners:!1,iconshadow:!1,mini:!1},j=[];for(a=a.split(" "),c=0;c<a.length;c++)e=!0,d=f[a[c]],d!==b?(e=!1,i[d]=!0):0===a[c].indexOf("ui-btn-icon-")?(e=!1,h=!1,i.iconpos=a[c].substring(12)):0===a[c].indexOf("ui-icon-")?(e=!1,i.icon=a[c].substring(8)):0===a[c].indexOf("ui-btn-")&&8===a[c].length?(e=!1,i.theme=a[c].substring(7)):"ui-btn"===a[c]&&(e=!1,g=!0),e&&j.push(a[c]);return h&&(i.icon=""),{options:i,unknownClasses:j,alreadyEnhanced:g}}function e(a){return"-"+a.toLowerCase()}var f={"ui-shadow":"shadow","ui-corner-all":"corners","ui-btn-inline":"inline","ui-shadow-icon":"iconshadow","ui-mini":"mini"},g=function(){var c=a.mobile.getAttribute.apply(this,arguments);return null==c?b:c},h=/[A-Z]/g;a.fn.buttonMarkup=function(f,i){var j,k,l,m,n,o=a.fn.buttonMarkup.defaults;for(j=0;j<this.length;j++){if(l=this[j],k=i?{alreadyEnhanced:!1,unknownClasses:[]}:d(l.className),m=a.extend({},k.alreadyEnhanced?k.options:{},f),!k.alreadyEnhanced)for(n in o)m[n]===b&&(m[n]=g(l,n.replace(h,e)));l.className=c(a.extend({},o,m),k.unknownClasses).join(" "),"button"!==l.tagName.toLowerCase()&&l.setAttribute("role","button")}return this},a.fn.buttonMarkup.defaults={icon:"",iconpos:"left",theme:null,inline:!1,shadow:!0,corners:!0,iconshadow:!1,mini:!1},a.extend(a.fn.buttonMarkup,{initSelector:"a:jqmData(role='button'), .ui-bar > a, .ui-bar > :jqmData(role='controlgroup') > a, button:not(:jqmData(role='navbar') button)"})}(a),function(a,b){a.widget("mobile.controlgroup",a.extend({options:{enhanced:!1,theme:null,shadow:!1,corners:!0,excludeInvisible:!0,type:"vertical",mini:!1},_create:function(){var b=this.element,c=this.options,d=a.mobile.page.prototype.keepNativeSelector();a.fn.buttonMarkup&&this.element.find(a.fn.buttonMarkup.initSelector).not(d).buttonMarkup(),a.each(this._childWidgets,a.proxy(function(b,c){a.mobile[c]&&this.element.find(a.mobile[c].initSelector).not(d)[c]()},this)),a.extend(this,{_ui:null,_initialRefresh:!0}),this._ui=c.enhanced?{groupLegend:b.children(".ui-controlgroup-label").children(),childWrapper:b.children(".ui-controlgroup-controls")}:this._enhance()},_childWidgets:["checkboxradio","selectmenu","button"],_themeClassFromOption:function(a){return a?"none"===a?"":"ui-group-theme-"+a:""},_enhance:function(){var b=this.element,c=this.options,d={groupLegend:b.children("legend"),childWrapper:b.addClass("ui-controlgroup ui-controlgroup-"+("horizontal"===c.type?"horizontal":"vertical")+" "+this._themeClassFromOption(c.theme)+" "+(c.corners?"ui-corner-all ":"")+(c.mini?"ui-mini ":"")).wrapInner("<div class='ui-controlgroup-controls "+(c.shadow===!0?"ui-shadow":"")+"'></div>").children()};return d.groupLegend.length>0&&a("<div role='heading' class='ui-controlgroup-label'></div>").append(d.groupLegend).prependTo(b),d},_init:function(){this.refresh()},_setOptions:function(a){var c,d,e=this.element;return a.type!==b&&(e.removeClass("ui-controlgroup-horizontal ui-controlgroup-vertical").addClass("ui-controlgroup-"+("horizontal"===a.type?"horizontal":"vertical")),c=!0),a.theme!==b&&e.removeClass(this._themeClassFromOption(this.options.theme)).addClass(this._themeClassFromOption(a.theme)),a.corners!==b&&e.toggleClass("ui-corner-all",a.corners),a.mini!==b&&e.toggleClass("ui-mini",a.mini),a.shadow!==b&&this._ui.childWrapper.toggleClass("ui-shadow",a.shadow),a.excludeInvisible!==b&&(this.options.excludeInvisible=a.excludeInvisible,c=!0),d=this._super(a),c&&this.refresh(),d},container:function(){return this._ui.childWrapper},refresh:function(){var b=this.container(),c=b.find(".ui-btn").not(".ui-slider-handle"),d=this._initialRefresh;a.mobile.checkboxradio&&b.find(":mobile-checkboxradio").checkboxradio("refresh"),this._addFirstLastClasses(c,this.options.excludeInvisible?this._getVisibles(c,d):c,d),this._initialRefresh=!1},_destroy:function(){var a,b,c=this.options;return c.enhanced?this:(a=this._ui,b=this.element.removeClass("ui-controlgroup ui-controlgroup-horizontal ui-controlgroup-vertical ui-corner-all ui-mini "+this._themeClassFromOption(c.theme)).find(".ui-btn").not(".ui-slider-handle"),this._removeFirstLastClasses(b),a.groupLegend.unwrap(),void a.childWrapper.children().unwrap())}},a.mobile.behaviors.addFirstLastClasses))}(a),function(a,b){a.widget("mobile.toolbar",{initSelector:":jqmData(role='footer'), :jqmData(role='header')",options:{theme:null,addBackBtn:!1,backBtnTheme:null,backBtnText:"Back"},_create:function(){var b,c,d=this.element.is(":jqmData(role='header')")?"header":"footer",e=this.element.closest(".ui-page");0===e.length&&(e=!1,this._on(this.document,{pageshow:"refresh"})),a.extend(this,{role:d,page:e,leftbtn:b,rightbtn:c}),this.element.attr("role","header"===d?"banner":"contentinfo").addClass("ui-"+d),this.refresh(),this._setOptions(this.options)},_setOptions:function(a){if(a.addBackBtn!==b&&this._updateBackButton(),null!=a.backBtnTheme&&this.element.find(".ui-toolbar-back-btn").addClass("ui-btn ui-btn-"+a.backBtnTheme),a.backBtnText!==b&&this.element.find(".ui-toolbar-back-btn .ui-btn-text").text(a.backBtnText),a.theme!==b){var c=this.options.theme?this.options.theme:"inherit",d=a.theme?a.theme:"inherit";this.element.removeClass("ui-bar-"+c).addClass("ui-bar-"+d)}this._super(a)},refresh:function(){"header"===this.role&&this._addHeaderButtonClasses(),this.page||(this._setRelative(),"footer"===this.role?this.element.appendTo("body"):"header"===this.role&&this._updateBackButton()),this._addHeadingClasses(),this._btnMarkup()},_setRelative:function(){a("[data-"+a.mobile.ns+"role='page']").css({position:"relative"})},_btnMarkup:function(){this.element.children("a").filter(":not([data-"+a.mobile.ns+"role='none'])").attr("data-"+a.mobile.ns+"role","button"),this.element.trigger("create")},_addHeaderButtonClasses:function(){var a=this.element.children("a, button");this.leftbtn=a.hasClass("ui-btn-left")&&!a.hasClass("ui-toolbar-back-btn"),this.rightbtn=a.hasClass("ui-btn-right"),this.leftbtn=this.leftbtn||a.eq(0).not(".ui-btn-right,.ui-toolbar-back-btn").addClass("ui-btn-left").length,this.rightbtn=this.rightbtn||a.eq(1).addClass("ui-btn-right").length},_updateBackButton:function(){var b,c=this.options,d=c.backBtnTheme||c.theme;b=this._backButton=this._backButton||{},this.options.addBackBtn&&"header"===this.role&&a(".ui-page").length>1&&(this.page?this.page[0].getAttribute("data-"+a.mobile.ns+"url")!==a.mobile.path.stripHash(location.hash):a.mobile.navigate&&a.mobile.navigate.history&&a.mobile.navigate.history.activeIndex>0)&&!this.leftbtn?b.attached||(this.backButton=b.element=(b.element||a("<a role='button' href='javascript:void(0);' class='ui-btn ui-corner-all ui-shadow ui-btn-left "+(d?"ui-btn-"+d+" ":"")+"ui-toolbar-back-btn ui-icon-carat-l ui-btn-icon-left' data-"+a.mobile.ns+"rel='back'>"+c.backBtnText+"</a>")).prependTo(this.element),b.attached=!0):b.element&&(b.element.detach(),b.attached=!1)},_addHeadingClasses:function(){this.element.children("h1, h2, h3, h4, h5, h6").addClass("ui-title").attr({role:"heading","aria-level":"1"})},_destroy:function(){var a;this.element.children("h1, h2, h3, h4, h5, h6").removeClass("ui-title").removeAttr("role").removeAttr("aria-level"),"header"===this.role&&(this.element.children("a, button").removeClass("ui-btn-left ui-btn-right ui-btn ui-shadow ui-corner-all"),this.backButton&&this.backButton.remove()),a=this.options.theme?this.options.theme:"inherit",this.element.removeClass("ui-bar-"+a),this.element.removeClass("ui-"+this.role).removeAttr("role")}})}(a),function(a,b){a.widget("mobile.toolbar",a.mobile.toolbar,{options:{position:null,visibleOnPageShow:!0,disablePageZoom:!0,transition:"slide",fullscreen:!1,tapToggle:!0,tapToggleBlacklist:"a, button, input, select, textarea, .ui-header-fixed, .ui-footer-fixed, .ui-flipswitch, .ui-popup, .ui-panel, .ui-panel-dismiss-open",hideDuringFocus:"input, textarea, select",updatePagePadding:!0,trackPersistentToolbars:!0,supportBlacklist:function(){return!a.support.fixedPosition}},_create:function(){this._super(),this.pagecontainer=a(":mobile-pagecontainer"),"fixed"!==this.options.position||this.options.supportBlacklist()||this._makeFixed()},_makeFixed:function(){this.element.addClass("ui-"+this.role+"-fixed"),this.updatePagePadding(),this._addTransitionClass(),this._bindPageEvents(),this._bindToggleHandlers()},_setOptions:function(c){if("fixed"===c.position&&"fixed"!==this.options.position&&this._makeFixed(),"fixed"===this.options.position&&!this.options.supportBlacklist()){var d=this.page?this.page:a(".ui-page-active").length>0?a(".ui-page-active"):a(".ui-page").eq(0);c.fullscreen!==b&&(c.fullscreen?(this.element.addClass("ui-"+this.role+"-fullscreen"),d.addClass("ui-page-"+this.role+"-fullscreen")):(this.element.removeClass("ui-"+this.role+"-fullscreen"),d.removeClass("ui-page-"+this.role+"-fullscreen").addClass("ui-page-"+this.role+"-fixed")))}this._super(c)},_addTransitionClass:function(){var a=this.options.transition;a&&"none"!==a&&("slide"===a&&(a=this.element.hasClass("ui-header")?"slidedown":"slideup"),this.element.addClass(a))},_bindPageEvents:function(){var a=this.page?this.element.closest(".ui-page"):this.document;this._on(a,{pagebeforeshow:"_handlePageBeforeShow",webkitAnimationStart:"_handleAnimationStart",animationstart:"_handleAnimationStart",updatelayout:"_handleAnimationStart",pageshow:"_handlePageShow",pagebeforehide:"_handlePageBeforeHide"})},_handlePageBeforeShow:function(){var b=this.options;b.disablePageZoom&&a.mobile.zoom.disable(!0),b.visibleOnPageShow||this.hide(!0)},_handleAnimationStart:function(){this.options.updatePagePadding&&this.updatePagePadding(this.page?this.page:".ui-page-active")},_handlePageShow:function(){this.updatePagePadding(this.page?this.page:".ui-page-active"),this.options.updatePagePadding&&this._on(this.window,{throttledresize:"updatePagePadding"})},_handlePageBeforeHide:function(b,c){var d,e,f,g,h=this.options;h.disablePageZoom&&a.mobile.zoom.enable(!0),h.updatePagePadding&&this._off(this.window,"throttledresize"),h.trackPersistentToolbars&&(d=a(".ui-footer-fixed:jqmData(id)",this.page),e=a(".ui-header-fixed:jqmData(id)",this.page),f=d.length&&c.nextPage&&a(".ui-footer-fixed:jqmData(id='"+d.jqmData("id")+"')",c.nextPage)||a(),g=e.length&&c.nextPage&&a(".ui-header-fixed:jqmData(id='"+e.jqmData("id")+"')",c.nextPage)||a(),(f.length||g.length)&&(f.add(g).appendTo(a.mobile.pageContainer),c.nextPage.one("pageshow",function(){g.prependTo(this),f.appendTo(this)})))},_visible:!0,updatePagePadding:function(c){var d=this.element,e="header"===this.role,f=parseFloat(d.css(e?"top":"bottom"));this.options.fullscreen||(c=c&&c.type===b&&c||this.page||d.closest(".ui-page"),c=this.page?this.page:".ui-page-active",a(c).css("padding-"+(e?"top":"bottom"),d.outerHeight()+f))},_useTransition:function(b){var c=this.window,d=this.element,e=c.scrollTop(),f=d.height(),g=this.page?d.closest(".ui-page").height():a(".ui-page-active").height(),h=a.mobile.getScreenHeight();return!b&&(this.options.transition&&"none"!==this.options.transition&&("header"===this.role&&!this.options.fullscreen&&e>f||"footer"===this.role&&!this.options.fullscreen&&g-f>e+h)||this.options.fullscreen)},show:function(a){var b="ui-fixed-hidden",c=this.element;this._useTransition(a)?c.removeClass("out "+b).addClass("in").animationComplete(function(){c.removeClass("in")}):c.removeClass(b),this._visible=!0},hide:function(a){var b="ui-fixed-hidden",c=this.element,d="out"+("slide"===this.options.transition?" reverse":"");this._useTransition(a)?c.addClass(d).removeClass("in").animationComplete(function(){c.addClass(b).removeClass(d)}):c.addClass(b).removeClass(d),this._visible=!1},toggle:function(){this[this._visible?"hide":"show"]()},_bindToggleHandlers:function(){var b,c,d=this,e=d.options,f=!0,g=this.page?this.page:a(".ui-page");g.bind("vclick",function(b){e.tapToggle&&!a(b.target).closest(e.tapToggleBlacklist).length&&d.toggle()}).bind("focusin focusout",function(g){screen.width<1025&&a(g.target).is(e.hideDuringFocus)&&!a(g.target).closest(".ui-header-fixed, .ui-footer-fixed").length&&("focusout"!==g.type||f?"focusin"===g.type&&f&&(clearTimeout(b),f=!1,c=setTimeout(function(){d.hide()},0)):(f=!0,clearTimeout(c),b=setTimeout(function(){d.show()},0)))})},_setRelative:function(){"fixed"!==this.options.position&&a("[data-"+a.mobile.ns+"role='page']").css({position:"relative"})},_destroy:function(){var b,c,d,e,f,g=this.pagecontainer.pagecontainer("getActivePage");this._super(),"fixed"===this.options.position&&(d=a("body>.ui-"+this.role+"-fixed").add(g.find(".ui-"+this.options.role+"-fixed")).not(this.element).length>0,f=a("body>.ui-"+this.role+"-fixed").add(g.find(".ui-"+this.options.role+"-fullscreen")).not(this.element).length>0,c="ui-header-fixed ui-footer-fixed ui-header-fullscreen in out ui-footer-fullscreen fade slidedown slideup ui-fixed-hidden",this.element.removeClass(c),f||(b="ui-page-"+this.role+"-fullscreen"),d||(e="header"===this.role,b+=" ui-page-"+this.role+"-fixed",g.css("padding-"+(e?"top":"bottom"),"")),g.removeClass(b)) -}})}(a),function(a){a.widget("mobile.toolbar",a.mobile.toolbar,{_makeFixed:function(){this._super(),this._workarounds()},_workarounds:function(){var a=navigator.userAgent,b=navigator.platform,c=a.match(/AppleWebKit\/([0-9]+)/),d=!!c&&c[1],e=null,f=this;if(b.indexOf("iPhone")>-1||b.indexOf("iPad")>-1||b.indexOf("iPod")>-1)e="ios";else{if(!(a.indexOf("Android")>-1))return;e="android"}if("ios"===e)f._bindScrollWorkaround();else{if(!("android"===e&&d&&534>d))return;f._bindScrollWorkaround(),f._bindListThumbWorkaround()}},_viewportOffset:function(){var a=this.element,b=a.hasClass("ui-header"),c=Math.abs(a.offset().top-this.window.scrollTop());return b||(c=Math.round(c-this.window.height()+a.outerHeight())-60),c},_bindScrollWorkaround:function(){var a=this;this._on(this.window,{scrollstop:function(){var b=a._viewportOffset();b>2&&a._visible&&a._triggerRedraw()}})},_bindListThumbWorkaround:function(){this.element.closest(".ui-page").addClass("ui-android-2x-fixed")},_triggerRedraw:function(){var b=parseFloat(a(".ui-page-active").css("padding-bottom"));a(".ui-page-active").css("padding-bottom",b+1+"px"),setTimeout(function(){a(".ui-page-active").css("padding-bottom",b+"px")},0)},destroy:function(){this._super(),this.element.closest(".ui-page-active").removeClass("ui-android-2x-fix")}})}(a),function(a,b){function c(){var a=e.clone(),b=a.eq(0),c=a.eq(1),d=c.children();return{arEls:c.add(b),gd:b,ct:c,ar:d}}var d=a.mobile.browser.oldIE&&a.mobile.browser.oldIE<=8,e=a("<div class='ui-popup-arrow-guide'></div><div class='ui-popup-arrow-container"+(d?" ie":"")+"'><div class='ui-popup-arrow'></div></div>");a.widget("mobile.popup",a.mobile.popup,{options:{arrow:""},_create:function(){var a,b=this._super();return this.options.arrow&&(this._ui.arrow=a=this._addArrow()),b},_addArrow:function(){var a,b=this.options,d=c();return a=this._themeClassFromOption("ui-body-",b.theme),d.ar.addClass(a+(b.shadow?" ui-overlay-shadow":"")),d.arEls.hide().appendTo(this.element),d},_unenhance:function(){var a=this._ui.arrow;return a&&a.arEls.remove(),this._super()},_tryAnArrow:function(a,b,c,d,e){var f,g,h,i={},j={};return d.arFull[a.dimKey]>d.guideDims[a.dimKey]?e:(i[a.fst]=c[a.fst]+(d.arHalf[a.oDimKey]+d.menuHalf[a.oDimKey])*a.offsetFactor-d.contentBox[a.fst]+(d.clampInfo.menuSize[a.oDimKey]-d.contentBox[a.oDimKey])*a.arrowOffsetFactor,i[a.snd]=c[a.snd],f=d.result||this._calculateFinalLocation(i,d.clampInfo),g={x:f.left,y:f.top},j[a.fst]=g[a.fst]+d.contentBox[a.fst]+a.tipOffset,j[a.snd]=Math.max(f[a.prop]+d.guideOffset[a.prop]+d.arHalf[a.dimKey],Math.min(f[a.prop]+d.guideOffset[a.prop]+d.guideDims[a.dimKey]-d.arHalf[a.dimKey],c[a.snd])),h=Math.abs(c.x-j.x)+Math.abs(c.y-j.y),(!e||h<e.diff)&&(j[a.snd]-=d.arHalf[a.dimKey]+f[a.prop]+d.contentBox[a.snd],e={dir:b,diff:h,result:f,posProp:a.prop,posVal:j[a.snd]}),e)},_getPlacementState:function(a){var b,c,d=this._ui.arrow,e={clampInfo:this._clampPopupWidth(!a),arFull:{cx:d.ct.width(),cy:d.ct.height()},guideDims:{cx:d.gd.width(),cy:d.gd.height()},guideOffset:d.gd.offset()};return b=this.element.offset(),d.gd.css({left:0,top:0,right:0,bottom:0}),c=d.gd.offset(),e.contentBox={x:c.left-b.left,y:c.top-b.top,cx:d.gd.width(),cy:d.gd.height()},d.gd.removeAttr("style"),e.guideOffset={left:e.guideOffset.left-b.left,top:e.guideOffset.top-b.top},e.arHalf={cx:e.arFull.cx/2,cy:e.arFull.cy/2},e.menuHalf={cx:e.clampInfo.menuSize.cx/2,cy:e.clampInfo.menuSize.cy/2},e},_placementCoords:function(b){var c,e,f,g,h,i=this.options.arrow,j=this._ui.arrow;return j?(j.arEls.show(),h={},c=this._getPlacementState(!0),f={l:{fst:"x",snd:"y",prop:"top",dimKey:"cy",oDimKey:"cx",offsetFactor:1,tipOffset:-c.arHalf.cx,arrowOffsetFactor:0},r:{fst:"x",snd:"y",prop:"top",dimKey:"cy",oDimKey:"cx",offsetFactor:-1,tipOffset:c.arHalf.cx+c.contentBox.cx,arrowOffsetFactor:1},b:{fst:"y",snd:"x",prop:"left",dimKey:"cx",oDimKey:"cy",offsetFactor:-1,tipOffset:c.arHalf.cy+c.contentBox.cy,arrowOffsetFactor:1},t:{fst:"y",snd:"x",prop:"left",dimKey:"cx",oDimKey:"cy",offsetFactor:1,tipOffset:-c.arHalf.cy,arrowOffsetFactor:0}},a.each((i===!0?"l,t,r,b":i).split(","),a.proxy(function(a,d){e=this._tryAnArrow(f[d],d,b,c,e)},this)),e?(j.ct.removeClass("ui-popup-arrow-l ui-popup-arrow-t ui-popup-arrow-r ui-popup-arrow-b").addClass("ui-popup-arrow-"+e.dir).removeAttr("style").css(e.posProp,e.posVal).show(),d||(g=this.element.offset(),h[f[e.dir].fst]=j.ct.offset(),h[f[e.dir].snd]={left:g.left+c.contentBox.x,top:g.top+c.contentBox.y}),e.result):(j.arEls.hide(),this._super(b))):this._super(b)},_setOptions:function(a){var c,d=this.options.theme,e=this._ui.arrow,f=this._super(a);if(a.arrow!==b){if(!e&&a.arrow)return void(this._ui.arrow=this._addArrow());e&&!a.arrow&&(e.arEls.remove(),this._ui.arrow=null)}return e=this._ui.arrow,e&&(a.theme!==b&&(d=this._themeClassFromOption("ui-body-",d),c=this._themeClassFromOption("ui-body-",a.theme),e.ar.removeClass(d).addClass(c)),a.shadow!==b&&e.ar.toggleClass("ui-overlay-shadow",a.shadow)),f},_destroy:function(){var a=this._ui.arrow;return a&&a.arEls.remove(),this._super()}})}(a),function(a,c){a.widget("mobile.panel",{options:{classes:{panel:"ui-panel",panelOpen:"ui-panel-open",panelClosed:"ui-panel-closed",panelFixed:"ui-panel-fixed",panelInner:"ui-panel-inner",modal:"ui-panel-dismiss",modalOpen:"ui-panel-dismiss-open",pageContainer:"ui-panel-page-container",pageWrapper:"ui-panel-wrapper",pageFixedToolbar:"ui-panel-fixed-toolbar",pageContentPrefix:"ui-panel-page-content",animate:"ui-panel-animate"},animate:!0,theme:null,position:"left",dismissible:!0,display:"reveal",swipeClose:!0,positionFixed:!1},_closeLink:null,_parentPage:null,_page:null,_modal:null,_panelInner:null,_wrapper:null,_fixedToolbars:null,_create:function(){var b=this.element,c=b.closest(".ui-page, :jqmData(role='page')");a.extend(this,{_closeLink:b.find(":jqmData(rel='close')"),_parentPage:c.length>0?c:!1,_openedPage:null,_page:this._getPage,_panelInner:this._getPanelInner(),_fixedToolbars:this._getFixedToolbars}),"overlay"!==this.options.display&&this._getWrapper(),this._addPanelClasses(),a.support.cssTransform3d&&this.options.animate&&this.element.addClass(this.options.classes.animate),this._bindUpdateLayout(),this._bindCloseEvents(),this._bindLinkListeners(),this._bindPageEvents(),this.options.dismissible&&this._createModal(),this._bindSwipeEvents()},_getPanelInner:function(){var a=this.element.find("."+this.options.classes.panelInner);return 0===a.length&&(a=this.element.children().wrapAll("<div class='"+this.options.classes.panelInner+"' />").parent()),a},_createModal:function(){var b=this,c=b._parentPage?b._parentPage.parent():b.element.parent();b._modal=a("<div class='"+b.options.classes.modal+"'></div>").on("mousedown",function(){b.close()}).appendTo(c)},_getPage:function(){var b=this._openedPage||this._parentPage||a("."+a.mobile.activePageClass);return b},_getWrapper:function(){var a=this._page().find("."+this.options.classes.pageWrapper);0===a.length&&(a=this._page().children(".ui-header:not(.ui-header-fixed), .ui-content:not(.ui-popup), .ui-footer:not(.ui-footer-fixed)").wrapAll("<div class='"+this.options.classes.pageWrapper+"'></div>").parent()),this._wrapper=a},_getFixedToolbars:function(){var b=a("body").children(".ui-header-fixed, .ui-footer-fixed"),c=this._page().find(".ui-header-fixed, .ui-footer-fixed"),d=b.add(c).addClass(this.options.classes.pageFixedToolbar);return d},_getPosDisplayClasses:function(a){return a+"-position-"+this.options.position+" "+a+"-display-"+this.options.display},_getPanelClasses:function(){var a=this.options.classes.panel+" "+this._getPosDisplayClasses(this.options.classes.panel)+" "+this.options.classes.panelClosed+" ui-body-"+(this.options.theme?this.options.theme:"inherit");return this.options.positionFixed&&(a+=" "+this.options.classes.panelFixed),a},_addPanelClasses:function(){this.element.addClass(this._getPanelClasses())},_handleCloseClick:function(a){a.isDefaultPrevented()||this.close()},_bindCloseEvents:function(){this._on(this._closeLink,{click:"_handleCloseClick"}),this._on({"click a:jqmData(ajax='false')":"_handleCloseClick"})},_positionPanel:function(b){var c=this,d=c._panelInner.outerHeight(),e=d>a.mobile.getScreenHeight();e||!c.options.positionFixed?(e&&(c._unfixPanel(),a.mobile.resetActivePageHeight(d)),b&&this.window[0].scrollTo(0,a.mobile.defaultHomeScroll)):c._fixPanel()},_bindFixListener:function(){this._on(a(b),{throttledresize:"_positionPanel"})},_unbindFixListener:function(){this._off(a(b),"throttledresize")},_unfixPanel:function(){this.options.positionFixed&&a.support.fixedPosition&&this.element.removeClass(this.options.classes.panelFixed)},_fixPanel:function(){this.options.positionFixed&&a.support.fixedPosition&&this.element.addClass(this.options.classes.panelFixed)},_bindUpdateLayout:function(){var a=this;a.element.on("updatelayout",function(){a._open&&a._positionPanel()})},_bindLinkListeners:function(){this._on("body",{"click a":"_handleClick"})},_handleClick:function(b){var d,e=this.element.attr("id");b.currentTarget.href.split("#")[1]===e&&e!==c&&(b.preventDefault(),d=a(b.target),d.hasClass("ui-btn")&&(d.addClass(a.mobile.activeBtnClass),this.element.one("panelopen panelclose",function(){d.removeClass(a.mobile.activeBtnClass)})),this.toggle())},_bindSwipeEvents:function(){var a=this,b=a._modal?a.element.add(a._modal):a.element;a.options.swipeClose&&("left"===a.options.position?b.on("swipeleft.panel",function(){a.close()}):b.on("swiperight.panel",function(){a.close()}))},_bindPageEvents:function(){var a=this;this.document.on("panelbeforeopen",function(b){a._open&&b.target!==a.element[0]&&a.close()}).on("keyup.panel",function(b){27===b.keyCode&&a._open&&a.close()}),this._parentPage||"overlay"===this.options.display||this._on(this.document,{pageshow:function(){this._openedPage=null,this._getWrapper()}}),a._parentPage?this.document.on("pagehide",":jqmData(role='page')",function(){a._open&&a.close(!0)}):this.document.on("pagebeforehide",function(){a._open&&a.close(!0)})},_open:!1,_pageContentOpenClasses:null,_modalOpenClasses:null,open:function(b){if(!this._open){var c=this,d=c.options,e=function(){c._off(c.document,"panelclose"),c._page().jqmData("panel","open"),a.support.cssTransform3d&&d.animate&&"overlay"!==d.display&&(c._wrapper.addClass(d.classes.animate),c._fixedToolbars().addClass(d.classes.animate)),!b&&a.support.cssTransform3d&&d.animate?(c._wrapper||c.element).animationComplete(f,"transition"):setTimeout(f,0),d.theme&&"overlay"!==d.display&&c._page().parent().addClass(d.classes.pageContainer+"-themed "+d.classes.pageContainer+"-"+d.theme),c.element.removeClass(d.classes.panelClosed).addClass(d.classes.panelOpen),c._positionPanel(!0),c._pageContentOpenClasses=c._getPosDisplayClasses(d.classes.pageContentPrefix),"overlay"!==d.display&&(c._page().parent().addClass(d.classes.pageContainer),c._wrapper.addClass(c._pageContentOpenClasses),c._fixedToolbars().addClass(c._pageContentOpenClasses)),c._modalOpenClasses=c._getPosDisplayClasses(d.classes.modal)+" "+d.classes.modalOpen,c._modal&&c._modal.addClass(c._modalOpenClasses).height(Math.max(c._modal.height(),c.document.height()))},f=function(){c._open&&("overlay"!==d.display&&(c._wrapper.addClass(d.classes.pageContentPrefix+"-open"),c._fixedToolbars().addClass(d.classes.pageContentPrefix+"-open")),c._bindFixListener(),c._trigger("open"),c._openedPage=c._page())};c._trigger("beforeopen"),"open"===c._page().jqmData("panel")?c._on(c.document,{panelclose:e}):e(),c._open=!0}},close:function(b){if(this._open){var c=this,d=this.options,e=function(){c.element.removeClass(d.classes.panelOpen),"overlay"!==d.display&&(c._wrapper.removeClass(c._pageContentOpenClasses),c._fixedToolbars().removeClass(c._pageContentOpenClasses)),!b&&a.support.cssTransform3d&&d.animate?(c._wrapper||c.element).animationComplete(f,"transition"):setTimeout(f,0),c._modal&&c._modal.removeClass(c._modalOpenClasses).height("")},f=function(){d.theme&&"overlay"!==d.display&&c._page().parent().removeClass(d.classes.pageContainer+"-themed "+d.classes.pageContainer+"-"+d.theme),c.element.addClass(d.classes.panelClosed),"overlay"!==d.display&&(c._page().parent().removeClass(d.classes.pageContainer),c._wrapper.removeClass(d.classes.pageContentPrefix+"-open"),c._fixedToolbars().removeClass(d.classes.pageContentPrefix+"-open")),a.support.cssTransform3d&&d.animate&&"overlay"!==d.display&&(c._wrapper.removeClass(d.classes.animate),c._fixedToolbars().removeClass(d.classes.animate)),c._fixPanel(),c._unbindFixListener(),a.mobile.resetActivePageHeight(),c._page().jqmRemoveData("panel"),c._trigger("close"),c._openedPage=null};c._trigger("beforeclose"),e(),c._open=!1}},toggle:function(){this[this._open?"close":"open"]()},_destroy:function(){var b,c=this.options,d=a("body > :mobile-panel").length+a.mobile.activePage.find(":mobile-panel").length>1;"overlay"!==c.display&&(b=a("body > :mobile-panel").add(a.mobile.activePage.find(":mobile-panel")),0===b.not(".ui-panel-display-overlay").not(this.element).length&&this._wrapper.children().unwrap(),this._open&&(this._fixedToolbars().removeClass(c.classes.pageContentPrefix+"-open"),a.support.cssTransform3d&&c.animate&&this._fixedToolbars().removeClass(c.classes.animate),this._page().parent().removeClass(c.classes.pageContainer),c.theme&&this._page().parent().removeClass(c.classes.pageContainer+"-themed "+c.classes.pageContainer+"-"+c.theme))),d||this.document.off("panelopen panelclose"),this._open&&this._page().jqmRemoveData("panel"),this._panelInner.children().unwrap(),this.element.removeClass([this._getPanelClasses(),c.classes.panelOpen,c.classes.animate].join(" ")).off("swipeleft.panel swiperight.panel").off("panelbeforeopen").off("panelhide").off("keyup.panel").off("updatelayout"),this._modal&&this._modal.remove()}})}(a),function(a,b){a.widget("mobile.table",{options:{classes:{table:"ui-table"},enhanced:!1},_create:function(){this.options.enhanced||this.element.addClass(this.options.classes.table),a.extend(this,{headers:b,allHeaders:b}),this._refresh(!0)},_setHeaders:function(){var a=this.element.find("thead tr");this.headers=this.element.find("tr:eq(0)").children(),this.allHeaders=this.headers.add(a.children())},refresh:function(){this._refresh()},rebuild:a.noop,_refresh:function(){var b=this.element,c=b.find("thead tr");this._setHeaders(),c.each(function(){var d=0;a(this).children().each(function(){var e,f=parseInt(this.getAttribute("colspan"),10),g=":nth-child("+(d+1)+")";if(this.setAttribute("data-"+a.mobile.ns+"colstart",d+1),f)for(e=0;f-1>e;e++)d++,g+=", :nth-child("+(d+1)+")";a(this).jqmData("cells",b.find("tr").not(c.eq(0)).not(this).children(g)),d++})})}})}(a),function(a){a.widget("mobile.table",a.mobile.table,{options:{mode:"columntoggle",columnBtnTheme:null,columnPopupTheme:null,columnBtnText:"Columns...",classes:a.extend(a.mobile.table.prototype.options.classes,{popup:"ui-table-columntoggle-popup",columnBtn:"ui-table-columntoggle-btn",priorityPrefix:"ui-table-priority-",columnToggleTable:"ui-table-columntoggle"})},_create:function(){this._super(),"columntoggle"===this.options.mode&&(a.extend(this,{_menu:null}),this.options.enhanced?(this._menu=a(this.document[0].getElementById(this._id()+"-popup")).children().first(),this._addToggles(this._menu,!0)):(this._menu=this._enhanceColToggle(),this.element.addClass(this.options.classes.columnToggleTable)),this._setupEvents(),this._setToggleState())},_id:function(){return this.element.attr("id")||this.widgetName+this.uuid},_setupEvents:function(){this._on(this.window,{throttledresize:"_setToggleState"}),this._on(this._menu,{"change input":"_menuInputChange"})},_addToggles:function(b,c){var d,e=0,f=this.options,g=b.controlgroup("container");c?d=b.find("input"):g.empty(),this.headers.not("td").each(function(){var b,h,i=a(this),j=a.mobile.getAttribute(this,"priority");j&&(h=i.add(i.jqmData("cells")),h.addClass(f.classes.priorityPrefix+j),b=(c?d.eq(e++):a("<label><input type='checkbox' checked />"+(i.children("abbr").first().attr("title")||i.text())+"</label>").appendTo(g).children(0).checkboxradio({theme:f.columnPopupTheme})).jqmData("header",i).jqmData("cells",h),i.jqmData("input",b))}),c||b.controlgroup("refresh")},_menuInputChange:function(b){var c=a(b.target),d=c[0].checked;c.jqmData("cells").toggleClass("ui-table-cell-hidden",!d).toggleClass("ui-table-cell-visible",d)},_unlockCells:function(a){a.removeClass("ui-table-cell-hidden ui-table-cell-visible")},_enhanceColToggle:function(){var b,c,d,e,f=this.element,g=this.options,h=a.mobile.ns,i=this.document[0].createDocumentFragment();return b=this._id()+"-popup",c=a("<a href='#"+b+"' class='"+g.classes.columnBtn+" ui-btn ui-btn-"+(g.columnBtnTheme||"a")+" ui-corner-all ui-shadow ui-mini' data-"+h+"rel='popup'>"+g.columnBtnText+"</a>"),d=a("<div class='"+g.classes.popup+"' id='"+b+"'></div>"),e=a("<fieldset></fieldset>").controlgroup(),this._addToggles(e,!1),e.appendTo(d),i.appendChild(d[0]),i.appendChild(c[0]),f.before(i),d.popup(),e},rebuild:function(){this._super(),"columntoggle"===this.options.mode&&this._refresh(!1)},_refresh:function(b){var c,d,e;if(this._super(b),!b&&"columntoggle"===this.options.mode)for(c=this.headers,d=[],this._menu.find("input").each(function(){var b=a(this),e=b.jqmData("header"),f=c.index(e[0]);f>-1&&!b.prop("checked")&&d.push(f)}),this._unlockCells(this.element.find(".ui-table-cell-hidden, .ui-table-cell-visible")),this._addToggles(this._menu,b),e=d.length-1;e>-1;e--)c.eq(d[e]).jqmData("input").prop("checked",!1).checkboxradio("refresh").trigger("change")},_setToggleState:function(){this._menu.find("input").each(function(){var b=a(this);this.checked="table-cell"===b.jqmData("cells").eq(0).css("display"),b.checkboxradio("refresh")})},_destroy:function(){this._super()}})}(a),function(a){a.widget("mobile.table",a.mobile.table,{options:{mode:"reflow",classes:a.extend(a.mobile.table.prototype.options.classes,{reflowTable:"ui-table-reflow",cellLabels:"ui-table-cell-label"})},_create:function(){this._super(),"reflow"===this.options.mode&&(this.options.enhanced||(this.element.addClass(this.options.classes.reflowTable),this._updateReflow()))},rebuild:function(){this._super(),"reflow"===this.options.mode&&this._refresh(!1)},_refresh:function(a){this._super(a),a||"reflow"!==this.options.mode||this._updateReflow()},_updateReflow:function(){var b=this,c=this.options;a(b.allHeaders.get().reverse()).each(function(){var d,e,f=a(this).jqmData("cells"),g=a.mobile.getAttribute(this,"colstart"),h=f.not(this).filter("thead th").length&&" ui-table-cell-label-top",i=a(this).clone().contents();i.length>0&&(h?(d=parseInt(this.getAttribute("colspan"),10),e="",d&&(e="td:nth-child("+d+"n + "+g+")"),b._addLabels(f.filter(e),c.classes.cellLabels+h,i)):b._addLabels(f,c.classes.cellLabels,i))})},_addLabels:function(b,c,d){1===d.length&&"abbr"===d[0].nodeName.toLowerCase()&&(d=d.eq(0).attr("title")),b.not(":has(b."+c+")").prepend(a("<b class='"+c+"'></b>").append(d))}})}(a),function(a,c){var d=function(b,c){return-1===(""+(a.mobile.getAttribute(this,"filtertext")||a(this).text())).toLowerCase().indexOf(c)};a.widget("mobile.filterable",{initSelector:":jqmData(filter='true')",options:{filterReveal:!1,filterCallback:d,enhanced:!1,input:null,children:"> li, > option, > optgroup option, > tbody tr, > .ui-controlgroup-controls > .ui-btn, > .ui-controlgroup-controls > .ui-checkbox, > .ui-controlgroup-controls > .ui-radio"},_create:function(){var b=this.options;a.extend(this,{_search:null,_timer:0}),this._setInput(b.input),b.enhanced||this._filterItems((this._search&&this._search.val()||"").toLowerCase())},_onKeyUp:function(){var c,d,e=this._search;if(e){if(c=e.val().toLowerCase(),d=a.mobile.getAttribute(e[0],"lastval")+"",d&&d===c)return;this._timer&&(b.clearTimeout(this._timer),this._timer=0),this._timer=this._delay(function(){return this._trigger("beforefilter",null,{input:e})===!1?!1:(e[0].setAttribute("data-"+a.mobile.ns+"lastval",c),this._filterItems(c),void(this._timer=0))},250)}},_getFilterableItems:function(){var b=this.element,c=this.options.children,d=c?a.isFunction(c)?c():c.nodeName?a(c):c.jquery?c:this.element.find(c):{length:0};return 0===d.length&&(d=b.children()),d},_filterItems:function(b){var c,e,f,g,h=[],i=[],j=this.options,k=this._getFilterableItems();if(null!=b)for(e=j.filterCallback||d,f=k.length,c=0;f>c;c++)g=e.call(k[c],c,b)?i:h,g.push(k[c]);0===i.length?k[j.filterReveal&&0===b.length?"addClass":"removeClass"]("ui-screen-hidden"):(a(i).addClass("ui-screen-hidden"),a(h).removeClass("ui-screen-hidden")),this._refreshChildWidget(),this._trigger("filter",null,{items:k})},_refreshChildWidget:function(){var b,c,d=["collapsibleset","selectmenu","controlgroup","listview"];for(c=d.length-1;c>-1;c--)b=d[c],a.mobile[b]&&(b=this.element.data("mobile-"+b),b&&a.isFunction(b.refresh)&&b.refresh())},_setInput:function(c){var d=this._search;this._timer&&(b.clearTimeout(this._timer),this._timer=0),d&&(this._off(d,"keyup change input"),d=null),c&&(d=c.jquery?c:c.nodeName?a(c):this.document.find(c),this._on(d,{keydown:"_onKeyDown",keypress:"_onKeyPress",keyup:"_onKeyUp",change:"_onKeyUp",input:"_onKeyUp"})),this._search=d},_onKeyDown:function(b){b.keyCode===a.ui.keyCode.ENTER&&(b.preventDefault(),this._preventKeyPress=!0)},_onKeyPress:function(a){this._preventKeyPress&&(a.preventDefault(),this._preventKeyPress=!1)},_setOptions:function(a){var b=!(a.filterReveal===c&&a.filterCallback===c&&a.children===c);this._super(a),a.input!==c&&(this._setInput(a.input),b=!0),b&&this.refresh()},_destroy:function(){var a=this.options,b=this._getFilterableItems();a.enhanced?b.toggleClass("ui-screen-hidden",a.filterReveal):b.removeClass("ui-screen-hidden")},refresh:function(){this._timer&&(b.clearTimeout(this._timer),this._timer=0),this._filterItems((this._search&&this._search.val()||"").toLowerCase())}})}(a),function(a,b){var c=function(a,b){return function(c){b.call(this,c),a._syncTextInputOptions(c)}},d=/(^|\s)ui-li-divider(\s|$)/,e=a.mobile.filterable.prototype.options.filterCallback;a.mobile.filterable.prototype.options.filterCallback=function(a,b){return!this.className.match(d)&&e.call(this,a,b)},a.widget("mobile.filterable",a.mobile.filterable,{options:{filterPlaceholder:"Filter items...",filterTheme:null},_create:function(){var b,c,d=this.element,e=["collapsibleset","selectmenu","controlgroup","listview"],f={};for(this._super(),a.extend(this,{_widget:null}),b=e.length-1;b>-1;b--)if(c=e[b],a.mobile[c]){if(this._setWidget(d.data("mobile-"+c)))break;f[c+"create"]="_handleCreate"}this._widget||this._on(d,f)},_handleCreate:function(a){this._setWidget(this.element.data("mobile-"+a.type.substring(0,a.type.length-6)))},_trigger:function(a,b,c){return this._widget&&"mobile-listview"===this._widget.widgetFullName&&"beforefilter"===a&&this._widget._trigger("beforefilter",b,c),this._super(a,b,c)},_setWidget:function(a){return!this._widget&&a&&(this._widget=a,this._widget._setOptions=c(this,this._widget._setOptions)),this._widget&&(this._syncTextInputOptions(this._widget.options),"listview"===this._widget.widgetName&&(this._widget.options.hideDividers=!0,this._widget.element.listview("refresh"))),!!this._widget},_isSearchInternal:function(){return this._search&&this._search.jqmData("ui-filterable-"+this.uuid+"-internal")},_setInput:function(b){var c=this.options,d=!0,e={};if(!b){if(this._isSearchInternal())return;d=!1,b=a("<input data-"+a.mobile.ns+"type='search' placeholder='"+c.filterPlaceholder+"'></input>").jqmData("ui-filterable-"+this.uuid+"-internal",!0),a("<form class='ui-filterable'></form>").append(b).submit(function(a){a.preventDefault(),b.blur()}).insertBefore(this.element),a.mobile.textinput&&(null!=this.options.filterTheme&&(e.theme=c.filterTheme),b.textinput(e))}this._super(b),this._isSearchInternal()&&d&&this._search.attr("placeholder",this.options.filterPlaceholder)},_setOptions:function(c){var d=this._super(c);return c.filterPlaceholder!==b&&this._isSearchInternal()&&this._search.attr("placeholder",c.filterPlaceholder),c.filterTheme!==b&&this._search&&a.mobile.textinput&&this._search.textinput("option","theme",c.filterTheme),d},_refreshChildWidget:function(){this._refreshingChildWidget=!0,this._superApply(arguments),this._refreshingChildWidget=!1},refresh:function(){this._refreshingChildWidget||this._superApply(arguments)},_destroy:function(){this._isSearchInternal()&&this._search.remove(),this._super()},_syncTextInputOptions:function(c){var d,e={};if(this._isSearchInternal()&&a.mobile.textinput){for(d in a.mobile.textinput.prototype.options)c[d]!==b&&(e[d]="theme"===d&&null!=this.options.filterTheme?this.options.filterTheme:c[d]);this._search.textinput("option",e)}}}),a.widget("mobile.listview",a.mobile.listview,{options:{filter:!1},_create:function(){return this.options.filter!==!0||this.element.data("mobile-filterable")||this.element.filterable(),this._super()},refresh:function(){var a;this._superApply(arguments),this.options.filter===!0&&(a=this.element.data("mobile-filterable"),a&&a.refresh())}})}(a),function(a,b){function c(){return++e}function d(a){return a.hash.length>1&&decodeURIComponent(a.href.replace(f,""))===decodeURIComponent(location.href.replace(f,""))}var e=0,f=/#.*$/;a.widget("ui.tabs",{version:"fadf2b312a05040436451c64bbfaf4814bc62c56",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var b=this,c=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",c.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(b){a(this).is(".ui-state-disabled")&&b.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){a(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),c.active=this._initialActive(),a.isArray(c.disabled)&&(c.disabled=a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"),function(a){return b.tabs.index(a)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(c.active):a(),this._refresh(),this.active.length&&this.load(c.active)},_initialActive:function(){var b=this.options.active,c=this.options.collapsible,d=location.hash.substring(1);return null===b&&(d&&this.tabs.each(function(c,e){return a(e).attr("aria-controls")===d?(b=c,!1):void 0}),null===b&&(b=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===b||-1===b)&&(b=this.tabs.length?0:!1)),b!==!1&&(b=this.tabs.index(this.tabs.eq(b)),-1===b&&(b=c?!1:0)),!c&&b===!1&&this.anchors.length&&(b=0),b},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):a()}},_tabKeydown:function(b){var c=a(this.document[0].activeElement).closest("li"),d=this.tabs.index(c),e=!0;if(!this._handlePageNav(b)){switch(b.keyCode){case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:d++;break;case a.ui.keyCode.UP:case a.ui.keyCode.LEFT:e=!1,d--;break;case a.ui.keyCode.END:d=this.anchors.length-1;break;case a.ui.keyCode.HOME:d=0;break;case a.ui.keyCode.SPACE:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d);case a.ui.keyCode.ENTER:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d===this.options.active?!1:d);default:return}b.preventDefault(),clearTimeout(this.activating),d=this._focusNextTab(d,e),b.ctrlKey||(c.attr("aria-selected","false"),this.tabs.eq(d).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",d)},this.delay))}},_panelKeydown:function(b){this._handlePageNav(b)||b.ctrlKey&&b.keyCode===a.ui.keyCode.UP&&(b.preventDefault(),this.active.focus())},_handlePageNav:function(b){return b.altKey&&b.keyCode===a.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):b.altKey&&b.keyCode===a.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(b,c){function d(){return b>e&&(b=0),0>b&&(b=e),b}for(var e=this.tabs.length-1;-1!==a.inArray(d(),this.options.disabled);)b=c?b+1:b-1;return b},_focusNextTab:function(a,b){return a=this._findNextTab(a,b),this.tabs.eq(a).focus(),a},_setOption:function(a,b){return"active"===a?void this._activate(b):"disabled"===a?void this._setupDisabled(b):(this._super(a,b),"collapsible"===a&&(this.element.toggleClass("ui-tabs-collapsible",b),b||this.options.active!==!1||this._activate(0)),"event"===a&&this._setupEvents(b),void("heightStyle"===a&&this._setupHeightStyle(b)))},_tabId:function(a){return a.attr("aria-controls")||"ui-tabs-"+c()},_sanitizeSelector:function(a){return a?a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var b=this.options,c=this.tablist.children(":has(a[href])");b.disabled=a.map(c.filter(".ui-state-disabled"),function(a){return c.index(a)}),this._processTabs(),b.active!==!1&&this.anchors.length?this.active.length&&!a.contains(this.tablist[0],this.active[0])?this.tabs.length===b.disabled.length?(b.active=!1,this.active=a()):this._activate(this._findNextTab(Math.max(0,b.active-1),!1)):b.active=this.tabs.index(this.active):(b.active=!1,this.active=a()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var b=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return a("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=a(),this.anchors.each(function(c,e){var f,g,h,i=a(e).uniqueId().attr("id"),j=a(e).closest("li"),k=j.attr("aria-controls");d(e)?(f=e.hash,g=b.element.find(b._sanitizeSelector(f))):(h=b._tabId(j),f="#"+h,g=b.element.find(f),g.length||(g=b._createPanel(h),g.insertAfter(b.panels[c-1]||b.tablist)),g.attr("aria-live","polite")),g.length&&(b.panels=b.panels.add(g)),k&&j.data("ui-tabs-aria-controls",k),j.attr({"aria-controls":f.substring(1),"aria-labelledby":i}),g.attr("aria-labelledby",i)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(b){return a("<div>").attr("id",b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(b){a.isArray(b)&&(b.length?b.length===this.anchors.length&&(b=!0):b=!1);for(var c,d=0;c=this.tabs[d];d++)b===!0||-1!==a.inArray(d,b)?a(c).addClass("ui-state-disabled").attr("aria-disabled","true"):a(c).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=b},_setupEvents:function(b){var c={click:function(a){a.preventDefault()}};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,c),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(b){var c,d=this.element.parent();"fill"===b?(c=d.height(),c-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var b=a(this),d=b.css("position");"absolute"!==d&&"fixed"!==d&&(c-=b.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){c-=a(this).outerHeight(!0) -}),this.panels.each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===b&&(c=0,this.panels.each(function(){c=Math.max(c,a(this).height("").height())}).height(c))},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e.closest("li"),g=f[0]===d[0],h=g&&c.collapsible,i=h?a():this._getPanelForTab(f),j=d.length?this._getPanelForTab(d):a(),k={oldTab:d,oldPanel:j,newTab:h?a():f,newPanel:i};b.preventDefault(),f.hasClass("ui-state-disabled")||f.hasClass("ui-tabs-loading")||this.running||g&&!c.collapsible||this._trigger("beforeActivate",b,k)===!1||(c.active=h?!1:this.tabs.index(f),this.active=g?a():f,this.xhr&&this.xhr.abort(),j.length||i.length||a.error("jQuery UI Tabs: Mismatching fragment identifier."),i.length&&this.load(this.tabs.index(f),b),this._toggle(b,k))},_toggle:function(b,c){function d(){f.running=!1,f._trigger("activate",b,c)}function e(){c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),g.length&&f.options.show?f._show(g,f.options.show,d):(g.show(),d())}var f=this,g=c.newPanel,h=c.oldPanel;this.running=!0,h.length&&this.options.hide?this._hide(h,this.options.hide,function(){c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),e()}):(c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),h.hide(),e()),h.attr({"aria-expanded":"false","aria-hidden":"true"}),c.oldTab.attr("aria-selected","false"),g.length&&h.length?c.oldTab.attr("tabIndex",-1):g.length&&this.tabs.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),g.attr({"aria-expanded":"true","aria-hidden":"false"}),c.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(b){var c,d=this._findActive(b);d[0]!==this.active[0]&&(d.length||(d=this.active),c=d.find(".ui-tabs-anchor")[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return b===!1?a():this.tabs.eq(b)},_getIndex:function(a){return"string"==typeof a&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){a.data(this,"ui-tabs-destroy")?a(this).remove():a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var b=a(this),c=b.data("ui-tabs-aria-controls");c?b.attr("aria-controls",c).removeData("ui-tabs-aria-controls"):b.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(c){var d=this.options.disabled;d!==!1&&(c===b?d=!1:(c=this._getIndex(c),d=a.isArray(d)?a.map(d,function(a){return a!==c?a:null}):a.map(this.tabs,function(a,b){return b!==c?b:null})),this._setupDisabled(d))},disable:function(c){var d=this.options.disabled;if(d!==!0){if(c===b)d=!0;else{if(c=this._getIndex(c),-1!==a.inArray(c,d))return;d=a.isArray(d)?a.merge([c],d).sort():[c]}this._setupDisabled(d)}},load:function(b,c){b=this._getIndex(b);var e=this,f=this.tabs.eq(b),g=f.find(".ui-tabs-anchor"),h=this._getPanelForTab(f),i={tab:f,panel:h};d(g[0])||(this.xhr=a.ajax(this._ajaxSettings(g,c,i)),this.xhr&&"canceled"!==this.xhr.statusText&&(f.addClass("ui-tabs-loading"),h.attr("aria-busy","true"),this.xhr.success(function(a){setTimeout(function(){h.html(a),e._trigger("load",c,i)},1)}).complete(function(a,b){setTimeout(function(){"abort"===b&&e.panels.stop(!1,!0),f.removeClass("ui-tabs-loading"),h.removeAttr("aria-busy"),a===e.xhr&&delete e.xhr},1)})))},_ajaxSettings:function(b,c,d){var e=this;return{url:b.attr("href"),beforeSend:function(b,f){return e._trigger("beforeLoad",c,a.extend({jqXHR:b,ajaxSettings:f},d))}}},_getPanelForTab:function(b){var c=a(b).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+c))}})}(a),function(){}(a),function(a,b){function c(a){e=a.originalEvent,i=e.accelerationIncludingGravity,f=Math.abs(i.x),g=Math.abs(i.y),h=Math.abs(i.z),!b.orientation&&(f>7||(h>6&&8>g||8>h&&g>6)&&f>5)?d.enabled&&d.disable():d.enabled||d.enable()}a.mobile.iosorientationfixEnabled=!0;var d,e,f,g,h,i,j=navigator.userAgent;return/iPhone|iPad|iPod/.test(navigator.platform)&&/OS [1-5]_[0-9_]* like Mac OS X/i.test(j)&&j.indexOf("AppleWebKit")>-1?(d=a.mobile.zoom,void a.mobile.document.on("mobileinit",function(){a.mobile.iosorientationfixEnabled&&a.mobile.window.bind("orientationchange.iosorientationfix",d.enable).bind("devicemotion.iosorientationfix",c)})):void(a.mobile.iosorientationfixEnabled=!1)}(a,this),function(a,b,d){function e(){f.removeClass("ui-mobile-rendering")}var f=a("html"),g=a.mobile.window;a(b.document).trigger("mobileinit"),a.mobile.gradeA()&&(a.mobile.ajaxBlacklist&&(a.mobile.ajaxEnabled=!1),f.addClass("ui-mobile ui-mobile-rendering"),setTimeout(e,5e3),a.extend(a.mobile,{initializePage:function(){var b=a.mobile.path,f=a(":jqmData(role='page'), :jqmData(role='dialog')"),h=b.stripHash(b.stripQueryParams(b.parseLocation().hash)),i=a.mobile.path.parseLocation(),j=h?c.getElementById(h):d;f.length||(f=a("body").wrapInner("<div data-"+a.mobile.ns+"role='page'></div>").children(0)),f.each(function(){var c=a(this);c[0].getAttribute("data-"+a.mobile.ns+"url")||c.attr("data-"+a.mobile.ns+"url",c.attr("id")||b.convertUrlToDataUrl(i.pathname+i.search))}),a.mobile.firstPage=f.first(),a.mobile.pageContainer=a.mobile.firstPage.parent().addClass("ui-mobile-viewport").pagecontainer(),a.mobile.navreadyDeferred.resolve(),g.trigger("pagecontainercreate"),a.mobile.loading("show"),e(),a.mobile.hashListeningEnabled&&a.mobile.path.isHashValid(location.hash)&&(a(j).is(":jqmData(role='page')")||a.mobile.path.isPath(h)||h===a.mobile.dialogHashKey)?a.event.special.navigate.isPushStateEnabled()?(a.mobile.navigate.history.stack=[],a.mobile.navigate(a.mobile.path.isPath(location.hash)?location.hash:location.href)):g.trigger("hashchange",[!0]):(a.event.special.navigate.isPushStateEnabled()&&a.mobile.navigate.navigator.squash(b.parseLocation().href),a.mobile.changePage(a.mobile.firstPage,{transition:"none",reverse:!0,changeHash:!1,fromHashChange:!0}))}}),a(function(){a.support.inlineSVG(),a.mobile.hideUrlBar&&b.scrollTo(0,1),a.mobile.defaultHomeScroll=a.support.scrollTop&&1!==a.mobile.window.scrollTop()?1:0,a.mobile.autoInitializePage&&a.mobile.initializePage(),a.mobile.hideUrlBar&&g.load(a.mobile.silentScroll),a.support.cssPointerEvents||a.mobile.document.delegate(".ui-state-disabled,.ui-disabled","vclick",function(a){a.preventDefault(),a.stopImmediatePropagation()})}))}(a,this)}); -//# sourceMappingURL=jquery.mobile-1.4.5.min.map \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.map b/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.map deleted file mode 100644 index 852c422a..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"jquery.mobile-1.4.5.min.js","sources":["jquery.mobile-1.4.5.js"],"names":["root","doc","factory","define","amd","$","mobile","jQuery","this","document","window","undefined","focusable","element","isTabIndexNotNaN","map","mapName","img","nodeName","toLowerCase","parentNode","name","href","visible","test","disabled","expr","filters","parents","addBack","filter","css","length","uuid","runiqueId","ui","extend","version","keyCode","BACKSPACE","COMMA","DELETE","DOWN","END","ENTER","ESCAPE","HOME","LEFT","PAGE_DOWN","PAGE_UP","PERIOD","RIGHT","SPACE","TAB","UP","fn","focus","orig","delay","each","elem","setTimeout","call","apply","arguments","scrollParent","ie","eq","ownerDocument","uniqueId","id","removeUniqueId","removeAttr","data","createPseudo","dataName","i","match","isNaN","attr","tabbable","tabIndex","isTabIndexNaN","outerWidth","jquery","reduce","size","border","margin","side","parseFloat","type","innerWidth","innerHeight","outerHeight","selector","add","prevObject","removeData","key","camelCase","exec","navigator","userAgent","support","selectstart","createElement","disableSelection","bind","event","preventDefault","enableSelection","unbind","zIndex","position","value","parseInt","parent","plugin","module","option","set","proto","prototype","plugins","push","instance","args","allowDisconnected","nodeType","options","compensateToolbars","page","desiredHeight","pageParent","toolbarsAffectingHeight","noPadders","theElement","widgetOptions","toolbar","ns","updatePagePadding","externalHeaders","children","internalHeaders","externalFooters","internalFooters","concat","toArray","index","Math","max","behaviors","silentScroll","ypos","defaultHomeScroll","special","scrollstart","enabled","scrollTo","trigger","x","y","getClosestBaseUrl","ele","url","closest","jqmData","base","path","documentBase","hrefNoHash","dynamicBaseEnabled","isPath","makeUrlAbsolute","removeActiveLinkClass","forceRemoval","activeClickedLink","activePageClass","removeClass","activeBtnClass","getInheritedTheme","el","defaultTheme","c","m","e","ltr","re","className","enhanceable","elements","haveParents","hijackable","ignoreContentEnabled","$element","excluded","count","$newSet","getAttribute","getScreenHeight","height","resetActivePageHeight","pageHeight","pageOuterHeight","loading","loader","_widget","defaultHtml","returnValue","addDependents","newDependents","$elem","dependents","removeWithDependents","enhanceWithin","widgetElements","keepNative","keepNativeSelector","that","nojs","links","degradeInputsWithin","buttonMarkup","find","initSelector","not","jqmEnhanceable","fieldcontain","widgets","constructor","widgetName","getEncodedText","text","html","jqmHijackable","nativeElement","remove","matches","matchesSelector","node","subPageUrlKey","hideUrlBar","focusClass","ajaxEnabled","hashListeningEnabled","linkBindingEnabled","defaultPageTransition","maxTransitionWidth","minScrollBack","defaultDialogTransition","pageLoadErrorMessage","pageLoadErrorMessageTheme","phonegapNavigationEnabled","autoInitializePage","pushStateEnabled","hoverDelay","pageContainer","allowCrossDomainPages","dialogHashKey","slice","Array","_cleanData","cleanData","elems","triggerHandler","widget","fullName","existingConstructor","basePrototype","proxiedPrototype","namespace","split","Widget","_createWidget","_proto","_childConstructors","prop","isFunction","_super","_superApply","__super","__superApply","widgetEventPrefix","widgetFullName","child","childPrototype","bridge","target","input","inputIndex","inputLength","hasOwnProperty","isPlainObject","object","isMethodCall","methodValue","charAt","pushStack","get","error","_init","defaultElement","create","eventNamespace","_getCreateOptions","bindings","hoverable","_on","destroy","style","defaultView","parentWindow","_create","_trigger","_getCreateEventData","noop","_destroy","parts","curOption","shift","pop","_setOptions","_setOption","toggleClass","enable","disable","suppressDisabledCheck","handlers","delegateElement","handler","handlerProxy","hasClass","guid","eventName","delegate","_off","join","undelegate","_delay","_hoverable","mouseenter","currentTarget","addClass","mouseleave","_focusable","focusin","focusout","callback","Event","originalEvent","isDefaultPrevented","show","hide","method","defaultEffect","effect","hasOptions","effectName","duration","isEmptyObject","complete","effects","easing","queue","next","nsNormalizeDict","oldFind","rbrace","jqmDataRE","JSON","parse","err","nsNormalize","closestPageData","$target","result","jqmRemoveData","context","ret","extra","indexOf","replace","rcapitals","replaceFunction","loaderClass","$html","theme","textVisible","fakeFixLoader","activeBtn","first","top","scrollTop","offset","checkLoaderPosition","screenHeight","proxy","resetHtml","msgText","textonly","message","loadSettings","appendTo","pagecontainer","get_fragment","location","fake_onhashchange","str_hashchange","doc_mode","documentMode","supports_onhashchange","setup","start","teardown","stop","poll","hash","history_hash","history_get","last_hash","history_set","timeout_id","self","fn_retval","val","clearTimeout","attachEvent","addEventListener","iframe","iframe_src","src","one","insertAfter","contentWindow","onpropertychange","propertyName","title","iframe_doc","domain","open","write","close","matchMedia","bool","docElem","documentElement","refNode","firstElementChild","firstChild","fakeBody","div","cssText","background","appendChild","q","innerHTML","insertBefore","offsetWidth","removeChild","media","touch","orientation","propExists","v","uc_prop","toUpperCase","substr","props","vendors","fbCSS","inlineSVG","w","svg","createElementNS","createSVGRect","opera","Image","onerror","onload","width","transform3dTest","transforms","t","mqProp","MozTransform","transform","append","getComputedStyle","getPropertyValue","baseTagTest","link","rebase","fauxBase","protocol","host","pathname","fauxEle","prependTo","cssPointerEventsTest","supports","pointerEvents","boundingRect","getBoundingClientRect","fixedPosition","ua","platform","wkmatch","wkversion","ffmatch","ffversion","operammobilematch","omversion","operamini","toString","nokiaLTE7_3","webos","bb","blackberry","browser","oldIE","a","all","pushState","history","search","mediaquery","cssPseudoElement","touchOverflow","cssTransform3d","boxShadow","dynamicBaseTag","cssPointerEvents","gradeA","ajaxBlacklist","WebKitPoint","$win","dummyFnToInitNavigate","beforenavigate","on","off","navigate","bound","originalEventName","isPushStateEnabled","isHashChangeEnabled","popstate","newEvent","beforeNavigate","state","historyState","hashchange","hashchangeState","$base","uiStateKey","urlParseRE","getLocation","parsedUrl","parseUrl","uri","doubleSlash","substring","getDocumentUrl","asParsedObject","documentUrl","parseLocation","hrefNoSearch","authority","username","password","hostname","port","directory","filename","makePathAbsolute","relPath","absPath","absStack","relStack","d","isSameDomain","absUrl1","absUrl2","isRelativeUrl","isAbsoluteUrl","relUrl","absUrl","relObj","absObj","hasPath","addSearchParams","params","u","p","param","s","convertUrlToDataUrl","isEmbeddedPage","decodeURIComponent","newPath","stripHash","clean","stripQueryParams","cleanHash","isHashValid","isExternal","hasProtocol","documentBaseDiffers","squash","resolutionUrl","cleanedUrl","stateIndex","docUrl","preservedHash","uiState","isPreservableHash","hashToSelector","hasHash","getFilePath","isFirstPageUrl","samePath","fp","firstPage","fpId","isPermittedCrossDomainRequest","reqUrl","getDocumentBase","History","stack","activeIndex","getActive","getLast","previousIndex","getNext","getPrev","clearForward","earlyReturn","entry","direct","opts","newActiveIndex","present","back","forward","missing","initialHref","Navigator","ignoreInitialHashChange","popstate.history","hashchange.history","replaceState","parsed","loc","resolved","go","noEvents","popstateEvent","isPopStateEvent","preventNextHashChange","preventHashAssignPopState","ignorePopState","stopImmediatePropagation","historyEntry","direction","animation","transition","testElement","vendorPrefixes","testName","j","prefix","cssTransitions","cssAnimations","animationComplete","fallbackTime","timer","eventBinding","animationType","defaultDuration","getNativeEvent","createVirtualEvent","eventType","oe","ne","ct","len","mouseEventProps","which","touches","changedTouches","touchEventProps","getVirtualBindingFlags","b","k","flags","dataPropertyName","hasVirtualBinding","getClosestElementWithVirtualBinding","enableTouchBindings","blockTouchTriggers","disableTouchBindings","enableMouseBindings","lastTouchID","clickBlockList","blockMouseTriggers","disableMouseBindings","startResetTimer","clearResetTimer","resetTimerID","vmouse","resetTimerDuration","triggerVirtualEvent","ve","mouseEventCallback","touchID","touchTargetPropertyName","isPropagationStopped","stopPropagation","isImmediatePropagationStopped","handleTouchStart","nextTouchID","didScroll","startX","pageX","startY","pageY","handleScroll","handleTouchMove","didCancel","moveThreshold","moveDistanceThreshold","abs","handleTouchEnd","clientX","clientY","hasVirtualBindings","dummyMouseHandler","getSpecialEventObject","realType","activeDocHandlers","$document","eventCaptureSupported","$this","threshold","virtualEventNames","mouseHookProps","mouseHooks","clickDistanceThreshold","o","cnt","triggerCustomEvent","obj","bubble","originalType","dispatch","supportTouch","scrollEvent","touchStartEvent","touchStopEvent","touchMoveEvent","attrFn","scrolling","thisObject","tap","tapholdThreshold","emitTapOnTaphold","isTaphold","clearTapTimer","clearTapHandlers","clickHandler","origTarget","swipe","scrollSupressionThreshold","durationThreshold","horizontalDistanceThreshold","verticalDistanceThreshold","winPageX","pageXOffset","winPageY","pageYOffset","floor","time","Date","getTime","coords","origin","handleSwipe","swipestart","swipestop","eventInProgress","events","emitted","move","scrollstop","taphold","swipeleft","swiperight","sourceEvent","throttledresize","heldCall","curr","diff","throttle","lastCall","get_orientation","last_orientation","win","event_name","initial_orientation_is_landscape","initial_orientation_is_default","ww","wh","landscape_threshold","portrait_map","0","180","-90","90","orientationchange","handleObj","old_handler","isPortrait","clientWidth","clientHeight","baseElement","linkSelector","rewrite","thisAttr","is","theLocation","thisUrl","reset","originalWidget","keepNativeFactoryDefault","domCache","keepNativeDefault","contentTheme","enhanced","_enhance","pagebeforehide","pagebeforeshow","dialog","attrPrefix","role","bindRemove","samePage","prEvent","_handlePageBeforeShow","setContainerBackground","removeContainerBackground","trim","globalValue","optionValue","newDefault","oldDefault","setLastScrollEnabled","pagechange","_disableRecordScroll","_enableRecordScroll","_afterContentChange","_recordScroll","currentScroll","minScroll","defaultScroll","active","_getActiveHistory","_getScroll","_getMinScroll","_getDefaultScroll","lastScroll","_delayedRecordScroll","_filterNavigateEvents","_getHash","_handleNavigate","getActivePage","activePage","_getInitialContent","_getHistory","_getDocumentBase","steps","change","changeHash","fromHashChange","_handleDestination","to","_transitionFromHistory","defaultTransition","_handleDialog","changePageOptions","activeContent","pageUrl","reverse","_changeContent","changePage","_getBase","_getNs","content","_include","settings","_find","fileUrl","_createFileUrl","dataUrl","_createDataUrl","initialContent","_getLoader","_showLoading","msg","_loadMsg","_hideLoading","_showError","_parse","_setLoadedTitle","newPageTitle","RegExp","$1","_isRewritableBaseTag","absoluteUrl","_triggerWithDeprecated","deprecatedEvent","_loadSuccess","triggerData","deferred","textStatus","xhr","pageElemRegex","dataUrlRegex","encodeURIComponent","prefetch","toPage","showLoadMsg","resolve","_loadDefaults","reloadPage","reload","loadMsgDelay","load","pblEvent","Deferred","reloadOptionExtension","_findBaseWithDefault","reject","promise","prevPage","fromPage","ajax","contentType","dataType","success","_loadError","errorThrown","plfEvent","_getTransitionHandler","_maybeDegradeTransition","transitionHandlers","defaultTransitionHandler","_triggerCssTransitionEvents","from","nextPage","_cssTransition","TransitionHandler","done","_releaseTransitionLock","isPageTransitioning","pageTransitionQueue","_removeActiveLinkClass","force","_loadUrl","fail","_triggerPageBeforeChange","returnEvents","unshift","defaults","activeIsInitialPage","historyDir","pageTitle","isDialog","alreadyThere","cssTransitionDeferred","beforeTransition","allowSamePageTransition","activeElement","blur","encodeURI","$to","$from","alreadyFocused","duplicateCachedPage","focusPage","closestBase","navreadyDeferred","findClosestLink","domreadyDeferred","loadDeferred","pageIsFullyLoaded","$lastVClicked","loadPage","container","nav","app","backHistory","autofocus","_registerInternalEvents","getAjaxFormData","$form","calculateOnly","formData","vclickedName","serializeArray","form","$btn","btnEls","needClosest","outer","baseUrl","useDefaultUrlHandling","$link","httpCleanup","urls","inArray","readyState","when","Transition","init","toPreClass","cleanFrom","beforeDoneIn","beforeDoneOut","beforeStartOut","doneIn","toggleViewportClass","toScroll","scrollPage","sequential","doneOut","reverseClass","none","preventFocus","startIn","hideIn","startOut","maxTransitionOverride","getMaxScrollForTransition","SerialTransition","ConcurrentTransition","defaultGetMaxScrollForTransition","simultaneous","transitionFallbacks","flip","flow","slide","slidedown","slidefade","slideup","turn","degradeInputs","color","date","datetime","datetime-local","email","month","number","range","tel","week","hasType","findstr","repstr","optType","clone","replaceWith","closeBtn","closeBtnText","overlayTheme","corners","_inner","_headerCloseButton","_setCloseBtn","wrapInner","class","closeButtonLocation","closeButtonText","currentOpts","dst","btn","_isCloseable","_handlePageBeforeHide","_handleVClickSubmit","attrs","vclick","submit","click","hist","rInitialLetter","iconposClass","iconpos","expandCueText","collapseCueText","collapsed","heading","collapsedIcon","expandedIcon","inset","mini","accordion","collapsibleset","_ui","_renderedOptions","_getOptions","anchor","status","_handleExpandCollapse","accordionWidget","collapsible","_themeClassFromOption","iconclass","contentThemeClass","originalHeading","placeholder","detach","refresh","_applyOptions","isCollapsed","newTheme","oldTheme","hasCorners","hasIcon","isCollapse","expand","collapse","contents","unwrap","noHiddenClass","uiScreenHiddenRegex","addFirstLastClasses","_getVisibles","$els","visibles","_addFirstLastClasses","$visibles","end","last","_removeFirstLastClasses","childCollapsiblesSelector","_handleCollapsibleExpand","closestCollapsible","siblings","_classes","collapsibleexpand","_refresh","themeClass","collapsiblesInSet","grid","iterator","letter","$kids","gridCols","solo","$navbar","$navbtns","icon","classes","getAttr","countTheme","dividerTheme","splitIcon","splitTheme","shadow","listviewClasses","_findFirstElementByTagName","nextProp","lcName","ucName","dict","_addThumbClasses","containers","_getChildrenByTagName","results","nextSibling","_beforeListviewRefresh","_afterListviewRefresh","buttonClass","pos","numli","item","itemClass","itemTheme","itemIcon","isDivider","startCount","newStartCount","splittheme","splitThemeClass","spliticon","altButtonClass","li","$list","ol","itemClassDict","countBubbles","countThemeClass","empty","defaultAutodividersSelector","elt","listview","autodividers","autodividersSelector","_replaceDividers","lis","dividerText","divider","lastDividerText","list","createTextNode","setAttribute","rdivider","rhidden","hideDividers","items","idx","hideDivider","formReset","_handleFormReset","escapeId","wrapperClass","inheritAttr","dataAttr","label","isParent","_findLabel","inputtype","checkedClass","uncheckedClass","labelIsParent","vmouseover","vmousedown","parentLabel","labelsList","labels","contains","getElementsByTagName","wrapAll","_wrapper","wrap","prepend","_handleInputFocus","_handleInputBlur","_handleInputVClick","_getInputSet","_updateAll","_handleLabelVMouseOver","_handleLabelVClick","_cacheVals","checked","formId","radio","radios","changeTriggered","checkboxradio","_reset","_hasIcon","controlgroup","controlgroupWidget","controlgroupConstructor","isChecked","addClasses","removeClasses","currentOptions","iconshadow","inline","wrapper","_button","iconClasses","_getIconClasses","originalElement","isDisabled","meta","disabledZoom","enabledZoom","disabledInitially","zoom","locked","lock","unlock","restore","preventFocusZoom","isSearch","isTextarea","tagName","isRange","inputNeedsWrap","_classesFromOptions","_autoCorrect","setOptions","elementClasses","_wrap","autocorrect","_handleBlur","_handleFocus","trackTheme","highlight","optionsCount","origTabIndex","activeClass","sliderImg","control","trackThemeClass","cornerClass","miniClass","cType","isToggleSwitch","isRangeslider","selectClass","controlID","$label","labelID","min","step","domHandle","handle","domSlider","slider","valuebg","bg","aria-valuemin","aria-valuemax","aria-valuenow","_value","aria-valuetext","aria-labelledby","dragging","beforeStart","userModified","mouseMoved","childNodes","_labels","keyup","vmouseup","_sliderVMouseDown","vmousemove","keydown","_setTheme","_setTrackTheme","_setCorners","_setMini","_setHighlight","_setDisabled","_controlChange","_controlKeyup","_controlBlur","_controlVMouseUp","_checkedRefresh","_handleVMouseDown","_handleKeydown","_keySliding","_handleKeyup","selectedIndex","_sliderVMouseUp","_preventDocumentDrag","isfromControl","preventInputUpdate","left","tol","pxStep","percent","isInput","optionElements","newval","valModStep","alignValue","percentPerStep","handlePercent","aPercent","bPercent","valueChanged","parentTheme","round","toFixed","ab","currentTheme","currentTrackTheme","newTrackTheme","getPopup","popup","popupEnabled","showValue","_currentValue","_popup","_popupVisible","_positionPopup","dstOffset","newValue","_showPopup","_hidePopup","onText","offText","flipswitch","_originalTabIndex","_left","_right","after","existingDirection","_toggle","_keydown","$el","elClass","_inputFirst","_inputLast","_label","_sliderWidgetFirst","_sliderWidgetLast","_sliderFirst","_sliderLast","firstHandle","_sliders","_targetVal","_sliderTarget","_proxy","slidebeforestart","slidestop","slidedrag","slidebeforechange","mousedown","_handleReset","_updateHighlight","_dragFirstHandle","_slidedrag","otherSlider","_slidestop","_slidebeforestart","_change","thisSlider","margin-left","textinput","clearBtn","clearBtnText","_addClearBtn","clearButton","_clearBtnClick","_clearBtn","_enhanceClear","_bindClearEvents","_toggleClear","cut","paste","_unbindClear","_destroyClear","_toggleClearClass","autogrow","keyupTimeoutBuffer","_autogrow","pageshow","popupbeforeposition","updatelayout","panelopen","_handleShow","_prepareHeightUpdate","_unbindAutogrow","keyupTimeout","_updateHeight","_timeout","paddingTop","paddingBottom","paddingHeight","scrollHeight","borderTop","borderBottom","borderHeight","min-height","max-height","hidePlaceholderMenuItems","closeText","nativeMenu","button","_focusButton","_selectOptions","select","_preExtension","selectId","buttonId","isMultiple","multiple","setButtonText","buttonCount","build","selected","selectedIndices","span","setButtonCount","_refreshButton","idref","fitSegmentInsideSegment","windowSize","segmentSize","desired","getWindowCoordinates","theWindow","scrollLeft","cx","cy","positionTo","tolerance","closeLinkSelector","closeLinkEvents","navigateEvents","closeEvents","dismissible","_handleDocumentVmousedown","theEvent","_isOpen","_ignoreResizeEvents","myId","_scrollTop","_page","_fallbackTransition","_currentTransition","_prerequisites","_tolerance","_resizeData","_ignoreResizeTo","_orientationchangeInProgress","screen","prev","getElementById","_applyTransition","_setTolerance","focusElement","resize","fragment","createDocumentFragment","_eatEventAndClose","_resizeScreen","popupHeight","documentHeight","_handleWindowKeyUp","_expectResizeEvent","windowCoordinates","timeoutId","_resizeTimeout","reposition","_stopIgnoringResizeEvents","_handleWindowResize","_handleWindowOrientationchange","_handleDocumentFocusIn","targetElement","_safelyBlur","newOptions","ar","r","l","String","_clampPopupWidth","infoOnly","menuSize","rectangle","rc","_calculateFinalLocation","clampInfo","_placementCoords","_createPrerequisites","screenPrerequisite","containerPrerequisite","whenDone","prerequisites","then","_animate","classToRemove","screenClassToAdd","applyTransition","containerClassToAdd","_desiredCoords","openOptions","pTo","_reposition","currentElement","_openPrerequisitesComplete","firstFocus","_open","androidBlacklist","androidmatch","andversion","chromematch","additionalCondition","_closePrerequisiteScreen","_closePrerequisiteContainer","_closePrerequisitesDone","_close","immediate","_unenhance","_closePopup","parsedDst","toUrl","_myUrl","_bindContainerClose","hashkey","currentIsDialog","urlHistory","urlAltered","handleLink","unfocusableItemSelector","goToAdjacentItem","adjacent","selectmenu","_handleSelectFocus","_handleButtonVclickKeydown","isOpen","_decideFormat","menuType","popupId","dialogId","_handleListFocus","tabindex","_handleListKeydown","_handleMenuPageHide","_delayedTrigger","thisPage","_handleHeaderCloseClick","_handleListItemClick","listItem","oldIndex","newIndex","_triggerChange","menuId","themeAttr","overlayThemeAttr","dividerThemeAttr","menuPage","listbox","header","headerTitle","menuPageContent","menuPageClose","headerClose","_origTabIndex","click li:not(.ui-disabled,.ui-state-disabled,.ui-li-divider)","pagehide","popupafterclose","_popupClosed","_isRebuildRequired","indices","_buildList","_focusMenuItem","$window","selfListParent","menuHeight","btnOffset","popupafteropen","$options","numOptions","optGroup","$option","optLabel","needPlaceholder","dataIcon","dataPrefix","dataIndexAttr","dataIconAttr","dataRoleAttr","dataPlaceholderAttr","isPlaceholderItem","_removePlaceholderAttr","aria-haspopup","aria-owns","optionsToClasses","existingClasses","classNameToOptions","unknownClass","alreadyEnhanced","noIcon","unknownClasses","reverseBoolOptionMap","camelCase2Hyphenated","ui-shadow","ui-corner-all","ui-btn-inline","ui-shadow-icon","ui-mini","getAttrFixed","capitalLettersRE","overwriteClasses","retrievedOptions","optionKey","excludeInvisible","_childWidgets","_initialRefresh","groupLegend","childWrapper","callRefresh","els","buttons","addBackBtn","backBtnTheme","backBtnText","leftbtn","rightbtn","_updateBackButton","_addHeaderButtonClasses","_setRelative","_addHeadingClasses","_btnMarkup","headerAnchors","backButton","_backButton","attached","aria-level","visibleOnPageShow","disablePageZoom","fullscreen","tapToggle","tapToggleBlacklist","hideDuringFocus","trackPersistentToolbars","supportBlacklist","_makeFixed","_addTransitionClass","_bindPageEvents","_bindToggleHandlers","$page","tclass","webkitAnimationStart","animationstart","_handleAnimationStart","_handlePageShow","thisFooter","thisHeader","nextFooter","nextHeader","_visible","tbPage","_useTransition","notransition","scroll","elHeight","pHeight","viewportHeight","hideClass","outclass","toggle","delayShow","delayHide","isVisible","pageClasses","toolbarClasses","hasFixed","hasFullscreen","_workarounds","os","_bindScrollWorkaround","_bindListThumbWorkaround","_viewportOffset","viewportOffset","_triggerRedraw","getArrow","uiTemplate","gd","arEls","ieHack","arrow","_addArrow","_tryAnArrow","dir","best","desiredForArrow","tip","arFull","dimKey","guideDims","fst","arHalf","oDimKey","menuHalf","offsetFactor","contentBox","arrowOffsetFactor","snd","tipOffset","guideOffset","posProp","posVal","_getPlacementState","clamp","gdOffset","right","bottom","elOffset","bgRef","panel","panelOpen","panelClosed","panelFixed","panelInner","modal","modalOpen","pageWrapper","pageFixedToolbar","pageContentPrefix","animate","display","swipeClose","positionFixed","_closeLink","_parentPage","_modal","_panelInner","_fixedToolbars","parentPage","_openedPage","_getPage","_getPanelInner","_getFixedToolbars","_getWrapper","_addPanelClasses","_bindUpdateLayout","_bindCloseEvents","_bindLinkListeners","_createModal","_bindSwipeEvents","extFixedToolbars","intFixedToolbars","fixedToolbars","_getPosDisplayClasses","_getPanelClasses","panelClasses","_handleCloseClick","click a:jqmData(ajax='false')","_positionPanel","scrollToTop","panelInnerHeight","_unfixPanel","_fixPanel","_bindFixListener","_unbindFixListener","click a","_handleClick","panelId","area","_pageContentOpenClasses","_modalOpenClasses","_openPanel","panelclose","_closePanel","otherPanels","multiplePanels","table","headers","allHeaders","_setHeaders","trs","rebuild","columnCount","mode","columnBtnTheme","columnPopupTheme","columnBtnText","columnBtn","priorityPrefix","columnToggleTable","_menu","_id","_addToggles","_enhanceColToggle","_setupEvents","_setToggleState","change input","menu","keep","inputs","checkboxIndex","cells","priority","_menuInputChange","evt","_unlockCells","menuButton","before","hiddenColumns","checkbox","reflowTable","cellLabels","_updateReflow","iteration","colstart","hierarchyClass","_addLabels","defaultFilterCallback","searchValue","filterReveal","filterCallback","_search","_timer","_setInput","_filterItems","_onKeyUp","lastval","_getFilterableItems","filterItems","_refreshChildWidget","recognizedWidgets","keypress","_onKeyDown","_preventKeyPress","_onKeyPress","refilter","replaceSetOptions","_syncTextInputOptions","rDividerListItem","origDefaultFilterCallback","filterable","filterPlaceholder","filterTheme","createHandlers","_setWidget","_handleCreate","_isSearchInternal","updatePlaceholder","textinputOpts","_refreshingChildWidget","textinputOptions","getNextTabId","tabId","isLocal","rhash","heightStyle","activate","beforeActivate","beforeLoad","running","_processTabs","_initialActive","isArray","unique","tabs","sort","anchors","_findActive","locationHash","tab","_getPanelForTab","_tabKeydown","focusedTab","goingForward","_handlePageNav","activating","_activate","_focusNextTab","ctrlKey","_panelKeydown","altKey","_findNextTab","constrain","lastTabIndex","_setupDisabled","_setupHeightStyle","_tabId","_sanitizeSelector","tablist","aria-selected","panels","aria-expanded","aria-hidden","_getList","anchorId","originalAriaControls","_createPanel","aria-controls","maxHeight","_eventHandler","clickedIsActive","collapsing","toShow","toHide","eventData","oldTab","oldPanel","newTab","newPanel","abort","_show","_hide","_getIndex","num","merge","_ajaxSettings","statusText","response","jqXHR","beforeSend","ajaxSettings","checkTilt","aig","accelerationIncludingGravity","z","iosorientationfixEnabled","hideRenderingClass","initializePage","$pages","hashPage"],"mappings":";;CAYC,SAAWA,EAAMC,EAAKC,GACC,kBAAXC,SAAyBA,OAAOC,IAE3CD,QAAU,UAAY,SAAWE,GAEhC,MADAH,GAASG,EAAGL,EAAMC,GACXI,EAAEC,SAIVJ,EAASF,EAAKO,OAAQP,EAAMC,IAE3BO,KAAMC,SAAU,SAAWF,EAAQG,EAAQD,IAC7C,SAAUJ,GACVA,EAAEC,WACAC,GAYH,SAAWF,EAAGM,GAkFd,QAASC,GAAWC,EAASC,GAC5B,GAAIC,GAAKC,EAASC,EACjBC,EAAWL,EAAQK,SAASC,aAC7B,OAAK,SAAWD,GACfH,EAAMF,EAAQO,WACdJ,EAAUD,EAAIM,KACRR,EAAQS,MAASN,GAA0C,QAA/BD,EAAIG,SAASC,eAG/CF,EAAMZ,EAAG,eAAiBW,EAAU,KAAM,KACjCC,GAAOM,EAASN,KAHjB,IAKA,sCAAsCO,KAAMN,IACnDL,EAAQY,SACT,MAAQP,EACPL,EAAQS,MAAQR,EAChBA,IAEDS,EAASV,GAGX,QAASU,GAASV,GACjB,MAAOR,GAAEqB,KAAKC,QAAQJ,QAASV,KAC7BR,EAAGQ,GAAUe,UAAUC,UAAUC,OAAO,WACxC,MAAuC,WAAhCzB,EAAE0B,IAAKvB,KAAM,gBAClBwB,OAzGL,GAAIC,GAAO,EACVC,EAAY,aAGb7B,GAAE8B,GAAK9B,EAAE8B,OAET9B,EAAE+B,OAAQ/B,EAAE8B,IACXE,QAAS,2CAETC,SACCC,UAAW,EACXC,MAAO,IACPC,OAAQ,GACRC,KAAM,GACNC,IAAK,GACLC,MAAO,GACPC,OAAQ,GACRC,KAAM,GACNC,KAAM,GACNC,UAAW,GACXC,QAAS,GACTC,OAAQ,IACRC,MAAO,GACPC,MAAO,GACPC,IAAK,EACLC,GAAI,MAKNjD,EAAEkD,GAAGnB,QACJoB,MAAO,SAAWC,GACjB,MAAO,UAAUC,EAAOH,GACvB,MAAwB,gBAAVG,GACblD,KAAKmD,KAAK,WACT,GAAIC,GAAOpD,IACXqD,YAAW,WACVxD,EAAGuD,GAAOJ,QACLD,GACJA,EAAGO,KAAMF,IAERF,KAEJD,EAAKM,MAAOvD,KAAMwD,aAEjB3D,EAAEkD,GAAGC,OAETS,aAAc,WACb,GAAIA,EAWJ,OATCA,GADI5D,EAAE8B,GAAG+B,IAAM,oBAAsB1C,KAAKhB,KAAKuB,IAAI,cAAiB,WAAaP,KAAKhB,KAAKuB,IAAI,aAChFvB,KAAKoB,UAAUE,OAAO,WACpC,MAAO,4BAA8BN,KAAKnB,EAAE0B,IAAIvB,KAAK,cAAgB,gBAAkBgB,KAAKnB,EAAE0B,IAAIvB,KAAK,YAAYH,EAAE0B,IAAIvB,KAAK,cAAcH,EAAE0B,IAAIvB,KAAK,iBACrJ2D,GAAG,GAES3D,KAAKoB,UAAUE,OAAO,WACpC,MAAO,gBAAkBN,KAAKnB,EAAE0B,IAAIvB,KAAK,YAAYH,EAAE0B,IAAIvB,KAAK,cAAcH,EAAE0B,IAAIvB,KAAK,iBACvF2D,GAAG,GAGA,QAAY3C,KAAMhB,KAAKuB,IAAK,eAAkBkC,EAAajC,OAAS3B,EAAGG,KAAM,GAAI4D,eAAiB3D,GAAawD,GAGvHI,SAAU,WACT,MAAO7D,MAAKmD,KAAK,WACVnD,KAAK8D,KACV9D,KAAK8D,GAAK,YAAcrC,MAK3BsC,eAAgB,WACf,MAAO/D,MAAKmD,KAAK,WACXzB,EAAUV,KAAMhB,KAAK8D,KACzBjE,EAAGG,MAAOgE,WAAY,WAmC1BnE,EAAE+B,OAAQ/B,EAAEqB,KAAM,MACjB+C,KAAMpE,EAAEqB,KAAKgD,aACZrE,EAAEqB,KAAKgD,aAAa,SAAUC,GAC7B,MAAO,UAAUf,GAChB,QAASvD,EAAEoE,KAAMb,EAAMe,MAIzB,SAAUf,EAAMgB,EAAGC,GAClB,QAASxE,EAAEoE,KAAMb,EAAMiB,EAAO,KAGhCjE,UAAW,SAAUC,GACpB,MAAOD,GAAWC,GAAUiE,MAAOzE,EAAE0E,KAAMlE,EAAS,eAGrDmE,SAAU,SAAUnE,GACnB,GAAIoE,GAAW5E,EAAE0E,KAAMlE,EAAS,YAC/BqE,EAAgBJ,MAAOG,EACxB,QAASC,GAAiBD,GAAY,IAAOrE,EAAWC,GAAUqE,MAK9D7E,EAAG,OAAQ8E,WAAY,GAAIC,QAChC/E,EAAEsD,MAAQ,QAAS,UAAY,SAAUiB,EAAGvD,GAU3C,QAASgE,GAAQzB,EAAM0B,EAAMC,EAAQC,GAUpC,MATAnF,GAAEsD,KAAM8B,EAAM,WACbH,GAAQI,WAAYrF,EAAE0B,IAAK6B,EAAM,UAAYpD,QAAY,EACpD+E,IACJD,GAAQI,WAAYrF,EAAE0B,IAAK6B,EAAM,SAAWpD,KAAO,WAAe,GAE9DgF,IACJF,GAAQI,WAAYrF,EAAE0B,IAAK6B,EAAM,SAAWpD,QAAY,KAGnD8E,EAnBR,GAAIG,GAAgB,UAATpE,GAAqB,OAAQ,UAAc,MAAO,UAC5DsE,EAAOtE,EAAKF,cACZsC,GACCmC,WAAYvF,EAAEkD,GAAGqC,WACjBC,YAAaxF,EAAEkD,GAAGsC,YAClBV,WAAY9E,EAAEkD,GAAG4B,WACjBW,YAAazF,EAAEkD,GAAGuC,YAgBpBzF,GAAEkD,GAAI,QAAUlC,GAAS,SAAUiE,GAClC,MAAKA,KAAS3E,EACN8C,EAAM,QAAUpC,GAAOyC,KAAMtD,MAG9BA,KAAKmD,KAAK,WAChBtD,EAAGG,MAAOuB,IAAK4D,EAAMN,EAAQ7E,KAAM8E,GAAS,SAI9CjF,EAAEkD,GAAI,QAAUlC,GAAQ,SAAUiE,EAAME,GACvC,MAAqB,gBAATF,GACJ7B,EAAM,QAAUpC,GAAOyC,KAAMtD,KAAM8E,GAGpC9E,KAAKmD,KAAK,WAChBtD,EAAGG,MAAMuB,IAAK4D,EAAMN,EAAQ7E,KAAM8E,GAAM,EAAME,GAAW,WAOvDnF,EAAEkD,GAAG1B,UACVxB,EAAEkD,GAAG1B,QAAU,SAAUkE,GACxB,MAAOvF,MAAKwF,IAAiB,MAAZD,EAChBvF,KAAKyF,WAAazF,KAAKyF,WAAWnE,OAAQiE,MAMxC1F,EAAG,OAAQoE,KAAM,MAAO,KAAMyB,WAAY,OAAQzB,KAAM,SAC5DpE,EAAEkD,GAAG2C,WAAa,SAAWA,GAC5B,MAAO,UAAUC,GAChB,MAAKnC,WAAUhC,OACPkE,EAAWpC,KAAMtD,KAAMH,EAAE+F,UAAWD,IAEpCD,EAAWpC,KAAMtD,QAGvBH,EAAEkD,GAAG2C,aAQV7F,EAAE8B,GAAG+B,KAAO,cAAcmC,KAAMC,UAAUC,UAAUpF,eAEpDd,EAAEmG,QAAQC,YAAc,iBAAmBhG,GAASiG,cAAe,OACnErG,EAAEkD,GAAGnB,QACJuE,iBAAkB,WACjB,MAAOnG,MAAKoG,MAAQvG,EAAEmG,QAAQC,YAAc,cAAgB,aAC3D,uBAAwB,SAAUI,GACjCA,EAAMC,oBAITC,gBAAiB,WAChB,MAAOvG,MAAKwG,OAAQ,yBAGrBC,OAAQ,SAAUA,GACjB,GAAKA,IAAWtG,EACf,MAAOH,MAAKuB,IAAK,SAAUkF,EAG5B,IAAKzG,KAAKwB,OAET,IADA,GAA2BkF,GAAUC,EAAjCvD,EAAOvD,EAAGG,KAAM,IACZoD,EAAK5B,QAAU4B,EAAM,KAAQnD,GAAW,CAK/C,GADAyG,EAAWtD,EAAK7B,IAAK,aACH,aAAbmF,GAAwC,aAAbA,GAAwC,UAAbA,KAK1DC,EAAQC,SAAUxD,EAAK7B,IAAK,UAAY,KAClC+C,MAAOqC,IAAqB,IAAVA,GACvB,MAAOA,EAGTvD,GAAOA,EAAKyD,SAId,MAAO,MAKThH,EAAE8B,GAAGmF,QACJtB,IAAK,SAAUuB,EAAQC,EAAQC,GAC9B,GAAI7C,GACH8C,EAAQrH,EAAE8B,GAAIoF,GAASI,SACxB,KAAM/C,IAAK6C,GACVC,EAAME,QAAShD,GAAM8C,EAAME,QAAShD,OACpC8C,EAAME,QAAShD,GAAIiD,MAAQL,EAAQC,EAAK7C,MAG1Cd,KAAM,SAAUgE,EAAUzG,EAAM0G,EAAMC,GACrC,GAAIpD,GACH6C,EAAMK,EAASF,QAASvG,EAEzB,IAAMoG,IAIAO,GAAwBF,EAASjH,QAAS,GAAIO,YAA4D,KAA9C0G,EAASjH,QAAS,GAAIO,WAAW6G,UAInG,IAAMrD,EAAI,EAAGA,EAAI6C,EAAIzF,OAAQ4C,IACvBkD,EAASI,QAAST,EAAK7C,GAAK,KAChC6C,EAAK7C,GAAK,GAAIb,MAAO+D,EAASjH,QAASkH,MAMvCxH,GAEJ,SAAWF,EAAGK,GAKb,GAAIyH,GAAqB,SAAUC,EAAMC,GACxC,GAAIC,GAAaF,EAAKf,SACrBkB,KAOAC,EAAY,WACX,GAAIC,GAAapI,EAAGG,MACnBkI,EAAgBrI,EAAEC,OAAOqI,SAAWF,EAAWhE,KAAM,kBACpDgE,EAAWE,QAAS,WACnBzB,SAAUuB,EAAW1D,KAAM,QAAU1E,EAAEC,OAAOsI,GAAK,YACnDC,kBAAqBJ,EAAW1D,KAAM,QAAU1E,EAAEC,OAAOsI,GACxD,0BAA4B,EAGhC,SAAqC,UAA3BF,EAAcxB,UACvBwB,EAAcG,qBAAsB,IAEtCC,EAAkBR,EAAWS,SAAU,2BAA4BjH,OAAQ0G,GAC3EQ,EAAkBZ,EAAKW,SAAU,2BACjCE,EAAkBX,EAAWS,SAAU,2BAA4BjH,OAAQ0G,GAC3EU,EAAkBd,EAAKW,SAAU,0BAmBlC,OAfgC,KAA3BC,EAAgBhH,QAAgB8G,EAAgB9G,OAAS,IAC7DuG,EAA0BA,EAAwBY,OAAQL,EAAgBM,YAK3C,IAA3BF,EAAgBlH,QAAgBiH,EAAgBjH,OAAS,IAC7DuG,EAA0BA,EAAwBY,OAAQF,EAAgBG,YAG3E/I,EAAEsD,KAAM4E,EAAyB,SAAUc,EAAOlC,GACjDkB,GAAiBhI,EAAG8G,GAAQrB,gBAItBwD,KAAKC,IAAK,EAAGlB,GAGrBhI,GAAE+B,OAAQ/B,EAAEC,QAEXI,OAAQL,EAAGK,GACXD,SAAUJ,EAAGI,GAGb6B,QAASjC,EAAE8B,GAAGG,QAGdkH,aAGAC,aAAc,SAAUC,GACC,WAAnBrJ,EAAEsF,KAAM+D,KACZA,EAAOrJ,EAAEC,OAAOqJ,mBAIjBtJ,EAAEwG,MAAM+C,QAAQC,YAAYC,SAAU,EAEtCjG,WAAW,WACVnD,EAAOqJ,SAAU,EAAGL,GACpBrJ,EAAEC,OAAOG,SAASuJ,QAAS,gBAAkBC,EAAG,EAAGC,EAAGR,KACpD,IAEH7F,WAAW,WACVxD,EAAEwG,MAAM+C,QAAQC,YAAYC,SAAU,GACpC,MAGJK,kBAAmB,SAAUC,GAE5B,GAAIC,GAAMhK,EAAG+J,GAAME,QAAS,YAAaC,QAAS,OACjDC,EAAOnK,EAAEC,OAAOmK,KAAKC,aAAaC,UAMnC,OAJMtK,GAAEC,OAAOsK,oBAAuBP,GAAQhK,EAAEC,OAAOmK,KAAKI,OAAQR,KACnEA,EAAMG,GAGAnK,EAAEC,OAAOmK,KAAKK,gBAAiBT,EAAKG,IAE5CO,sBAAuB,SAAUC,IACzB3K,EAAEC,OAAO2K,mBACZ5K,EAAEC,OAAO2K,kBAAkBX,QAAS,IAAMjK,EAAEC,OAAO4K,iBAAkBlJ,SACvEgJ,GAED3K,EAAEC,OAAO2K,kBAAkBE,YAAa9K,EAAEC,OAAO8K,gBAElD/K,EAAEC,OAAO2K,kBAAoB,MAQ9BI,kBAAmB,SAAUC,EAAIC,GAKhC,IAJA,GAGCC,GAAGC,EAHAC,EAAIJ,EAAI,GACXK,EAAM,GACNC,EAAK,kCAEEF,IACPF,EAAIE,EAAEG,WAAa,KACdL,IAAOC,EAAIG,EAAGvF,KAAMmF,MAAWG,EAAMF,EAAG,OAM7CC,EAAIA,EAAEtK,UAIP,OAAOuK,IAAOJ,GAAgB,KAG/BO,YAAa,SAAUC,GACtB,MAAOvL,MAAKwL,YAAaD,EAAU,YAGpCE,WAAY,SAAUF,GACrB,MAAOvL,MAAKwL,YAAaD,EAAU,SAGpCC,YAAa,SAAUD,EAAUhH,GAChC,IAAM1E,EAAEC,OAAO4L,qBACd,MAAOH,EAGR,IAECL,GAAGS,EAAUC,EACbxH,EAAG4G,EAHAa,EAAQN,EAAS/J,OACpBsK,EAAUjM,GAIX,KAAMuE,EAAI,EAAOyH,EAAJzH,EAAWA,IAAM,CAK7B,IAJAuH,EAAWJ,EAAS5H,GAAIS,GACxBwH,GAAW,EACXV,EAAIK,EAAUnH,GAEN8G,GAAI,CAGX,GAFAF,EAAIE,EAAEa,aAAeb,EAAEa,aAAc,QAAUlM,EAAEC,OAAOsI,GAAK7D,GAAS,GAE3D,UAANyG,EAAgB,CACpBY,GAAW,CACX,OAGDV,EAAIA,EAAEtK,WAGDgL,IACLE,EAAUA,EAAQtG,IAAKmG,IAIzB,MAAOG,IAGRE,gBAAiB,WAGhB,MAAO9L,GAAOmF,aAAexF,EAAEC,OAAOI,OAAO+L,UAI9CC,sBAAuB,SAAUD,GAChC,GAAIrE,GAAO/H,EAAG,IAAMA,EAAEC,OAAO4K,iBAC5ByB,EAAavE,EAAKqE,SAClBG,EAAkBxE,EAAKtC,aAAa,EAErC2G,GAAStE,EAAoBC,EACR,gBAAXqE,GAAwBA,EAASpM,EAAEC,OAAOkM,mBAGpDpE,EAAKrG,IAAK,aAAc,IAGnBqG,EAAKqE,SAAWA,GACpBrE,EAAKrG,IAAK,aAAc0K,GAAWG,EAAkBD,KAIvDE,QAAS,WAER,GAAIC,GAAStM,KAAKqM,QAAQE,SAAW1M,EAAGA,EAAEC,OAAOwM,OAAOnF,UAAUqF,aAAcF,SAG/EG,EAAcH,EAAOA,OAAO/I,MAAO+I,EAAQ9I,UAK5C,OAFAxD,MAAKqM,QAAQE,QAAUD,EAEhBG,KAIT5M,EAAE6M,cAAgB,SAAUtJ,EAAMuJ,GACjC,GAAIC,GAAQ/M,EAAGuD,GACdyJ,EAAaD,EAAM7C,QAAS,eAAkBlK,GAE/C+M,GAAM7C,QAAS,aAAclK,EAAGgN,GAAarH,IAAKmH,KAInD9M,EAAEkD,GAAGnB,QACJkL,qBAAsB,WACrBjN,EAAEiN,qBAAsB9M,OAIzB+M,cAAe,WACd,GAAIlE,GACHmE,KACAC,EAAapN,EAAEC,OAAO8H,KAAKT,UAAU+F,qBACrCC,EAAOnN,IAGHH,GAAEC,OAAOsN,MACbvN,EAAEC,OAAOsN,KAAMpN,MAIXH,EAAEC,OAAOuN,OACbxN,EAAEC,OAAOuN,MAAOrN,MAIZH,EAAEC,OAAOwN,qBACbzN,EAAEC,OAAOwN,oBAAqBtN,MAI1BH,EAAEkD,GAAGwK,cACTvN,KAAKwN,KAAM3N,EAAEkD,GAAGwK,aAAaE,cAAeC,IAAKT,GAChDU,iBAAiBJ,eAId1N,EAAEkD,GAAG6K,cACT5N,KAAKwN,KAAM,iCAAkCE,IAAKT,GACjDU,iBAAiBC,eAInB/N,EAAEsD,KAAMtD,EAAEC,OAAO+N,QAAS,SAAUhN,EAAMiN,GAGzC,GAAKA,EAAYL,aAAe,CAG/B,GAAIlC,GAAW1L,EAAEC,OAAOwL,YAAa6B,EAAKK,KAAMM,EAAYL,cAGvDlC,GAAS/J,OAAS,IAItB+J,EAAWA,EAASmC,IAAKT,IAIrB1B,EAAS/J,OAAS,IACtBwL,EAAgBc,EAAY3G,UAAU4G,YAAexC,KAKxD,KAAM1C,IAASmE,GACdA,EAAgBnE,GAASA,IAG1B,OAAO7I,OAGR0M,cAAe,SAAUC,GACxB9M,EAAE6M,cAAe1M,KAAM2M,IAMxBqB,eAAgB,WACf,MAAOnO,GAAG,OAAQoO,KAAMjO,KAAKiO,QAASC,QAIvCP,eAAgB,WACf,MAAO9N,GAAEC,OAAOwL,YAAatL,OAG9BmO,cAAe,WACd,MAAOtO,GAAEC,OAAO2L,WAAYzL,SAI9BH,EAAEiN,qBAAuB,SAAUsB,GAClC,GAAI/N,GAAUR,EAAGuO,IAEf/N,EAAQ0J,QAAS,eAAkBlK,KAAMwO,SAC3ChO,EAAQgO,UAETxO,EAAE6M,cAAgB,SAAU0B,EAAezB,GAC1C,GAAItM,GAAUR,EAAGuO,GAChBvB,EAAaxM,EAAQ0J,QAAS,eAAkBlK,GAEjDQ,GAAQ0J,QAAS,aAAclK,EAAGgN,GAAarH,IAAKmH,KAGrD9M,EAAE2N,KAAKc,QAAU,SAAUpN,EAAM+F,GAChC,MAAOpH,GAAE2N,KAAMtM,EAAM,KAAM,KAAM+F,IAGlCpH,EAAE2N,KAAKe,gBAAkB,SAAUC,EAAMtN,GACxC,MAAOrB,GAAE2N,KAAMtM,EAAM,KAAM,MAAQsN,IAAShN,OAAS,IAGnDzB,EAAQC,MAEZ,SAAWH,GACVA,EAAE+B,OAAQ/B,EAAEC,QAGX+B,QAAS,QAMT4M,cAAe,UAEfC,YAAY,EAGZzB,WAAY,+CAIZvC,gBAAiB,iBAIjBE,eAAgB,gBAIhB+D,WAAY,WAGZC,aAAa,EAGbC,sBAAsB,EAGtBC,oBAAoB,EAGpBC,sBAAuB,OAGvBC,oBAAoB,EAIpBC,cAAe,EAGfC,wBAAyB,MAGzBC,qBAAsB,qBAGtBC,0BAA2B,IAI3BC,2BAA2B,EAG3BC,oBAAoB,EAEpBC,kBAAkB,EAIlB7D,sBAAsB,EAEtB6B,cACCiC,WAAY,KAKbpF,oBAAoB,EAGpBqF,cAAe5P,IAGf6P,uBAAuB,EAEvBC,cAAe,sBAEb5P,EAAQC,MAYZ,SAAWH,EAAGM,GAEd,GAAIsB,GAAO,EACVmO,EAAQC,MAAM1I,UAAUyI,MACxBE,EAAajQ,EAAEkQ,SAChBlQ,GAAEkQ,UAAY,SAAUC,GACvB,IAAM,GAAW5M,GAAPgB,EAAI,EAA8B,OAApBhB,EAAO4M,EAAM5L,IAAaA,IACjD,IACCvE,EAAGuD,GAAO6M,eAAgB,UAEzB,MAAO/E,IAEV4E,EAAYE,IAGbnQ,EAAEqQ,OAAS,SAAUrP,EAAMmJ,EAAM7C,GAChC,GAAIgJ,GAAUC,EAAqBtC,EAAauC,EAG/CC,KACAC,EAAY1P,EAAK2P,MAAO,KAAO,EA2GhC,OAzGA3P,GAAOA,EAAK2P,MAAO,KAAO,GAC1BL,EAAWI,EAAY,IAAM1P,EAEvBsG,IACLA,EAAY6C,EACZA,EAAOnK,EAAE4Q,QAIV5Q,EAAEqB,KAAM,KAAOiP,EAASxP,eAAkB,SAAUyC,GACnD,QAASvD,EAAEoE,KAAMb,EAAM+M,IAGxBtQ,EAAG0Q,GAAc1Q,EAAG0Q,OACpBH,EAAsBvQ,EAAG0Q,GAAa1P,GACtCiN,EAAcjO,EAAG0Q,GAAa1P,GAAS,SAAU6G,EAASrH,GAEzD,MAAML,MAAK0Q,mBAMNlN,UAAUhC,QACdxB,KAAK0Q,cAAehJ,EAASrH,IANtB,GAAIyN,GAAapG,EAASrH,IAUnCR,EAAE+B,OAAQkM,EAAasC,GACtBvO,QAASsF,EAAUtF,QAGnB8O,OAAQ9Q,EAAE+B,UAAYuF,GAGtByJ,wBAGDP,EAAgB,GAAIrG,GAIpBqG,EAAc3I,QAAU7H,EAAEqQ,OAAOtO,UAAYyO,EAAc3I,SAC3D7H,EAAEsD,KAAMgE,EAAW,SAAU0J,EAAMlK,GAClC,MAAM9G,GAAEiR,WAAYnK,QAIpB2J,EAAkBO,GAAS,WAC1B,GAAIE,GAAS,WACX,MAAO/G,GAAK7C,UAAW0J,GAAOtN,MAAOvD,KAAMwD,YAE5CwN,EAAc,SAAUzJ,GACvB,MAAOyC,GAAK7C,UAAW0J,GAAOtN,MAAOvD,KAAMuH,GAE7C,OAAO,YACN,GAECkF,GAFGwE,EAAUjR,KAAK+Q,OAClBG,EAAelR,KAAKgR,WAWrB,OARAhR,MAAK+Q,OAASA,EACd/Q,KAAKgR,YAAcA,EAEnBvE,EAAc9F,EAAMpD,MAAOvD,KAAMwD,WAEjCxD,KAAK+Q,OAASE,EACdjR,KAAKgR,YAAcE,EAEZzE,YAvBR6D,EAAkBO,GAASlK,KA2B7BmH,EAAY3G,UAAYtH,EAAEqQ,OAAOtO,OAAQyO,GAIxCc,kBAAmBf,EAAuBC,EAAcc,mBAAqBtQ,EAAQA,GACnFyP,GACFxC,YAAaA,EACbyC,UAAWA,EACXxC,WAAYlN,EACZuQ,eAAgBjB,IAOZC,GACJvQ,EAAEsD,KAAMiN,EAAoBQ,mBAAoB,SAAUxM,EAAGiN,GAC5D,GAAIC,GAAiBD,EAAMlK,SAI3BtH,GAAEqQ,OAAQoB,EAAef,UAAY,IAAMe,EAAevD,WAAYD,EAAauD,EAAMV,gBAInFP,GAAoBQ,oBAE3B5G,EAAK4G,mBAAmBvJ,KAAMyG,GAG/BjO,EAAEqQ,OAAOqB,OAAQ1Q,EAAMiN,GAEhBA,GAGRjO,EAAEqQ,OAAOtO,OAAS,SAAU4P,GAM3B,IALA,GAGC7L,GACAgB,EAJG8K,EAAQ7B,EAAMtM,KAAME,UAAW,GAClCkO,EAAa,EACbC,EAAcF,EAAMjQ,OAGAmQ,EAAbD,EAA0BA,IACjC,IAAM/L,IAAO8L,GAAOC,GACnB/K,EAAQ8K,EAAOC,GAAc/L,GACxB8L,EAAOC,GAAaE,eAAgBjM,IAASgB,IAAUxG,IAG1DqR,EAAQ7L,GADJ9F,EAAEgS,cAAelL,GACL9G,EAAEgS,cAAeL,EAAQ7L,IACxC9F,EAAEqQ,OAAOtO,UAAY4P,EAAQ7L,GAAOgB,GAEpC9G,EAAEqQ,OAAOtO,UAAY+E,GAGNA,EAKpB,OAAO6K,IAGR3R,EAAEqQ,OAAOqB,OAAS,SAAU1Q,EAAMiR,GACjC,GAAI3B,GAAW2B,EAAO3K,UAAUiK,gBAAkBvQ,CAClDhB,GAAEkD,GAAIlC,GAAS,SAAU6G,GACxB,GAAIqK,GAAkC,gBAAZrK,GACzBH,EAAOqI,EAAMtM,KAAME,UAAW,GAC9BiJ,EAAczM,IAyCf,OAtCA0H,IAAWqK,GAAgBxK,EAAK/F,OAC/B3B,EAAEqQ,OAAOtO,OAAO2B,MAAO,MAAQmE,GAAUiB,OAAOpB,IAChDG,EAGA1H,KAAKmD,KADD4O,EACM,WACT,GAAIC,GACH1K,EAAWzH,EAAEoE,KAAMjE,KAAMmQ,EAC1B,OAAiB,aAAZzI,GACJ+E,EAAcnF,GACP,GAEFA,EAIAzH,EAAEiR,WAAYxJ,EAASI,KAAsC,MAAxBA,EAAQuK,OAAQ,IAG3DD,EAAc1K,EAAUI,GAAUnE,MAAO+D,EAAUC,GAC9CyK,IAAgB1K,GAAY0K,IAAgB7R,GAChDsM,EAAcuF,GAAeA,EAAYpN,OACxC6H,EAAYyF,UAAWF,EAAYG,OACnCH,GACM,GAJR,QAHQnS,EAAEuS,MAAO,mBAAqB1K,EAAU,SAAW7G,EAAO,oBAJ1DhB,EAAEuS,MAAO,0BAA4BvR,EAAO,uDACnB6G,EAAU,MAclC,WACT,GAAIJ,GAAWzH,EAAEoE,KAAMjE,KAAMmQ,EACxB7I,GACJA,EAASN,OAAQU,OAAgB2K,QAEjCxS,EAAEoE,KAAMjE,KAAMmQ,EAAU,GAAI2B,GAAQpK,EAAS1H,SAKzCyM,IAIT5M,EAAE4Q,OAAS,aACX5Q,EAAE4Q,OAAOG,sBAET/Q,EAAE4Q,OAAOtJ,WACR4G,WAAY,SACZoD,kBAAmB,GACnBmB,eAAgB,QAChB5K,SACCzG,UAAU,EAGVsR,OAAQ,MAET7B,cAAe,SAAUhJ,EAASrH,GACjCA,EAAUR,EAAGQ,GAAWL,KAAKsS,gBAAkBtS,MAAQ,GACvDA,KAAKK,QAAUR,EAAGQ,GAClBL,KAAKyB,KAAOA,IACZzB,KAAKwS,eAAiB,IAAMxS,KAAK+N,WAAa/N,KAAKyB,KACnDzB,KAAK0H,QAAU7H,EAAEqQ,OAAOtO,UACvB5B,KAAK0H,QACL1H,KAAKyS,oBACL/K,GAED1H,KAAK0S,SAAW7S,IAChBG,KAAK2S,UAAY9S,IACjBG,KAAKI,UAAYP,IAEZQ,IAAYL,OAChBH,EAAEoE,KAAM5D,EAASL,KAAKoR,eAAgBpR,MACtCA,KAAK4S,KAAK,EAAM5S,KAAKK,SACpBgO,OAAQ,SAAUhI,GACZA,EAAMmL,SAAWnR,GACrBL,KAAK6S,aAIR7S,KAAKC,SAAWJ,EAAGQ,EAAQyS,MAE1BzS,EAAQuD,cAERvD,EAAQJ,UAAYI,GACrBL,KAAKE,OAASL,EAAGG,KAAKC,SAAS,GAAG8S,aAAe/S,KAAKC,SAAS,GAAG+S,eAGnEhT,KAAKiT,UACLjT,KAAKkT,SAAU,SAAU,KAAMlT,KAAKmT,uBACpCnT,KAAKqS,SAENI,kBAAmB5S,EAAEuT,KACrBD,oBAAqBtT,EAAEuT,KACvBH,QAASpT,EAAEuT,KACXf,MAAOxS,EAAEuT,KAETP,QAAS,WACR7S,KAAKqT,WAGLrT,KAAKK,QACHmG,OAAQxG,KAAKwS,gBACb9M,WAAY1F,KAAKoR,gBAGjB1L,WAAY7F,EAAE+F,UAAW5F,KAAKoR,iBAChCpR,KAAKkQ,SACH1J,OAAQxG,KAAKwS,gBACbxO,WAAY,iBACZ2G,YACA3K,KAAKoR,eAAiB,+BAIxBpR,KAAK0S,SAASlM,OAAQxG,KAAKwS,gBAC3BxS,KAAK2S,UAAUhI,YAAa,kBAC5B3K,KAAKI,UAAUuK,YAAa,mBAE7B0I,SAAUxT,EAAEuT,KAEZlD,OAAQ,WACP,MAAOlQ,MAAKK,SAGb2G,OAAQ,SAAUrB,EAAKgB,GACtB,GACC2M,GACAC,EACAnP,EAHGsD,EAAU/B,CAKd,IAA0B,IAArBnC,UAAUhC,OAEd,MAAO3B,GAAEqQ,OAAOtO,UAAY5B,KAAK0H,QAGlC,IAAoB,gBAAR/B,GAKX,GAHA+B,KACA4L,EAAQ3N,EAAI6K,MAAO,KACnB7K,EAAM2N,EAAME,QACPF,EAAM9R,OAAS,CAEnB,IADA+R,EAAY7L,EAAS/B,GAAQ9F,EAAEqQ,OAAOtO,UAAY5B,KAAK0H,QAAS/B,IAC1DvB,EAAI,EAAGA,EAAIkP,EAAM9R,OAAS,EAAG4C,IAClCmP,EAAWD,EAAOlP,IAAQmP,EAAWD,EAAOlP,QAC5CmP,EAAYA,EAAWD,EAAOlP,GAG/B,IADAuB,EAAM2N,EAAMG,MACP9M,IAAUxG,EACd,MAAOoT,GAAW5N,KAAUxF,EAAY,KAAOoT,EAAW5N,EAE3D4N,GAAW5N,GAAQgB,MACb,CACN,GAAKA,IAAUxG,EACd,MAAOH,MAAK0H,QAAS/B,KAAUxF,EAAY,KAAOH,KAAK0H,QAAS/B,EAEjE+B,GAAS/B,GAAQgB,EAMnB,MAFA3G,MAAK0T,YAAahM,GAEX1H,MAER0T,YAAa,SAAUhM,GACtB,GAAI/B,EAEJ,KAAMA,IAAO+B,GACZ1H,KAAK2T,WAAYhO,EAAK+B,EAAS/B,GAGhC,OAAO3F,OAER2T,WAAY,SAAUhO,EAAKgB,GAU1B,MATA3G,MAAK0H,QAAS/B,GAAQgB,EAET,aAARhB,IACJ3F,KAAKkQ,SACH0D,YAAa5T,KAAKoR,eAAiB,cAAezK,GACpD3G,KAAK2S,UAAUhI,YAAa,kBAC5B3K,KAAKI,UAAUuK,YAAa,mBAGtB3K,MAGR6T,OAAQ,WACP,MAAO7T,MAAK0T,aAAczS,UAAU,KAErC6S,QAAS,WACR,MAAO9T,MAAK0T,aAAczS,UAAU,KAGrC2R,IAAK,SAAUmB,EAAuB1T,EAAS2T,GAC9C,GAAIC,GACH3M,EAAWtH,IAG0B,kBAA1B+T,KACXC,EAAW3T,EACXA,EAAU0T,EACVA,GAAwB,GAInBC,GAML3T,EAAU4T,EAAkBpU,EAAGQ,GAC/BL,KAAK0S,SAAW1S,KAAK0S,SAASlN,IAAKnF,KANnC2T,EAAW3T,EACXA,EAAUL,KAAKK,QACf4T,EAAkBjU,KAAKkQ,UAOxBrQ,EAAEsD,KAAM6Q,EAAU,SAAU3N,EAAO6N,GAClC,QAASC,KAIR,MAAMJ,IACFzM,EAASI,QAAQzG,YAAa,IAC/BpB,EAAGG,MAAOoU,SAAU,sBAGK,gBAAZF,GAAuB5M,EAAU4M,GAAYA,GAC3D3Q,MAAO+D,EAAU9D,WANnB,OAUuB,gBAAZ0Q,KACXC,EAAaE,KAAOH,EAAQG,KAC3BH,EAAQG,MAAQF,EAAaE,MAAQxU,EAAEwU,OAGzC,IAAIhQ,GAAQgC,EAAMhC,MAAO,kBACxBiQ,EAAYjQ,EAAM,GAAKiD,EAASkL,eAChCjN,EAAWlB,EAAM,EACbkB,GACJ0O,EAAgBM,SAAUhP,EAAU+O,EAAWH,GAE/C9T,EAAQ+F,KAAMkO,EAAWH,MAK5BK,KAAM,SAAUnU,EAASiU,GACxBA,GAAaA,GAAa,IAAI9D,MAAO,KAAMiE,KAAMzU,KAAKwS,eAAiB,KAAQxS,KAAKwS,eACpFnS,EAAQmG,OAAQ8N,GAAYI,WAAYJ,IAGzCK,OAAQ,SAAUT,EAAShR,GAC1B,QAASiR,KACR,OAA4B,gBAAZD,GAAuB5M,EAAU4M,GAAYA,GAC3D3Q,MAAO+D,EAAU9D,WAEpB,GAAI8D,GAAWtH,IACf,OAAOqD,YAAY8Q,EAAcjR,GAAS,IAG3C0R,WAAY,SAAUvU,GACrBL,KAAK2S,UAAY3S,KAAK2S,UAAUnN,IAAKnF,GACrCL,KAAK4S,IAAKvS,GACTwU,WAAY,SAAUxO,GACrBxG,EAAGwG,EAAMyO,eAAgBC,SAAU,mBAEpCC,WAAY,SAAU3O,GACrBxG,EAAGwG,EAAMyO,eAAgBnK,YAAa,sBAKzCsK,WAAY,SAAU5U,GACrBL,KAAKI,UAAYJ,KAAKI,UAAUoF,IAAKnF,GACrCL,KAAK4S,IAAKvS,GACT6U,QAAS,SAAU7O,GAClBxG,EAAGwG,EAAMyO,eAAgBC,SAAU,mBAEpCI,SAAU,SAAU9O,GACnBxG,EAAGwG,EAAMyO,eAAgBnK,YAAa,sBAKzCuI,SAAU,SAAU/N,EAAMkB,EAAOpC,GAChC,GAAI4M,GAAM5N,EACTmS,EAAWpV,KAAK0H,QAASvC,EAa1B,IAXAlB,EAAOA,MACPoC,EAAQxG,EAAEwV,MAAOhP,GACjBA,EAAMlB,MAASA,IAASnF,KAAKmR,kBAC5BhM,EACAnF,KAAKmR,kBAAoBhM,GAAOxE,cAGjC0F,EAAMmL,OAASxR,KAAKK,QAAS,GAG7B4C,EAAOoD,EAAMiP,cAEZ,IAAMzE,IAAQ5N,GACL4N,IAAQxK,KACfA,EAAOwK,GAAS5N,EAAM4N,GAMzB,OADA7Q,MAAKK,QAAQmJ,QAASnD,EAAOpC,KACnBpE,EAAEiR,WAAYsE,IACvBA,EAAS7R,MAAOvD,KAAKK,QAAQ,IAAMgG,GAAQsC,OAAQ1E,OAAa,GAChEoC,EAAMkP,wBAIT1V,EAAEsD,MAAQqS,KAAM,SAAUC,KAAM,WAAa,SAAUC,EAAQC,GAC9D9V,EAAE4Q,OAAOtJ,UAAW,IAAMuO,GAAW,SAAUrV,EAASqH,EAAS0N,GACxC,gBAAZ1N,KACXA,GAAYkO,OAAQlO,GAErB,IAAImO,GACHC,EAAcpO,EAEbA,KAAY,GAA2B,gBAAZA,GAC1BiO,EACAjO,EAAQkO,QAAUD,EAHnBD,CAIFhO,GAAUA,MACc,gBAAZA,KACXA,GAAYqO,SAAUrO,IAEvBmO,GAAchW,EAAEmW,cAAetO,GAC/BA,EAAQuO,SAAWb,EACd1N,EAAQxE,OACZ7C,EAAQ6C,MAAOwE,EAAQxE,OAEnB2S,GAAchW,EAAEqW,SAAWrW,EAAEqW,QAAQN,OAAQE,GACjDzV,EAASqV,GAAUhO,GACRoO,IAAeJ,GAAUrV,EAASyV,GAC7CzV,EAASyV,GAAcpO,EAAQqO,SAAUrO,EAAQyO,OAAQf,GAEzD/U,EAAQ+V,MAAM,SAAUC,GACvBxW,EAAGG,MAAQ0V,KACNN,GACJA,EAAS9R,KAAMjD,EAAS,IAEzBgW,UAMAtW,GAEJ,SAAWF,EAAGK,EAAQC,GACrB,GAAImW,MACHC,EAAU1W,EAAE2N,KACZgJ,EAAS,+BACTC,EAAY,sBAEb5W,GAAE+B,OAAQ/B,EAAEC,QAIXsI,GAAI,GAIJ2D,aAAc,SAAU1L,EAASsF,GAChC,GAAI1B,EAEJ5D,GAAUA,EAAQuE,OAASvE,EAAQ,GAAKA,EAEnCA,GAAWA,EAAQ0L,eACvB9H,EAAO5D,EAAQ0L,aAAc,QAAUlM,EAAEC,OAAOsI,GAAKzC,GAKtD,KACC1B,EAAgB,SAATA,GAAkB,EACf,UAATA,GAAmB,EACV,SAATA,EAAkB,MAEjBA,EAAO,KAAOA,GAAQA,EACvBuS,EAAOxV,KAAMiD,GAASyS,KAAKC,MAAO1S,GAClCA,EACA,MAAO2S,IAET,MAAO3S,IAIRqS,gBAAiBA,EAKjBO,YAAa,SAAUhG,GACtB,MAAOyF,GAAiBzF,KACrByF,EAAiBzF,GAAShR,EAAE+F,UAAW/F,EAAEC,OAAOsI,GAAKyI,KAQzDiG,gBAAiB,SAAUC,GAC1B,MAAOA,GACLjN,QAAS,kDACT7F,KAAM,kBAOVpE,EAAEkD,GAAGgH,QAAU,SAAU8G,EAAMlK,GAC9B,GAAIqQ,EAcJ,OAbqB,mBAATnG,KACNA,IACJA,EAAOhR,EAAEC,OAAO+W,YAAahG,IAM7BmG,EADIxT,UAAUhC,OAAS,GAAKmF,IAAUxG,EAC7BH,KAAKiE,KAAM4M,GAEX7Q,KAAKiE,KAAM4M,EAAMlK,IAGrBqQ,GAGRnX,EAAEkK,QAAU,SAAU3G,EAAMyN,EAAMlK,GACjC,GAAIqQ,EAIJ,OAHqB,mBAATnG,KACXmG,EAASnX,EAAEoE,KAAMb,EAAMyN,EAAOhR,EAAEC,OAAO+W,YAAahG,GAASA,EAAMlK,IAE7DqQ,GAGRnX,EAAEkD,GAAGkU,cAAgB,SAAUpG,GAC9B,MAAO7Q,MAAK0F,WAAY7F,EAAEC,OAAO+W,YAAahG,KAG/ChR,EAAEoX,cAAgB,SAAU7T,EAAMyN,GACjC,MAAOhR,GAAE6F,WAAYtC,EAAMvD,EAAEC,OAAO+W,YAAahG,KAGlDhR,EAAE2N,KAAO,SAAUjI,EAAU2R,EAASC,EAAKC,GAK1C,MAJK7R,GAAS8R,QAAS,YAAe,KACrC9R,EAAWA,EAAS+R,QAASb,EAAW,UAAa5W,EAAEC,OAAOsI,IAAM,IAAO,QAGrEmO,EAAQjT,KAAMtD,KAAMuF,EAAU2R,EAASC,EAAKC,IAGpDvX,EAAE+B,OAAQ/B,EAAE2N,KAAM+I,IAEfxW,EAAQC,MAEZ,SAAWH,GAEX,GAAI0X,GAAY,SACfC,EAAkB,SAAUxM,GAC3B,MAAO,IAAMA,EAAErK,cAGjBd,GAAE+B,OAAQ/B,EAAE4Q,OAAOtJ,WAClBsL,kBAAmB,WAClB,GAAIzL,GAAQL,EACXvD,EAAOpD,KAAKK,QAAS,GACrBqH,IAGD,KAAM7H,EAAEC,OAAOiM,aAAc3I,EAAM,YAClC,IAAM4D,IAAUhH,MAAK0H,QACpBf,EAAQ9G,EAAEC,OAAOiM,aAAc3I,EAAM4D,EAAOsQ,QAASC,EAAWC,IAElD,MAAT7Q,IACJe,EAASV,GAAWL,EAKvB,OAAOe,MAKT7H,EAAEC,OAAOoQ,OAASrQ,EAAE4Q,QAEhB1Q,GAGJ,SAAWF,GAEV,GAAI4X,GAAc,YAAaC,EAAQ7X,EAAG,OAE1CA,GAAEqQ,OAAQ,iBAGTxI,SAECiQ,MAAO,IAGPC,aAAa,EAGb1J,KAAM,GAGND,KAAM,WAGPzB,YAAa,eAAiBiL,EAAc,yDAM5CI,cAAe,WACd,GAAIC,GAAYjY,EAAG,IAAMA,EAAEC,OAAO8K,gBAAiBmN,OAEnD/X,MAAKK,QACHkB,KACAyW,IAAKnY,EAAEmG,QAAQiS,WAAajY,KAAKE,OAAO+X,YAAcjY,KAAKE,OAAO+L,SAAW,GAC5E6L,EAAUtW,QAAUsW,EAAUI,SAASF,KAAO,OAMlDG,oBAAqB,WACpB,GAAID,GAASlY,KAAKK,QAAQ6X,SACzBD,EAAYjY,KAAKE,OAAO+X,YACxBG,EAAevY,EAAEC,OAAOkM,mBAEpBkM,EAAOF,IAAMC,GAAeC,EAAOF,IAAMC,EAAcG,KAC3DpY,KAAKK,QAAQ0U,SAAU,qBACvB/U,KAAK6X,gBACL7X,KAAKE,OACHsG,OAAQ,SAAUxG,KAAKmY,qBACvB/R,KAAM,SAAUvG,EAAEwY,MAAOrY,KAAK6X,cAAe7X,SAIjDsY,UAAW,WACVtY,KAAKK,QAAQ6N,KAAMrO,EAAGG,KAAKwM,aAAc0B,SAO1CsH,KAAM,SAAUmC,EAAOY,EAASC,GAC/B,GAAIZ,GAAaa,EAASC,CAE1B1Y,MAAKsY,YAIoB,WAApBzY,EAAEsF,KAAMwS,IACZe,EAAe7Y,EAAE+B,UAAY5B,KAAK0H,QAASiQ,GAE3CA,EAAQe,EAAaf,QAErBe,EAAe1Y,KAAK0H,QAKpBiQ,EAAQA,GAASe,EAAaf,OAK/Bc,EAAUF,IAAaG,EAAazK,QAAS,EAAQ,GAAKyK,EAAazK,MAGvEyJ,EAAM3C,SAAU,cAEhB6C,EAAcc,EAAad,YAK3B5X,KAAKK,QAAQkE,KAAK,QAASkT,EAC1B,0BAA4BE,EAC5B,eAAkBC,GAAeW,GAAWZ,EAAM1J,KAAO,UAAY,YACnEyK,EAAaF,UAAYA,EAAW,sBAAwB,KAM1DE,EAAaxK,KACjBlO,KAAKK,QAAQ6N,KAAMwK,EAAaxK,MAEhClO,KAAKK,QAAQmN,KAAM,MAAOS,KAAMwK,GAMjCzY,KAAKK,QAAQsY,SACZ9Y,EADsBA,EAAEC,OAAO8Y,cAC5B,wBAA+B,SAGnC5Y,KAAKmY,sBAGLnY,KAAKE,OAAOkG,KAAM,SAAUvG,EAAEwY,MAAOrY,KAAKmY,oBAAqBnY,QAGhEyV,KAAM,WACLiC,EAAM/M,YAAa,cAEd3K,KAAK0H,QAAQuG,MACjBjO,KAAKK,QAAQsK,YAAa,qBAG3B3K,KAAKE,OAAOsG,OAAQ,SAAUxG,KAAK6X,eACnC7X,KAAKE,OAAOsG,OAAQ,SAAUxG,KAAKmY,yBAInCpY,EAAQC,MA0FX,SAAUH,EAAEK,EAAOC,GACjB,WAkBA,SAAS0Y,GAAchP,GAErB,MADAA,GAAMA,GAAOiP,SAAShY,KACf,IAAM+I,EAAIyN,QAAS,gBAAiB,MAjB7C,GAIEyB,GAJEC,EAAiB,aAGnBvZ,EAAMQ,EAENmJ,EAAUvJ,EAAEwG,MAAM+C,QAKlB6P,EAAWxZ,EAAIyZ,aACfC,EAAwB,KAAOH,IAAkB9Y,KAAY+Y,IAAa9Y,GAAa8Y,EAAW,EAmCpGpZ,GAAEkD,GAAIiW,GAAmB,SAAUjW,GACjC,MAAOA,GAAK/C,KAAKoG,KAAM4S,EAAgBjW,GAAO/C,KAAKwJ,QAASwP,IAsC9DnZ,EAAEkD,GAAIiW,GAAiB9V,MAAQ,GAmD/BkG,EAAS4P,GAAmBnZ,EAAE+B,OAAQwH,EAAS4P,IAG7CI,MAAO,WAEL,MAAKD,IAAiC,MAKtCtZ,GAAGkZ,EAAkBM,QAIvBC,SAAU,WAER,MAAKH,IAAiC,MAGtCtZ,GAAGkZ,EAAkBQ,SASzBR,EAAoB,WAyBlB,QAASS,KACP,GAAIC,GAAOZ,IACTa,EAAeC,EAAaC,EAEzBH,KAASG,GACZC,EAAaD,EAAYH,EAAMC,GAE/B7Z,EAAEK,GAAQsJ,QAASwP,IAETU,IAAiBE,IAC3Bd,SAAShY,KAAOgY,SAAShY,KAAKwW,QAAS,MAAO,IAAOoC,GAGvDI,EAAazW,WAAYmW,EAAM3Z,EAAEkD,GAAIiW,GAAiB9V,OArCxD,GACE4W,GADEC,KAIFH,EAAYf,IAEZmB,EAAY,SAASC,GAAM,MAAOA,IAClCJ,EAAcG,EACdL,EAAcK,CA0HhB,OAvHAD,GAAKV,MAAQ,WACXS,GAAcN,KAIhBO,EAAKR,KAAO,WACVO,GAAcI,aAAcJ,GAC5BA,EAAa3Z,GAyBfD,EAAOia,cAAgBja,EAAOka,mBAAqBjB,GAAyB,WAI1E,GAAIkB,GACFC,CAIFP,GAAKV,MAAQ,WACLgB,IACJC,EAAaza,EAAEkD,GAAIiW,GAAiBuB,IACpCD,EAAaA,GAAcA,EAAazB,IAIxCwB,EAASxa,EAAE,yCAAyC4V,OAIjD+E,IAAK,OAAQ,WACZF,GAAcT,EAAahB,KAC3BW,MAIDjV,KAAM,MAAO+V,GAAc,gBAI3BG,YAAa,QAAS,GAAGC,cAM5Bjb,EAAIkb,iBAAmB,WACrB,IAC8B,UAAvBtU,MAAMuU,eACTP,EAAOpa,SAAS4a,MAAQpb,EAAIob,OAE9B,MAAM3P,QASd6O,EAAKR,KAAOS,EAGZL,EAAc,WACZ,MAAOd,GAAcwB,EAAOvB,SAAShY,OAMvC+Y,EAAc,SAAUJ,EAAMC,GAC5B,GAAIoB,GAAaT,EAAOpa,SACtB8a,EAASlb,EAAEkD,GAAIiW,GAAiB+B,MAE7BtB,KAASC,IAEZoB,EAAWD,MAAQpb,EAAIob,MAIvBC,EAAWE,OAGXD,GAAUD,EAAWG,MAAO,4BAAiCF,EAAS,cAEtED,EAAWI,QAGXb,EAAOvB,SAASW,KAAOA,OAStBM,MAGRha,EAAOC,MAGV,SAAWH,GAGVK,EAAOib,WAAajb,EAAOib,YAAe,SAAU1b,GAEnD,GAAI2b,GACHC,EAAU5b,EAAI6b,gBACdC,EAAUF,EAAQG,mBAAqBH,EAAQI,WAE/CC,EAAWjc,EAAIyG,cAAe,QAC9ByV,EAAMlc,EAAIyG,cAAe,MAO1B,OALAyV,GAAI7X,GAAK,YACT6X,EAAI7I,MAAM8I,QAAU,+BACpBF,EAAS5I,MAAM+I,WAAa,OAC5BH,EAASI,YAAYH,GAEd,SAASI,GAQf,MANAJ,GAAIK,UAAY,sBAAyBD,EAAI,yCAE7CV,EAAQY,aAAcP,EAAUH,GAChCH,EAA2B,KAApBO,EAAIO,YACXb,EAAQc,YAAaT,IAGpBpN,QAAS8M,EACTgB,MAAOL,KAKP9b,GAGHJ,EAAEC,OAAOsc,MAAQ,SAAUL,GAC1B,MAAO7b,GAAOib,WAAYY,GAAIzN,UAG7BvO,GAED,SAAUF,GACV,GAAImG,IACHqW,MAAO,cAAgBpc,GAGxBJ,GAAEC,OAAOkG,QAAUnG,EAAEC,OAAOkG,YAC5BnG,EAAE+B,OAAQ/B,EAAEmG,QAASA,GACrBnG,EAAE+B,OAAQ/B,EAAEC,OAAOkG,QAASA,IAC1BjG,GAEF,SAAUF,GACVA,EAAE+B,OAAQ/B,EAAEmG,SACXsW,YAAa,eAAiBpc,IAAU,uBAAyBA,MAEhEH,GAEJ,SAAWF,EAAGM,GAGd,QAASoc,GAAY1L,GACpB,GAEC2L,GAFGC,EAAU5L,EAAKoB,OAAQ,GAAIyK,cAAgB7L,EAAK8L,OAAQ,GAC3DC,GAAU/L,EAAO,IAAMgM,EAAQpI,KAAMgI,EAAU,KAAQA,GAAUjM,MAAO,IAGzE,KAAMgM,IAAKI,GACV,GAAKE,EAAOF,EAAOJ,MAAUrc,EAC5B,OAAO,EAcV,QAAS4c,KAER,GAAIC,GAAI9c,EACP+c,KAAQD,EAAE/c,SAASid,kBAAqBF,EAAE/c,SAASid,gBAAiB,6BAA8B,OAAQC,eAAoBH,EAAEI,OAAqD,KAA5CtX,UAAUC,UAAUsR,QAAS,WACtKrR,EAAU,SAAU/B,GACXA,GAAQgZ,GACfpd,EAAG,QAASkV,SAAU,aAGxBtU,EAAM,GAAIuc,GAAEK,KAEb5c,GAAI6c,QAAU,WACbtX,GAAS,IAEVvF,EAAI8c,OAAS,WACZvX,EAAuB,IAAdvF,EAAI+c,OAA8B,IAAf/c,EAAIwL,SAEjCxL,EAAI8Z,IAAM,yEAGX,QAASkD,KACR,GAGC3S,GAAI4S,EAAYC,EAHbC,EAAS,eAEZzG,EAAMtX,EAAEC,OAAOsc,MAAO,KAAOS,EAAQpI,KAAM,IAAMmJ,EAAS,QAAW,IAAMA,EAAS,MAAQA,EAAS,IAGtG,IAAKzG,EACJ,QAASA,CAGVrM,GAAK7K,EAASiG,cAAe,OAC7BwX,GAECG,aAAgB,iBAChBC,UAAa,aAGdpC,EAASqC,OAAQjT,EAEjB,KAAM6S,IAAKD,GACL5S,EAAGgI,MAAO6K,KAAQxd,IACtB2K,EAAGgI,MAAO6K,GAAM,iCAChBxG,EAAMjX,EAAO8d,iBAAkBlT,GAAKmT,iBAAkBP,EAAYC,IAGpE,SAAWxG,GAAe,SAARA,EAInB,QAAS+G,KACR,GAICC,GAAMC,EAJHC,EAAWvF,SAASwF,SAAW,KAAOxF,SAASyF,KAAOzF,SAAS0F,SAAW,UAC7ExU,EAAOnK,EAAG,aACV4e,EAAU,KACV3d,EAAO,EAgBR,OAbMkJ,GAAKxI,OAGVV,EAAOkJ,EAAKzF,KAAM,QAFlByF,EAAOyU,EAAU5e,EAAG,UAAYiB,KAAQud,IAAY1F,SAAU,QAK/DwF,EAAOte,EAAG,wBAAyB6e,UAAWhD,GAC9C0C,EAASD,EAAM,GAAIrd,KACnBkJ,EAAM,GAAIlJ,KAAOA,GAAQgY,SAAS0F,SAE7BC,GACJA,EAAQpQ,SAE6B,IAA/B+P,EAAO/G,QAASgH,GAIxB,QAASM,KACR,GAGCC,GAHGve,EAAUJ,EAASiG,cAAe,KACrCoV,EAAkBrb,EAASqb,gBAC3B0C,EAAmB9d,EAAO8d,gBAG3B,OAAQ,iBAAmB3d,GAAQyS,OAInCzS,EAAQyS,MAAM+L,cAAgB,OAC9Bxe,EAAQyS,MAAM+L,cAAgB,IAC9BvD,EAAgBQ,YAAazb,GAC7Bue,EAAWZ,GACuC,SAAlDA,EAAkB3d,EAAS,IAAKwe,cAChCvD,EAAgBa,YAAa9b,KACpBue,IATD,EAYT,QAASE,KACR,GAAInD,GAAM1b,EAASiG,cAAe,MAClC,OAA4C,mBAA9ByV,GAAIoD,sBAkBnB,QAASC,KACR,GAAIhC,GAAI9c,EACP+e,EAAKnZ,UAAUC,UACfmZ,EAAWpZ,UAAUoZ,SAErBC,EAAUF,EAAG5a,MAAO,yBACpB+a,IAAcD,GAAWA,EAAS,GAClCE,EAAUJ,EAAG5a,MAAO,oBACpBib,IAAcD,GAAWA,EAAS,GAClCE,EAAoBN,EAAG5a,MAAO,wBAC9Bmb,IAAcD,GAAqBA,EAAmB,EAEvD,QAEKL,EAAS7H,QAAS,UAAa,IAAM6H,EAAS7H,QAAS,QAAW,IAAO6H,EAAS7H,QAAS,QAAW,KAAQ+H,GAAyB,IAAZA,GAE7HpC,EAAEyC,WAAmD,0BAAjCC,SAASpc,KAAM0Z,EAAEyC,YACrCF,GAAiC,KAAZC,GAErBP,EAAG5H,QAAS,WAAc,IAAM+H,GAAyB,IAAZA,GAE7CE,GAAyB,EAAZA,GAEb,mBAAqBpf,IAAUkf,GAAyB,IAAZA,GAE5CH,EAAG5H,QAAS,SAAY,IAAM4H,EAAG5H,QAAS,sBAAyB,IAC9D,GAGD,EAtJR,GAMCsI,GANGjE,EAAW7b,EAAG,UAAW6e,UAAW,QACvC5B,EAAQpB,EAAU,GAAI5I,MACtB+J,GAAY,SAAU,MAAO,KAC7B+C,EAAQ,mBAAqB1f,GAC7Buf,EAAYvf,EAAOuf,WAAwD,0BAAtCC,SAASpc,KAAMpD,EAAOuf,WAC3DI,EAAK3f,EAAO4f,aAAevD,EAAY,oBAuGxC1c,GAAE+B,OAAQ/B,EAAEC,QAAUigB,aACtBlgB,EAAEC,OAAOigB,QAAQC,MAAQ,WACxB,GAAIxD,GAAI,EACPb,EAAM1b,EAASiG,cAAe,OAC9B+Z,EAAItE,EAAIuE,OAET,GACCvE,GAAIK,UAAY,oBAAuBQ,EAAM,2BACrCyD,EAAE,GAEX,OAAOzD,GAAI,EAAIA,GAAKA,KAmCrB3c,EAAE+B,OAAQ/B,EAAEmG,SAKXma,UAAW,aAAeC,UACzB,gBAAkBA,YAEflgB,EAAO4F,UAAUC,UAAUsR,QAAS,YAAe,GAAKnX,EAAO8X,MAAQ9X,IACzB,KAA/CA,EAAO4F,UAAUC,UAAUsa,OAAO,SAErCC,WAAYzgB,EAAEC,OAAOsc,MAAO,YAC5BmE,mBAAoBhE,EAAY,WAChCiE,gBAAiBjE,EAAY,qBAC7BkE,eAAgBhD,IAChBiD,YAAanE,EAAY,eAAkBsD,EAC3Cb,cAAeA,IACf/G,WAAY,eAAiB/X,IAC5B,aAAeD,GAASqb,iBACxB,aAAeI,GAAU,MAASkE,IAAUH,EAE7CkB,eAAgBzC,IAChB0C,iBAAkBjC,IAClBG,aAAcA,IACd/B,UAAWA,IAGZrB,EAASrN,SAMTsR,EAAc,WAEb,GAAIV,GAAK/e,EAAO4F,UAAUC,SAG1B,OAAOkZ,GAAG5H,QAAS,SAAY,KAC3B4H,EAAG5H,QAAS,aAAgB,IAAM4H,EAAG5H,QAAS,cAAiB,KACjE4H,EAAG5H,QAAS,eAAkB,IAC9B4H,EAAG5a,MAAO,yCAMbxE,EAAEC,OAAO+gB,OAAS,WACjB,OAAWhhB,EAAEmG,QAAQsa,YAAczgB,EAAEmG,QAAQua,kBAAsB1gB,EAAEC,OAAOigB,QAAQC,OAASngB,EAAEC,OAAOigB,QAAQC,OAAS,KAASngB,EAAEmG,QAAQ8Y,cAA4D,OAA5Cjf,EAAEkD,GAAG6B,OAAOP,MAAM,wBAG7KxE,EAAEC,OAAOghB,cAEN5gB,EAAO4f,aAAe5f,EAAO6gB,aAE7BtB,GAEAE,EAKEA,GACJ9f,EAAE,WACDA,EAAG,+BAAgC0E,KAAM,MAAO,wBAAyBA,KAAM,MAAO,gBAKlF1E,EAAEmG,QAAQ0a,WACf7gB,EAAG,QAASkV,SAAU,mBAGnBhV,GAGJ,SAAWF,EAAGM,GACb,GAA4B4Z,GAAxBiH,EAAOnhB,EAAEC,OAAOI,OACnB+gB,EAAwB,YAGzBphB,GAAEwG,MAAM+C,QAAQ8X,gBACf9H,MAAO,WACN4H,EAAKG,GAAI,WAAYF,IAGtB3H,SAAU,WACT0H,EAAKI,IAAK,WAAYH,KAIxBphB,EAAEwG,MAAM+C,QAAQiY,SAAWtH,GAC1BuH,OAAO,EAEP/R,kBAAkB,EAElBgS,kBAAmBphB,EAInBqhB,mBAAoB,WACnB,MAAO3hB,GAAEmG,QAAQma,WAChBtgB,EAAEC,OAAOyP,oBAAqB,GAC9BvP,KAAKyhB,uBAIPA,oBAAqB,WACpB,MAAO5hB,GAAEC,OAAO+O,wBAAyB,GAI1C6S,SAAU,SAAUrb,GACnB,GAAIsb,GAAW,GAAI9hB,GAAEwV,MAAO,YAC3BuM,EAAiB,GAAI/hB,GAAEwV,MAAO,kBAC9BwM,EAAQxb,EAAMiP,cAAcuM,SAE7BD,GAAetM,cAAgBjP,EAC/B2a,EAAKxX,QAASoY,GAETA,EAAerM,uBAIflP,EAAMyb,cACVjiB,EAAE+B,OAAOigB,EAAOxb,EAAMyb,cAKvBH,EAASrM,cAAgBjP,EAMzBhD,WAAW,WACV2d,EAAKxX,QAASmY,GACbE,MAAOA,KAEN,KAGJE,WAAY,SAAU1b,GACrB,GAAIsb,GAAW,GAAI9hB,GAAEwV,MAAO,YAC3BuM,EAAiB,GAAI/hB,GAAEwV,MAAO,iBAE/BuM,GAAetM,cAAgBjP,EAC/B2a,EAAKxX,QAASoY,GAETA,EAAerM,uBAMpBoM,EAASrM,cAAgBjP,EAIzB2a,EAAKxX,QAASmY,GAMbE,MAAOxb,EAAM2b,wBAOf5I,MAAO,WACDW,EAAKuH,QAIVvH,EAAKuH,OAAQ,EAERvH,EAAKyH,sBACTzH,EAAKwH,kBAAoB,WACzBP,EAAK5a,KAAM,oBAAqB2T,EAAK2H,WAC1B3H,EAAK0H,wBAChB1H,EAAKwH,kBAAoB,aACzBP,EAAK5a,KAAM,sBAAuB2T,EAAKgI,iBAIvChiB,GAIJ,SAAWF,EAAGM,GACZ,GAAI8J,GAAMgY,EAAOtS,EAAgB,kBAEjC9P,GAAEC,OAAOmK,KAAOA,GACfiY,WAAY,YA2BZC,WAAY,sLAKZC,YAAa,SAAUvY,GACtB,GAAIwY,GAAYriB,KAAKsiB,SAAUzY,GAAOiP,SAAShY,MAC9CyhB,EAAM1Y,EAAMwY,EAAYvJ,SAMxBW,EAAO4I,EAAU5I,IAKlB,OAFAA,GAAgB,MAATA,EAAe,GAAKA,EAEpB8I,EAAIjE,SACV+D,EAAUG,YACVD,EAAIhE,MAMiB,KAAjBgE,EAAIjE,UAAsD,MAAnCiE,EAAI/D,SAASiE,UAAW,EAAG,GACrD,IAAM,IACPF,EAAI/D,SACJ+D,EAAIlC,OACJ5G,GAIFiJ,eAAgB,SAAUC,GACzB,MAAOA,GAAiB9iB,EAAE+B,UAAYqI,EAAK2Y,aAAgB3Y,EAAK2Y,YAAY9hB,MAG7E+hB,cAAe,WACd,MAAO7iB,MAAKsiB,SAAUtiB,KAAKoiB,gBAK5BE,SAAU,SAAUzY,GAGnB,GAAuB,WAAlBhK,EAAEsF,KAAM0E,GACZ,MAAOA,EAGR,IAAIyE,GAAUrE,EAAKkY,WAAWtc,KAAMgE,GAAO,OAM1C,QACC/I,KAAcwN,EAAU,IAAO,GAC/BnE,WAAcmE,EAAU,IAAO,GAC/BwU,aAAcxU,EAAU,IAAO,GAC/ByM,OAAczM,EAAU,IAAO,GAC/BgQ,SAAchQ,EAAU,IAAO,GAC/BkU,YAAclU,EAAU,IAAO,GAC/ByU,UAAczU,EAAU,IAAO,GAC/B0U,SAAc1U,EAAU,IAAO,GAC/B2U,SAAc3U,EAAU,IAAO,GAC/BiQ,KAAcjQ,EAAS,KAAQ,GAC/B4U,SAAc5U,EAAS,KAAQ,GAC/B6U,KAAc7U,EAAS,KAAQ,GAC/BkQ,SAAclQ,EAAS,KAAQ,GAC/B8U,UAAc9U,EAAS,KAAQ,GAC/B+U,SAAc/U,EAAS,KAAQ,GAC/B+R,OAAc/R,EAAS,KAAQ,GAC/BmL,KAAcnL,EAAS,KAAQ,KAOlCgV,iBAAkB,SAAUC,EAASC,GACpC,GAAIC,GACHC,EACAtf,EAAGuf,CAEJ,IAAKJ,GAAmC,MAAxBA,EAAQtR,OAAQ,GAC/B,MAAOsR,EASR,KANAA,EAAUA,GAAW,GACrBC,EAAUA,EAAUA,EAAQlM,QAAS,0BAA2B,IAAO,GAEvEmM,EAAWD,EAAUA,EAAQhT,MAAO,QACpCkT,EAAWH,EAAQ/S,MAAO,KAEpBpM,EAAI,EAAGA,EAAIsf,EAASliB,OAAQ4C,IAEjC,OADAuf,EAAID,EAAUtf,IAEb,IAAK,IACJ,KACD,KAAK,KACCqf,EAASjiB,QACbiiB,EAAShQ,KAEV,MACD,SACCgQ,EAASpc,KAAMsc,GAIlB,MAAO,IAAMF,EAAShP,KAAM,MAI7BmP,aAAc,SAAUC,EAASC,GAChC,MAAO7Z,GAAKqY,SAAUuB,GAAU9I,OAAOpa,gBACtCsJ,EAAKqY,SAAUwB,GAAU/I,OAAOpa,eAIlCojB,cAAe,SAAUla,GAExB,MAAyC,KAAlCI,EAAKqY,SAAUzY,GAAMyU,UAI7B0F,cAAe,SAAUna,GACxB,MAAyC,KAAlCI,EAAKqY,SAAUzY,GAAMyU,UAK7BhU,gBAAiB,SAAU2Z,EAAQC,GAClC,IAAMja,EAAK8Z,cAAeE,GACzB,MAAOA,EAGHC,KAAW/jB,IACf+jB,EAASlkB,KAAKkK,aAGf,IAAIia,GAASla,EAAKqY,SAAU2B,GAC3BG,EAASna,EAAKqY,SAAU4B,GACxB5F,EAAW6F,EAAO7F,UAAY8F,EAAO9F,SACrCkE,EAAc2B,EAAO7F,SAAW6F,EAAO3B,YAAgB2B,EAAO3B,aAAe4B,EAAO5B,YACpFO,EAAYoB,EAAOpB,WAAaqB,EAAOrB,UACvCsB,EAA8B,KAApBF,EAAO3F,SACjBA,EAAWvU,EAAKqZ,iBAAkBa,EAAO3F,UAAY4F,EAAOf,SAAUe,EAAO5F,UAC7E6B,EAAS8D,EAAO9D,SAAagE,GAAWD,EAAO/D,QAAY,GAC3D5G,EAAO0K,EAAO1K,IAEf,OAAO6E,GAAWkE,EAAcO,EAAYvE,EAAW6B,EAAS5G,GAIjE6K,gBAAiB,SAAUza,EAAK0a,GAC/B,GAAIC,GAAIva,EAAKqY,SAAUzY,GACtB4a,EAAwB,gBAAXF,GAAwB1kB,EAAE6kB,MAAOH,GAAWA,EACzDI,EAAIH,EAAEnE,QAAU,GACjB,OAAOmE,GAAE1B,aAAe6B,GAAmC,MAA7BA,EAAE1S,OAAQ0S,EAAEnjB,OAAS,GAAc,IAAM,IAAOijB,GAAMD,EAAE/K,MAAQ,KAG/FmL,oBAAqB,SAAUV,GAC9B,GAAIlN,GAASkN,EACZM,EAAIva,EAAKqY,SAAU4B,EAapB,OAXKja,GAAK4a,eAAgBL,GAGzBxN,EAASwN,EAAE/K,KACTjJ,MAAOb,GAAgB,GACvB2H,QAAS,KAAM,IACfA,QAAS,QAAS,IACTrN,EAAK2Z,aAAcY,EAAGxkB,KAAKkK,gBACtC8M,EAASwN,EAAEra,WAAWmN,QAAStX,KAAKkK,aAAa6Q,OAAQ,IAAKvK,MAAOb,GAAgB,IAG/EzP,EAAO4kB,mBAAoB9N,IAInC7E,IAAK,SAAU4S,GAId,MAHKA,KAAY5kB,IAChB4kB,EAAU9a,EAAK4Y,gBAAgBpJ,MAEzBxP,EAAK+a,UAAWD,GAAUzN,QAAS,mBAAoB,KAI/DrQ,IAAK,SAAUgD,GACd6O,SAASW,KAAOxP,GAKjBI,OAAQ,SAAUR,GACjB,MAAO,KAAS7I,KAAM6I,IAIvBob,MAAO,SAAUpb,GAChB,MAAOA,GAAIyN,QAAStX,KAAKkK,aAAa6Q,OAAQ,KAI/CiK,UAAW,SAAUnb,GACpB,MAAOA,GAAIyN,QAAS,KAAM,KAG3B4N,iBAAkB,SAAUrb,GAC3B,MAAOA,GAAIyN,QAAS,QAAS,KAI9B6N,UAAW,SAAU1L,GACpB,MAAOxP,GAAK+a,UAAWvL,EAAKnC,QAAS,QAAS,IAAKA,QAAS3H,EAAe,MAG5EyV,YAAa,SAAU3L,GACtB,MAAO,WAAezY,KAAMyY,IAK7B4L,WAAY,SAAUxb,GACrB,GAAI2a,GAAIva,EAAKqY,SAAUzY,EAEvB,UAAW2a,EAAElG,UACVkG,EAAEzJ,OAAOpa,gBAAkBX,KAAK4iB,YAAY7H,OAAOpa,gBAGvD2kB,YAAa,SAAUzb,GACtB,MAAO,YAAgB7I,KAAM6I,IAG9Bgb,eAAgB,SAAUhb,GACzB,GAAI2a,GAAIva,EAAKqY,SAAUzY,EAOvB,OAAoB,KAAf2a,EAAElG,UACIte,KAAKqK,OAAOma,EAAE/K,OAAS+K,EAAE/K,OAAU+K,EAAEra,aAAenK,KAAK4iB,YAAYzY,YAAgBnK,KAAKulB,qBAAuBf,EAAEra,aAAenK,KAAKkK,aAAaC,YAExJ,KAASnJ,KAAMwjB,EAAE1jB,OAGzB0kB,OAAQ,SAAU3b,EAAK4b,GACtB,GAAI3kB,GAAM4kB,EAAYrF,EAAQsF,EAAYC,EACzCvb,EAASrK,KAAKqK,OAAQR,GACtB0Y,EAAMviB,KAAKsiB,SAAUzY,GACrBgc,EAAgBtD,EAAI9I,KACpBqM,EAAU,EAmEX,OAhEML,KACApb,EACJob,EAAgBxb,EAAKmY,eAErBwD,EAAS3b,EAAKyY,gBAAgB,GAE7B+C,EADIxb,EAAKI,OAAQub,EAAOnM,MACRxP,EAAKub,OAAQI,EAAO9kB,MAEpB8kB,EAAO9kB,OAQ1B4kB,EAAarb,EAASJ,EAAK+a,UAAWnb,GAAQA,EAI9C6b,EAAazb,EAAKI,OAAQkY,EAAI9I,MAASxP,EAAK+a,UAAWzC,EAAI9I,MAASiM,EAGpEC,EAAaD,EAAWrO,QAASrX,KAAKkiB,YAGjCyD,EAAa,KACjBG,EAAUJ,EAAW9V,MAAO+V,GAC5BD,EAAaA,EAAW9V,MAAO,EAAG+V,IAInC7kB,EAAOmJ,EAAKK,gBAAiBob,EAAYD,GAIzCpF,EAASrgB,KAAKsiB,SAAUxhB,GAAOuf,OAG1BhW,IAECJ,EAAKI,OAAQwb,IAAiF,IAA9DA,EAAcvO,QAAQ,IAAK,IAAID,QAASrX,KAAKkiB,eACjF2D,EAAgB,IAKZC,GAAwD,KAA7CD,EAAcxO,QAASrX,KAAKkiB,cAC3C2D,GAAiBC,GAIoB,KAAjCD,EAAcxO,QAAS,MAAkC,KAAlBwO,IAC3CA,EAAgB,IAAMA,GAIvB/kB,EAAOmJ,EAAKqY,SAAUxhB,GACtBA,EAAOA,EAAKwd,SAAWxd,EAAK0hB,YAAc1hB,EAAKyd,KAAOzd,EAAK0d,SAAW6B,EACrEwF,GAED/kB,GAAQA,EAAKuW,QAAS,KAAQ,GAAKyO,EAAU,IAAMA,EAG7ChlB,GAGRilB,kBAAmB,SAAUtM,GAC5B,MAA8D,KAAvDA,EAAKnC,QAAS,IAAK,IAAKD,QAASrX,KAAKkiB,aAI9C8D,eAAgB,SAAUvM,GACzB,GAAIwM,GAAuC,MAA3BxM,EAAKgJ,UAAW,EAAG,EAInC,OAHKwD,KACJxM,EAAOA,EAAKgJ,UAAW,KAEfwD,EAAU,IAAM,IAAOxM,EAAKnC,QAAS,sCAAuC,SAKtF4O,YAAa,SAAUjc,GACtB,MAAOA,IAAQA,EAAKuG,MAAOb,GAAgB,IAK5CwW,eAAgB,SAAUtc,GAEzB,GAAI2a,GAAIva,EAAKqY,SAAUrY,EAAKK,gBAAiBT,EAAK7J,KAAKkK,eAGtDkc,EAAW5B,EAAEra,aAAenK,KAAK4iB,YAAYzY,YAC1CnK,KAAKulB,qBACNf,EAAEra,aAAenK,KAAKkK,aAAaC,WAGrCkc,EAAKxmB,EAAEC,OAAOwmB,UAGdC,EAAOF,GAAMA,EAAG,GAAKA,EAAG,GAAGviB,GAAK3D,CAKjC,OAAOimB,MACH5B,EAAE/K,MACO,MAAX+K,EAAE/K,MACA8M,GAAQ/B,EAAE/K,KAAKnC,QAAS,KAAM,MAASiP,IAU5CC,8BAA+B,SAAUZ,EAAQa,GAChD,MAAO5mB,GAAEC,OAAO4P,wBACM,UAApBkW,EAAOtH,UAA4C,aAApBsH,EAAOtH,WACP,KAAhCmI,EAAOpG,OAAQ,cAIlBpW,EAAK2Y,YAAc3Y,EAAK4Y,gBAExBZ,EAAQpiB,EAAG,QAAS2N,KAAM,QAE1BvD,EAAKC,aAAe+X,EAAMzgB,OACzByI,EAAKqY,SAAUrY,EAAKK,gBAAiB2X,EAAM1d,KAAM,QAAU0F,EAAK2Y,YAAY9hB,OAC5EmJ,EAAK2Y,YAEN3Y,EAAKsb,oBAAuBtb,EAAK2Y,YAAYzY,aAAeF,EAAKC,aAAaC,WAG9EF,EAAKyc,gBAAkB,SAAU/D,GAChC,MAAOA,GAAiB9iB,EAAE+B,UAAYqI,EAAKC,cAAiBD,EAAKC,aAAapJ,MAI/EjB,EAAE+B,OAAQ/B,EAAEC,QAGX4iB,eAAgBzY,EAAKyY,eAGrBgE,gBAAiBzc,EAAKyc,mBAErB3mB,GAIJ,SAAWF,EAAGM,GACbN,EAAEC,OAAO6mB,QAAU,SAAUC,EAAO/d,GACnC7I,KAAK4mB,MAAQA,MACb5mB,KAAK6mB,YAAche,GAAS,GAG7BhJ,EAAE+B,OAAO/B,EAAEC,OAAO6mB,QAAQxf,WACzB2f,UAAW,WACV,MAAO9mB,MAAK4mB,MAAO5mB,KAAK6mB,cAGzBE,QAAS,WACR,MAAO/mB,MAAK4mB,MAAO5mB,KAAKgnB,gBAGzBC,QAAS,WACR,MAAOjnB,MAAK4mB,MAAO5mB,KAAK6mB,YAAc,IAGvCK,QAAS,WACR,MAAOlnB,MAAK4mB,MAAO5mB,KAAK6mB,YAAc,IAIvCrhB,IAAK,SAAUqE,EAAK5F,GACnBA,EAAOA,MAGFjE,KAAKinB,WACTjnB,KAAKmnB,eAKDljB,EAAKwV,MAAqC,KAA7BxV,EAAKwV,KAAKpC,QAAS,OACpCpT,EAAKwV,KAAO,IAAMxV,EAAKwV,MAGxBxV,EAAK4F,IAAMA,EACX7J,KAAK4mB,MAAMvf,KAAMpD,GACjBjE,KAAK6mB,YAAc7mB,KAAK4mB,MAAMplB,OAAS,GAIxC2lB,aAAc,WACbnnB,KAAK4mB,MAAQ5mB,KAAK4mB,MAAMhX,MAAO,EAAG5P,KAAK6mB,YAAc,IAGtDrZ,KAAM,SAAU3D,EAAK+c,EAAOQ,GAC3BR,EAAQA,GAAS5mB,KAAK4mB,KAEtB,IAAIS,GAAOjjB,EAA0ByE,EAAvBrH,EAASolB,EAAMplB,MAE7B,KAAM4C,EAAI,EAAO5C,EAAJ4C,EAAYA,IAGxB,GAFAijB,EAAQT,EAAMxiB,IAET0gB,mBAAmBjb,KAASib,mBAAmBuC,EAAMxd,MACzDib,mBAAmBjb,KAASib,mBAAmBuC,EAAM5N,SACrD5Q,EAAQzE,EAEHgjB,GACJ,MAAOve,EAKV,OAAOA,IAGRiB,QAAS,SAAUD,GAClB,GAAIC,GAASmW,EAAIjgB,KAAK6mB,WAqBtB,OAdA/c,GAAU9J,KAAKwN,KAAM3D,EAAK7J,KAAK4mB,MAAMhX,MAAM,EAAGqQ,IASzCnW,IAAY3J,IAChB2J,EAAU9J,KAAKwN,KAAM3D,EAAK7J,KAAK4mB,MAAMhX,MAAMqQ,IAAI,GAC/CnW,EAAUA,IAAY3J,EAAY2J,EAAUA,EAAUmW,GAGhDnW,GAGRwd,OAAQ,SAAUC,GACjB,GAAIC,GAAiBxnB,KAAK8J,QAASyd,EAAK1d,KAAOoW,EAAIjgB,KAAK6mB,WAInDW,KAAmBrnB,IACvBH,KAAK6mB,YAAcW,EACnBxnB,KAAKgnB,cAAgB/G,GAMAA,EAAjBuH,GACFD,EAAKE,SAAWF,EAAKG,MAAQ7nB,EAAEuT,MAAQpT,KAAK8mB,YAAa,QAChDU,EAAiBvH,GAC1BsH,EAAKE,SAAWF,EAAKI,SAAW9nB,EAAEuT,MAAQpT,KAAK8mB,YAAa,WACnDU,IAAmBrnB,GAAaonB,EAAKK,SAChDL,EAAKK,QAAS5nB,KAAK8mB,iBAInB/mB,GAIJ,SAAWF,GACV,GAAIoK,GAAOpK,EAAEC,OAAOmK,KACnB4d,EAAc/O,SAAShY,IAExBjB,GAAEC,OAAOgoB,UAAY,SAAU1H,GAC9BpgB,KAAKogB,QAAUA,EACfpgB,KAAK+nB,yBAA0B,EAE/BloB,EAAEC,OAAOI,OAAOkG,MACf4hB,mBAAoBnoB,EAAEwY,MAAOrY,KAAK0hB,SAAU1hB,MAC5CioB,qBAAsBpoB,EAAEwY,MAAOrY,KAAK+hB,WAAY/hB,SAIlDH,EAAE+B,OAAO/B,EAAEC,OAAOgoB,UAAU3gB,WAC3Bqe,OAAQ,SAAU3b,EAAK5F,GACtB,GAAI4d,GAAO/gB,EAAM2Y,EAAOxP,EAAKI,OAAOR,GAAOI,EAAK+a,UAAUnb,GAAOA,CAuBjE,OArBA/I,GAAOmJ,EAAKub,OAAQ3b,GAIpBgY,EAAQhiB,EAAE+B,QACT6X,KAAMA,EACN5P,IAAK/I,GACHmD,GAYH/D,EAAOkgB,QAAQ8H,aAAcrG,EAAOA,EAAMhH,OAAS5a,EAAS4a,MAAO/Z,GAE5D+gB,GAGRpI,KAAM,SAAU5P,EAAK/I,GACpB,GAAIqnB,GAAQC,EAAK3O,EAAM4O,CAqBvB,OAhBAF,GAASle,EAAKqY,SAAUzY,GACxBue,EAAMne,EAAK4Y,gBAENuF,EAAI5J,SAAW4J,EAAI/H,SAAW8H,EAAO3J,SAAW2J,EAAO9H,OAI3D5G,EAAO0O,EAAO1O,KAAO0O,EAAO1O,KAAO0O,EAAO3J,SAAW2J,EAAO9H,OACjDpW,EAAKI,OAAOR,IACvBwe,EAAWpe,EAAKqY,SAAUxhB,GAE1B2Y,EAAO4O,EAAS7J,SAAW6J,EAAShI,QAAUpW,EAAK8b,kBAAmBsC,EAAS5O,MAAQ4O,EAAS5O,KAAKnC,QAAS,IAAK,IAAO,KAE1HmC,EAAO5P,EAGD4P,GAIR6O,GAAI,SAAUze,EAAK5F,EAAMskB,GACxB,GAAI1G,GAAO/gB,EAAM2Y,EAAM+O,EACtBC,EAAkB5oB,EAAEwG,MAAM+C,QAAQiY,SAASG,oBAG5C1gB;EAAOmJ,EAAKub,OAAQ3b,GAGpB4P,EAAOzZ,KAAKyZ,KAAM5P,EAAK/I,GAMlBynB,GAAY9O,IAASxP,EAAK+a,UAAU/a,EAAK4Y,gBAAgBpJ,QAC7DzZ,KAAK0oB,sBAAwBH,GAa9BvoB,KAAK2oB,2BAA4B,EACjCzoB,EAAO4Y,SAASW,KAAOA,EAQvBzZ,KAAK2oB,2BAA4B,EAEjC9G,EAAQhiB,EAAE+B,QACTiI,IAAK/I,EACL2Y,KAAMA,EACNoB,MAAO5a,EAAS4a,OACd5W,GAEEwkB,IACJD,EAAgB,GAAI3oB,GAAEwV,MAAO,YAC7BmT,EAAclT,eACbnQ,KAAM,WACN0c,MAAO,MAGR7hB,KAAKwlB,OAAQ3b,EAAKgY,GAIZ0G,IACLvoB,KAAK4oB,gBAAiB,EACtB/oB,EAAEC,OAAOI,OAAOsJ,QAASgf,KAO3BxoB,KAAKogB,QAAQ5a,IAAKqc,EAAMhY,IAAKgY,IAU9BH,SAAU,SAAUrb,GACnB,GAAIoT,GAAMoI,CAIV,IAAMhiB,EAAEwG,MAAM+C,QAAQiY,SAASG,qBAM/B,MAAKxhB,MAAK2oB,2BACT3oB,KAAK2oB,2BAA4B,MACjCtiB,GAAMwiB,4BAMF7oB,KAAK4oB,oBACT5oB,KAAK4oB,gBAAiB,IASjBviB,EAAMiP,cAAcuM,OACK,IAA9B7hB,KAAKogB,QAAQwG,MAAMplB,QACnBxB,KAAK+nB,0BACL/nB,KAAK+nB,yBAA0B,EAE1BjP,SAAShY,OAAS+mB,OACtBxhB,GAAMC,kBAWRmT,EAAOxP,EAAK4Y,gBAAgBpJ,MACtBpT,EAAMiP,cAAcuM,OAASpI,GAGlCoI,EAAQ7hB,KAAKwlB,OAAQ/L,GAIrBzZ,KAAKogB,QAAQ5a,IAAKqc,EAAMhY,IAAKgY,QAI7Bxb,EAAMyb,aAAeD,QAStB7hB,MAAKogB,QAAQkH,QACZzd,KAAMxD,EAAMiP,cAAcuM,WAAahY,KAAO4P,EAI9CgO,QAAS,SAAUqB,EAAcC,GAEhC1iB,EAAMyb,aAAejiB,EAAE+B,UAAWknB,GAClCziB,EAAMyb,aAAaiH,UAAYA,OAUlChH,WAAY,SAAU1b,GACrB,GAAI+Z,GAAS3G,CAIb,IAAK5Z,EAAEwG,MAAM+C,QAAQiY,SAASI,wBAC7B5hB,EAAEwG,MAAM+C,QAAQiY,SAASG,qBAD1B,CAOA,GAAKxhB,KAAK0oB,sBAGT,MAFA1oB,MAAK0oB,uBAAwB,MAC7BriB,GAAMwiB,0BAIPzI,GAAUpgB,KAAKogB,QACf3G,EAAOxP,EAAK4Y,gBAAgBpJ,KAI5BzZ,KAAKogB,QAAQkH,QACZzd,IAAK4P,EAILgO,QAAS,SAAUqB,EAAcC,GAEhC1iB,EAAM2b,gBAAkBniB,EAAE+B,UAAWknB,GACrCziB,EAAM2b,gBAAgB+G,UAAYA,GAWnCnB,QAAS,WACRxH,EAAQ5a,IAAKiU,GACZA,KAAMA,EACNoB,MAAO5a,EAAS4a,gBAMlB9a,GAIJ,SAAWF,GAIVA,EAAEC,OAAOuhB,SAAW,SAAUxX,EAAK5F,EAAMskB,GACxC1oB,EAAEC,OAAOuhB,SAASvb,UAAUwiB,GAAIze,EAAK5F,EAAMskB,IAK5C1oB,EAAEC,OAAOuhB,SAASjB,QAAU,GAAIvgB,GAAEC,OAAO6mB,QAGzC9mB,EAAEC,OAAOuhB,SAASvb,UAAY,GAAIjG,GAAEC,OAAOgoB,UAAWjoB,EAAEC,OAAOuhB,SAASjB,QAExE,IAAIgI,GAAMvoB,EAAEC,OAAOmK,KAAK4Y,eACxBhjB,GAAEC,OAAOuhB,SAASjB,QAAQ5a,IAAK4iB,EAAItnB,MAAO2Y,KAAM2O,EAAI3O,QACjD1Z,GAGJ,SAAWF,EAAGM,GACb,GAAIyc,IACFoM,aACAC,eAEDC,EAAcjpB,EAASiG,cAAe,KACtCijB,GAAmB,GAAI,UAAW,OAAQ,KAE3CtpB,GAAEsD,MAAQ,YAAa,cAAgB,SAAUiB,EAAGpD,GAGnD,GAAIooB,GAAmB,IAANhlB,EAAYpD,EAAO,QAAeA,CAEnDnB,GAAEsD,KAAMgmB,EAAgB,SAAUE,EAAGC,GACpC,MAAKJ,GAAYpW,MAAOjT,EAAE+F,UAAW0jB,EAASF,MAAiBjpB,GAC7Dyc,EAAO5b,GAAiB,OAAIsoB,GACtB,GAFR,SAOD1M,EAAO5b,GAAmB,SACzBnB,EAAE+F,UAAWgX,EAAO5b,GAAiB,OAAIA,EAAO,aACjD4b,EAAO5b,GAAgB,MACtBnB,EAAE+F,UAAWgX,EAAO5b,GAAiB,OAAIA,EAAO,QAGd,KAA9B4b,EAAO5b,GAAiB,SAC5B4b,EAAO5b,GAAgB,MAAI4b,EAAO5b,GAAgB,MAAEL,iBAKtDd,EAAEmG,QAAQujB,eAAmB3M,EAAoB,WAAY,SAAMzc,EACnEN,EAAEmG,QAAQwjB,cAAkB5M,EAAmB,UAAY,SAAMzc,EAGjEN,EAAGqpB,GAAc7a,SAGjBxO,EAAEkD,GAAG0mB,kBAAoB,SAAUrU,EAAUjQ,EAAMukB,GAClD,GAAIC,GAAO5T,EACV5I,EAAOnN,KACP4pB,EAAe,WAGd1P,aAAcyP,GACdvU,EAAS7R,MAAOvD,KAAMwD,YAEvBqmB,EAAmB1kB,GAAiB,cAATA,EAAuC,aAAd,WAGrD,OAAOtF,GAAEmG,QAAQujB,gBAAoC,eAAlBM,GAChChqB,EAAEmG,QAAQwjB,eAAmC,cAAlBK,GAGxBH,IAAiBvpB,IAGhBN,EAAGG,MAAOkX,UAAYjX,IAI1B8V,EAEI,IAFO7Q,WACVrF,EAAGG,MAAOuB,IAAKqb,EAAOiN,GAAgB9T,aAKtB,IAAbA,GAAkBA,IAAa5V,GAAamE,MAAOyR,MACvDA,EAAWlW,EAAEkD,GAAG0mB,kBAAkBK,kBAKpCH,EAAQtmB,WAAY,WACnBxD,EAAGsN,GAAOiU,IAAKxE,EAAOiN,GAAgBxjB,MAAOujB,GAC7CxU,EAAS7R,MAAO4J,IACd4I,GAGIlW,EAAGG,MAAOwa,IAAKoC,EAAOiN,GAAgBxjB,MAAOujB,KAKpDvmB,WAAYxD,EAAEwY,MAAOjD,EAAUpV,MAAQ,GAChCH,EAAGG,QAKZH,EAAEkD,GAAG0mB,kBAAkBK,gBAAkB,KACtC/pB,GAiBJ,SAAWF,EAAGK,EAAQD,EAAUE,GA4BhC,QAAS4pB,GAAgB1jB,GAExB,KAAQA,GAAwC,mBAAxBA,GAAMiP,eAC7BjP,EAAQA,EAAMiP,aAEf,OAAOjP,GAGR,QAAS2jB,GAAoB3jB,EAAO4jB,GAEnC,GACCC,GAAItN,EAAOuN,EAAItZ,EAAMuZ,EAAI/N,EAAOjY,EAAGilB,EAAGgB,EADnC1M,EAAItX,EAAMlB,IAkBd,IAfAkB,EAAQxG,EAAEwV,MAAOhP,GACjBA,EAAMlB,KAAO8kB,EAEbC,EAAK7jB,EAAMiP,cACXsH,EAAQ/c,EAAEwG,MAAMuW,MAIXe,EAAE0C,OAAQ,kBAAqB,KACnCzD,EAAQ0N,GAMJJ,EACJ,IAAM9lB,EAAIwY,EAAMpb,OAAQqP,EAAMzM,GAC7ByM,EAAO+L,IAASxY,GAChBiC,EAAOwK,GAASqZ,EAAIrZ,EAUtB,IAJK8M,EAAE0C,OAAO,wBAA0B,KAAOha,EAAMkkB,QACpDlkB,EAAMkkB,MAAQ,GAGa,KAAvB5M,EAAE0C,OAAO,YACb8J,EAAKJ,EAAgBG,GACrBvM,EAAIwM,EAAGK,QACPJ,EAAKD,EAAGM,eACRpO,EAAUsB,GAAKA,EAAEnc,OAAWmc,EAAE,GAASyM,GAAMA,EAAG5oB,OAAW4oB,EAAI,GAAMjqB,GAGpE,IAAMkpB,EAAI,EAAGgB,EAAMK,EAAgBlpB,OAAY6oB,EAAJhB,EAASA,IACnDxY,EAAO6Z,EAAiBrB,GACxBhjB,EAAOwK,GAASwL,EAAOxL,EAK1B,OAAOxK,GAGR,QAASskB,GAAwBtqB,GAKhC,IAHA,GACCuqB,GAAGC,EADAC,KAGIzqB,GAAU,CAEjBuqB,EAAI/qB,EAAEoE,KAAM5D,EAAS0qB,EAErB,KAAOF,IAAKD,GACNA,EAAGC,KACPC,EAAOD,GAAMC,EAAME,mBAAoB,EAGzC3qB,GAAUA,EAAQO,WAEnB,MAAOkqB,GAGR,QAASG,GAAqC5qB,EAAS4pB,GAEtD,IADA,GAAIW,GACIvqB,GAAU,CAIjB,GAFAuqB,EAAI/qB,EAAEoE,KAAM5D,EAAS0qB,GAEhBH,KAAQX,GAAaW,EAAGX,IAC5B,MAAO5pB,EAERA,GAAUA,EAAQO,WAEnB,MAAO,MAGR,QAASsqB,KACRC,GAAqB,EAGtB,QAASC,KACRD,GAAqB,EAGtB,QAASE,KACRC,EAAc,EACdC,EAAe/pB,OAAS,EACxBgqB,GAAqB,EAIrBJ,IAGD,QAASK,KAGRP,IAGD,QAASQ,KACRC,IACAC,EAAevoB,WAAY,WAC1BuoB,EAAe,EACfP,KACExrB,EAAEgsB,OAAOC,oBAGb,QAASH,KACHC,IACJ1R,aAAc0R,GACdA,EAAe,GAIjB,QAASG,GAAqB9B,EAAW5jB,EAAOykB,GAC/C,GAAIkB,EAUJ,QAROlB,GAASA,EAAOb,KACjBa,GAASG,EAAqC5kB,EAAMmL,OAAQyY,MAEjE+B,EAAKhC,EAAoB3jB,EAAO4jB,GAEhCpqB,EAAGwG,EAAMmL,QAAQhI,QAASwiB,IAGpBA,EAGR,QAASC,GAAoB5lB,GAC5B,GACC2lB,GADGE,EAAUrsB,EAAEoE,KAAMoC,EAAMmL,OAAQ2a,EAG9BX,IAAyBF,GAAeA,IAAgBY,IAC7DF,EAAKD,EAAqB,IAAM1lB,EAAMlB,KAAMkB,GACvC2lB,IACCA,EAAGzW,sBACPlP,EAAMC,iBAEF0lB,EAAGI,wBACP/lB,EAAMgmB,kBAEFL,EAAGM,iCACPjmB,EAAMwiB,6BAMV,QAAS0D,GAAkBlmB,GAE1B,GACCmL,GAAQsZ,EAAOnN,EADZ6M,EAAUT,EAAgB1jB,GAAQmkB,OAGjCA,IAA8B,IAAnBA,EAAQhpB,SAEvBgQ,EAASnL,EAAMmL,OACfsZ,EAAQH,EAAwBnZ,GAE3BsZ,EAAME,oBAEVM,EAAckB,IACd3sB,EAAEoE,KAAMuN,EAAQ2a,EAAyBb,GAEzCK,IAEAF,IACAgB,GAAY,EAEZ9O,EAAIoM,EAAgB1jB,GAAQmkB,QAAS,GACrCkC,EAAS/O,EAAEgP,MACXC,EAASjP,EAAEkP,MAEXd,EAAqB,aAAc1lB,EAAOykB,GAC1CiB,EAAqB,aAAc1lB,EAAOykB,KAK7C,QAASgC,GAAczmB,GACjB8kB,IAICsB,GACLV,EAAqB,eAAgB1lB,EAAOskB,EAAwBtkB,EAAMmL,SAG3Eib,GAAY,EACZf,KAGD,QAASqB,GAAiB1mB,GACzB,IAAK8kB,EAAL,CAIA,GAAIxN,GAAIoM,EAAgB1jB,GAAQmkB,QAAS,GACxCwC,EAAYP,EACZQ,EAAgBptB,EAAEgsB,OAAOqB,sBACzBpC,EAAQH,EAAwBtkB,EAAMmL,OAEtCib,GAAYA,GACT3jB,KAAKqkB,IAAKxP,EAAEgP,MAAQD,GAAWO,GAChCnkB,KAAKqkB,IAAKxP,EAAEkP,MAAQD,GAAWK,EAE7BR,IAAcO,GAClBjB,EAAqB,eAAgB1lB,EAAOykB,GAG7CiB,EAAqB,aAAc1lB,EAAOykB,GAC1CY,KAGD,QAAS0B,GAAgB/mB,GACxB,IAAK8kB,EAAL,CAIAC,GAEA,IACCY,GAAIrO,EADDmN,EAAQH,EAAwBtkB,EAAMmL,OAE1Cua,GAAqB,WAAY1lB,EAAOykB,GAElC2B,IACLT,EAAKD,EAAqB,SAAU1lB,EAAOykB,GACtCkB,GAAMA,EAAGzW,uBAKboI,EAAIoM,EAAgB1jB,GAAQokB,eAAgB,GAC5Cc,EAAelkB,MACd6kB,QAASZ,EACT7hB,EAAGkU,EAAE0P,QACL3jB,EAAGiU,EAAE2P,UAKN9B,GAAqB,IAGvBO,EAAqB,YAAa1lB,EAAOykB,GACzC2B,GAAY,EAEZf,KAGD,QAAS6B,GAAoB3jB,GAC5B,GACCihB,GADGnY,EAAW7S,EAAEoE,KAAM2F,EAAKmhB,EAG5B,IAAKrY,EACJ,IAAMmY,IAAKnY,GACV,GAAKA,EAAUmY,GACd,OAAO,CAIV,QAAO,EAGR,QAAS2C,MAET,QAASC,GAAuBxD,GAC/B,GAAIyD,GAAWzD,EAAUtN,OAAQ,EAEjC,QACCvD,MAAO,WAIAmU,EAAoBvtB,OACzBH,EAAEoE,KAAMjE,KAAM+qB,KAKf,IAAIrY,GAAW7S,EAAEoE,KAAMjE,KAAM+qB,EAC7BrY,GAAUuX,IAAc,EAKxB0D,EAAmB1D,IAAgB0D,EAAmB1D,IAAe,GAAM,EAEnC,IAAnC0D,EAAmB1D,IACvB2D,EAAUxnB,KAAMsnB,EAAUzB,GAO3BpsB,EAAGG,MAAOoG,KAAMsnB,EAAUF,GAGrBK,IAIJF,EAAgC,YAAMA,EAAgC,YAAK,GAAK,EAErC,IAAtCA,EAAgC,YACpCC,EAAUxnB,KAAM,aAAcmmB,GAC5BnmB,KAAM,WAAYgnB,GAYlBhnB,KAAM,YAAa2mB,GACnB3mB,KAAM,SAAU0mB,KAKrBxT,SAAU,aAIPqU,EAAmB1D,GAEf0D,EAAmB1D,IACxB2D,EAAUpnB,OAAQknB,EAAUzB,GAGxB4B,MAIFF,EAAgC,WAE5BA,EAAgC,YACrCC,EAAUpnB,OAAQ,aAAc+lB,GAC9B/lB,OAAQ,YAAaumB,GACrBvmB,OAAQ,WAAY4mB,GACpB5mB,OAAQ,SAAUsmB,GAItB,IAAIgB,GAAQjuB,EAAGG,MACd0S,EAAW7S,EAAEoE,KAAMjE,KAAM+qB,EAOrBrY,KACJA,EAAUuX,IAAc,GAKzB6D,EAAMtnB,OAAQknB,EAAUF,GAKlBD,EAAoBvtB,OACzB8tB,EAAMpoB,WAAYqlB,KA1ZtB,GAiBkBgD,GACjB3pB,EAlBG2mB,EAAmB,uBACtBoB,EAA0B,iBAC1B6B,EAAoB,0EAA0Exd,MAAO,KACrGka,EAAkB,8CAA8Cla,MAAO,KACvEyd,EAAiBpuB,EAAEwG,MAAM6nB,WAAaruB,EAAEwG,MAAM6nB,WAAWtR,SACzD0N,EAAkBzqB,EAAEwG,MAAMuW,MAAMjU,OAAQslB,GACxCN,KACA/B,EAAe,EACfc,EAAS,EACTE,EAAS,EACTH,GAAY,EACZlB,KACAC,GAAqB,EACrBL,GAAqB,EACrB0C,EAAwB,oBAAsB5tB,GAC9C2tB,EAAY/tB,EAAGI,GACfusB,EAAc,EACdlB,EAAc,CAiZf,KA9YAzrB,EAAEgsB,QACDqB,sBAAuB,GACvBiB,uBAAwB,GACxBrC,mBAAoB,MA2Yf1nB,EAAI,EAAGA,EAAI4pB,EAAkBxsB,OAAQ4C,IAC1CvE,EAAEwG,MAAM+C,QAAS4kB,EAAmB5pB,IAAQqpB,EAAuBO,EAAmB5pB,GAMlFypB,IACJ5tB,EAASma,iBAAkB,QAAS,SAAUlP,GAC7C,GAECzB,GAAGC,EAAGE,EAAKxF,EAAGgqB,EAAGlC,EAFdmC,EAAM9C,EAAe/pB,OACxBgQ,EAAStG,EAAEsG,MAGZ,IAAK6c,EAkCJ,IAjCA5kB,EAAIyB,EAAEmiB,QACN3jB,EAAIwB,EAAEoiB,QACNS,EAAYluB,EAAEgsB,OAAOsC,uBA6BrBvkB,EAAM4H,EAEE5H,GAAM,CACb,IAAMxF,EAAI,EAAOiqB,EAAJjqB,EAASA,IAIrB,GAHAgqB,EAAI7C,EAAgBnnB,GACpB8nB,EAAU,EAEHtiB,IAAQ4H,GAAU1I,KAAKqkB,IAAKiB,EAAE3kB,EAAIA,GAAMskB,GAAajlB,KAAKqkB,IAAKiB,EAAE1kB,EAAIA,GAAMqkB,GAC/EluB,EAAEoE,KAAM2F,EAAKuiB,KAA8BiC,EAAElC,QAK/C,MAFAhhB,GAAE5E,qBACF4E,GAAEmhB,iBAIJziB,GAAMA,EAAIhJ,cAGV,IAEAb,EAAQG,EAAQD,GAGpB,SAAWJ,EAAGK,EAAQC,GAwBrB,QAASmuB,GAAoBC,EAAKtE,EAAW5jB,EAAOmoB,GACnD,GAAIC,GAAepoB,EAAMlB,IACzBkB,GAAMlB,KAAO8kB,EACRuE,EACJ3uB,EAAEwG,MAAMmD,QAASnD,EAAOlG,EAAWouB,GAEnC1uB,EAAEwG,MAAMqoB,SAASprB,KAAMirB,EAAKloB,GAE7BA,EAAMlB,KAAOspB,EA/Bd,GAAIb,GAAY/tB,EAAGI,GAClB0uB,EAAe9uB,EAAEC,OAAOkG,QAAQqW,MAChCuS,EAAc,mBACdC,EAAkBF,EAAe,aAAe,YAChDG,EAAiBH,EAAe,WAAa,UAC7CI,EAAiBJ,EAAe,YAAc,WAG/C9uB,GAAEsD,KAAM,8FAGoBqN,MAAO,KAAO,SAAUpM,EAAGvD,GAEtDhB,EAAEkD,GAAIlC,GAAS,SAAUkC,GACxB,MAAOA,GAAK/C,KAAKoG,KAAMvF,EAAMkC,GAAO/C,KAAKwJ,QAAS3I,IAI9ChB,EAAEmvB,SACNnvB,EAAEmvB,OAAQnuB,IAAS,KAgBrBhB,EAAEwG,MAAM+C,QAAQC,aAEfC,SAAS,EACT8P,MAAO,WAON,QAAS5P,GAASnD,EAAOwb,GACxBoN,EAAYpN,EACZyM,EAAoBY,EAAYD,EAAY,cAAgB,aAAc5oB,GAP3E,GAEC4oB,GACAtF,EAHGuF,EAAalvB,KAChB8tB,EAAQjuB,EAAGqvB,EAUZpB,GAAM1nB,KAAMwoB,EAAa,SAAUvoB,GAE5BxG,EAAEwG,MAAM+C,QAAQC,YAAYC,UAI5B2lB,GACLzlB,EAASnD,GAAO,GAGjB6T,aAAcyP,GACdA,EAAQtmB,WAAY,WACnBmG,EAASnD,GAAO,IACd,QAGLiT,SAAU,WACTzZ,EAAGG,MAAOwG,OAAQooB,KAKpB/uB,EAAEwG,MAAM+C,QAAQ+lB,KACfC,iBAAkB,IAClBC,kBAAkB,EAClBjW,MAAO,WACN,GAAI8V,GAAalvB,KAChB8tB,EAAQjuB,EAAGqvB,GACXI,GAAY,CAEbxB,GAAM1nB,KAAM,aAAc,SAAUC,GASnC,QAASkpB,KACRrV,aAAcyP,GAGf,QAAS6F,KACRD,IAEAzB,EAAMtnB,OAAQ,SAAUipB,GACtBjpB,OAAQ,WAAY+oB,GACtB3B,EAAUpnB,OAAQ,eAAgBgpB,GAGnC,QAASC,GAAcppB,GACtBmpB,IAIMF,GAAaI,IAAerpB,EAAMmL,OAE5B8d,GACXjpB,EAAMC,iBAFNgoB,EAAoBY,EAAY,MAAO7oB,GAzBzC,GADAipB,GAAY,EACPjpB,EAAMkkB,OAAyB,IAAhBlkB,EAAMkkB,MACzB,OAAO,CAGR,IACCZ,GADG+F,EAAarpB,EAAMmL,MA2BvBsc,GAAM1nB,KAAM,WAAYmpB,GACtBnpB,KAAM,SAAUqpB,GAClB7B,EAAUxnB,KAAM,eAAgBopB,GAEhC7F,EAAQtmB,WAAY,WACbxD,EAAEwG,MAAM+C,QAAQ+lB,IAAIE,mBACzBC,GAAY,GAEbhB,EAAoBY,EAAY,UAAWrvB,EAAEwV,MAAO,WAAa7D,OAAQke,MACvE7vB,EAAEwG,MAAM+C,QAAQ+lB,IAAIC,qBAGzB9V,SAAU,WACTzZ,EAAGG,MAAOwG,OAAQ,cAAeA,OAAQ,UAAWA,OAAQ,YAC5DonB,EAAUpnB,OAAQ,kBAKpB3G,EAAEwG,MAAM+C,QAAQumB,OAGfC,0BAA2B,GAG3BC,kBAAmB,IAGnBC,4BAA6B,GAG7BC,0BAA2B,GAE3B3N,YAAa,SAAW/b,GACvB,GAAI2pB,GAAW9vB,EAAO+vB,YACrBC,EAAWhwB,EAAOiwB,YAClB1mB,EAAIpD,EAAMgnB,QACV3jB,EAAIrD,EAAMinB,OAkBX,OAhBqB,KAAhBjnB,EAAMwmB,OAAe/jB,KAAKsnB,MAAO1mB,GAAMZ,KAAKsnB,MAAO/pB,EAAMwmB,QAC7C,IAAhBxmB,EAAMsmB,OAAe7jB,KAAKsnB,MAAO3mB,GAAMX,KAAKsnB,MAAO/pB,EAAMsmB,QAIzDljB,GAAQumB,EACRtmB,GAAQwmB,IACGxmB,EAAMrD,EAAMwmB,MAAQqD,GAAazmB,EAAMpD,EAAMsmB,MAAQqD,KAKhEvmB,EAAIpD,EAAMsmB,MAAQqD,EAClBtmB,EAAIrD,EAAMwmB,MAAQqD,IAIlBzmB,EAAGA,EACHC,EAAGA,IAIL2P,MAAO,SAAUhT,GAChB,GAAIpC,GAAOoC,EAAMiP,cAAckV,QAC7BnkB,EAAMiP,cAAckV,QAAS,GAAMnkB,EACpCyS,EAAWjZ,EAAEwG,MAAM+C,QAAQumB,MAAMvN,YAAane,EAC/C,QACGosB,MAAM,GAAMC,OAASC,UACrBC,QAAU1X,EAASrP,EAAGqP,EAASpP,GAC/B+mB,OAAQ5wB,EAAGwG,EAAMmL,UAIrB+H,KAAM,SAAUlT,GACf,GAAIpC,GAAOoC,EAAMiP,cAAckV,QAC7BnkB,EAAMiP,cAAckV,QAAS,GAAMnkB,EACpCyS,EAAWjZ,EAAEwG,MAAM+C,QAAQumB,MAAMvN,YAAane,EAC/C,QACGosB,MAAM,GAAMC,OAASC,UACrBC,QAAU1X,EAASrP,EAAGqP,EAASpP,KAInCgnB,YAAa,SAAUrX,EAAOE,EAAM2V,EAAYQ,GAC/C,GAAKnW,EAAK8W,KAAOhX,EAAMgX,KAAOxwB,EAAEwG,MAAM+C,QAAQumB,MAAME,mBACnD/mB,KAAKqkB,IAAK9T,EAAMmX,OAAQ,GAAMjX,EAAKiX,OAAQ,IAAQ3wB,EAAEwG,MAAM+C,QAAQumB,MAAMG,6BACzEhnB,KAAKqkB,IAAK9T,EAAMmX,OAAQ,GAAMjX,EAAKiX,OAAQ,IAAQ3wB,EAAEwG,MAAM+C,QAAQumB,MAAMI,0BAA4B,CACrG,GAAIhH,GAAY1P,EAAMmX,OAAO,GAAKjX,EAAKiX,OAAQ,GAAM,YAAc,YAInE,OAFAlC,GAAoBY,EAAY,QAASrvB,EAAEwV,MAAO,SAAW7D,OAAQke,EAAYiB,WAAYtX,EAAOuX,UAAWrX,KAAS,GACxH+U,EAAoBY,EAAYnG,EAAUlpB,EAAEwV,MAAO0T,GAAavX,OAAQke,EAAYiB,WAAYtX,EAAOuX,UAAWrX,KAAU,IACrH,EAER,OAAO,GAMRsX,iBAAiB,EAEjBzX,MAAO,WACN,GAAI0X,GACH5B,EAAalvB,KACb8tB,EAAQjuB,EAAGqvB,GACXhY,IAGD4Z,GAASjxB,EAAEoE,KAAMjE,KAAM,iBACjB8wB,IACLA,GAAWtvB,OAAQ,GACnB3B,EAAEoE,KAAMjE,KAAM,gBAAiB8wB,IAEhCA,EAAOtvB,SACPsvB,EAAOnB,MAAQzY,EAEfA,EAAQmC,MAAQ,SAAUhT,GAGzB,IAAKxG,EAAEwG,MAAM+C,QAAQumB,MAAMkB,gBAA3B,CAGAhxB,EAAEwG,MAAM+C,QAAQumB,MAAMkB,iBAAkB,CAExC,IAAItX,GACHF,EAAQxZ,EAAEwG,MAAM+C,QAAQumB,MAAMtW,MAAOhT,GACrCqpB,EAAarpB,EAAMmL,OACnBuf,GAAU,CAEX7Z,GAAQ8Z,KAAO,SAAU3qB,GAClBgT,IAAShT,EAAMkP,uBAIrBgE,EAAO1Z,EAAEwG,MAAM+C,QAAQumB,MAAMpW,KAAMlT,GAC7B0qB,IACLA,EAAUlxB,EAAEwG,MAAM+C,QAAQumB,MAAMe,YAAarX,EAAOE,EAAM2V,EAAYQ,GACjEqB,IAGJlxB,EAAEwG,MAAM+C,QAAQumB,MAAMkB,iBAAkB,IAIrC/nB,KAAKqkB,IAAK9T,EAAMmX,OAAQ,GAAMjX,EAAKiX,OAAQ,IAAQ3wB,EAAEwG,MAAM+C,QAAQumB,MAAMC,2BAC7EvpB,EAAMC,mBAIR4Q,EAAQqC,KAAO,WACbwX,GAAU,EAGVlxB,EAAEwG,MAAM+C,QAAQumB,MAAMkB,iBAAkB,EACxCjD,EAAUxM,IAAK2N,EAAgB7X,EAAQ8Z,MACvC9Z,EAAQ8Z,KAAO,MAGjBpD,EAAUzM,GAAI4N,EAAgB7X,EAAQ8Z,MACpCxW,IAAKsU,EAAgB5X,EAAQqC,QAEhCuU,EAAM3M,GAAI0N,EAAiB3X,EAAQmC,QAGpCC,SAAU,WACT,GAAIwX,GAAQ5Z,CAEZ4Z,GAASjxB,EAAEoE,KAAMjE,KAAM,iBAClB8wB,IACJ5Z,EAAU4Z,EAAOnB,YACVmB,GAAOnB,MACdmB,EAAOtvB,SACgB,IAAlBsvB,EAAOtvB,QACX3B,EAAE6F,WAAY1F,KAAM,kBAIjBkX,IACCA,EAAQmC,OACZxZ,EAAGG,MAAOohB,IAAKyN,EAAiB3X,EAAQmC,OAEpCnC,EAAQ8Z,MACZpD,EAAUxM,IAAK2N,EAAgB7X,EAAQ8Z,MAEnC9Z,EAAQqC,MACZqU,EAAUxM,IAAK0N,EAAgB5X,EAAQqC,SAK3C1Z,EAAEsD,MACD8tB,WAAY,cACZC,QAAS,MACTC,UAAW,aACXC,WAAY,eACV,SAAU/qB,EAAOgrB,GAEnBxxB,EAAEwG,MAAM+C,QAAS/C,IAChB+S,MAAO,WACNvZ,EAAGG,MAAOoG,KAAMirB,EAAaxxB,EAAEuT,OAEhCkG,SAAU,WACTzZ,EAAGG,MAAOwG,OAAQ6qB,QAKlBtxB,EAAQC,MAIX,SAAWH,GACVA,EAAEwG,MAAM+C,QAAQkoB,iBACflY,MAAO,WACNvZ,EAAGG,MAAOoG,KAAM,SAAU8N,IAE3BoF,SAAU,WACTzZ,EAAGG,MAAOwG,OAAQ,SAAU0N,IAI9B,IAqBCqd,GACAC,EACAC,EAvBGC,EAAW,IACdxd,EAAU,WACTsd,GAAO,GAAMlB,OAASC,UACtBkB,EAAOD,EAAOG,EAETF,GAAQC,GAEZC,EAAWH,EACX3xB,EAAGG,MAAOwJ,QAAS,qBAId+nB,GACJrX,aAAcqX,GAIfA,EAAWluB,WAAY6Q,EAASwd,EAAWD,KAG7CE,EAAW,GAIT5xB,GAGJ,SAAUF,EAAGK,GAkGb,QAASgU,KAER,GAAIoI,GAAcsV,GAEbtV,KAAgBuV,IAEpBA,EAAmBvV,EACnBwV,EAAItoB,QAASuoB,IAxGf,GAECH,GACAC,EACAG,EACAC,EAEAC,EAAIC,EAAIC,EAPLN,EAAMjyB,EAAGK,GACZ6xB,EAAa,oBAKbM,GAAiBC,GAAK,EAAMC,KAAO,EAoB/B1yB,GAAEmG,QAAQsW,cAWd4V,EAAKhyB,EAAOkF,YAAc0sB,EAAItU,QAC9B2U,EAAKjyB,EAAOmF,aAAeysB,EAAI7lB,SAC/BmmB,EAAsB,GAEtBJ,EAAmCE,EAAKC,GAAQD,EAAKC,EAAOC,EAG5DH,EAAiCI,EAAcnyB,EAAOoc,cAM/C0V,GAAoCC,IAAuCD,IAAqCC,KACtHI,GAAiBG,OAAO,EAAMC,IAAM,KAItC5yB,EAAEwG,MAAM+C,QAAQspB,kBAAoB7yB,EAAE+B,UAAY/B,EAAEwG,MAAM+C,QAAQspB,mBACjEtZ,MAAO,WAGN,MAAKvZ,GAAEmG,QAAQsW,cAAgBzc,EAAEwG,MAAM+C,QAAQspB,kBAAkBzxB,UACzD,GAIR4wB,EAAmBD,QAInBE,GAAI1rB,KAAM,kBAAmB8N,KAE9BoF,SAAU,WAGT,MAAKzZ,GAAEmG,QAAQsW,cAAgBzc,EAAEwG,MAAM+C,QAAQspB,kBAAkBzxB,UACzD,MAKR6wB,GAAItrB,OAAQ,kBAAmB0N,IAEhC1O,IAAK,SAAUmtB,GAEd,GAAIC,GAAcD,EAAUze,OAE5Bye,GAAUze,QAAU,SAAU7N,GAK7B,MAHAA,GAAMiW,YAAcsV,IAGbgB,EAAYrvB,MAAOvD,KAAMwD,eAoBnC3D,EAAEwG,MAAM+C,QAAQspB,kBAAkBpW,YAAcsV,EAAkB,WACjE,GAAIiB,IAAa,EAAMzvB,EAAOnD,EAASqb,eAevC,OALCuX,GAHIhzB,EAAEmG,QAAQsW,YAGD+V,EAAcnyB,EAAOoc,aAErBlZ,GAAQA,EAAK0vB,YAAc1vB,EAAK2vB,aAAe,IAGtDF,EAAa,WAAa,aAGlChzB,EAAEkD,GAAIgvB,GAAe,SAAUhvB,GAC9B,MAAOA,GAAK/C,KAAKoG,KAAM2rB,EAAYhvB,GAAO/C,KAAKwJ,QAASuoB,IAIpDlyB,EAAEmvB,SACNnvB,EAAEmvB,OAAQ+C,IAAe,IAGxBhyB,EAAQC,MAKX,SAAWH,GAGV,GAAImzB,GAAcnzB,EAAG,QAAS0I,SAAU,QAIxCyB,GAIC3J,QAAW2yB,EAAYxxB,OAASwxB,EAC/BnzB,EAAG,UAAYiB,KAAMjB,EAAEC,OAAOmK,KAAKC,aAAaC,aAAeuU,UAAW7e,EAAG,SAE9EozB,aAAc,0EAGdhsB,IAAK,SAAUnG,GAIRjB,EAAEC,OAAOsK,oBAKVvK,EAAEmG,QAAQ2a,gBACd3W,EAAK3J,QAAQkE,KAAM,OAClB1E,EAAEC,OAAOmK,KAAKK,gBAAiBxJ,EAAMjB,EAAEC,OAAOmK,KAAKC,gBAItDgpB,QAAS,SAAUpyB,EAAM8G,GACxB,GAAImd,GAAUllB,EAAEC,OAAOmK,KAAKkI,IAAKrR,EAEjC8G,GAAK4F,KAAMxD,EAAKipB,cAAe9vB,KAAK,SAAUiB,EAAG+Z,GAChD,GAAIgV,GAAWtzB,EAAGse,GAAOiV,GAAI,UAAa,OACzCvzB,EAAGse,GAAOiV,GAAI,SAAY,MAAQ,SACnCC,EAAcxzB,EAAEC,OAAOmK,KAAK4Y,gBAC5ByQ,EAAUzzB,EAAGse,GAAO5Z,KAAM4uB,EAK1BG,GAAUA,EAAQhc,QAAS+b,EAAY/U,SAAW+U,EAAY7Q,YAC7D6Q,EAAY9U,KAAO8U,EAAY7U,SAAU,IAEpC,eAAexd,KAAMsyB,IAC1BzzB,EAAGse,GAAO5Z,KAAM4uB,EAAUpO,EAAUuO,MAMvCC,MAAO,WACNvpB,EAAK3J,QAAQkE,KAAM,OAAQ1E,EAAEC,OAAOmK,KAAKC,aAAa4Y,eAIxDjjB,GAAEC,OAAOkK,KAAOA,GAEbjK,GAGJ,SAAWF,EAAGM,GACdN,EAAEC,OAAO+N,UAET,IAAI2lB,GAAiB3zB,EAAEqQ,OAItBujB,EAA2B5zB,EAAEC,OAAOmN,UAErCpN,GAAEqQ,OAAS,SAAWjN,GACrB,MAAO,YACN,GAAI6K,GAAc7K,EAAKM,MAAOvD,KAAMwD,WACnC3C,EAAOiN,EAAY3G,UAAU4G,UAO9B,OALAD,GAAYL,aAAmBK,EAAY3G,UAAUsG,eAAiBtN,EACrE2N,EAAY3G,UAAUsG,aAAe,kBAAoB5M,EAAO,KAEjEhB,EAAEC,OAAO+N,QAAShN,GAASiN,EAEpBA,IAELjO,EAAEqQ,QAGNrQ,EAAE+B,OAAQ/B,EAAEqQ,OAAQsjB,GAGpB3zB,EAAEC,OAAOG,SAASkhB,GAAI,SAAU,SAAU9a,GACzCxG,EAAGwG,EAAMmL,QAASzE,kBAGnBlN,EAAEqQ,OAAQ,eACTxI,SACCiQ,MAAO,IACP+b,UAAU,EAGVC,kBAAmB9zB,EAAEC,OAAOmN,WAG5B2mB,aAAc,KACdC,UAAU,GAKXnjB,cAAe,WACd7Q,EAAE4Q,OAAOtJ,UAAUuJ,cAAcnN,MAAOvD,KAAMwD,WAC9CxD,KAAKkT,SAAU,SAGhBD,QAAS,WAER,MAAKjT,MAAKkT,SAAU,mBAAqB,GACjC,GAGFlT,KAAK0H,QAAQmsB,UAClB7zB,KAAK8zB,WAGN9zB,KAAK4S,IAAK5S,KAAKK,SACd0zB,eAAgB,4BAChBC,eAAgB,0BAGjBh0B,KAAKK,QAAQ0M,qBAE6C,WAArDlN,EAAEC,OAAOiM,aAAc/L,KAAKK,QAAQ,GAAI,SAAyBR,EAAEC,OAAOm0B,QAC9Ej0B,KAAKK,QAAQ4zB,YAIfH,SAAU,WACT,GAAII,GAAa,QAAUr0B,EAAEC,OAAOsI,GACnC2R,EAAO/Z,IAEHA,MAAK0H,QAAQysB,MACjBn0B,KAAKK,QAAQkE,KAAM,QAAU1E,EAAEC,OAAOsI,GAAK,OAAQpI,KAAK0H,QAAQysB,MAGjEn0B,KAAKK,QACHkE,KAAM,WAAY,KAClBwQ,SAAU,yBAA2B/U,KAAK0H,QAAQiQ,OAGpD3X,KAAKK,QAAQmN,KAAM,IAAM0mB,EAAa,mBAAoB/wB,KAAM,WAC/D,GAAI2qB,GAAQjuB,EAAGG,MACd2X,EAAQ3X,KAAK+L,aAAcmoB,EAAa,UAAa/zB,CACrD4Z,GAAKrS,QAAQksB,aAAejc,GAASoC,EAAKrS,QAAQksB,cAAkB7Z,EAAKrS,QAAQusB,QAAUla,EAAKrS,QAAQiQ,OAA8C,WAAjCoC,EAAK1Z,QAAQ0J,QAAQ,SAAyBgQ,EAAKrS,QAAQiQ,MAChLmW,EAAM/Y,SAAU,cACXgF,EAAKrS,QAAQksB,cACjB9F,EAAM/Y,SAAU,WAAegF,EAAKrS,QAAqB,cAG1DomB,EAAMvpB,KAAM,OAAQ,QAASwQ,SAAU,iBAI1Cqf,WAAY,SAAUhf,GACrB,GAAIxN,GAAO5H,KAAKK,SAGVuH,EAAK3D,KAAM,eAAgByD,QAAQgsB,UACxC9rB,EAAKwrB,GAAI,mCAGTxrB,EAAKxB,KAAM,kBAAmBgP,GAAY,SAAUlK,EAAGjH,GAGtD,IAAKA,EAAKowB,SAAU,CACnB,GAAIvG,GAAQjuB,EAAGG,MACds0B,EAAU,GAAIz0B,GAAEwV,MAAO,aAExByY,GAAMtkB,QAAS8qB,GAETA,EAAQ/e,sBACbuY,EAAMhhB,2BAOX4G,YAAa,SAAU0a,GACjBA,EAAEzW,QAAUxX,GAChBH,KAAKK,QAAQsK,YAAa,iBAAmB3K,KAAK0H,QAAQiQ,OAAQ5C,SAAU,iBAAmBqZ,EAAEzW,OAG7FyW,EAAEwF,eAAiBzzB,GACvBH,KAAKK,QAAQmN,KAAM,SAAW3N,EAAEC,OAAOsI,GAAK,eAAgBuC,YAAa,WAAa3K,KAAK0H,QAAQksB,cACjG7e,SAAU,WAAaqZ,EAAEwF,eAI7BW,sBAAuB,WACtBv0B,KAAKw0B,0BAGNC,0BAA2B,WAC1Bz0B,KAAKK,QAAQyJ,QAAS,yBAA0B8O,eAAgBjB,MAAS,UAI1E6c,uBAAwB,SAAU7c,GACjC3X,KAAKK,QAAQwG,SAAS+R,eAAiBjB,MAASA,GAAS3X,KAAK0H,QAAQiQ,SAGvEzK,mBAAoB,WACnB,GAAIxF,GAAU1H,KAAK0H,QAClBuF,EAAapN,EAAE60B,KAAMhtB,EAAQuF,YAAc,IAC3C0nB,EAAc90B,EAAE60B,KAAM70B,EAAEC,OAAOmN,YAC/B2nB,EAAc/0B,EAAE60B,KAAMhtB,EAAQisB,mBAG9BkB,EAAepB,IAA6BkB,EAC3C,GAAKA,EAGNG,EAA8B,KAAfD,EAAoBD,EAAc,EAIlD,QAAW3nB,GAAeA,OACxBtE,OAAQksB,GAAeA,OACvBlsB,OAAQmsB,GAAeA,OACvBrgB,KAAM,UAGN1U,GAEJ,SAAWF,EAAGM,GAEbN,EAAEqQ,OAAQ,wBACTxI,SACCiQ,MAAO,KAGRlK,cAAc,EAEdwF,QAAS,WACRjT,KAAKkT,SAAU,gBACflT,KAAK+0B,sBAAuB,EAE5B/0B,KAAK4S,IAAK5S,KAAKE,QAKdmhB,SAAU,uBAIV4P,WAAY,yBAMbjxB,KAAK4S,IAAK5S,KAAKE,QAAUmhB,SAAU,0BAGnCrhB,KAAK4S,KAAMoiB,WAAY,wBAGvBh1B,KAAKE,OAAOsa,IAAK,WAAY3a,EAAEwY,MAAM,WACpCrY,KAAK+0B,sBAAuB,GAC1B/0B,QAGJ0T,YAAa,SAAUhM,GACjBA,EAAQiQ,QAAUxX,GAA+B,SAAlBuH,EAAQiQ,MAC3C3X,KAAKK,QAAQsK,YAAa,cAAgB3K,KAAK0H,QAAQiQ,OACrD5C,SAAU,cAAgBrN,EAAQiQ,OACzBjQ,EAAQiQ,QAAUxX,GAC7BH,KAAKK,QAAQsK,YAAa,cAAgB3K,KAAK0H,QAAQiQ,OAGxD3X,KAAK+Q,OAAQrJ,IAGdutB,qBAAsB,WACrBj1B,KAAK+0B,sBAAuB,GAG7BG,oBAAqB,WACpBl1B,KAAK+0B,sBAAuB,GAI7BI,oBAAqB,WAEpBn1B,KAAK+0B,sBAAuB,EAK5B/0B,KAAKwU,KAAMxU,KAAKE,OAAQ,cAIxBF,KAAK4S,IAAK5S,KAAKE,QAAU+wB,WAAY,0BAGtCmE,cAAe,WAGd,GAAMp1B,KAAK+0B,qBAAX,CAIA,GACCM,GAAeC,EAAWC,EADvBC,EAASx1B,KAAKy1B,mBAGbD,KACJH,EAAgBr1B,KAAK01B,aACrBJ,EAAYt1B,KAAK21B,gBACjBJ,EAAgBv1B,KAAK41B,oBAIrBJ,EAAOK,WAA6BP,EAAhBD,EAA4BE,EAAgBF,KAIlES,qBAAsB,WACrBzyB,WAAYxD,EAAEwY,MAAMrY,KAAM,iBAAkB,MAG7C01B,WAAY,WACX,MAAO11B,MAAKE,OAAO+X,aAGpB0d,cAAe,WACd,MAAO91B,GAAEC,OAAOmP,eAGjB2mB,kBAAmB,WAClB,MAAO/1B,GAAEC,OAAOqJ,mBAGjB4sB,sBAAuB,SAAU7qB,EAAGjH,GACnC,GAAI4F,EAECqB,GAAEoK,eAAiBpK,EAAEoK,cAAcC,uBAIxC1L,EAAMqB,EAAEoK,cAAcnQ,KAAKkS,QAAS,cAAiB,GAAKpT,EAAK4d,MAAMpI,KAAOxV,EAAK4d,MAAMhY,IAEjFA,IACLA,EAAM7J,KAAKg2B,YAGNnsB,GAAe,MAARA,GAAiE,IAAlDA,EAAIwN,QAAS,IAAMxX,EAAEC,OAAOmK,KAAKiY,cAC5DrY,EAAMiP,SAAShY,MAGhBd,KAAKi2B,gBAAiBpsB,EAAK5F,EAAK4d,SAGjCmU,SAAU,WACT,MAAOn2B,GAAEC,OAAOmK,KAAK4Y,gBAAgBpJ,MAItCyc,cAAe,WACd,MAAOl2B,MAAKm2B,YAKbC,mBAAoB,WACnB,MAAOv2B,GAAEC,OAAOwmB,WAIjB+P,YAAa,WACZ,MAAOx2B,GAAEC,OAAOuhB,SAASjB,SAG1BqV,kBAAmB,WAClB,MAAOz1B,MAAKq2B,cAAcvP,aAI3BwP,iBAAkB,WACjB,MAAOz2B,GAAEC,OAAOmK,KAAKC,cAGtBwd,KAAM,WACL1nB,KAAKsoB,GAAI,KAGVX,QAAS,WACR3nB,KAAKsoB,GAAI,IAGVA,GAAI,SAAUiO,GAGb,GAAK12B,EAAEC,OAAO+O,qBACb3O,EAAOkgB,QAAQkI,GAAIiO,OACb,CAGN,GAAI1P,GAAchnB,EAAEC,OAAOuhB,SAASjB,QAAQyG,YAC3Che,EAAQge,EAAcjgB,SAAU2vB,EAAO,IACvC1sB,EAAMhK,EAAEC,OAAOuhB,SAASjB,QAAQwG,MAAO/d,GAAQgB,IAC/Ckf,EAAcwN,GAAS,EAAK,UAAY,MAGzC12B,GAAEC,OAAOuhB,SAASjB,QAAQyG,YAAche,EACxChJ,EAAEC,OAAOuhB,SAASjB,QAAQ4G,cAAgBH,EAG1C7mB,KAAKw2B,OAAQ3sB,GAAOkf,UAAWA,EAAW0N,YAAY,EAAOC,gBAAgB,MAK/EC,mBAAoB,SAAUC,GAC7B,GAAIxW,EAqBJ,OAlBoB,WAAfvgB,EAAEsF,KAAKyxB,KACXA,EAAK/2B,EAAEC,OAAOmK,KAAK+a,UAAW4R,IAG1BA,IACJxW,EAAUpgB,KAAKq2B,cAWfO,EAAM/2B,EAAEC,OAAOmK,KAAKI,OAAQusB,GAAgFA,EAAvE/2B,EAAEC,OAAOmK,KAAKK,gBAAiB,IAAMssB,EAAI52B,KAAKs2B,qBAE7EM,GAAM52B,KAAKo2B,sBAGnBS,uBAAwB,SAAU9N,EAAW+N,GAC5C,GAAI1W,GAAUpgB,KAAKq2B,cAClBhP,EAAwB,SAAd0B,EAAuB3I,EAAQ2G,UAAY3G,EAAQ0G,WAE9D,OAASO,IAASA,EAAM4B,YAAgB6N,GAGzCC,cAAe,SAAUC,EAAmB/yB,GAC3C,GAAI2yB,GAAIpB,EAAQyB,EAAgBj3B,KAAKk2B,eAOrC,OAAKe,KAAkBA,EAAchzB,KAAM,kBAGlB,SAAnBA,EAAK8kB,UACT/oB,KAAK0nB,OAEL1nB,KAAK2nB,WAIC,IAIPiP,EAAK3yB,EAAKizB,QACV1B,EAASx1B,KAAKy1B,oBAId51B,EAAE+B,OAAQo1B,GACT7C,KAAMqB,EAAOrB,KACblL,WAAYjpB,KAAK62B,uBAChB5yB,EAAK8kB,UACLiO,EAAkB/N,YACnBkO,QAA4B,SAAnBlzB,EAAK8kB,YAIT6N,IAGRX,gBAAiB,SAAUpsB,EAAK5F,GAG/B,GAAI2yB,GAAK/2B,EAAEC,OAAOmK,KAAK+a,UAAWnb,GAAOuW,EAAUpgB,KAAKq2B,cAIvDpN,EAAsC,IAAzB7I,EAAQwG,MAAMplB,OAAe,OACzCxB,KAAK62B,uBAAwB5yB,EAAK8kB,WAKnCiO,GACCP,YAAY,EACZC,gBAAgB,EAChBS,QAA4B,SAAnBlzB,EAAK8kB,UAGhBlpB,GAAE+B,OAAQo1B,EAAmB/yB,GAC5BglB,WAAYA,IAOR7I,EAAQyG,YAAc,GAC1B+P,EAAGvf,QAASxX,EAAEC,OAAO6P,eAAkB,KAEvCinB,EAAK52B,KAAK+2B,cAAeC,EAAmB/yB,GAEvC2yB,KAAO,IAKb52B,KAAKo3B,eAAgBp3B,KAAK22B,mBAAoBC,GAAMI,IAGrDI,eAAgB,SAAUR,EAAIrP,GAC7B1nB,EAAEC,OAAOu3B,WAAYT,EAAIrP,IAG1B+P,SAAU,WACT,MAAOz3B,GAAEC,OAAOkK,MAGjButB,OAAQ,WACP,MAAO13B,GAAEC,OAAOsI,IAGjB0rB,SAAU,SAAU0D,EAASrD,GAG5B,MAAOqD,GAAQ5vB,MAAOusB,KAAMA,KAG7BsD,SAAU,SAAU7vB,EAAM8vB,GAEzB9vB,EAAK+Q,SAAU3Y,KAAKK,SAGpBL,KAAK8zB,SAAUlsB,EAAM8vB,EAASvD,MAG9BvsB,EAAKA,KAAM,eAGZ+vB,MAAO,SAAUzT,GAEhB,GAECtc,GAFGgwB,EAAU53B,KAAK63B,eAAgB3T,GAClC4T,EAAU93B,KAAK+3B,eAAgB7T,GACzB8T,EAAiBh4B,KAAKo2B,oBAgC7B,OA3BAxuB,GAAO5H,KAAKK,QACVkI,SAAU,SAAWvI,KAAKu3B,SAC1B,QAAU13B,EAAEC,OAAOmK,KAAK+b,eAAgB8R,GAAY,MAMjC,IAAhBlwB,EAAKpG,QAAgBs2B,IAAYj4B,EAAEC,OAAOmK,KAAKI,OAAQytB,KAC3DlwB,EAAO5H,KAAKK,QAAQkI,SAAU1I,EAAEC,OAAOmK,KAAK+b,eAAe,IAAM8R,IAC/DvzB,KAAM,QAAUvE,KAAKu3B,SAAW,MAAOO,GACvC/tB,QAAS,MAAO+tB,IASE,IAAhBlwB,EAAKpG,QACT3B,EAAEC,OAAOmK,KAAKkc,eAAgByR,IAC9BI,GACAA,EAAenxB,SAASrF,SACxBoG,EAAO/H,EAAGm4B,IAGJpwB,GAGRqwB,WAAY,WACX,MAAOp4B,GAAEC,OAAOuM,WAGjB6rB,aAAc,SAAUh1B,EAAOyU,EAAOwgB,EAAK3f,GAGrCxY,KAAKo4B,WAIVp4B,KAAKo4B,SAAW/0B,WAAWxD,EAAEwY,MAAM,WAClCrY,KAAKi4B,aAAa3rB,OAAQ,OAAQqL,EAAOwgB,EAAK3f,GAC9CxY,KAAKo4B,SAAW,GACdp4B,MAAOkD,KAGXm1B,aAAc,WAEbne,aAAcla,KAAKo4B,UACnBp4B,KAAKo4B,SAAW,EAGhBp4B,KAAKi4B,aAAa3rB,OAAQ,SAG3BgsB,WAAY,WAEXt4B,KAAKq4B,eAGLr4B,KAAKk4B,aAAc,EAAGr4B,EAAEC,OAAOsP,0BAA2BvP,EAAEC,OAAOqP,sBAAsB,GAIzF9L,WAAYxD,EAAEwY,MAAMrY,KAAM,gBAAiB,OAG5Cu4B,OAAQ,SAAUrqB,EAAM0pB,GAEvB,GAAIhwB,GAAMsY,EAAMrgB,EAAG,cAoBnB,OAjBAqgB,GAAI/N,IAAK,GAAI6J,UAAY9N,EAEzBtG,EAAOsY,EAAI1S,KAAM,kDAAmDuK,QAG9DnQ,EAAKpG,SACVoG,EAAO/H,EAAG,aAAeG,KAAKu3B,SAAW,gBACtCrpB,EAAKsC,MAAO,qBAAsB,IAAM,IAC1C,WAMF5I,EAAKrD,KAAM,QAAUvE,KAAKu3B,SAAW,MAAOv3B,KAAK+3B,eAAgBH,IAC/DrzB,KAAM,QAAUvE,KAAKu3B,SAAW,iBAAiB,GAE5C3vB,GAGR4wB,gBAAiB,SAAU5wB,EAAMsG,GAEhC,GAAIuqB,GAAevqB,EAAK7J,MAAO,wBAA2Bq0B,OAAOC,EAE5DF,KAAiB7wB,EAAKmC,QAAQ,WAClC0uB,EAAe54B,EAAG,QAAU44B,EAAe,UAAWxqB,OACtDrG,EAAKmC,QAAS,QAAS0uB,KAIzBG,qBAAsB,WACrB,MAAO/4B,GAAEC,OAAOsK,qBAAuBvK,EAAEmG,QAAQ2a,gBAGlDoX,eAAgB,SAAUc,GACzB,MAAOh5B,GAAEC,OAAOmK,KAAK2a,oBAAqBiU,IAG3ChB,eAAgB,SAAUgB,GACzB,MAAOh5B,GAAEC,OAAOmK,KAAKic,YAAa2S,IAGnCC,uBAAwB,SAAUj4B,EAAMoD,EAAM2D,GAC7C,GAAImxB,GAAkBl5B,EAAEwV,MAAO,OAASxU,GACvC8gB,EAAW9hB,EAAEwV,MAAOrV,KAAK+N,WAAalN,EASvC,QALE+G,GAAQ5H,KAAKK,SAAUmJ,QAASuvB,EAAiB90B,GAGnDjE,KAAKkT,SAAUrS,EAAM8gB,EAAU1d,IAG9B80B,gBAAiBA,EACjB1yB,MAAOsb,IAOTqX,aAAc,SAAU9U,EAAQ+U,EAAavB,EAAUwB,GACtD,GAAItB,GAAU53B,KAAK63B,eAAgB3T,EAEnC,OAAOrkB,GAAEwY,MAAM,SAAUnK,EAAMirB,EAAYC,GAG1C,GAAI5B,GAGH6B,EAAgB,GAAIX,QAAQ,kBAAoB14B,KAAKu3B,SAAW,gCAEhE+B,EAAe,GAAIZ,QAAQ,WAAa14B,KAAKu3B,SAAW,6BAKpD8B,GAAcr4B,KAAMkN,IACxBwqB,OAAOC,IACPW,EAAat4B,KAAM03B,OAAOC,KAC1BD,OAAOC,KACPf,EAAU/3B,EAAEC,OAAOmK,KAAKic,YAAarmB,EAAE,QAAU64B,OAAOC,GAAK,UAAU1qB,QAKvE2pB,EAAU53B,KAAKE,OAAQ,GAAIq5B,mBAAoB3B,IAI3CF,EAAS8B,WAAar5B,GAC1BH,KAAKs3B,WAAWrwB,IAAK2wB,GAGtBJ,EAAUx3B,KAAKu4B,OAAQrqB,EAAM0pB,GAE7B53B,KAAKw4B,gBAAiBhB,EAAStpB,GAG/B+qB,EAAYG,IAAMA,EAClBH,EAAYE,WAAaA,EAGzBF,EAAYrxB,KAAO4vB,EAEnByB,EAAYzB,QAAUA,EAEtByB,EAAYQ,OAASjC,EAMhBx3B,KAAK84B,uBAAwB,OAAQG,GAAc5yB,MAAMkP,uBAKzDvV,KAAK44B,wBAA0BpB,GACnCx3B,KAAKs3B,WAAWpE,QAAS0E,EAASJ,GAGnCx3B,KAAKy3B,SAAUD,EAASE,GAGnBA,EAASgC,aACb15B,KAAKq4B,eAGNa,EAASS,QAASzV,EAAQwT,EAAUF,KAClCx3B,OAGJ45B,eACCz0B,KAAM,MACNlB,KAAM9D,EAGN05B,YAAY,EAEZC,QAAQ,EAGR3F,KAAMh0B,EAENu5B,aAAa,EAIbK,aAAc,IAGfC,KAAM,SAAUnwB,EAAKnC,GAGpB,GAmBCkwB,GAASE,EAASmC,EAAUhB,EAnBzBC,EAAaxxB,GAAWA,EAAQwxB,UAAcr5B,EAAEq6B,WAKnDC,EACKzyB,GAAWA,EAAQoyB,SAAW35B,GACjCuH,EAAQmyB,aAAe15B,GACpB25B,OAAQpyB,EAAQmyB,eAGrBnC,EAAW73B,EAAE+B,UAAY5B,KAAK45B,cAAelyB,EAASyyB,GAGtD3C,EAAU,KAIVtT,EAASrkB,EAAEC,OAAOmK,KAAKK,gBAAiBT,EAAK7J,KAAKo6B,uBA8BnD,OAzBK1C,GAASzzB,MAA0B,QAAlByzB,EAASvyB,OAC9B+e,EAASrkB,EAAEC,OAAOmK,KAAKqa,gBAAiBJ,EAAQwT,EAASzzB,MACzDyzB,EAASzzB,KAAO9D,GAIZu3B,EAASzzB,MAA0B,SAAlByzB,EAASvyB,OAC9BuyB,EAASoC,QAAS,GAKnBlC,EAAU53B,KAAK63B,eAAgB3T,GAO/B4T,EAAU93B,KAAK+3B,eAAgB7T,GAE/BsT,EAAUx3B,KAAK23B,MAAOzT,GAIE,IAAnBsT,EAAQh2B,QACZ3B,EAAEC,OAAOmK,KAAK4a,eAAe+S,KAC5B/3B,EAAEC,OAAOmK,KAAKkc,eAAeyR,IAC9BsB,EAASmB,OAAQnW,EAAQwT,GAClBwB,EAASoB,YAKjBt6B,KAAKs3B,WAAW/D,QAMXiE,EAAQh2B,SAAWk2B,EAASoC,QAChC95B,KAAK8zB,SAAU0D,EAASE,EAASvD,MACjC+E,EAASS,QAASzV,EAAQwT,EAAUF,GAI9BE,EAAS8B,UACdx5B,KAAKs3B,WAAWrwB,IAAI4C,GAGdqvB,EAASoB,YAGjBrB,GACCpvB,IAAKA,EACLqa,OAAQA,EACRuV,OAAQ5vB,EACR0wB,SAAU7yB,EAAUA,EAAQ8yB,SAAWr6B,EACvC23B,QAASA,EACToB,SAAUA,EACVxxB,QAASgwB,GAIVuC,EAAWj6B,KAAK84B,uBAAwB,aAAcG,GAGjDgB,EAASlB,gBAAgBxjB,sBAC7B0kB,EAAS5zB,MAAMkP,qBACR2jB,EAASoB,WAGZ5C,EAASgC,aACb15B,KAAKk4B,aAAcR,EAASqC,cAKxBrC,EAAS8B,WAAar5B,GAC1BH,KAAKs3B,WAAW/D,QAGT1zB,EAAEC,OAAO4P,uBAChB7P,EAAEC,OAAOmK,KAAK2Z,aAAa/jB,EAAEC,OAAOmK,KAAK2Y,YAAasB,IAMvDrkB,EAAE46B,MACD5wB,IAAK+tB,EACLzyB,KAAMuyB,EAASvyB,KACflB,KAAMyzB,EAASzzB,KACfy2B,YAAahD,EAASgD,YACtBC,SAAU,OACVC,QAAS56B,KAAKg5B,aAAc9U,EAAQ+U,EAAavB,EAAUwB,GAC3D9mB,MAAOpS,KAAK66B,WAAY3W,EAAQ+U,EAAavB,EAAUwB,KAGjDA,EAASoB,YAffpB,EAASmB,OAAQnW,EAAQwT,GAClBwB,EAASoB,eAiBlBO,WAAY,SAAU3W,EAAQ+U,EAAavB,EAAUwB,GACpD,MAAOr5B,GAAEwY,MAAM,SAAU+gB,EAAKD,EAAY2B,GAEzC96B,KAAKs3B,WAAWrwB,IAAKpH,EAAEC,OAAOmK,KAAKkI,OAGnC8mB,EAAYG,IAAMA,EAClBH,EAAYE,WAAaA,EACzBF,EAAY6B,YAAcA,CAG1B,IAAIC,GAAW/6B,KAAK84B,uBAAwB,aAAcG,EAMrD8B,GAAShC,gBAAgBxjB,sBAC7BwlB,EAAS10B,MAAMkP,uBAKXmiB,EAASgC,aACb15B,KAAKs4B,aAGNY,EAASmB,OAAQnW,EAAQwT,KACvB13B,OAGJg7B,sBAAuB,SAAU/R,GAMhC,MALAA,GAAappB,EAAEC,OAAOm7B,wBAAyBhS,GAKxCppB,EAAEC,OAAOo7B,mBAAoBjS,IAAgBppB,EAAEC,OAAOq7B,0BAI9DC,4BAA6B,SAAUxE,EAAIyE,EAAM/R,GAChD,GAAI+K,IAAW,CAEf/K,GAASA,GAAU,GAGd+R,IAGAzE,EAAG,KAAOyE,EAAK,KAClBhH,GAAW,GAKZr0B,KAAK84B,uBAAwBxP,EAAS,QAGrCgS,SAAU1E,EACV6C,OAAQ7C,EACR2D,SAAUc,EACVhH,SAAUA,GACRgH,IAIJr7B,KAAK84B,uBAAwBxP,EAAS,QACrCiR,SAAUc,GAAQx7B,EAAG,IACrB45B,OAAQ7C,GACNA,IAIJ2E,eAAgB,SAAU3E,EAAIyE,EAAM3zB,GACnC,GAGC8zB,GACAlB,EAJGrR,EAAavhB,EAAQuhB,WACxBkO,EAAUzvB,EAAQyvB,QAClB+B,EAAWxxB,EAAQwxB,QAIpBl5B,MAAKo7B,4BAA6BxE,EAAIyE,EAAM,UAG5Cr7B,KAAKq4B,eAELmD,EAAoBx7B,KAAKg7B,sBAAuB/R,GAEhDqR,EAAU,GAAMkB,GAAmBvS,EAAYkO,EAASP,EAAIyE,GAASpS,aAErEqR,EAAQmB,KAAM57B,EAAEwY,MAAO,WACtBrY,KAAKo7B,4BAA6BxE,EAAIyE,IACpCr7B,OAGHs6B,EAAQmB,KAAK,WACZvC,EAASS,QAAQp2B,MAAO21B,EAAU11B,cAIpCk4B,uBAAwB,WAEvBC,GAAsB,EACjBC,EAAoBp6B,OAAS,GACjC3B,EAAEC,OAAOu3B,WAAW9zB,MAAO,KAAMq4B,EAAoBnoB,QAIvDooB,uBAAwB,SAAUC,GAEjCj8B,EAAEC,OAAOyK,sBAAuBuxB,IAGjCC,SAAU,SAAUnF,EAAIqC,EAAavB,GAMpCA,EAASlmB,OAASolB,EAClBc,EAASwB,SAAWr5B,EAAEq6B,WAEtBl6B,KAAKg6B,KAAMpD,EAAIc,GAEfA,EAASwB,SAASuC,KAAK57B,EAAEwY,MAAM,SAAUxO,EAAKnC,EAAS8vB,GACtDmE,GAAsB,EAItBj0B,EAAQwc,OAAS+U,EAAY/U,OAE7BlkB,KAAKipB,WAAYuO,EAASyB,EAAavxB,IACrC1H,OAEH03B,EAASwB,SAAS8C,KAAKn8B,EAAEwY,MAAM,WAC9BrY,KAAK67B,wBAAwB,GAC7B77B,KAAK07B,yBACL17B,KAAK84B,uBAAwB,eAAgBG,IAC3Cj5B,QAGJi8B,yBAA0B,SAAUrF,EAAIqC,EAAavB,GACpD,GAAIwE,EA0BJ,OAxBAjD,GAAYsB,SAAWv6B,KAAKm2B,WAC5Bt2B,EAAE+B,OAAQq3B,GACTQ,OAAQ7C,EACRlvB,QAASgwB,IAUTuB,EAAY/U,OAFO,WAAfrkB,EAAEsF,KAAKyxB,GAEU/2B,EAAEC,OAAOmK,KAAKK,gBAAiBssB,EAAI52B,KAAKo6B,wBAIxC1C,EAASxT,OAI/BgY,EAAel8B,KAAK84B,uBAAwB,eAAgBG,GAGvDiD,EAAa71B,MAAMkP,sBACvB2mB,EAAanD,gBAAgBxjB,sBACtB,GAGD,GAGRihB,OAAQ,SAAUI,EAAIlvB,GAIrB,GAAKi0B,EAEJ,WADAC,GAAoBO,QAAS34B,UAI9B,IAAIk0B,GAAW73B,EAAE+B,UAAY/B,EAAEC,OAAOu3B,WAAW+E,SAAU10B,GAC1DuxB,IAGDvB,GAAS8C,SAAW9C,EAAS8C,UAAYx6B,KAAKm2B,WAGxCn2B,KAAKi8B,yBAAyBrF,EAAIqC,EAAavB,KAQrDd,EAAKqC,EAAYQ,OAMG,WAAf55B,EAAEsF,KAAKyxB,IAIX+E,GAAsB,EAEtB37B,KAAK+7B,SAAUnF,EAAIqC,EAAavB,IAEhC13B,KAAKipB,WAAY2N,EAAIqC,EAAavB,KAIpCzO,WAAY,SAAUwQ,EAAQR,EAAavB,GAC1C,GAAI8C,GAAU3wB,EAAKqtB,EAASU,EAC3BpC,EAAQ6G,EACRC,EAAYC,EAAWC,EACvBC,EAAchE,EACdlU,EAAQmY,EACRC,CAKD,IAAKhB,EAIJ,WADAC,GAAoBO,SAAU1C,EAAQ/B,GAMvC,IAAM13B,KAAKi8B,yBAAyBxC,EAAQR,EAAavB,KAIzDuB,EAAYsB,SAAW7C,EAAS8C,SAGhCmC,EAAmB38B,KAAK84B,uBAAwB,mBAAoBG,IAChE0D,EAAiB5D,gBAAgBxjB,uBACpConB,EAAiBt2B,MAAMkP,sBADxB,CA+CA,GAvCAomB,GAAsB,EAMjBlC,EAAQ,KAAQ55B,EAAEC,OAAOwmB,UAAW,IAAQoR,EAASI,UACzDJ,EAASI,QAAUj4B,EAAEC,OAAOmK,KAAK2Y,YAAYzY,YAK9CqwB,EAAW9C,EAAS8C,SACpB3wB,EAAQ6tB,EAASI,SAAWj4B,EAAEC,OAAOmK,KAAK2a,oBAAoB8S,EAASI,UACtE2B,EAAO1vB,QAAS,OAIjBmtB,EAAUrtB,EACV+tB,EAAU/3B,EAAEC,OAAOmK,KAAKic,YAAarc,GACrC2rB,EAAS31B,EAAEC,OAAOuhB,SAASjB,QAAQ0G,YACnCuV,EAAgE,IAA1Cx8B,EAAEC,OAAOuhB,SAASjB,QAAQyG,YAChDyV,EAAa,EACbC,EAAYt8B,EAAS4a,MACrB2hB,GAA+B,WAAlB9E,EAASvD,MACQ,WAA7BsF,EAAO1vB,QAAS,UAChB0vB,EAAO1vB,QAAS,aAAe,EAa3BywB,GAAYA,EAAS,KAAOf,EAAO,KACtC/B,EAASkF,wBAYV,MAVAjB,IAAsB,EACtB37B,KAAK84B,uBAAwB,aAAcG,GAC3Cj5B,KAAK84B,uBAAwB,SAAUG,QAIlCvB,EAAShB,gBACb72B,EAAEC,OAAOuhB,SAASjB,QAAQkH,QAASzd,IAAKA,IAO1C4vB,GAAO7xB,MAAOusB,KAAMuD,EAASvD,OAMxBuD,EAAShB,iBACb4F,EAAoC,SAAvB5E,EAAS3O,UAAuB,GAAK,EAUnD,KACM9oB,EAAS48B,eACqC,SAAlD58B,EAAS48B,cAAcn8B,SAASC,cAEhCd,EAAGI,EAAS48B,eAAgBC,OAE5Bj9B,EAAG,6CAA8Ci9B,OAEjD,MAAO5xB,IAITuxB,GAAe,EAKVD,GAAYhH,IAYXA,EAAO3rB,KACX2rB,EAAO3rB,IAAIwN,QAASxX,EAAEC,OAAO6P,eAAkB,IAC/C3P,KAAKm2B,aACJn2B,KAAKm2B,WAAW/hB,SAAU,cAC3BvU,EAAEC,OAAOuhB,SAASjB,QAAQyG,YAAc,IAExC6Q,EAASjB,YAAa,EACtBgG,GAAe,GAKhB5yB,EAAQ2rB,EAAO3rB,KAAO,GAIrBA,IADK4yB,GAAgB5yB,EAAIwN,QAAQ,KAAO,GACjCxX,EAAEC,OAAO6P,cAET,IAAM9P,EAAEC,OAAO6P,eAOxB8oB,EAAkBjD,EAAuBiE,EAAO1vB,QAAS,UACxD0vB,EAAOlxB,SAAU,2BAA4BiF,KAAM,aAAcS,OADrCsuB,EAEtB9D,GAAgB8D,IAAct8B,EAAS4a,QAC7C0hB,EAAY9D,GAEPgB,EAAO1vB,QAAS,UACrB0vB,EAAO1vB,QAAS,QAASwyB,GAI1B7E,EAASzO,WAAayO,EAASzO,aAC1BqT,IAAeD,EAAwB7G,EAAOvM,WAAa9oB,KAC7Dq8B,EAAW38B,EAAEC,OAAOoP,wBAA0BrP,EAAEC,OAAOiP,wBAGpDutB,GAAcG,IACnB58B,EAAEC,OAAOuhB,SAASjB,QAAQ0G,YAAYoQ,QAAUA,GAI5CrtB,IAAQ6tB,EAAShB,kBAIf72B,EAAEC,OAAOmK,KAAKI,OAAQR,IAASA,EAAIwN,QAAS,KAAQ,IACzDxN,EAAM,IAAMA,GAIb0a,GACC0E,WAAYyO,EAASzO,WACrBpO,MAAO0hB,EACPrF,QAASA,EACT/C,KAAMuD,EAASvD,MAGXuD,EAASjB,cAAe,GAAS52B,EAAEC,OAAO+O,qBAC9ChP,EAAEC,OAAOuhB,SAAUrhB,KAAKE,OAAQ,GAAI68B,UAAWlzB,GAAO0a,GAAQ,GACnDkV,EAAQ,KAAQ55B,EAAEC,OAAOwmB,UAAW,IAC/CzmB,EAAEC,OAAOuhB,SAASjB,QAAQ5a,IAAKqE,EAAK0a,IAKtCtkB,EAAS4a,MAAQ0hB,EAGjB18B,EAAEC,OAAOq2B,WAAasD,EAGtBz5B,KAAKm2B,WAAasD,EAGlB/B,EAASP,QAAUO,EAASP,SAAwB,EAAbmF,EAEvCI,EAAwB78B,EAAEq6B,WAE1Bl6B,KAAKu7B,eAAe9B,EAAQe,GAC3BvR,WAAYyO,EAASzO,WACrBkO,QAASO,EAASP,QAClB+B,SAAUwD,IAGXA,EAAsBjB,KAAK57B,EAAEwY,MAAM,SAAUxX,EAAMs2B,EAAS6F,EAAKC,EAAOC,GACvEr9B,EAAEC,OAAOyK,wBAGJmtB,EAASyF,qBACbzF,EAASyF,oBAAoB9uB,SAKxB6uB,GACLr9B,EAAEC,OAAOs9B,UAAW3D,GAGrBz5B,KAAK07B,yBACL17B,KAAK84B,uBAAwB,aAAcG,GAC3Cj5B,KAAK84B,uBAAwB,SAAUG,IACrCj5B,SAIJo6B,qBAAsB,WACrB,GAAIiD,GAAgBr9B,KAAKm2B,YACzBt2B,EAAEC,OAAO6J,kBAAmB3J,KAAKm2B,WAClC,OAAOkH,IAAex9B,EAAEC,OAAOmK,KAAKC,aAAaC,cAMlDtK,EAAEC,OAAOw9B,iBAAmBz9B,EAAEq6B,UAI9B,IAAI0B,MAGHD,GAAsB,GAEpB57B,GAEJ,SAAWF,EAAGM,GAsBb,QAASo9B,GAAiB3zB,GACzB,KAAQA,IAQwB,gBAAjBA,GAAIlJ,UAA0D,MAA/BkJ,EAAIlJ,SAASC,gBAG1DiJ,EAAMA,EAAIhJ,UAEX,OAAOgJ,GAjCR,GAAI4zB,GAAmB39B,EAAEq6B,WAGxBuD,EAAe59B,EAAEq6B,WAGjBwD,EAAoB,WAGnBD,EAAa9D,UACb8D,EAAe,MAGhB7a,EAAc/iB,EAAEC,OAAOmK,KAAK2Y,YAG5B+a,EAAgB,IAoBjB99B,GAAEC,OAAO89B,SAAW,SAAU/zB,EAAK0d,GAClC,GAAIsW,EAcJ,OAZAtW,GAAOA,MACPsW,EAActW,EAAK9X,eAAiB5P,EAAEC,OAAO2P,cAI7C8X,EAAK2R,SAAWr5B,EAAEq6B,WAIlB2D,EAAUjlB,cAAe,OAAQ/O,EAAK0d,GAG/BA,EAAK2R,SAASoB,WAYtBz6B,EAAEC,OAAO4nB,KAAO,WACf,GAAIoW,GAAM59B,EAAO4F,SAIZ9F,MAAKqP,2BACTyuB,GACAA,EAAIC,KACJD,EAAIC,IAAIC,YACRF,EAAIC,IAAIC,cAERn+B,EAAEC,OAAO2P,cAAcmJ,cAAe,SAKxC/Y,EAAEC,OAAOs9B,UAAY,SAAWx1B,GAC/B,GAAIq2B,GAAYr2B,EAAK4F,KAAM,eAC1B+uB,EAAY30B,EAAK4F,KAAM,kBAExB,OAAKywB,GAAUz8B,WACdy8B,GAAUj7B,aAINu5B,EAAU/6B,OACd+6B,EAAUv5B,QAEV4E,EAAK5E,UAKPnD,EAAEC,OAAOm7B,wBAA0Bp7B,EAAEC,OAAOm7B,yBAA2B,SAAUhS,GAChF,MAAOA,IAKRppB,EAAEC,OAAOu3B,WAAa,SAAUT,EAAIlvB,GACnC7H,EAAEC,OAAO2P,cAAcmJ,cAAe,SAAUge,EAAIlvB,IAGrD7H,EAAEC,OAAOu3B,WAAW+E,UACnBnT,WAAY9oB,EACZg3B,SAAS,EACTV,YAAY,EACZC,gBAAgB,EAChBvC,KAAMh0B,EACNg9B,oBAAqBh9B,EACrBsP,cAAetP,EACfu5B,aAAa,EACb5B,QAAS33B,EACTq6B,SAAUr6B,EACVy8B,yBAAyB,GAG1B/8B,EAAEC,OAAOo+B,wBAA0B,WAClC,GAAIC,GAAkB,SAAUC,EAAOC,GACtC,GAAIx0B,GAAiBy0B,EAAUC,EAAc7oB,EAApCyB,GAAM,CACf,QAAMtX,EAAEC,OAAO8O,aAEbwvB,EAAMhL,GAAI,4BAGTgL,EAAMjwB,gBAAgB3M,QACvB48B,EAAM75B,KAAM,WACN,GAGRsF,EAAQ8zB,GAAiBA,EAAcp5B,KAAM,eAC5C65B,EAAM75B,KAAM,UACbmR,GAAW0oB,EAAM75B,KAAM,WAAc,OAAQ5D,cAOvCkJ,IAELA,EAAMhK,EAAEC,OAAO6J,kBAAmBy0B,GAIlB,QAAX1oB,IACJ7L,EAAMhK,EAAEC,OAAOmK,KAAKqY,SAAUzY,GAAMiZ,cAGhCjZ,IAAQhK,EAAEC,OAAOmK,KAAKC,aAAaC,aAKvCN,EAAM+Y,EAAYE,eAIpBjZ,EAAMhK,EAAEC,OAAOmK,KAAKK,gBAAkBT,EAAKhK,EAAEC,OAAO6J,kBAAmBy0B,IAEhEv+B,EAAEC,OAAOmK,KAAKob,WAAYxb,KAAUhK,EAAEC,OAAOmK,KAAKuc,8BAA+B5D,EAAa/Y,IAC7F,GAGFw0B,IACLC,EAAWF,EAAMI,iBAEZb,GAAiBA,EAAe,GAAIc,OAASL,EAAO,KACxDG,EAAeZ,EAAcp5B,KAAM,QAC9Bg6B,IAEJ1+B,EAAEsD,KAAMm7B,EAAU,SAAU34B,EAAKgB,GAChC,MAAKA,GAAM9F,OAAS09B,GAEnBA,EAAe,IACR,GAHR,SAMIA,GACJD,EAASj3B,MAAQxG,KAAM09B,EAAc53B,MAAOg3B,EAAcp5B,KAAM,aAKnE4S,GACCtN,IAAKA,EACLnC,SACCvC,KAAOuQ,EACPzR,KAAOpE,EAAE6kB,MAAO4Z,GAChBrV,WAAYmV,EAAMr0B,QAAS,cAC3BotB,QAA0C,YAAjCiH,EAAMr0B,QAAS,aACxB8vB,YAAY,KAKR1iB,IAIRtX,GAAEC,OAAOG,SAASsU,SAAU,OAAQ,SAAU,SAAUlO,GACvD,GAAIi4B,EAEEj4B,GAAMkP,uBACX+oB,EAAWH,EAAiBt+B,EAAGG,OAC1Bs+B,IACJz+B,EAAEC,OAAOu3B,WAAYiH,EAASz0B,IAAKy0B,EAAS52B,SAC5CrB,EAAMC,qBAMTzG,EAAEC,OAAOG,SAASmG,KAAM,SAAU,SAAUC,GAC3C,GAAIq4B,GAAMC,EAAQntB,EAASnL,EAAMmL,OAAQotB,GAAc,CAGvD,MAAKv4B,EAAMkkB,MAAQ,IAAM1qB,EAAEC,OAAOgP,mBAAlC,CASA,GAHA6uB,EAAgB99B,EAAG2R,GAGd3R,EAAEoE,KAAMuN,EAAQ,iBAAoB,CAExC,IAAM2sB,EAAiBt+B,EAAG2R,GAAS1H,QAAS,SAAU,GACrD,MAII0H,GAAO5Q,aACX4Q,EAASA,EAAO5Q,gBAEX,CAEN,GADA4Q,EAAS+rB,EAAiB/rB,IAClBA,GAAkF,MAAxE3R,EAAEC,OAAOmK,KAAKqY,SAAU9Q,EAAOzF,aAAc,SAAY,KAAM0N,KAChF,MAKD,KAAM5Z,EAAG2R,GAASrD,gBAAgB3M,OACjC,QAMMgQ,EAAOnG,UAAUgM,QAAS,mBAC5B7F,EAAO5Q,aACX+9B,EAAS9+B,EAAEoE,KAAMuN,EAAO5Q,WAAY,mBAIrC+9B,EAAS9+B,EAAEoE,KAAMuN,EAAQ,kBAGrBmtB,EACJntB,EAASmtB,EAAOE,MAEhBD,GAAc,EAGfF,EAAO7+B,EAAG2R,GAELotB,IACJF,EAAOA,EAAK50B,QAAS,YAGjB40B,EAAKl9B,OAAS,IACfk9B,EAAKtqB,SAAU,uBAKlBvU,EAAEC,OAAOyK,uBAAuB,GAChC1K,EAAEC,OAAO2K,kBAAoBi0B,EAC7B7+B,EAAEC,OAAO2K,kBAAkBsK,SAAUlV,EAAEC,OAAO8K,oBAKhD/K,EAAEC,OAAOG,SAASmG,KAAM,QAAS,SAAUC,GAC1C,GAAMxG,EAAEC,OAAOgP,qBAAsBzI,EAAMkP,qBAA3C,CAIA,GAOCupB,GAASh+B,EACTi+B,EAAuB1Z,EACvB4D,EAAYkO,EAAShD,EATlBhW,EAAOof,EAAiBl3B,EAAMmL,QACjCwtB,EAAQn/B,EAAGse,GAGX8gB,EAAc,WACb/+B,EAAOmD,WAAW,WAAaxD,EAAEC,OAAOyK,uBAAuB,IAAW,KAgB5E,IATK1K,EAAEC,OAAO2K,mBACb5K,EAAEC,OAAO2K,kBAAmB,KAAQpE,EAAMmL,OAAO5Q,YACjDq+B,IAOK9gB,KAAQ9X,EAAMkkB,MAAQ,IAAMyU,EAAM7wB,gBAAgB3M,OAAxD,CAKA,GAAKw9B,EAAM5L,GAAI,wBAEd,MADAvzB,GAAEC,OAAO4nB,QACF,CASR,IANAoX,EAAUj/B,EAAEC,OAAO6J,kBAAmBq1B,GAGtCl+B,EAAOjB,EAAEC,OAAOmK,KAAKK,gBAAiB00B,EAAMz6B,KAAM,SAAY,IAAKu6B,IAG7Dj/B,EAAEC,OAAO8O,cAAgB/O,EAAEC,OAAOmK,KAAK4a,eAAgB/jB,GAG5D,WAFAm+B,IAaD,MAA4B,KAAvBn+B,EAAKuf,OAAQ,MACdxgB,EAAEC,OAAOmK,KAAKob,WAAYvkB,IAAUjB,EAAEC,OAAOmK,KAAK+Z,cAAeljB,IAAW,CAG/E,GADAA,EAAOA,EAAKwW,QAAS,SAAU,KACzBxW,EAIL,WADAuF,GAAMC,gBAINxF,GAFWjB,EAAEC,OAAOmK,KAAKI,OAAQvJ,GAE1BjB,EAAEC,OAAOmK,KAAKK,gBAAiBxJ,EAAMg+B,GAGrCj/B,EAAEC,OAAOmK,KAAKK,gBAAiB,IAAMxJ,EAAM8hB,EAAYzY,YAmBhE,GAdA40B,EAAwBC,EAAM5L,GAAI,qBAAwB4L,EAAM5L,GAAI,2BAA8B4L,EAAM5L,GAAI,YAY5G/N,EAAa0Z,GAA2Bl/B,EAAEC,OAAOmK,KAAKob,WAAYvkB,KAAWjB,EAAEC,OAAOmK,KAAKuc,8BAA+B5D,EAAa9hB,GAKtI,WAFAm+B,IAMDhW,GAAa+V,EAAMj1B,QAAS,cAC5BotB,EAA2C,YAAjC6H,EAAMj1B,QAAS,cAEtBi1B,EAAMj1B,QAAS,QAGlBoqB,EAAO6K,EAAMz6B,KAAM,QAAU1E,EAAEC,OAAOsI,GAAK,QAAWjI,EAEtDN,EAAEC,OAAOu3B,WAAYv2B,GAAQmoB,WAAYA,EAAYkO,QAASA,EAAShD,KAAMA,EAAMhW,KAAM6gB,IACzF34B,EAAMC,qBAIPzG,EAAEC,OAAOG,SAASsU,SAAU,WAAY,oBAAqB,WAC5D,GAAI2qB,KACJr/B,GAAGG,MAAOwN,KAAM,uBAAwBrK,KAAK,WAC5C,GAAI67B,GAAQn/B,EAAGG,MACd6J,EAAMm1B,EAAMz6B,KAAM,OAEdsF,IAAkC,KAA3BhK,EAAEs/B,QAASt1B,EAAKq1B,KAC3BA,EAAK73B,KAAMwC,GAEXhK,EAAEC,OAAO89B,SAAU/zB,GAAOsqB,KAAM6K,EAAMz6B,KAAM,QAAU1E,EAAEC,OAAOsI,GAAK,OAAQoxB,UAAU,SAMzF35B,EAAEC,OAAO2P,cAAcmJ,gBAGvB/Y,EAAEC,OAAOG,SAASmG,KAAM,WAAY,WAI9Bq3B,EACJA,EAAahC,KAAM57B,EAAEC,OAAOoM,uBAE5BrM,EAAEC,OAAOoM;GAGXrM,EAAEC,OAAOI,OAAOkG,KAAM,kBAAmBvG,EAAEC,OAAOoM,wBAInDrM,EAAG,WAAa29B,EAAiB7D,YAGJ,aAAxB15B,EAASm/B,WACb1B,IAEA79B,EAAEC,OAAOI,OAAO85B,KAAM0D,GAGvB79B,EAAEw/B,KAAM7B,EAAkB39B,EAAEC,OAAOw9B,kBAAmB7B,KAAM,WAAa57B,EAAEC,OAAOo+B,6BAC/En+B,GAGJ,SAAWF,EAAGK,GAIbL,EAAEC,OAAOw/B,WAAa,WACrBt/B,KAAKu/B,KAAKh8B,MAAOvD,KAAMwD,YAGxB3D,EAAE+B,OAAO/B,EAAEC,OAAOw/B,WAAWn4B,WAC5Bq4B,WAAY,kBAEZD,KAAM,SAAU1+B,EAAMs2B,EAAS6F,EAAKC,GACnCp9B,EAAE+B,OAAO5B,MACRa,KAAMA,EACNs2B,QAASA,EACT6F,IAAKA,EACLC,MAAOA,EACP/D,SAAU,GAAIr5B,GAAEq6B,YAIlBuF,UAAW,WACVz/B,KAAKi9B,MACHtyB,YAAa9K,EAAEC,OAAO4K,gBAAkB,mBAAqB1K,KAAKa,MAClEoL,OAAQ,KAIXyzB,aAAc,aACdC,cAAe,aACfC,eAAgB,aAEhBC,OAAQ,WACP7/B,KAAK0/B,eAEL1/B,KAAKg9B,IAAIryB,YAAa,kBAAoB3K,KAAKa,MAAOoL,OAAQ,IAE9DjM,KAAK8/B,sBAIAjgC,EAAEC,OAAOI,OAAO+X,cAAgBjY,KAAK+/B,UACzC//B,KAAKggC,aAEAhgC,KAAKigC,YACVjgC,KAAKg9B,IAAIjoB,SAAUlV,EAAEC,OAAO4K,iBAE7B1K,KAAKk5B,SAASS,QAAS35B,KAAKa,KAAMb,KAAKm3B,QAASn3B,KAAKg9B,IAAKh9B,KAAKi9B,OAAO,IAGvEiD,QAAS,SAAU9nB,EAAc+nB,EAAcC,EAAMC,GACpDrgC,KAAK2/B,gBACL3/B,KAAKsgC,QAASloB,EAAc+nB,EAAcC,EAAMC,IAGjDE,OAAQ,SAAUnrB,GAEjBpV,KAAKg9B,IAAIz7B,IAAK,UAAW,KACzB6T,EAAS9R,KAAMtD,MACfA,KAAKg9B,IAAIz7B,IAAK,UAAW,KAG1By+B,WAAY,WAGXngC,EAAEwG,MAAM+C,QAAQC,YAAYC,SAAU,GAEjCzJ,EAAEC,OAAO4O,YAAc1O,KAAK+/B,WAAalgC,EAAEC,OAAOqJ,oBACtDjJ,EAAOqJ,SAAU,EAAGvJ,KAAK+/B,UAI1B18B,WAAY,WACXxD,EAAEwG,MAAM+C,QAAQC,YAAYC,SAAU,GACpC,MAGJg3B,QAAS,SAAUloB,EAAc+nB,EAAcC,EAAMC,GACpDrgC,KAAKugC,OAAO,WACXvgC,KAAKg9B,IAAIjoB,SAAUlV,EAAEC,OAAO4K,gBAAkB1K,KAAKw/B,YAG7Ca,GACLxgC,EAAEC,OAAOs9B,UAAWp9B,KAAKg9B,KAI1Bh9B,KAAKg9B,IAAI/wB,OAAQmM,EAAepY,KAAK+/B,UAEnBK,GACFpgC,KAAKggC,eAItBhgC,KAAKg9B,IACHryB,YAAa3K,KAAKw/B,YAClBzqB,SAAU/U,KAAKa,KAAO,OAASs/B,GAE3BC,EAKLpgC,KAAK6/B,SAJL7/B,KAAKg9B,IAAIvT,kBAAmB5pB,EAAEwY,MAAM,WACnCrY,KAAK6/B,UACH7/B,QAOLwgC,SAAU,SAAUpoB,EAAc+nB,EAAcC,GAC/CpgC,KAAK4/B,eAAgBxnB,EAAc+nB,EAAcC,GAIjDpgC,KAAKi9B,MACHhxB,OAAQmM,EAAevY,EAAEC,OAAOI,OAAO+X,aACvClD,SAAU/U,KAAKa,KAAO,OAASs/B,IAGlCL,oBAAqB,WACpBjgC,EAAEC,OAAO2P,cAAcmE,YAAa,6CAA+C5T,KAAKa,OAGzFooB,WAAY,WAMX,GAAImX,GACHD,EAAengC,KAAKm3B,QAAU,WAAa,GAC3C/e,EAAevY,EAAEC,OAAOkM,kBACxBy0B,EAAwB5gC,EAAEC,OAAOkP,sBAAuB,GACvDnP,EAAEC,OAAOI,OAAOsd,QAAU3d,EAAEC,OAAOkP,kBAiBrC,OAfAhP,MAAK+/B,SAAWlgC,EAAEC,OAAOuhB,SAASjB,QAAQ0G,YAAY+O,YAAch2B,EAAEC,OAAOqJ,kBAE7Ei3B,GAAQvgC,EAAEmG,QAAQujB,iBAAmB1pB,EAAEmG,QAAQwjB,eAC9CiX,IAA0BzgC,KAAKa,MAAsB,SAAdb,KAAKa,MAC5CiI,KAAKC,IAAKlJ,EAAEC,OAAOI,OAAO+X,YAAajY,KAAK+/B,UAC3ClgC,EAAEC,OAAO4gC,4BAEX1gC,KAAK8/B,sBAEA9/B,KAAKi9B,QAAUmD,EACnBpgC,KAAKwgC,SAAUpoB,EAAc+nB,EAAcC,GAE3CpgC,KAAKkgC,QAAS9nB,EAAc+nB,EAAcC,GAAM,GAG1CpgC,KAAKk5B,SAASoB,cAGpBv6B,EAAQC,MAGZ,SAAWH,GAEVA,EAAEC,OAAO6gC,iBAAmB,WAC3B3gC,KAAKu/B,KAAKh8B,MAAMvD,KAAMwD,YAGvB3D,EAAE+B,OAAO/B,EAAEC,OAAO6gC,iBAAiBx5B,UAAWtH,EAAEC,OAAOw/B,WAAWn4B,WACjE84B,YAAY,EAEZN,cAAe,WACT3/B,KAAKi9B,OACTj9B,KAAKy/B,aAIPG,eAAgB,SAAUxnB,EAAc+nB,EAAcC,GACrDpgC,KAAKi9B,MAAMxT,kBAAkB5pB,EAAEwY,MAAM,WACpCrY,KAAKkgC,QAAS9nB,EAAc+nB,EAAcC,IACxCpgC,WAIFD,GAGJ,SAAWF,GAEVA,EAAEC,OAAO8gC,qBAAuB,WAC/B5gC,KAAKu/B,KAAKh8B,MAAMvD,KAAMwD,YAGvB3D,EAAE+B,OAAO/B,EAAEC,OAAO8gC,qBAAqBz5B,UAAWtH,EAAEC,OAAOw/B,WAAWn4B,WACrE84B,YAAY,EAEZP,aAAc,WACR1/B,KAAKi9B,OACTj9B,KAAKy/B,aAIPG,eAAgB,SAAUxnB,EAAc+nB,EAAcC,GACrDpgC,KAAKkgC,QAAS9nB,EAAc+nB,EAAcC,OAIzCrgC,GAGJ,SAAWF,GAGV,GAAIghC,GAAmC,WACtC,MAAoC,GAA7BhhC,EAAEC,OAAOkM,kBAIjBnM,GAAEC,OAAOo7B,oBACR+E,WAAcpgC,EAAEC,OAAO6gC,iBACvBG,aAAgBjhC,EAAEC,OAAO8gC,sBAI1B/gC,EAAEC,OAAOq7B,yBAA2Bt7B,EAAEC,OAAOo7B,mBAAmB+E,WAEhEpgC,EAAEC,OAAOihC,uBAGTlhC,EAAEC,OAAOm7B,wBAA0B,SAAUhS,GAK5C,MAJKA,KAAeppB,EAAEmG,QAAQya,gBAAkB5gB,EAAEC,OAAOihC,oBAAqB9X,KAC7EA,EAAappB,EAAEC,OAAOihC,oBAAqB9X,IAGrCA,GAIRppB,EAAEC,OAAO4gC,0BAA4B7gC,EAAEC,OAAO4gC,2BAA6BG,GAExE9gC,GAMJ,SAAWF,GAEXA,EAAEC,OAAOihC,oBAAoBC,KAAO,QAEhCjhC,EAAQC,MAMZ,SAAWH,GAEXA,EAAEC,OAAOihC,oBAAoBE,KAAO,QAEhClhC,EAAQC,MAMZ,SAAWH,GAEXA,EAAEC,OAAOihC,oBAAoBttB,IAAM,QAE/B1T,EAAQC,MAMZ,SAAWH,GAGXA,EAAEC,OAAOo7B,mBAAmBgG,MAAQrhC,EAAEC,OAAOo7B,mBAAmB4F,aAGhEjhC,EAAEC,OAAOihC,oBAAoBG,MAAQ,QAEjCnhC,EAAQC,MAMZ,SAAWH,GAEXA,EAAEC,OAAOihC,oBAAoBI,UAAY,QAErCphC,EAAQC,MAMZ,SAAWH,GAGXA,EAAEC,OAAOihC,oBAAoBK,UAAY,QAErCrhC,EAAQC,MAMZ,SAAWH,GAEXA,EAAEC,OAAOihC,oBAAoBM,QAAU,QAEnCthC,EAAQC,MAMZ,SAAWH,GAEXA,EAAEC,OAAOihC,oBAAoBO,KAAO,QAEhCvhC,EAAQC,MAGZ,SAAWH,GAEXA,EAAEC,OAAOyhC,eACRC,OAAO,EACPC,MAAM,EACNC,UAAU,EACVC,kBAAkB,EAClBC,OAAO,EACPC,OAAO,EACPC,QAAQ,EACRC,MAAO,SACP1hB,OAAQ,OACR2hB,KAAK,EACL3R,MAAM,EACNxmB,KAAK,EACLo4B,MAAM,GAGPpiC,EAAEC,OAAO8H,KAAKT,UAAUO,QAAQ65B,cAAgB1hC,EAAEC,OAAOyhC,cAGzD1hC,EAAEC,OAAOwN,oBAAsB,SAAUkE,GAExCA,EAAS3R,EAAG2R,GAGZA,EAAOhE,KAAM,SAAUE,IAAK7N,EAAEC,OAAO8H,KAAKT,UAAU+F,sBAAuB/J,KAAK,WAC/E,GAGC+K,GAAMg0B,EAASC,EAASC,EAHrB/hC,EAAUR,EAAGG,MAChBmF,EAAOnF,KAAK+L,aAAc,QAC1Bs2B,EAAUxiC,EAAEC,OAAOyhC,cAAep8B,IAAU,MAGxCtF,GAAEC,OAAOyhC,cAAep8B,KAC5B+I,EAAOrO,EAAG,SAAUqO,KAAM7N,EAAQiiC,SAAUp0B,OAE5Cg0B,EAAUh0B,EAAKmJ,QAAS,UAAa,GACrC8qB,EAAUD,EAAU,wBAA0B,OAC9CE,EAAS,UAAaC,EAAU,UAAaxiC,EAAEC,OAAOsI,GAAK,SAAYjD,EAAO,KAAS+8B,EAAU,GAAK,KAEtG7hC,EAAQkiC,YAAar0B,EAAKoJ,QAAS6qB,EAASC,SAM3CriC,GAEJ,SAAWF,EAAGK,EAAQC,GAEtBN,EAAEqQ,OAAQ,cAAerQ,EAAEC,OAAO8H,MACjCF,SAGC86B,SAAU,OACVC,aAAc,QACdC,aAAc,IACdC,SAAS,EACT1O,QAAQ,GAGThhB,QAAS,WACRjT,KAAK+Q,SACA/Q,KAAK0H,QAAQusB,SAEjBp0B,EAAE+B,OAAQ5B,MACT4iC,OAAQ5iC,KAAKK,QAAQkI,WACrBs6B,mBAAoB,OAGf7iC,KAAK0H,QAAQmsB,UAClB7zB,KAAK8iC,aAAc9iC,KAAK0H,QAAQ86B,YAKnC1O,SAAU,WACT9zB,KAAK+Q,SAGA/Q,KAAK0H,QAAQusB,QACjBj0B,KAAKK,QAAQ0U,SAAU,aACrBguB,UAAWljC,EAAG,UAGds0B,KAAS,SACT6O,QAAU,uCACPhjC,KAAK0H,QAAQi7B,QAAU,iBAAmB,QAKjDjvB,YAAa,SAAUhM,GACtB,GAAIu7B,GAAqBC,EACxBC,EAAcnjC,KAAK0H,OAEfA,GAAQi7B,UAAYxiC,GACxBH,KAAK4iC,OAAOhvB,YAAa,kBAAmBlM,EAAQi7B,SAGhDj7B,EAAQg7B,eAAiBviC,GACxBN,EAAEC,OAAOq2B,WAAY,KAAQn2B,KAAKK,QAAS,KAC/C8iC,EAAYT,aAAeh7B,EAAQg7B,aACnC1iC,KAAKu0B,yBAIF7sB,EAAQ+6B,eAAiBtiC,IAC7B8iC,EAAsBE,EAAYX,SAClCU,EAAkBx7B,EAAQ+6B,cAGtB/6B,EAAQ86B,WAAariC,IACzB8iC,EAAsBv7B,EAAQ86B,UAG1BS,GACJjjC,KAAK8iC,aAAcG,EAAqBC,GAGzCljC,KAAK+Q,OAAQrJ,IAGd6sB,sBAAuB,WACjBv0B,KAAK0H,QAAQg7B,cAAgB1iC,KAAK0H,QAAQusB,QAC9Cj0B,KAAKy0B,4BACLz0B,KAAKw0B,uBAAwBx0B,KAAK0H,QAAQg7B,eAE1C1iC,KAAK+Q,UAIP+xB,aAAc,SAAUhqB,EAAU7K,GACjC,GAAIm1B,GACHC,EAAMrjC,KAAK6iC,kBAGZ/pB,GAAW,SAAWA,EAAW,OAAS,UAAYA,EAAW,QAAU,OAEtE,SAAWA,EACVuqB,IACJA,EAAIh1B,SACJg1B,EAAM,MAEIA,GACXA,EAAI14B,YAAa,4BAA6BoK,SAAU,UAAY+D,GAC/D7K,GACJo1B,EAAIp1B,KAAMA,KAGXm1B,EAAMpjC,KAAK4iC,OAAOp1B,KAAM,2BAA4BuK,QACpDsrB,EAAMxjC,EAAG,WACPiB,KAAQ,IACRkiC,QAAS,iEAAmElqB,IAE5EvU,KAAM,QAAU1E,EAAEC,OAAOsI,GAAK,MAAO,QACrC6F,KAAMA,GAAQjO,KAAK0H,QAAQ+6B,cAAgB,IAC3C/jB,UAAW0kB,IAGdpjC,KAAK6iC,mBAAqBQ,MAIxBtjC,EAAQC,MAEZ,SAAWH,EAAGK,EAAQC,GAEtBN,EAAEqQ,OAAQ,iBACTxI,SAGC86B,SAAU,OACVC,aAAc,QACdC,aAAc,IACdC,SAAS,GAIVpO,sBAAuB,WACtBv0B,KAAKsjC,cAAe,EACftjC,KAAK0H,QAAQg7B,cACjB1iC,KAAKK,QACHuH,KAAM,6BACNA,KAAM,yBAA0B5H,KAAK0H,QAAQg7B,eAIjDa,sBAAuB,WACtBvjC,KAAKsjC,cAAe,GAQrBE,oBAAqB,SAAUn9B,GAC9B,GAAIo9B,GACH1sB,EAAUlX,EAAGwG,EAAMmL,QAAS1H,QAAwB,WAAfzD,EAAMlB,KAAoB,IAAM,OAEjE4R,GAAQvV,SAAWuV,EAAQhN,QAAS,gBACxC05B,KACAA,EAAO,QAAU5jC,EAAEC,OAAOsI,GAAK,eAC5BvI,EAAEC,OAAOuhB,SAASjB,QAAQ0G,iBAAkC,YAC9DjnB,EAAEC,OAAOoP,wBACVu0B,EAAO,QAAU5jC,EAAEC,OAAOsI,GAAK,aAAgB,UAC/C2O,EAAQxS,KAAMk/B,KAIhBxwB,QAAS,WACR,GAAI7P,GAAOpD,KAAKK,QACfknB,EAAOvnB,KAAK0H,OAGbtE,GAAK2R,SAAU,aACbguB,UAAWljC,EAAG,UAGds0B,KAAS,SACT6O,QAAU,uCACLzb,EAAKob,QAAU,iBAAmB,OAGzC9iC,EAAE+B,OAAQ5B,MACTsjC,cAAc,EACdV,OAAQx/B,EAAKmF,WACbs6B,mBAAoB,OAGrB7iC,KAAK4S,IAAKxP,GACTsgC,OAAQ,sBACRC,OAAQ,sBACR3P,eAAgB,wBAChBD,eAAgB,0BAGjB/zB,KAAK8iC,aAAcvb,EAAKib,WAGzB9uB,YAAa,SAAUhM,GACtB,GAAIu7B,GAAqBC,EACxBC,EAAcnjC,KAAK0H,OAEfA,GAAQi7B,UAAYxiC,GACxBH,KAAK4iC,OAAOhvB,YAAa,kBAAmBlM,EAAQi7B,SAGhDj7B,EAAQg7B,eAAiBviC,GACxBN,EAAEC,OAAOq2B,WAAY,KAAQn2B,KAAKK,QAAS,KAC/C8iC,EAAYT,aAAeh7B,EAAQg7B,aACnC1iC,KAAKu0B,yBAIF7sB,EAAQ+6B,eAAiBtiC,IAC7B8iC,EAAsBE,EAAYX,SAClCU,EAAkBx7B,EAAQ+6B,cAGtB/6B,EAAQ86B,WAAariC,IACzB8iC,EAAsBv7B,EAAQ86B,UAG1BS,GACJjjC,KAAK8iC,aAAcG,EAAqBC,GAGzCljC,KAAK+Q,OAAQrJ,IAGdo7B,aAAc,SAAUhqB,EAAU7K,GACjC,GAAIm1B,GACHC,EAAMrjC,KAAK6iC,kBAGZ/pB,GAAW,SAAWA,EAAW,OAAS,UAAYA,EAAW,QAAU,OAEtE,SAAWA,EACVuqB,IACJA,EAAIh1B,SACJg1B,EAAM,MAEIA,GACXA,EAAI14B,YAAa,4BAA6BoK,SAAU,UAAY+D,GAC/D7K,GACJo1B,EAAIp1B,KAAMA,KAGXm1B,EAAMpjC,KAAK4iC,OAAOp1B,KAAM,2BAA4BuK,QACpDsrB,EAAMxjC,EAAG,WACPs0B,KAAQ,SACRrzB,KAAQ,IACRkiC,QAAS,iEAAmElqB,IAE5E7K,KAAMA,GAAQjO,KAAK0H,QAAQ+6B,cAAgB,IAC3C/jB,UAAW0kB,GACbpjC,KAAK4S,IAAKywB,GAAOO,MAAO,WAGzB5jC,KAAK6iC,mBAAqBQ,GAI3BnoB,MAAO,WACN,GAAI2oB,GAAOhkC,EAAEC,OAAOuhB,SAASjB,OAExBpgB,MAAKsjC,eACTtjC,KAAKsjC,cAAe,EAIfzjC,EAAEC,OAAO+O,sBAAwBg1B,EAAKhd,YAAc,EACxDhnB,EAAEC,OAAO4nB,OAET7nB,EAAEC,OAAO2P,cAAcmJ,cAAe,aAMtC7Y,EAAQC,MAEZ,SAAWH,EAAGM,GAEd,GAAI2jC,GAAiB,WAGpBC,EAAe,SAAUC,GACxB,MAAS,gBAA+B,OAAZA,EAAmB,OAASA,GAG1DnkC,GAAEqQ,OAAQ,sBACTxI,SACCmsB,UAAU,EACVoQ,cAAe,KACfC,gBAAiB,KACjBC,WAAW,EACXC,QAAS,2BACTC,cAAe,KACfC,aAAc,KACdN,QAAS,KACTrsB,MAAO,KACPic,aAAc,KACd2Q,MAAO,KACP5B,QAAS,KACT6B,KAAM,MAGPvxB,QAAS,WACR,GAAI7P,GAAOpD,KAAKK,QACfsB,GACC8iC,UAAWrhC,EACT0G,QAAS,oEAEPjK,EAAEC,OAAO4kC,eAAiB,2BAC3B,KACD3vB,SAAU,sBAGd/U,MAAK2kC,IAAMhjC,EACX3B,KAAK4kC,iBAAmB5kC,KAAK6kC,YAAa7kC,KAAK0H,SAE1C1H,KAAK0H,QAAQmsB,UACjBlyB,EAAGyiC,QAAUpkC,KAAKK,QAAQkI,SAAU,2BACpC5G,EAAG61B,QAAU71B,EAAGyiC,QAAQ/tB,OACxB1U,EAAGmjC,OAASnjC,EAAGyiC,QAAQ77B,WACvB5G,EAAGojC,OAASpjC,EAAGmjC,OAAOv8B,SAAU,mCAEhCvI,KAAK8zB,SAAU1wB,EAAMzB,GAGtB3B,KAAK4S,IAAKjR,EAAGyiC,SACZjV,IAAO,WACNxtB,EAAGyiC,QAAQ52B,KAAM,KAAMuK,QAAQhD,SAAUlV,EAAEC,OAAO8K,iBAGnDg5B,MAAS,SAAUv9B,GAClBrG,KAAKglC,uBAAwBrjC,EAAGyiC,QAAQhwB,SAAU,qCAClD/N,EAAMC,iBACND,EAAMgmB,sBAMTwY,YAAa,SAAUn9B,GACtB,GAAI/B,GACH8+B,EAAYzkC,KAAK2kC,IAAIF,UACrBQ,EAAkBjlC,KAAK2kC,IAAIM,eAG5Bv9B,GAAU7H,EAAE+B,UAAY8F,GAEnB+8B,EAAUjjC,SAAWyjC,IACzBjlC,KAAK2kC,IAAIM,gBACTA,EAAkBR,EAAUxgC,KAAM,yBAGnC,KAAM0B,IAAO+B,GAKZA,EAAS/B,GACY,MAAlB+B,EAAS/B,GAAkB+B,EAAS/B,GACtC,EAAsBs/B,EAAgBv9B,QAAS/B,GAC/C8+B,EAAUjjC,OAAS3B,EAAEC,OAAOiM,aAAc04B,EAAW,GACpD9+B,EAAI2R,QAASwsB,EAAgB,OAAQnjC,eACtC,KAEI,MAAQ+G,EAAS/B,KACrB+B,EAAS/B,GAAQ9F,EAAEC,OAAOolC,YAAY9I,SAAUz2B,GAIlD,OAAO+B,IAGRy9B,sBAAuB,SAAU7b,EAAQ3iB,GACxC,MAASA,GAAoB,SAAVA,EAAmB,GAAK2iB,EAAS3iB,EAAU,IAG/DmtB,SAAU,SAAU1wB,EAAMzB,GACzB,GAAIyjC,GACH7d,EAAOvnB,KAAK4kC,iBACZS,EAAoBrlC,KAAKmlC,sBAAuB,WAAY5d,EAAKqM,aA6ClE,OA3CAxwB,GAAK2R,SAAU,mBACZwS,EAAKgd,MAAQ,wBAA0B,KACvChd,EAAKgd,OAAShd,EAAKob,QAAU,iBAAmB,KAChD0C,EAAoB,iCAAmC,KAC1D1jC,EAAG2jC,gBAAkBliC,EAAKmF,SAAUvI,KAAK0H,QAAQ08B,SAAUrsB,QAC3DpW,EAAG61B,QAAUp0B,EACX2/B,UAAW,sCAEXsC,EAAoB,YACpB98B,SAAU,2BACZ5G,EAAGyiC,QAAUziC,EAAG2jC,gBAGX3jC,EAAGyiC,QAAQhR,GAAI,YACnBzxB,EAAGyiC,QAAUvkC,EAAG,uBAAwB8B,EAAGyiC,QAAQl2B,OAAQ,UAC3DvM,EAAG4jC,YAAc1lC,EAAG,8CAA+Coc,aAActa,EAAG2jC,iBACpF3jC,EAAG2jC,gBAAgBj3B,UAGpB+2B,EAAc7d,EAAK4c,UAAc5c,EAAK8c,cAAgB,WAAa9c,EAAK8c,cAAgB,GACrF9c,EAAK+c,aAAe,WAAa/c,EAAK+c,aAAe,GAExD3iC,EAAGojC,OAASllC,EAAG,uDACf8B,EAAGmjC,OAASnjC,EAAGyiC,QACboB,SAEAzwB,SAAU,0BACVgJ,OAAQpc,EAAGojC,QACXhC,UAAW,0DACXv1B,KAAM,KACLuK,QACAhD,SAAU,WACRqwB,EAAYA,EAAY,IAAM,KAC9BA,EAAYrB,EAAcxc,EAAKyc,SAChC,IAAM,IACPhkC,KAAKmlC,sBAAuB,UAAW5d,EAAK5P,OAAU,KACpD4P,EAAKid,KAAO,WAAa,KAG9B7iC,EAAGyiC,QAAQnoB,aAActa,EAAG61B,SAE5Bx3B,KAAKglC,sBAAuBhlC,KAAK0H,QAAQy8B,WAElCxiC,GAGR8jC,QAAS,WACRzlC,KAAK0lC,cAAe1lC,KAAK0H,SACzB1H,KAAK4kC,iBAAmB5kC,KAAK6kC,YAAa7kC,KAAK0H,UAGhDg+B,cAAe,SAAUh+B,GACxB,GAAIi+B,GAAaC,EAAUC,EAAUC,EAAYC,EAChD3iC,EAAOpD,KAAKK,QACZ8iC,EAAcnjC,KAAK4kC,iBACnBjjC,EAAK3B,KAAK2kC,IACVG,EAASnjC,EAAGmjC,OACZC,EAASpjC,EAAGojC,OACZxd,EAAOvnB,KAAK6kC,YAAan9B,EAKrBA,GAAQy8B,YAAchkC,GAC1BH,KAAKglC,sBAAuBt9B,EAAQy8B,WAGrCwB,EAAcviC,EAAKgR,SAAU,4BAKxBuxB,EACCpe,EAAK0c,gBAAkB9jC,GAC3B4kC,EAAO92B,KAAMsZ,EAAK0c,eAGd1c,EAAK2c,kBAAoB/jC,GAC7B4kC,EAAO92B,KAAMsZ,EAAK2c,iBAOpB6B,EAGGxe,EAAK8c,gBAAkBlkC,EAAYonB,EAAK8c,iBAAkB,EAG3DlB,EAAYkB,iBAAkB,GAOxB9c,EAAKyc,UAAY7jC,GACxBonB,EAAK8c,gBAAkBlkC,GACvBonB,EAAK+c,eAAiBnkC,KAGtB2kC,EAAOn6B,aAAeo5B,EAAcZ,EAAYa,UAC9Cr7B,OAAUw6B,EAAYmB,cACpB,WAAanB,EAAYmB,kBAC3B37B,OAAUw6B,EAAYkB,eACpB,WAAalB,EAAYkB,mBAC3B5vB,KAAM,MAGHsxB,GACJjB,EAAO/vB,UACJgvB,EAAcxc,EAAKyc,UAAY7jC,EAChConB,EAAKyc,QAAUb,EAAYa,UAC1Br7B,OAAQg9B,GACN,YAAepe,EAAK8c,gBAAkBlkC,EACvConB,EAAK8c,cACLlB,EAAYkB,iBACX,YAAe9c,EAAK+c,eAAiBnkC,EACtConB,EAAK+c,aACLnB,EAAYmB,gBACb7vB,KAAM,OAIN8S,EAAK5P,QAAUxX,IACnB0lC,EAAW7lC,KAAKmlC,sBAAuB,UAAWhC,EAAYxrB,OAC9DiuB,EAAW5lC,KAAKmlC,sBAAuB,UAAW5d,EAAK5P,OACvDmtB,EAAOn6B,YAAak7B,GAAW9wB,SAAU6wB,IAGrCre,EAAKqM,eAAiBzzB,IAC1B0lC,EAAW7lC,KAAKmlC,sBAAuB,WACtChC,EAAYvP,cACbgS,EAAW5lC,KAAKmlC,sBAAuB,WACtC5d,EAAKqM,cACNjyB,EAAG61B,QAAQ7sB,YAAak7B,GAAW9wB,SAAU6wB,IAGzCre,EAAKgd,QAAUpkC,IACnBiD,EAAKwQ,YAAa,uBAAwB2T,EAAKgd,OAC/CuB,KAAiBve,EAAKgd,QAAWhd,EAAKob,UAAWQ,EAAYR,UAGzDpb,EAAKob,UAAYxiC,IACrB2lC,KAAiBve,EAAKob,UAAapb,EAAKgd,QAASpB,EAAYoB,QAGzDuB,IAAe3lC,GACnBiD,EAAKwQ,YAAa,gBAAiBkyB,GAG/Bve,EAAKid,OAASrkC,GAClB2kC,EAAOlxB,YAAa,UAAW2T,EAAKid,OAItC9wB,YAAa,SAAUhM,GACtB1H,KAAK0lC,cAAeh+B,GACpB1H,KAAK+Q,OAAQrJ,GACb1H,KAAK4kC,iBAAmB5kC,KAAK6kC,YAAa7kC,KAAK0H,UAGhDs9B,sBAAuB,SAAUgB,GAChC,GAAIze,GAAOvnB,KAAK4kC,iBACfjjC,EAAK3B,KAAK2kC,GAEXhjC,GAAGojC,OAAO92B,KAAM+3B,EAAaze,EAAK0c,cAAgB1c,EAAK2c,iBACvDviC,EAAGyiC,QACDxwB,YAAa,mCAAoCoyB,GACjDx4B,KAAM,KAAMuK,QACZnE,YAAa,WAAa2T,EAAK+c,cAAe0B,GAG9CpyB,YAAa,WAAa2T,EAAK8c,cAAiB2B,GAAcze,EAAK+c,eAAiB/c,EAAK8c,eACzF15B,YAAa9K,EAAEC,OAAO8K,gBAExB5K,KAAKK,QAAQuT,YAAa,2BAA4BoyB,GACtDrkC,EAAG61B,QACD5jB,YAAa,mCAAoCoyB,GACjDzhC,KAAM,cAAeyhC,GACrBx8B,QAAS,gBACXxJ,KAAK0H,QAAQy8B,UAAY6B,EACzBhmC,KAAKkT,SAAU8yB,EAAa,WAAa,WAG1CC,OAAQ,WACPjmC,KAAKglC,uBAAuB,IAG7BkB,SAAU,WACTlmC,KAAKglC,uBAAuB,IAG7B3xB,SAAU,WACT,GAAI1R,GAAK3B,KAAK2kC,IACbpd,EAAOvnB,KAAK0H,OAER6f,GAAKsM,WAILlyB,EAAG4jC,aACP5jC,EAAG2jC,gBAAgBrpB,aAActa,EAAG4jC,aACpC5jC,EAAG4jC,YAAYl3B,SACf1M,EAAGyiC,QAAQ/1B,WAEX1M,EAAGojC,OAAO12B,SACV1M,EAAGyiC,QACDz5B,YAAa,2DACbpC,WACC49B,WACCC,UAGLzkC,EAAGmjC,OAAOqB,WAAWC,SACrBzkC,EAAG61B,QAAQ2O,WAAWC,SACtBpmC,KAAKK,QACHsK,YAAa,gHASjB9K,EAAEC,OAAOolC,YAAY9I,UACpB6H,cAAe,4BACfC,gBAAiB,8BACjBG,cAAe,OACfzQ,aAAc,UACd0Q,aAAc,QACdN,QAAS,OACTO,OAAO,EACP5B,SAAS,EACThrB,MAAO,UACP6sB,MAAM,IAGHzkC,GAEJ,SAAWF,GAGX,QAASwmC,GAAe96B,GACvB,GAAI1C,GACHrH,EAAS+J,EAAS/J,OAClBwV,IAED,KAAMnO,EAAQ,EAAWrH,EAARqH,EAAgBA,IAC1B0C,EAAU1C,GAAQwC,UAAUhH,MAAOiiC,IACxCtvB,EAAO3P,KAAMkE,EAAU1C,GAIzB,OAAOhJ,GAAGmX,GAZX,GAAIsvB,GAAsB,sBAe1BzmC,GAAEC,OAAOkJ,UAAUu9B,qBAClBC,aAAc,SAAUC,EAAMl0B,GAC7B,GAAIm0B,EAWJ,OATKn0B,GACJm0B,EAAWL,EAAeI,IAE1BC,EAAWD,EAAKnlC,OAAQ,YACC,IAApBolC,EAASllC,SACbklC,EAAWL,EAAeI,KAIrBC,GAGRC,qBAAsB,SAAUF,EAAMG,EAAWr0B,GAChDk0B,EAAK97B,YAAa,gCAClBi8B,EAAUjjC,GAAI,GAAIoR,SAAU,kBAAmB8xB,MAAMC,OAAO/xB,SAAU,iBAChExC,GACLvS,KAAKK,QAAQmJ,QAAS,iBAIxBu9B,wBAAyB,SAAUN,GAClCA,EAAK97B,YAAa,mCAIhB5K,GAEJ,SAAWF,EAAGM,GAEd,GAAI6mC,GAA4B,wBAA0BnnC,EAAEC,OAAOolC,YAAYz3B,YAE/E5N,GAAEqQ,OAAQ,wBAAyBrQ,EAAE+B,QAKpC6L,aAAc,mEAEd/F,QAAS7H,EAAE+B,QACViyB,UAAU,GACRh0B,EAAEC,OAAOolC,YAAY9I,UAExB6K,yBAA0B,SAAU5gC,GACnC,GAAI6gC,GAAqBrnC,EAAGwG,EAAMmL,QAAS1H,QAAS,kBAE/Co9B,GAAmBrgC,SAASusB,GAAI,6DACpC8T,EACEC,SAAU,kDACVjC,YAAa,aAIjBjyB,QAAS,WACR,GAAI7P,GAAOpD,KAAKK,QACfknB,EAAOvnB,KAAK0H,OAEb7H,GAAE+B,OAAQ5B,MACTonC,SAAU,KAGL7f,EAAKsM,WACVzwB,EAAK2R,SAAU,sBACd/U,KAAKmlC,sBAAuB,kBAAmB5d,EAAK5P,OAAU,KAC5D4P,EAAKob,SAAWpb,EAAKgd,MAAQ,iBAAmB,KACnDvkC,KAAKK,QAAQmN,KAAM3N,EAAEC,OAAOolC,YAAYz3B,cAAey3B,eAGxDllC,KAAK4S,IAAKxP,GAAQikC,kBAAmB,8BAGtClC,sBAAuB,SAAU7b,EAAQ3iB,GACxC,MAASA,GAAoB,SAAVA,EAAmB,GAAK2iB,EAAS3iB,EAAU,IAG/D0L,MAAO,WACNrS,KAAKsnC,UAAU,GAIftnC,KAAKK,QACHkI,SAAUy+B,GACV1lC,OAAQ,+BACR4jC,YAAa,WAGhBxxB,YAAa,SAAUhM,GACtB,GAAIyP,GAAK2uB,EACR1iC,EAAOpD,KAAKK,QACZknC,EAAavnC,KAAKmlC,sBAAuB,kBAAmBz9B,EAAQiQ,MAsBrE,OApBK4vB,IACJnkC,EACEuH,YAAa3K,KAAKmlC,sBAAuB,kBAAmBnlC,KAAK0H,QAAQiQ,QACzE5C,SAAUwyB,GAGR7/B,EAAQ68B,QAAUpkC,IACtB2lC,KAAiBp+B,EAAQ68B,QAAW78B,EAAQi7B,UAAW3iC,KAAK0H,QAAQi7B,UAGhEj7B,EAAQi7B,UAAYxiC,IACxB2lC,KAAiBp+B,EAAQi7B,UAAaj7B,EAAQ68B,QAASvkC,KAAK0H,QAAQ68B,QAGhEuB,IAAe3lC,GACnBiD,EAAKwQ,YAAa,gBAAiBkyB,GAGpC3uB,EAAMnX,KAAK+Q,OAAQrJ,GACnB1H,KAAKK,QAAQkI,SAAU,uBAAwB28B,YAAa,WACrD/tB,GAGR9D,SAAU,WACT,GAAIvI,GAAK9K,KAAKK,OAEdL,MAAK+mC,wBAAyBj8B,EAAGvC,SAAUy+B,IAC3Cl8B,EACEH,YAAa,oCACb3K,KAAKmlC,sBAAuB,kBAAmBnlC,KAAK0H,QAAQiQ,QAC5DpP,SAAU,uBACV28B,YAAa,YAGhBoC,SAAU,SAAU/0B,GACnB,GAAIi1B,GAAoBxnC,KAAKK,QAAQkI,SAAUy+B,EAE/ChnC,MAAKK,QAAQmN,KAAM3N,EAAEC,OAAOolC,YAAYz3B,cAAeC,IAAK,mBAAoBw3B,cAEhFllC,KAAK2mC,qBAAsBa,EAAmBxnC,KAAKwmC,aAAcgB,EAAmBj1B,GAAUA,IAG/FkzB,QAAS,WACRzlC,KAAKsnC,UAAU,KAEdznC,EAAEC,OAAOkJ,UAAUu9B,uBAElBxmC,GAEJ,SAAWF,GAGXA,EAAEkD,GAAG6K,aAAe,WACnB,MAAO5N,MAAK+U,SAAU,sBAGnBhV,GAEJ,SAAWF,GAEXA,EAAEkD,GAAG0kC,KAAO,SAAU//B,GACrB,MAAO1H,MAAKmD,KAAK,WAEhB,GAOCukC,GACAC,EARG7Z,EAAQjuB,EAAGG,MACdouB,EAAIvuB,EAAE+B,QACL6lC,KAAM,MACJ//B,GACHkgC,EAAQ9Z,EAAMvlB,WACds/B,GAAaC,KAAK,EAAG7nB,EAAE,EAAG2K,EAAE,EAAG5f,EAAE,EAAG2Y,EAAE,GACtC8jB,EAAOrZ,EAAEqZ,IAIT,KAAMA,EACL,GAAKG,EAAMpmC,QAAU,EACpB,IAAMmmC,IAAUE,GACVA,EAAUF,KAAaC,EAAMpmC,SACjCimC,EAAOE,OAITF,GAAO,IACP3Z,EAAM/Y,SAAU,cAGlB2yB,GAAWG,EAASJ,GAErB3Z,EAAM/Y,SAAU,WAAa0yB,GAE7BG,EAAMtmC,OAAQ,cAAgBomC,EAAW,QAAS3yB,SAAU,cAEvD2yB,EAAW,GACfE,EAAMtmC,OAAQ,cAAgBomC,EAAW,QAAS3yB,SAAU,cAExD2yB,EAAW,GACfE,EAAMtmC,OAAQ,cAAgBomC,EAAW,QAAS3yB,SAAU,cAExD2yB,EAAW,GACfE,EAAMtmC,OAAQ,cAAgBomC,EAAW,QAAS3yB,SAAU,cAExD2yB,EAAW,GACfE,EAAMtmC,OAAQ,cAAgBomC,EAAW,QAAS3yB,SAAU,kBAI3DhV,GAEJ,SAAWF,EAAGM,GAEdN,EAAEqQ,OAAQ,iBACTxI,SACCs8B,QAAS,MACTyD,KAAM,MAGPx0B,QAAS,WAER,GAAI80B,GAAU/nC,KAAKK,QAClB2nC,EAAWD,EAAQv6B,KAAM,aACzBw2B,EAAUgE,EAAS1mC,OAAQ,kBAAmBE,OAASxB,KAAK0H,QAAQs8B,QAAU7jC,CAE/E4nC,GAAQhzB,SAAU,aAChBxQ,KAAM,OAAQ,cACdiJ,KAAM,MACNG,iBACA85B,MAAOA,KAAMznC,KAAK0H,QAAQ+/B,OAE5BO,EACE7kC,KAAM,WACN,GAAI8kC,GAAOpoC,EAAEC,OAAOiM,aAAc/L,KAAM,QACvC2X,EAAQ9X,EAAEC,OAAOiM,aAAc/L,KAAM,SACrCkoC,EAAU,QAENvwB,KACJuwB,GAAW,WAAavwB,GAEpBswB,IACJC,GAAW,YAAcD,EAAO,gBAAkBjE,GAEnDnkC,EAAGG,MAAO+U,SAAUmzB,KAGtBH,EAAQxzB,SAAU,IAAK,SAAU,WAChC,GAAIuD,GAAYjY,EAAGG,KAEX8X,GAAU1D,SAAU,sBAI3B0D,EAAU1D,SAAU,gBACpB0D,EAAU1D,SAAUvU,EAAEC,OAAO8K,kBAE7Bo9B,EAASr9B,YAAa9K,EAAEC,OAAO8K,gBAC/BkN,EAAU/C,SAAUlV,EAAEC,OAAO8K,gBAG7B/K,EAAGI,GAAWua,IAAK,WAAY,WAC9B1C,EAAUnN,YAAa9K,EAAEC,OAAO8K,qBAMnCm9B,EAAQj+B,QAAS,YAAa1D,KAAM,iBAAkB,WACrD4hC,EAAS1mC,OAAQ,qBAAsByT,SAAUlV,EAAEC,OAAO8K,sBAKzD7K,GAEJ,SAAWF,GAEX,GAAIsoC,GAAUtoC,EAAEC,OAAOiM,YAEvBlM,GAAEqQ,OAAQ,kBAAmBrQ,EAAE+B,QAE9B8F,SACCiQ,MAAO,KACPywB,WAAY,KACZC,aAAc,KACdJ,KAAM,UACNK,UAAW,UACXC,WAAY,KACZ5F,SAAS,EACT6F,QAAQ,EACRjE,OAAO,GAGRtxB,QAAS,WACR,GAAI0K,GAAI3d,KACPyoC,EAAkB,EAEnBA,IAAmB9qB,EAAEjW,QAAQ68B,MAAQ,qBAAuB,GAErD5mB,EAAEjW,QAAQ68B,QAChBkE,GAAmB9qB,EAAEjW,QAAQi7B,QAAU,iBAAmB,GAC1D8F,GAAmB9qB,EAAEjW,QAAQ8gC,OAAS,aAAe,IAItD7qB,EAAEtd,QAAQ0U,SAAU,eAAiB0zB,GAErC9qB,EAAE8nB,SAAS,IAIZiD,2BAA4B,SAAU9+B,EAAK++B,EAAUC,EAAQC,GAC5D,GAAIC,KAEJ,KADAA,EAAMF,GAAWE,EAAMD,IAAW,EAC1Bj/B,GAAM,CACb,GAAKk/B,EAAMl/B,EAAIlJ,UACd,MAAOkJ,EAERA,GAAMA,EAAK++B,GAEZ,MAAO,OAGRI,iBAAkB,SAAUC,GAC3B,GAAI5kC,GAAG3D,EAAK4pB,EAAM2e,EAAWxnC,MAC7B,KAAM4C,EAAI,EAAOimB,EAAJjmB,EAASA,IACrB3D,EAAMZ,EAAGG,KAAK0oC,2BAA4BM,EAAY5kC,GAAIqX,WAAY,cAAe,MAAO,QACvFhb,EAAIe,QACR3B,EAAGG,KAAK0oC,2BAA4BjoC,EAAK,GAAIG,WAAY,aAAc,KAAM,OAASmU,SAAUtU,EAAI2T,SAAU,cAAiB,iBAAmB,oBAKrJ60B,sBAAuB,SAAUr/B,EAAKg/B,EAAQC,GAC7C,GAAIK,MACHJ,IAGD,KAFAA,EAAMF,GAAWE,EAAMD,IAAW,EAClCj/B,EAAMA,EAAI6R,WACF7R,GACFk/B,EAAMl/B,EAAIlJ,WACdwoC,EAAQ7hC,KAAMuC,GAEfA,EAAMA,EAAIu/B,WAEX,OAAOtpC,GAAGqpC,IAGXE,uBAAwBvpC,EAAEuT,KAC1Bi2B,sBAAuBxpC,EAAEuT,KAEzBqyB,QAAS,SAAUlzB,GAClB,GAAI+2B,GAAaC,EAAKC,EAAOC,EAAMC,EAAWC,EAAWC,EAAU3B,EAAMhoB,EACxE4pB,EAAWC,EAAYC,EAAepjC,EAAOmgC,EAAMkD,EAAYC,EAAiBC,EAChFC,EAAgB9B,EAAc+B,EAC9Bhc,EAAIpuB,KAAK0H,QACT2iC,EAAQrqC,KAAKK,QACbiqC,IAAOzqC,EAAEa,SAAU2pC,EAAO,GAAK,MAC/BhxB,EAAQgxB,EAAM9lC,KAAM,SACpBgmC,KACAC,EAAeH,EAAM78B,KAAM,gBAC3B46B,EAAaD,EAASkC,EAAO,GAAK,eAAkBrqC,KAAK0H,QAAQ0gC,WACjEqC,EAAkBrC,EAAa,WAAaA,EAAa,iBAgB1D,KAdKha,EAAEzW,OACN0yB,EAAMt1B,SAAU,kBAAoBqZ,EAAEzW,OAIlC2yB,IAAQjxB,GAAmB,IAAVA,KACrBywB,EAAaljC,SAAUyS,EAAO,IAAO,EACrCgxB,EAAM9oC,IAAK,gBAAiB,iBAAmBuoC,IAGhD9pC,KAAKopC,yBAELgB,EAAKpqC,KAAKipC,sBAAuBoB,EAAO,GAAK,KAAM,MAE7Cd,EAAM,EAAGC,EAAQY,EAAG5oC,OAAcgoC,EAAND,EAAaA,IAC9CE,EAAOW,EAAGzmC,GAAI4lC,GACdG,EAAY,IAEPn3B,GAAUk3B,EAAM,GAAIp+B,UAAUgV,OAAQ,sCAAyC,KACnFJ,EAAIjgB,KAAKipC,sBAAuBQ,EAAM,GAAK,IAAK,KAChDI,EAA+C,iBAAjC1B,EAASsB,EAAM,GAAK,QAClC9iC,EAAQ8iC,EAAKllC,KAAM,SACnBolC,EAAYxB,EAASsB,EAAM,GAAK,SAE3BxpB,EAAEze,QAAUye,EAAG,GAAI5U,UAAUgV,OAAQ,cAAiB,IAAMwpB,GAChED,EAAWzB,EAASsB,EAAM,GAAK,QAC/BxB,EAAS2B,KAAa,GAAU,EAAUA,GAAYxb,EAAE6Z,KAGxDhoB,EAAEtV,YAAa,WAEf2+B,EAAc,SAETK,IACJL,GAAe,WAAaK,GAGxB1pB,EAAEze,OAAS,GACfkoC,EAAY,gBAEZ5C,EAAO7mB,EAAE6mB,OACTkD,EAAa7B,EAASrB,EAAM,GAAK,UAAa1Y,EAAEma,YAAcJ,EAASsB,EAAM,GAAK,SAAS,GAC3FQ,EAAkBD,EAAa,WAAaA,EAAa,GACzDE,EAAY/B,EAASrB,EAAM,GAAK,SAAYqB,EAASsB,EAAM,GAAK,SAAYrb,EAAEka,UAC9E6B,EAAiB,qCAAuCD,EAAYD,EAEpEnD,EACEviC,KAAM,QAAS1E,EAAE60B,KAAMoS,EAAK94B,mBAC5B+G,SAAUo1B,GACVO,QAGFzqB,EAAIA,EAAElI,SACKkwB,IACXqB,GAAe,8BAAgCrB,GAIhDhoB,EAAElL,SAAUu0B,IACDO,GACXxB,EAAiBF,EAASsB,EAAM,GAAK,UAAarb,EAAEia,cAAgBja,EAAEzW,MAEtE+xB,EAAY,yBAA4BrB,EAAeA,EAAe,WAEtEoB,EAAKllC,KAAM,OAAQ,YACR0b,EAAEze,QAAU,IACvBkoC,EAAY,yBAA4BC,EAAYA,EAAY,YAE5DW,GAAM3jC,IACVojC,EAAgBnjC,SAAUD,EAAQ,IAAO,EAEzC8iC,EAAKloC,IAAK,gBAAiB,iBAAmBwoC,KAS1CQ,EAAeb,KACpBa,EAAeb,OAGhBa,EAAeb,GAAYriC,KAAMoiC,EAAM,GASxC,KAAMC,IAAaa,GAClB1qC,EAAG0qC,EAAeb,IAAc30B,SAAU20B,EAG3Cc,GAAarnC,KAAM,WAClBtD,EAAGG,MAAO8J,QAAS,MAAOiL,SAAU,qBAEhC01B,GACJD,EAAa98B,IAAK,uBAAwBqH,SAAU01B,GAIrDzqC,KAAK+oC,iBAAkBqB,GACvBpqC,KAAK+oC,iBAAkBqB,EAAG58B,KAAM,YAEhCxN,KAAKqpC,wBAELrpC,KAAK2mC,qBAAsByD,EAAIpqC,KAAKwmC,aAAc4D,EAAI73B,GAAUA,KAE/D1S,EAAEC,OAAOkJ,UAAUu9B,uBAElBxmC,GAEJ,SAAWF,GAEX,QAAS8qC,GAA6BC,GAErC,GAAI38B,GAAOpO,EAAE60B,KAAMkW,EAAI38B,SAAY,IAEnC,OAAMA,GAKNA,EAAOA,EAAK2B,MAAO,EAAG,GAAI8M,cAJlB,KAST7c,EAAEqQ,OAAQ,kBAAmBrQ,EAAEC,OAAO+qC,UACrCnjC,SACCojC,cAAc,EACdC,qBAAsBJ,GAGvBvB,uBAAwB,WAClBppC,KAAK0H,QAAQojC,eACjB9qC,KAAKgrC,mBACLhrC,KAAKgR,YAAaxN,aAIpBwnC,iBAAkB,WACjB,GAAI5mC,GAAG6mC,EAAKb,EAAIc,EAGfC,EAFAC,EAAkB,KAClBC,EAAOrrC,KAAKK,OAOb,KAJAgrC,EAAK9iC,SAAU,mCAAoC8F,SAEnD48B,EAAMI,EAAK9iC,SAAU,MAEfnE,EAAI,EAAGA,EAAI6mC,EAAIzpC,OAAS4C,IAC7BgmC,EAAKa,EAAK7mC,GACV8mC,EAAclrC,KAAK0H,QAAQqjC,qBAAsBlrC,EAAGuqC,IAE/Cc,GAAeE,IAAoBF,IACvCC,EAAUlrC,EAASiG,cAAe,MAClCilC,EAAQrvB,YAAa7b,EAASqrC,eAAgBJ,IAC9CC,EAAQI,aAAc,QAAU1rC,EAAEC,OAAOsI,GAAK,OAAQ,gBACtDgiC,EAAGxpC,WAAWqb,aAAckvB,EAASf,IAGtCgB,EAAkBF,MAKjBnrC,GAEJ,SAAWF,GAEX,GAAI2rC,GAAW,4BACdC,EAAU,8BAEX5rC,GAAEqQ,OAAQ,kBAAmBrQ,EAAEC,OAAO+qC,UACrCnjC,SACCgkC,cAAc,GAGfrC,sBAAuB,WACtB,GAAIsC,GAAOC,EAAKnC,EAAMoC,GAAc,CAIpC,IAFA7rC,KAAKgR,YAAaxN,WAEbxD,KAAK0H,QAAQgkC,aAEjB,IADAC,EAAQ3rC,KAAKipC,sBAAuBjpC,KAAKK,QAAS,GAAK,KAAM,MACvDurC,EAAMD,EAAMnqC,OAAS,EAAIoqC,EAAM,GAAKA,IACzCnC,EAAOkC,EAAOC,GACTnC,EAAKp+B,UAAUhH,MAAOmnC,IACrBK,IACJpC,EAAKp+B,UAAYo+B,EAAKp+B,UAAY,qBAEnCwgC,GAAc,GAERpC,EAAKp+B,UAAUhH,MAAOonC,KAC3BI,GAAc,OAQhB9rC,GAEJ,SAAWF,GAEXA,EAAEC,OAAOsN,KAAO,SAAUoE,GACzB3R,EAAG,wBAAyB2R,GAASuD,SAAU,aAG5ChV,GAEJ,SAAWF,GAEXA,EAAEC,OAAOkJ,UAAU8iC,WAClBC,iBAAkB,WACjB/rC,KAAK4S,IAAK5S,KAAKK,QAAQyJ,QAAS,SAC/BypB,MAAO,WACNvzB,KAAK2U,OAAQ,gBAMb5U,GAMJ,SAAWF,EAAGM,GAEd,GAAI6rC,GAAWnsC,EAAEC,OAAOmK,KAAK+b,cAE7BnmB,GAAEqQ,OAAQ,uBAAwBrQ,EAAE+B,QAEnC6L,aAAc,oHAEd/F,SACCiQ,MAAO,UACP6sB,MAAM,EACNyH,aAAc,KACdpY,UAAU,EACVmQ,QAAS,QAGV/wB,QAAS,WACR,GAAIxB,GAAQzR,KAAKK,QAChB+tB,EAAIpuB,KAAK0H,QACTwkC,EAAc,SAAUz6B,EAAO06B,GAC9B,MAAO16B,GAAM1H,QAASoiC,IACrB16B,EAAM3H,QAAS,kBAAmBC,QAASoiC,IAE7CC,EAAQpsC,KAAK0H,QAAQmsB,UAEnBxzB,QAASL,KAAKK,QAAQ8mC,SAAU,SAChCkF,UAAU,GAEXrsC,KAAKssC,aACNC,EAAY96B,EAAM,GAAGtM,KACrBqnC,EAAe,MAAQD,EAAY,MACnCE,EAAiB,MAAQF,EAAY,QAEnB,aAAdA,GAA0C,UAAdA,KAI5BvsC,KAAKK,QAAQ,GAAGY,WACpBjB,KAAK0H,QAAQzG,UAAW,GAGzBmtB,EAAE4V,QAAUkI,EAAaz6B,EAAO,YAC/B26B,EAAM/rC,QAAQkE,KAAM,QAAU1E,EAAEC,OAAOsI,GAAK,YAAegmB,EAAE4V,QAG9D5V,EAAEoW,KAAO0H,EAAaz6B,EAAO,SAAY2c,EAAEoW,KAG3C3kC,EAAE+B,OAAQ5B,MACTyR,MAAOA,EACP26B,MAAOA,EAAM/rC,QACbqsC,cAAeN,EAAMC,SACrBE,UAAWA,EACXC,aAAcA,EACdC,eAAgBA,IAGXzsC,KAAK0H,QAAQmsB,UAClB7zB,KAAK8zB,WAGN9zB,KAAK4S,IAAKw5B,EAAM/rC,SACfssC,WAAY,yBACZjJ,OAAQ,uBAGT1jC,KAAK4S,IAAKnB,GACTm7B,WAAY,aACZlJ,OAAQ,qBACR1gC,MAAO,oBACP85B,KAAM,qBAGP98B,KAAK+rC,mBACL/rC,KAAKylC,YAGN6G,WAAY,WACX,GAAIO,GAAaT,EAAOC,EACvB56B,EAAQzR,KAAKK,QACbysC,EAAar7B,EAAO,GAAIs7B,MAiBzB,OAfID,IAAcA,EAAWtrC,OAAS,GACrC4qC,EAAQvsC,EAAGitC,EAAY,IACvBT,EAAWxsC,EAAEmtC,SAAUZ,EAAO,GAAK36B,EAAO,MAE1Co7B,EAAcp7B,EAAM3H,QAAS,SAC7BuiC,EAAaQ,EAAYrrC,OAAS,EAIlC4qC,EAAQC,EAAWQ,EAClBhtC,EAAGG,KAAKC,SAAU,GAAIgtC,qBAAsB,UAC1C3rC,OAAQ,SAAW0qC,EAAUv6B,EAAO,GAAI3N,IAAO,MAC/CiU,UAIH1X,QAAS+rC,EACTC,SAAUA,IAIZvY,SAAU,WACT9zB,KAAKosC,MAAMr3B,SAAU,wBAEhB/U,KAAK0sC,cACT1sC,KAAKyR,MAAMjM,IAAKxF,KAAKosC,OAAQc,QAASltC,KAAKmtC,aAG3CntC,KAAKK,QAAQ+sC,KAAMptC,KAAKmtC,YACxBntC,KAAKK,QAAQwG,SAASwmC,QAASrtC,KAAKosC,QAKrCpsC,KAAK0T,aACJiE,MAAS3X,KAAK0H,QAAQiQ,MACtBqsB,QAAWhkC,KAAK0H,QAAQs8B,QACxBQ,KAAQxkC,KAAK0H,QAAQ88B,QAKvB2I,SAAU,WACT,MAAOttC,GAAG,gBACPG,KAAK0H,QAAQukC,aAAejsC,KAAK0H,QAAQukC,aAAe,IAC1D,OAASjsC,KAAKusC,WACZvsC,KAAK0H,QAAQzG,SAAW,qBAAuB,IAAO,cAG1DqsC,kBAAmB,WAClBttC,KAAKosC,MAAMr3B,SAAUlV,EAAEC,OAAO6O,aAG/B4+B,iBAAkB,WACjBvtC,KAAKosC,MAAMzhC,YAAa9K,EAAEC,OAAO6O,aAGlC6+B,mBAAoB,WAEnBxtC,KAAKK,QAAQwQ,KAAM,UAAW7Q,KAAKK,QAAQ+yB,GAAI,aAC/CpzB,KAAKytC,eAAe//B,IAAK1N,KAAKK,SAAUwQ,KAAM,WAAW,GACzD7Q,KAAK0tC,YAAY,IAGlBC,uBAAwB,SAAUtnC,GAC5BrG,KAAKosC,MAAMvlC,SAASuN,SAAU,sBAClC/N,EAAMgmB,mBAIRuhB,mBAAoB,SAAUvnC,GAC7B,GAAIoL,GAAQzR,KAAKK,OAEjB,OAAKoR,GAAM2hB,GAAI,iBACd/sB,GAAMC,kBAIPtG,KAAK6tC,aAELp8B,EAAMZ,KAAM,UAA8B,UAAnB7Q,KAAKusC,YAAyB,IAAS96B,EAAMZ,KAAM,YAO1EY,EAAMxB,eAAgB,SAKtBjQ,KAAKytC,eAAe//B,IAAK+D,GAAQZ,KAAM,WAAW,GAElD7Q,KAAK0tC,cACE,IAGRG,WAAY,WACX7tC,KAAKytC,eAAetqC,KAAM,WACzBtD,EAAGG,MAAOuE,KAAK,QAAU1E,EAAEC,OAAOsI,GAAK,WAAYpI,KAAK8tC,YAO1DL,aAAc,WACb,GAAIloC,GAAUwoC,EACbC,EAAQhuC,KAAKK,QAAS,GACtBQ,EAAOmtC,EAAMntC,KACb49B,EAAOuP,EAAMvP,KACbh/B,EAAMO,KAAKK,QAAQe,UAAU0lC,OAAO30B,IAAK,GAGzC87B,EAASjuC,KAAKK,OAiCf,OA9BKQ,IAA2B,UAAnBb,KAAKusC,WAAyB9sC,IAC1C8F,EAAW,6BAA+BymC,EAAUnrC,GAAS,KAGxD49B,GACJsP,EAAStP,EAAK1yB,aAAc,MAIvBgiC,IACJE,EAASpuC,EAAG0F,EAAW,UAAYymC,EAAU+B,GAAW,KAAMtuC,IAI/DwuC,EAASpuC,EAAG4+B,GAAOjxB,KAAMjI,GAAWjE,OAAQ,WAI3C,MAAStB,MAAKy+B,OAASA,IACrBj5B,IAAKyoC,IAMRA,EAASpuC,EAAG0F,EAAU9F,GAAM6B,OAAQ,WACnC,OAAQtB,KAAKy+B,QAITwP,GAGRP,WAAY,SAAUQ,GACrB,GAAIn0B,GAAO/Z,IAEXA,MAAKytC,eAAetqC,KAAM,WACzB,GAAI2qB,GAAQjuB,EAAGG,OAERA,KAAK8tC,SAA8B,aAAnB/zB,EAAKwyB,WAA+B2B,GAC1DpgB,EAAMtkB,QAAS,YAGhB2kC,cAAe,YAGjBC,OAAQ,WACPpuC,KAAKylC,WAIN4I,SAAU,WACT,GAAIC,GAAcC,EACjBC,EAA0B3uC,EAAEC,OAAOwuC,YAGpC,OAAKE,KACJF,EAAetuC,KAAKK,QAAQyJ,QAC3B,wBACA0kC,EAAwBrnC,UAAUsG,cAG9B6gC,EAAa9sC,OAAS,IAG1B+sC,EAAqB1uC,EAAEoE,KAAMqqC,EAAc,GAAK,uBAMW,gBAHhDC,EAAqBA,EAAmB7mC,QAAQvC,KAG1DmpC,EAAa/pC,KAAM,QAAU1E,EAAEC,OAAOsI,GAAK,WAKvC,GAGRq9B,QAAS,WACR,GAAIgJ,GAAYzuC,KAAKK,QAAS,GAAIytC,QACjCtY,EAAS31B,EAAEC,OAAO8K,eAClBm5B,EAAe,eAAiB/jC,KAAK0H,QAAQs8B,QAC7C0K,KACAC,IAEI3uC,MAAKquC,YACTM,EAActnC,KAAMmuB,GACpBkZ,EAAWrnC,KAAM08B,KAEjB4K,EAActnC,KAAM08B,IAClB0K,EAAYC,EAAaC,GAAgBtnC,KAAMmuB,IAG7CiZ,GACJC,EAAWrnC,KAAMrH,KAAKwsC,cACtBmC,EAActnC,KAAMrH,KAAKysC,kBAEzBiC,EAAWrnC,KAAMrH,KAAKysC,gBACtBkC,EAActnC,KAAMrH,KAAKwsC,eAG1BxsC,KAAKkQ,SAAS0D,YAAa,oBAAqB5T,KAAKK,QAAQwQ,KAAM,aAEnE7Q,KAAKosC,MACHr3B,SAAU25B,EAAWj6B,KAAM,MAC3B9J,YAAagkC,EAAcl6B,KAAM,OAGpCvE,OAAQ,WACP,MAAOlQ,MAAKosC,MAAMvlC,UAGnB6M,YAAa,SAAUhM,GACtB,GAAI0kC,GAAQpsC,KAAKosC,MAChBwC,EAAiB5uC,KAAK0H,QACtBm3B,EAAQ7+B,KAAKkQ,SACb61B,EAAU/lC,KAAKquC,UAEX3mC,GAAQzG,WAAad,IACzBH,KAAKyR,MAAMZ,KAAM,aAAcnJ,EAAQzG,UACvC49B,EAAMjrB,YAAa,sBAAuBlM,EAAQzG,WAE9CyG,EAAQ88B,OAASrkC,GACrB0+B,EAAMjrB,YAAa,YAAalM,EAAQ88B,MAEpC98B,EAAQiQ,QAAUxX,GACtBisC,EACEzhC,YAAa,UAAYikC,EAAej3B,OACxC5C,SAAU,UAAYrN,EAAQiQ,OAE5BjQ,EAAQukC,eAAiB9rC,GAC7B0+B,EACEl0B,YAAaikC,EAAe3C,cAC5Bl3B,SAAUrN,EAAQukC,cAEhBvkC,EAAQs8B,UAAY7jC,GAAa4lC,EACrCqG,EAAMzhC,YAAa,eAAiBikC,EAAe5K,SAAUjvB,SAAU,eAAiBrN,EAAQs8B,SACpF+B,GACZqG,EAAMzhC,YAAa,eAAiBikC,EAAe5K,SAEpDhkC,KAAK+Q,OAAQrJ,KAGZ7H,EAAEC,OAAOkJ,UAAU8iC,aAElB/rC,GAEJ,SAAWF,EAAGM,GAEdN,EAAEqQ,OAAQ,iBAETzC,aAAc,kEAEd/F,SACCiQ,MAAO,KACPswB,KAAM,KACNjE,QAAS,OACT6K,YAAY,EACZlM,SAAS,EACT6F,QAAQ,EACRsG,OAAQ,KACRtK,KAAM,KACNyH,aAAc,KACdpY,UAAU,GAGX5gB,QAAS,WAEHjT,KAAKK,QAAQ+yB,GAAI,eACrBpzB,KAAK0H,QAAQzG,UAAW,GAGnBjB,KAAK0H,QAAQmsB,UAClB7zB,KAAK8zB,WAGNj0B,EAAE+B,OAAQ5B,MACT+uC,QAAS/uC,KAAKK,QAAQwG,WAGvB7G,KAAK4S,KACJ5P,MAAO,WACNhD,KAAKkQ,SAAS6E,SAAUlV,EAAEC,OAAO6O,aAGlCmuB,KAAM,WACL98B,KAAKkQ,SAASvF,YAAa9K,EAAEC,OAAO6O,eAItC3O,KAAKylC,SAAS,IAGf3R,SAAU,WACT9zB,KAAKK,QAAQ+sC,KAAMptC,KAAKgvC,YAGzBA,QAAS,WACR,GAAItnC,GAAU1H,KAAK0H,QAClBunC,EAAcjvC,KAAKkvC,gBAAiBlvC,KAAK0H,QAE1C,OAAO7H,GAAE,mCACN6H,EAAQukC,aAAe,IAAMvkC,EAAQukC,aAAe,KACpDvkC,EAAQiQ,MAAQ,WAAajQ,EAAQiQ,MAAQ,KAC7CjQ,EAAQi7B,QAAU,iBAAmB,KACrCj7B,EAAQ8gC,OAAS,aAAe,KAChC9gC,EAAQonC,OAAS,iBAAmB,KACpCpnC,EAAQ88B,KAAO,WAAa,KAC5B98B,EAAQzG,SAAW,qBAAuB,KAC1CguC,EAAgB,IAAMA,EAAgB,IACxC,MAAQjvC,KAAKK,QAAQ4Z,MAAQ,WAG/B/J,OAAQ,WACP,MAAOlQ,MAAK+uC,SAGb17B,SAAU,WACRrT,KAAKK,QAAQ4b,aAAcjc,KAAK+uC,SAChC/uC,KAAK+uC,QAAQ1gC,UAGf6gC,gBAAiB,SAAUxnC,GAC1B,MAASA,GAAQugC,KAAS,WAAavgC,EAAQugC,MAC5CvgC,EAAQmnC,WAAa,kBAAoB,IAC3C,gBAAkBnnC,EAAQs8B,QAAY,IAGxCtwB,YAAa,SAAUhM,GACtB,GAAIm3B,GAAQ7+B,KAAKkQ,QAEZxI,GAAQiQ,QAAUxX,GACtB0+B,EACEl0B,YAAa3K,KAAK0H,QAAQiQ,OAC1B5C,SAAU,UAAYrN,EAAQiQ,OAE5BjQ,EAAQi7B,UAAYxiC,GACxB0+B,EAAMjrB,YAAa,gBAAiBlM,EAAQi7B,SAExCj7B,EAAQ8gC,SAAWroC,GACvB0+B,EAAMjrB,YAAa,YAAalM,EAAQ8gC,QAEpC9gC,EAAQonC,SAAW3uC,GACvB0+B,EAAMjrB,YAAa,gBAAiBlM,EAAQonC,QAExCpnC,EAAQ88B,OAASrkC,GACrB0+B,EAAMjrB,YAAa,UAAWlM,EAAQ88B,MAElC98B,EAAQzG,WAAad,IACzBH,KAAKK,QAAQwQ,KAAM,WAAYnJ,EAAQzG,UACvC49B,EAAMjrB,YAAa,oBAAqBlM,EAAQzG,YAG5CyG,EAAQugC,OAAS9nC,GACpBuH,EAAQmnC,aAAe1uC,GACvBuH,EAAQs8B,UAAY7jC,IACrB0+B,EACEl0B,YAAa3K,KAAKkvC,gBAAiBlvC,KAAK0H,UACxCqN,SAAU/U,KAAKkvC,gBACfrvC,EAAE+B,UAAY5B,KAAK0H,QAASA,KAG/B1H,KAAK+Q,OAAQrJ,IAGd+9B,QAAS,SAAUlzB,GAClB,GAAI48B,GACHC,EAAapvC,KAAKK,QAAQwQ,KAAM,WAE5B7Q,MAAK0H,QAAQugC,MAAiC,WAAzBjoC,KAAK0H,QAAQs8B,SAAwBhkC,KAAKK,QAAQkE,KAAM,UACjFvE,KAAKK,QAAQkE,KAAM,QAASvE,KAAKK,QAAQ4Z,OAEpC1H,IACL48B,EAAkBnvC,KAAKK,QAAQmlC,SAC/B3lC,EAAGG,KAAK+uC,SAAU9gC,KAAMjO,KAAKK,QAAQ4Z,OAAQ8D,OAAQoxB,IAEjDnvC,KAAK0H,QAAQzG,WAAamuC,GAC9BpvC,KAAK0T,aAAczS,SAAUmuC,QAK5BrvC,GAEH,SAAUF,GACV,GAAIwvC,GAAOxvC,EAAG,uBACbm4B,EAAiBqX,EAAK9qC,KAAM,WAC5B+qC,EAAetX,EAAiB,qCAChCuX,EAAcvX,EAAiB,uCAC/BwX,EAAoB,iEAAiExuC,KAAMg3B,EAE5Fn4B,GAAEC,OAAO2vC,KAAO5vC,EAAE+B,WACjB0H,SAAUkmC,EACVE,QAAQ,EACR57B,QAAS,SAAU67B,GACZH,GAAsB3vC,EAAEC,OAAO2vC,KAAKC,SACzCL,EAAK9qC,KAAM,UAAW+qC,GACtBzvC,EAAEC,OAAO2vC,KAAKnmC,SAAU,EACxBzJ,EAAEC,OAAO2vC,KAAKC,OAASC,IAAQ,IAGjC97B,OAAQ,SAAU+7B,GACXJ,GAAwB3vC,EAAEC,OAAO2vC,KAAKC,QAAUE,KAAW,IAChEP,EAAK9qC,KAAM,UAAWgrC,GACtB1vC,EAAEC,OAAO2vC,KAAKnmC,SAAU,EACxBzJ,EAAEC,OAAO2vC,KAAKC,QAAS,IAGzBG,QAAS,WACFL,IACLH,EAAK9qC,KAAM,UAAWyzB,GACtBn4B,EAAEC,OAAO2vC,KAAKnmC,SAAU,OAKzBvJ,GAEH,SAAWF,EAAGM,GAEdN,EAAEqQ,OAAQ,oBACTzC,aAAc,iYAoBd/F,SACCiQ,MAAO,KACPgrB,SAAS,EACT6B,MAAM,EAENsL,iBAAkB,mBAAmB9uC,KAAM8E,UAAUoZ,WAAcpZ,UAAUC,UAAUsR,QAAS,eAAkB,GAClH40B,aAAc,GACdpY,UAAU,GAGX5gB,QAAS,WAER,GAAIvL,GAAU1H,KAAK0H,QAClBqoC,EAAW/vC,KAAKK,QAAQ+yB,GAAI,4CAC5B4c,EAA2C,aAA9BhwC,KAAKK,QAAS,GAAI4vC,QAC/BC,EAAUlwC,KAAKK,QAAQ+yB,GAAI,UAAavzB,EAAEC,OAAOsI,IAAM,IAAO,iBAC9D+nC,GAAoBnwC,KAAKK,QAAQ+yB,GAAI,UACpCpzB,KAAKK,QAAQ+yB,GAAI,UAAavzB,EAAEC,OAAOsI,IAAM,IAAO,qBAClD8nC,CAEClwC,MAAKK,QAAQwQ,KAAM,cACvBnJ,EAAQzG,UAAW,GAGpBpB,EAAE+B,OAAQ5B,MACTkoC,QAASloC,KAAKowC,sBACdL,SAAUA,EACVC,WAAYA,EACZE,QAASA,EACTC,eAAgBA,IAGjBnwC,KAAKqwC,eAEC3oC,EAAQmsB,UACb7zB,KAAK8zB,WAGN9zB,KAAK4S,KACJ5P,MAAS,eACT85B,KAAQ,iBAKV2I,QAAS,WACRzlC,KAAKswC,YACJrvC,SAAajB,KAAKK,QAAQ+yB,GAAI,gBAIhCU,SAAU,WACT,GAAIyc,KAECvwC,MAAKgwC,YACTO,EAAelpC,KAAM,kBAGjBrH,KAAKgwC,YAAchwC,KAAKkwC,UAC5BK,EAAelpC,KAAM,mBAIjBrH,KAAKmwC,eACTnwC,KAAKK,QAAQ+sC,KAAMptC,KAAKwwC,SAExBD,EAAiBA,EAAe5nC,OAAQ3I,KAAKkoC,SAG9CloC,KAAKK,QAAQ0U,SAAUw7B,EAAe97B,KAAM,OAG7CvE,OAAQ,WACP,MAASlQ,MAAoB,eAAIA,KAAKK,QAAQwG,SAAW7G,KAAKK,SAG/D+vC,oBAAqB,WACpB,GAAI1oC,GAAU1H,KAAK0H,QAClBwgC,IAgBD,OAdAA,GAAQ7gC,KAAM,YAAmC,OAAlBK,EAAQiQ,MAAmB,UAAYjQ,EAAQiQ,QACzEjQ,EAAQi7B,SACZuF,EAAQ7gC,KAAM,iBAEVK,EAAQ88B,MACZ0D,EAAQ7gC,KAAM,WAEVK,EAAQzG,UACZinC,EAAQ7gC,KAAM,qBAEVK,EAAQukC,cACZ/D,EAAQ7gC,KAAMK,EAAQukC,cAGhB/D;EAGRsI,MAAO,WACN,MAAO3wC,GAAG,gBACPG,KAAK+vC,SAAW,mBAAqB,kBACvC/vC,KAAKkoC,QAAQzzB,KAAM,KAAQ,6BAI7B47B,aAAc,WAS+B,mBAAhCrwC,MAAKK,QAAQ,GAAGowC,aAC1B5wC,EAAEmG,QAAQwa,gBAIXxgB,KAAKK,QAAQ,GAAGkrC,aAAc,cAAe,OAC7CvrC,KAAKK,QAAQ,GAAGkrC,aAAc,eAAgB,SAIhDmF,YAAa,WACZ1wC,KAAKkQ,SAASvF,YAAa9K,EAAEC,OAAO6O,YAC/B3O,KAAK0H,QAAQooC,kBACjBjwC,EAAEC,OAAO2vC,KAAK57B,QAAQ,IAIxB88B,aAAc,WAGR3wC,KAAK0H,QAAQooC,kBACjBjwC,EAAEC,OAAO2vC,KAAK37B,SAAS,GAExB9T,KAAKkQ,SAAS6E,SAAUlV,EAAEC,OAAO6O,aAGlC+E,YAAa,SAAWhM,GACvB,GAAIm3B,GAAQ7+B,KAAKkQ,QAEjBlQ,MAAK+Q,OAAQrJ,IAELA,EAAQzG,WAAad,GAC5BuH,EAAQ88B,OAASrkC,GACjBuH,EAAQi7B,UAAYxiC,GACpBuH,EAAQiQ,QAAUxX,GAClBuH,EAAQukC,eAAiB9rC,KAEzB0+B,EAAMl0B,YAAa3K,KAAKkoC,QAAQzzB,KAAM,MACtCzU,KAAKkoC,QAAUloC,KAAKowC,sBACpBvR,EAAM9pB,SAAU/U,KAAKkoC,QAAQzzB,KAAM,OAG/B/M,EAAQzG,WAAad,GACzBH,KAAKK,QAAQwQ,KAAM,aAAcnJ,EAAQzG,WAI3CoS,SAAU,WACJrT,KAAK0H,QAAQmsB,WAGb7zB,KAAKmwC,gBACTnwC,KAAKK,QAAQ+lC,SAEdpmC,KAAKK,QAAQsK,YAAa,iBAAmB3K,KAAKkoC,QAAQzzB,KAAM,WAI9D1U,GAEJ,SAAWF,EAAGM,GAEdN,EAAEqQ,OAAQ,gBAAiBrQ,EAAE+B,QAC5B6L,aAAc,uEAEd0D,kBAAmB,QAEnBzJ,SACCiQ,MAAO,KACPi5B,WAAY,KACZjO,SAAS,EACT6B,MAAM,EACNqM,WAAW,GAGZ59B,QAAS,WAGR,GAyBCvL,GACAqnC,EACA1lB,EAAG7nB,EACH4C,EAAG0sC,EAAcC,EACjB9rC,EAAM+rC,EAAaC,EA7BhBl3B,EAAO/Z,KACVkxC,EAAUlxC,KAAKK,QACfuwC,EAAa5wC,KAAK0H,QAAQkpC,YAAc/wC,EAAEC,OAAOiM,aAAcmlC,EAAS,GAAK,SAC7EC,EAAkBP,EAAa,WAAaA,EAAa,kBACzDQ,EAAgBpxC,KAAK0H,QAAQi7B,SAAWuO,EAAQnnC,QAAS,WAAgB,iBAAmB,GAC5FsnC,EAAcrxC,KAAK0H,QAAQ88B,MAAQ0M,EAAQnnC,QAAS,QAAa,WAAa,GAC9EunC,EAAQJ,EAAS,GAAIxwC,SAASC,cAC9B4wC,EAA6B,WAAVD,EACnBE,EAAgBN,EAAQrqC,SAASusB,GAAI,gCACrCqe,EAAc,EAAqB,mBAAqB,GACxDC,EAAYR,EAAQ3sC,KAAM,MAC1BotC,EAAS9xC,EAAG,SAAW6xC,EAAY,MACnCE,EAAUD,EAAOptC,KAAM,OAAUmtC,EAAY,SAC7CG,EAAON,EAAuD,EAAtCrsC,WAAYgsC,EAAQ3sC,KAAM,QAClDwE,EAAQwoC,EAAuDL,EAAQ1jC,KAAM,UAAWhM,OAAO,EAAtE0D,WAAYgsC,EAAQ3sC,KAAM,QACnDutC,EAAO5xC,EAAOgF,WAAYgsC,EAAQ3sC,KAAM,SAAY,GACpDwtC,EAAY9xC,EAASiG,cAAe,KACpC8rC,EAASnyC,EAAGkyC,GACZE,EAAYhyC,EAASiG,cAAe,OACpCgsC,EAASryC,EAAGoyC,GACZE,EAAUnyC,KAAK0H,QAAQmpC,YAAcU,EAAiB,WACrD,GAAIa,GAAKnyC,EAASiG,cAAe,MAEjC,OADAksC,GAAG/mC,UAAY,gBAAkBxL,EAAEC,OAAO8K,eACnC/K,EAAGuyC,GAAK1zB,UAAWwzB,OACpB,CA0CR,IAnCAP,EAAOptC,KAAM,KAAMqtC,GACnB5xC,KAAKuxC,eAAiBA,EAEtBQ,EAAUxG,aAAc,OAAQ,KAChC0G,EAAU1G,aAAc,OAAQ,eAChC0G,EAAU5mC,WAAcrL,KAAKuxC,eAAiB,6CAA+C,mCAAoCE,EAAaN,EAAiBC,EAAaC,GAAY58B,KAAM,IAC9Ls9B,EAAU1mC,UAAY,mBACtB4mC,EAAUn2B,YAAai2B,GAEvBC,EAAOztC,MACN4vB,KAAQ,SACRke,gBAAiBR,EACjBS,gBAAiBvpC,EACjBwpC,gBAAiBvyC,KAAKwyC,SACtBC,iBAAkBzyC,KAAKwyC,SACvB33B,MAAS7a,KAAKwyC,SACdE,kBAAmBd,IAGpB/xC,EAAE+B,OAAQ5B,MACTkyC,OAAQA,EACRF,OAAQA,EACRd,QAASA,EACT/rC,KAAMmsC,EACNQ,KAAMA,EACN/oC,IAAKA,EACL8oC,IAAKA,EACLM,QAASA,EACTX,cAAeA,EACfmB,UAAU,EACVC,YAAa,KACbC,cAAc,EACdC,YAAY,IAGRvB,EAAiB,CAcrB,IAZAR,EAAeG,EAAQ3sC,KAAM,YACxBwsC,GACJiB,EAAOztC,KAAM,WAAYwsC,GAE1BG,EAAQ3sC,KAAM,WAAY,MAAOvB,MAAM,WACtCnD,EAAGG,MAAO88B,OACVkV,EAAOhvC,UAGR+rC,EAAU9uC,EAASiG,cAAe,OAClC6oC,EAAQ1jC,UAAY,wBAEdge,EAAI,EAAG7nB,EAASywC,EAAUc,WAAWvxC,OAAYA,EAAJ6nB,EAAYA,IAC9D0lB,EAAQjzB,YAAam2B,EAAUc,WAAW1pB,GAY3C,KATA4oB,EAAUn2B,YAAaizB,GAKvBiD,EAAOj9B,SAAU,6BAEjBrN,EAAUwpC,EAAQ1jC,KAAM,UAElBpJ,EAAI,EAAG0sC,EAAeppC,EAAQlG,OAAYsvC,EAAJ1sC,EAAkBA,IAC7Da,EAAQb,EAAU,IAAN,IACZ4sC,EAAe5sC,EAAS,IAAMvE,EAAEC,OAAO8K,eAApB,GACnBqmC,EAAYhxC,EAASiG,cAAe,QAEpC+qC,EAAU5lC,WAAc,mCAAoCpG,EAAM+rC,GAAcv8B,KAAM,IACtFw8B,EAAU1F,aAAc,OAAQ,OAChC0F,EAAUn1B,YAAa7b,EAASqrC,eAAgB5jC,EAAQtD,GAAG4X,YAC3Dnc,EAAGoxC,GAAYvyB,UAAWwzB,EAG3Bn4B,GAAKi5B,QAAUnzC,EAAG,mBAAoBqyC,GAKvChB,EAAQn8B,SAAUw8B,EAAiB,mBAAqB,mBAExDvxC,KAAK4S,IAAKs+B,GACT1a,OAAU,iBACVyc,MAAS,gBACTnW,KAAQ,eACRoW,SAAY,qBAGbhB,EAAO9rC,KAAM,aAAcvG,EAAEwY,MAAOrY,KAAKmzC,kBAAmBnzC,OAC1DoG,KAAM,UAAU,GAIlBpG,KAAK4S,IAAK3S,GAAYmzC,WAAc,yBACpCpzC,KAAK4S,IAAKs/B,EAAO1sC,IAAKvF,IAAcizC,SAAY,oBAEhDhB,EAAOz3B,YAAay2B,GAGdK,GAAmBC,IACxBzC,EAAU/uC,KAAK0H,QAAQ88B,KAAO,kCAAoC,0BAElE0M,EAAQ1rC,IAAK0sC,GAAShF,QAAS6B,IAIhC/uC,KAAK4S,IAAK5S,KAAKgyC,QACdpF,WAAc,oBACdyG,QAAW,iBACXJ,MAAS,iBAGVjzC,KAAKgyC,OAAO5rC,KAAM,UAAU,GAE5BpG,KAAK+rC,mBAEL/rC,KAAKylC,QAAStlC,EAAWA,GAAW,IAGrCuT,YAAa,SAAUhM,GACjBA,EAAQiQ,QAAUxX,GACtBH,KAAKszC,UAAW5rC,EAAQiQ,OAGpBjQ,EAAQkpC,aAAezwC,GAC3BH,KAAKuzC,eAAgB7rC,EAAQkpC,YAGzBlpC,EAAQi7B,UAAYxiC,GACxBH,KAAKwzC,YAAa9rC,EAAQi7B,SAGtBj7B,EAAQ88B,OAASrkC,GACrBH,KAAKyzC,SAAU/rC,EAAQ88B,MAGnB98B,EAAQmpC,YAAc1wC,GAC1BH,KAAK0zC,cAAehsC,EAAQmpC,WAGxBnpC,EAAQzG,WAAad,GACzBH,KAAK2zC,aAAcjsC,EAAQzG,UAE5BjB,KAAK+Q,OAAQrJ,IAGdksC,eAAgB,SAAUvtC,GAEzB,MAAKrG,MAAKkT,SAAU,gBAAiB7M,MAAY,GACzC,OAEFrG,KAAK8yC,YACV9yC,KAAKylC,QAASzlC,KAAKwyC,UAAU,KAI/BqB,cAAe,WACd7zC,KAAKylC,QAASzlC,KAAKwyC,UAAU,GAAM,IAGpCsB,aAAc,WACb9zC,KAAKylC,QAASzlC,KAAKwyC,UAAU,IAM9BuB,iBAAkB,WACjB/zC,KAAKg0C,mBAINC,kBAAmB,WAClBj0C,KAAKgyC,OAAOhvC,SAGbkxC,eAAgB,SAAU7tC,GACzB,GAAIwC,GAAQ7I,KAAKwyC,QACjB,KAAKxyC,KAAK0H,QAAQzG,SAAlB,CAKA,OAASoF,EAAMvE,SACd,IAAKjC,GAAEC,OAAOgC,QAAQQ,KACtB,IAAKzC,GAAEC,OAAOgC,QAAQK,IACtB,IAAKtC,GAAEC,OAAOgC,QAAQW,QACtB,IAAK5C,GAAEC,OAAOgC,QAAQU,UACtB,IAAK3C,GAAEC,OAAOgC,QAAQgB,GACtB,IAAKjD,GAAEC,OAAOgC,QAAQa,MACtB,IAAK9C,GAAEC,OAAOgC,QAAQI,KACtB,IAAKrC,GAAEC,OAAOgC,QAAQS,KACrB8D,EAAMC,iBAEAtG,KAAKm0C,cACVn0C,KAAKm0C,aAAc,EACnBn0C,KAAKgyC,OAAOj9B,SAAU,oBAOzB,OAAS1O,EAAMvE,SACd,IAAKjC,GAAEC,OAAOgC,QAAQQ,KACrBtC,KAAKylC,QAASzlC,KAAK6xC,IACnB,MACD,KAAKhyC,GAAEC,OAAOgC,QAAQK,IACrBnC,KAAKylC,QAASzlC,KAAK+I,IACnB,MACD,KAAKlJ,GAAEC,OAAOgC,QAAQW,QACtB,IAAK5C,GAAEC,OAAOgC,QAAQgB,GACtB,IAAKjD,GAAEC,OAAOgC,QAAQa,MACrB3C,KAAKylC,QAAS58B,EAAQ7I,KAAK8xC,KAC3B,MACD,KAAKjyC,GAAEC,OAAOgC,QAAQU,UACtB,IAAK3C,GAAEC,OAAOgC,QAAQI,KACtB,IAAKrC,GAAEC,OAAOgC,QAAQS,KACrBvC,KAAKylC,QAAS58B,EAAQ7I,KAAK8xC,SAK9BsC,aAAc,WACRp0C,KAAKm0C,cACTn0C,KAAKm0C,aAAc,EACnBn0C,KAAKgyC,OAAOrnC,YAAa,qBAI3BwoC,kBAAmB,SAAU9sC,GAG5B,MAAKrG,MAAK0H,QAAQzG,UAA+B,IAAhBoF,EAAMkkB,OAA+B,IAAhBlkB,EAAMkkB,OAAelkB,EAAMkkB,QAAUpqB,GACnF,EAEHH,KAAKkT,SAAU,cAAe7M,MAAY,GACvC,GAERrG,KAAK2yC,UAAW,EAChB3yC,KAAK6yC,cAAe,EACpB7yC,KAAK8yC,YAAa,EAEb9yC,KAAKuxC,iBACTvxC,KAAK4yC,YAAc5yC,KAAKK,QAAQ,GAAGg0C,eAGpCr0C,KAAKylC,QAASp/B,GACdrG,KAAKkT,SAAU,UACR,IAGRohC,gBAAiB,WAChB,MAAKt0C,MAAK2yC,UACT3yC,KAAK2yC,UAAW,EAEX3yC,KAAKuxC,iBAETvxC,KAAKgyC,OAAOj9B,SAAU,6BAKpB/U,KAAKylC,QAHFzlC,KAAK8yC,WAEJ9yC,KAAK6yC,aAC0B,IAArB7yC,KAAK4yC,YAAoB,EAAI,EAE7B5yC,KAAK4yC,YAIe,IAArB5yC,KAAK4yC,YAAoB,EAAI,IAI7C5yC,KAAK8yC,YAAa,EAClB9yC,KAAKkT,SAAU,SACR,GAtBR,QA0BDqhC,qBAAsB,SAAUluC,GAG9B,MAAKrG,MAAKkT,SAAU,OAAQ7M,MAAY,GAChC,EAEHrG,KAAK2yC,WAAa3yC,KAAK0H,QAAQzG,UAGnCjB,KAAK8yC,YAAa,EAEb9yC,KAAKuxC,gBAETvxC,KAAKgyC,OAAOrnC,YAAa,6BAG1B3K,KAAKylC,QAASp/B,GAGdrG,KAAK6yC,aAAe7yC,KAAK4yC,cAAgB5yC,KAAKK,QAAQ,GAAGg0C,eAClD,GAdR,QAkBFL,gBAAiB,WACXh0C,KAAK2G,QAAU3G,KAAKwyC,UACxBxyC,KAAKylC,QAASzlC,KAAKwyC,WAIrBA,OAAQ,WACP,MAAQxyC,MAAKuxC,eAAiBvxC,KAAKK,QAAQ,GAAGg0C,cAAgBnvC,WAAYlF,KAAKK,QAAQ4Z,QAGxFm0B,OAAQ,WACPpuC,KAAKylC,QAAStlC,GAAW,GAAO,IAGjCslC,QAAS,SAAUxrB,EAAKu6B,EAAeC,GAItC,GAQCC,GAAMl3B,EAAOvZ,EAAM0wC,EACnBC,EAAQC,EACR3D,EAAS4D,EAASC,EAAgBlD,EAAK9oC,EAAK+oC,EAC5CkD,EAAQC,EAAYC,EAAYC,EAChCC,EAAeC,EAAUC,EACzBC,EAbGx7B,EAAO/Z,KACVw1C,EAAc31C,EAAEC,OAAOiM,aAAc/L,KAAKK,QAAS,GAAK,SACxDsX,EAAQ3X,KAAK0H,QAAQiQ,OAAS69B,EAC9BjO,EAAc5vB,EAAQ,WAAaA,EAAQ,GAC3Ci5B,EAAa5wC,KAAK0H,QAAQkpC,YAAc4E,EACxCrE,EAAkBP,EAAa,WAAaA,EAAa,kBACzDQ,EAAcpxC,KAAK0H,QAAQi7B,QAAU,iBAAmB,GACxD0O,EAAYrxC,KAAK0H,QAAQ88B,KAAO,WAAa,EA+B9C,IAvBAzqB,EAAKm4B,OAAO,GAAG7mC,WAAcrL,KAAKuxC,eAAiB,6DAA+D,kCAAmCJ,EAAiBC,EAAaC,GAAY58B,KAAM,KAChMzU,KAAK0H,QAAQzG,UAAYjB,KAAKK,QAAQwQ,KAAM,cAChD7Q,KAAK8T,UAIN9T,KAAK2G,MAAQ3G,KAAKwyC,SACbxyC,KAAK0H,QAAQmpC,YAAc7wC,KAAKuxC,gBAAiE,IAA/CvxC,KAAKkyC,OAAO1kC,KAAM,iBAAkBhM,SAC1FxB,KAAKmyC,QAAU,WACd,GAAIC,GAAKnyC,EAASiG,cAAe,MAEjC,OADAksC,GAAG/mC,UAAY,gBAAkBxL,EAAEC,OAAO8K,eACnC/K,EAAGuyC,GAAK1zB,UAAW3E,EAAKm4B,YAGjClyC,KAAKgyC,OAAOj9B,SAAU,SAAWwyB,EAAa,cAE9C2J,EAAUlxC,KAAKK,QACfy0C,GAAW90C,KAAKuxC,eAChBwD,EAAiBD,KAAe5D,EAAQ1jC,KAAM,UAC9CqkC,EAAOiD,EAAU5vC,WAAYgsC,EAAQ3sC,KAAM,QAAY,EACvDwE,EAAM+rC,EAAU5vC,WAAYgsC,EAAQ3sC,KAAM,QAAYwwC,EAAevzC,OAAS,EAC9EswC,EAASgD,GAAW5vC,WAAYgsC,EAAQ3sC,KAAM,SAAa,EAAMW,WAAYgsC,EAAQ3sC,KAAM,SAAa,EAEpF,gBAAR0V,GAAmB,CAQ9B,GAPAhW,EAAOgW,EAEP06B,EAAM,EAEND,EAAO10C,KAAKkyC,OAAOh6B,SAASw8B,KAC5Bl3B,EAAQxd,KAAKkyC,OAAO10B,QACpBo3B,EAASp3B,IAAQzU,EAAI8oC,GAAKC,IACpB9xC,KAAK2yC,UACT1uC,EAAK0oB,MAAQ+nB,EAAOC,GACpB1wC,EAAK0oB,MAAQ+nB,EAAOl3B,EAAQm3B,EAC7B,MAGAE,GADID,EAAS,GACC3wC,EAAK0oB,MAAQ+nB,GAASl3B,EAAU,IAEpC1U,KAAK2sC,OAAWxxC,EAAK0oB,MAAQ+nB,GAASl3B,EAAU,SAG/C,OAAPvD,IACJA,EAAM66B,EAAU5vC,WAAYgsC,EAAQj3B,OAAS,GAAMi3B,EAAQ,GAAGmD,eAE/DQ,GAAY3vC,WAAY+U,GAAQ43B,IAAU9oC,EAAM8oC,GAAQ,GAGzD,KAAKvtC,MAAOuwC,KAIZG,EAAWH,EAAU,KAAU9rC,EAAM8oC,GAAQA,EAG7CoD,GAAeD,EAASnD,GAAQC,EAChCoD,EAAaF,EAASC,EAEQ,EAAzBnsC,KAAKqkB,IAAK8nB,IAAoBnD,IAClCoD,GAAgBD,EAAa,EAAMnD,GAAUA,GAG9CqD,EAAiB,MAAMpsC,EAAI8oC,GAAKC,GAGhCkD,EAAS9vC,WAAYgwC,EAAWQ,QAAQ,IAEjB,mBAAXd,KACXA,EAASp3B,IAAWzU,EAAI8oC,GAAOC,IAE3B8C,EAAS,GAAKE,IAClBD,GAAYG,EAASnD,GAAQsD,GAAmB,EAAIrD,IAEtC,EAAV+C,IACJA,EAAU,GAGNA,EAAU,MACdA,EAAU,KAGGhD,EAATmD,IACJA,EAASnD,GAGLmD,EAASjsC,IACbisC,EAASjsC,GAGV/I,KAAKgyC,OAAOzwC,IAAK,OAAQszC,EAAU,KAEnC70C,KAAKgyC,OAAO,GAAGzG,aAAc,gBAAiBuJ,EAAUE,EAASD,EAAepxC,GAAIqxC,GAASzwC,KAAM,UAEnGvE,KAAKgyC,OAAO,GAAGzG,aAAc,iBAAkBuJ,EAAUE,EAASD,EAAepxC,GAAIqxC,GAAShnC,kBAE9FhO,KAAKgyC,OAAO,GAAGzG,aAAc,QAASuJ,EAAUE,EAASD,EAAepxC,GAAIqxC,GAAShnC,kBAEhFhO,KAAKmyC,SACTnyC,KAAKmyC,QAAQ5wC,IAAK,QAASszC,EAAU,KAIjC70C,KAAKgzC,UACToC,EAAgBp1C,KAAKgyC,OAAOx0B,QAAUxd,KAAKkyC,OAAO10B,QAAU,IAC5D63B,EAAWR,GAAWO,GAAkB,IAAMA,GAAkBP,EAAU,IAC1ES,EAAuB,MAAZT,EAAkB,EAAI/rC,KAAK+oC,IAAKuD,EAAgB,IAAMC,EAAU,KAE3Er1C,KAAKgzC,QAAQ7vC,KAAK,WACjB,GAAIwyC,GAAK91C,EAAGG,MAAOoU,SAAU,oBAC7BvU,GAAGG,MAAOwd,OAASm4B,EAAKN,EAAWC,GAAc,SAI7Cb,GAAqB,CAW1B,GAVAc,GAAe,EAGVT,GACJS,EAAerwC,WAAYgsC,EAAQj3B,SAAY+6B,EAC/C9D,EAAQj3B,IAAK+6B,KAEbO,EAAerE,EAAS,GAAImD,gBAAkBW,EAC9C9D,EAAS,GAAImD,cAAgBW,GAEzBh1C,KAAKkT,SAAU,eAAgB+G,MAAU,EAC5C,OAAO,GAEHu6B,GAAiBe,GACtBrE,EAAQ1nC,QAAS,YAKpBkqC,cAAe,SAAU/sC,GACxBA,IAAUA,EACLA,GACJ3G,KAAK0H,QAAQmpC,YAAclqC,EAC3B3G,KAAKylC,WACMzlC,KAAKmyC,UAChBnyC,KAAKmyC,QAAQ9jC,SACbrO,KAAKmyC,SAAU,IAIjBmB,UAAW,SAAU3sC,GACpB3G,KAAKgyC,OACHrnC,YAAa,UAAY3K,KAAK0H,QAAQiQ,OACtC5C,SAAU,UAAYpO,EAExB,IAAIivC,GAAe51C,KAAK0H,QAAQiQ,MAAQ3X,KAAK0H,QAAQiQ,MAAQ,UAC5DiuB,EAAWj/B,EAAQA,EAAQ,SAE5B3G,MAAKkxC,QACHvmC,YAAa,WAAairC,GAC1B7gC,SAAU,WAAa6wB,IAG1B2N,eAAgB,SAAU5sC,GACzB,GAAIkvC,GAAoB71C,KAAK0H,QAAQkpC,WAAa5wC,KAAK0H,QAAQkpC,WAAa,UAC3EkF,EAAgBnvC,EAAQA,EAAQ,SAEjC3G,MAAKkyC,OACHvnC,YAAa,WAAakrC,GAC1B9gC,SAAU,WAAa+gC,IAG1BrC,SAAU,SAAU9sC,GACnBA,IAAUA,EACJ3G,KAAKuxC,gBAAmBvxC,KAAKwxC,gBAClCxxC,KAAKkyC,OAAOrrC,SAAS+M,YAAa,UAAWjN,GAC7C3G,KAAKK,QAAQuT,YAAa,UAAWjN,IAEtC3G,KAAKkyC,OAAOt+B,YAAa,UAAWjN,IAGrC6sC,YAAa,SAAU7sC,GACtB3G,KAAKkyC,OAAOt+B,YAAa,gBAAiBjN,GAEpC3G,KAAKuxC,gBACVvxC,KAAKkxC,QAAQt9B,YAAa,gBAAiBjN,IAI7CgtC,aAAc,SAAUhtC,GACvBA,IAAUA,EACV3G,KAAKK,QAAQwQ,KAAM,WAAYlK,GAC/B3G,KAAKkyC,OACHt+B,YAAa,oBAAqBjN,GAClCpC,KAAM,gBAAiBoC,GAEzB3G,KAAKK,QAAQuT,YAAa,oBAAqBjN,KAG9C9G,EAAEC,OAAOkJ,UAAU8iC,aAElB/rC,GAEJ,SAAWF,GAIX,QAASk2C,KAMR,MALMC,KACLA,EAAQn2C,EAAG,eACVmjC,QAAS,6CAGJgT,EAAM1T,QARd,GAAI0T,EAWJn2C,GAAEqQ,OAAQ,gBAAiBrQ,EAAEC,OAAOoyC,QACnCxqC,SACCuuC,cAAc,EACdC,WAAW,GAGZjjC,QAAS,WACRjT,KAAK+Q,SAELlR,EAAE+B,OAAQ5B,MACTm2C,cAAe,KACfC,OAAQ,KACRC,eAAe,IAGhBr2C,KAAK2T,WAAY,eAAgB3T,KAAK0H,QAAQuuC,cAE9Cj2C,KAAK4S,IAAK5S,KAAKgyC,QAAUpF,WAAe,eACxC5sC,KAAK4S,IAAK5S,KAAKkyC,OAAO1sC,IAAKxF,KAAKC,WAAcizC,SAAa,eAC3DlzC,KAAKsnC,YAINgP,eAAgB,WACf,GAAIC,GAAYv2C,KAAKgyC,OAAO95B,QAE5BlY,MAAKo2C,OAAOl+B,QACXw8B,KAAM6B,EAAU7B,MAAS10C,KAAKgyC,OAAOx0B,QAAUxd,KAAKo2C,OAAO54B,SAAY,EACvExF,IAAKu+B,EAAUv+B,IAAMhY,KAAKo2C,OAAO9wC,cAAgB,KAInDqO,WAAY,SAAUhO,EAAKgB,GAC1B3G,KAAK+Q,OAAQpL,EAAKgB,GAEL,cAARhB,EACJ3F,KAAKgyC,OAAO9jC,KAAMvH,IAAU3G,KAAK0H,QAAQ88B,KAAOxkC,KAAKwyC,SAAW,IAC7C,iBAAR7sC,GACNgB,IAAU3G,KAAKo2C,SACnBp2C,KAAKo2C,OAASL,IACZhhC,SAAU,YAAe/U,KAAK0H,QAAQiQ,OAAS,MAC/ClC,OACAwG,aAAcjc,KAAKK,WAMxBolC,QAAS,WACRzlC,KAAK+Q,OAAOxN,MAAOvD,KAAMwD,WACzBxD,KAAKsnC,YAGNA,SAAU,WACT,GAAsBkP,GAAlBpoB,EAAIpuB,KAAK0H,OAER0mB,GAAE6nB,cAKNj2C,KAAKgyC,OAAOhuC,WAAY,SAGzBwyC,EAAWx2C,KAAKwyC,SACXgE,IAAax2C,KAAKm2C,gBAGvBn2C,KAAKm2C,cAAgBK,EAEhBpoB,EAAE6nB,cAAgBj2C,KAAKo2C,SAC3Bp2C,KAAKs2C,iBACLt2C,KAAKo2C,OAAOloC,KAAMsoC,IAGdpoB,EAAE8nB,YAAcl2C,KAAK0H,QAAQ88B,MACjCxkC,KAAKgyC,OAAO9jC,KAAMsoC,KAIpBC,WAAY,WACNz2C,KAAK0H,QAAQuuC,eAAiBj2C,KAAKq2C,gBACvCr2C,KAAKgyC,OAAO9jC,KAAM,IAClBlO,KAAKo2C,OAAO5gC,OACZxV,KAAKs2C,iBACLt2C,KAAKq2C,eAAgB,IAIvBK,WAAY,WACX,GAAItoB,GAAIpuB,KAAK0H,OAER0mB,GAAE6nB,cAAgBj2C,KAAKq2C,gBACtBjoB,EAAE8nB,YAAc9nB,EAAEoW,MACtBxkC,KAAKgyC,OAAO9jC,KAAMlO,KAAKwyC,UAExBxyC,KAAKo2C,OAAO3gC,OACZzV,KAAKq2C,eAAgB,OAKpBt2C,GAEJ,SAAWF,EAAGM,GAEdN,EAAEqQ,OAAQ,oBAAqBrQ,EAAE+B,QAEhC8F,SACCivC,OAAQ,KACRC,QAAS,MACTj/B,MAAO,KACPkc,UAAU,EACVoY,aAAc,KACdtJ,SAAS,EACT6B,MAAM,GAGPvxB,QAAS,WACDjT,KAAK0H,QAAQmsB,SAGlBh0B,EAAE+B,OAAQ5B,MACT62C,WAAY72C,KAAKK,QAAQwG,SACzBsa,GAAInhB,KAAKK,QAAQmN,KAAM,qBAAsB7J,GAAI,GACjDyd,IAAKphB,KAAKK,QAAQmN,KAAM,sBAAuB7J,GAAG,GAClDwB,KAAMnF,KAAKK,QAAQ8R,IAAK,GAAI89B,UAN7BjwC,KAAK8zB,WAUN9zB,KAAK+rC,mBAGL/rC,KAAK82C,kBAAoB92C,KAAKK,QAAQkE,KAAM,YACb,MAA1BvE,KAAK82C,mBACT92C,KAAKmhB,GAAG5c,KAAM,WAAYvE,KAAK82C,mBAEhC92C,KAAKK,QAAQkE,KAAM,WAAY,MAC/BvE,KAAK4S,KACJ5P,MAAU,sBAGNhD,KAAKK,QAAQ+yB,GAAI,cACrBpzB,KAAK0T,aACJzS,UAAY,IAIdjB,KAAK4S,IAAK5S,KAAK62C,YACdjT,MAAS,UACTzS,UAAa,QACbC,WAAc,WAGfpxB,KAAK4S,IAAK5S,KAAKmhB,IACdkyB,QAAW,aAGZrzC,KAAK4S,KACJ4jB,OAAU,aAIb8W,kBAAmB,WAClBttC,KAAKmhB,GAAGne,SAGTkN,OAAQ,WACP,MAAOlQ,MAAK62C,YAGbE,MAAO,WACN/2C,KAAK62C,WAAWlsC,YAAa,wBACV,WAAd3K,KAAKmF,KACTnF,KAAKK,QAAQ8R,IAAK,GAAIkiC,cAAgB,EAEtCr0C,KAAKK,QAAQwQ,KAAM,WAAW,GAE/B7Q,KAAKK,QAAQmJ,QAAS,WAGvBwtC,OAAQ,WACPh3C,KAAK62C,WAAW9hC,SAAU,wBACP,WAAd/U,KAAKmF,KACTnF,KAAKK,QAAQ8R,IAAK,GAAIkiC,cAAgB,EAEtCr0C,KAAKK,QAAQwQ,KAAM,WAAW,GAE/B7Q,KAAKK,QAAQmJ,QAAS,WAGvBsqB,SAAU,WACT,GAAI+iB,GAAah3C,EAAG,SACnB6H,EAAU1H,KAAK0H,QACfrH,EAAUL,KAAKK,QACfsX,EAAQjQ,EAAQiQ,MAAQjQ,EAAQiQ,MAAQ,UAGxCwJ,EAAKthB,EAAG,WACPiB,KAAQ,MAETsgB,EAAMvhB,EAAG,iBACTsF,EAAO9E,EAAQ8R,IAAK,GAAI89B,QACxB0G,EAAoB,UAATxxC,EACVuC,EAAQivC,OAASt2C,EAAQmN,KAAM,UAAW7J,GAAI,GAAIsK,OACnD2oC,EAAqB,UAATzxC,EACXuC,EAAQkvC,QAAUv2C,EAAQmN,KAAM,UAAW7J,GAAI,GAAIsK,MAEpDkT,GACEpM,SAAU,oDACV9G,KAAM0oC,GACRv1B,EACErM,SAAU,qBACV9G,KAAM2oC,GAERC,EACE9hC,SAAU,wCACE4C,EAAQ,KAClBjQ,EAAQukC,aAAevkC,EAAQukC,aAAe,IAAO,KACnD5rC,EAAQ+yB,GAAI,aACf/yB,EACEmN,KAAM,UACN7J,GAAI,GACJyvB,GAAI,aAAkB,uBAAyB,KAChD/yB,EAAQ+yB,GAAG,aAAe,qBAAsB,KAChD1rB,EAAQi7B,QAAU,iBAAkB,KACpCj7B,EAAQ88B,KAAO,WAAY,KAC7BzmB,OAAQoD,EAAIC,GAEd/gB,EACE0U,SAAU,uBACVkiC,MAAOJ,GACPl+B,SAAUk+B,GAEbh3C,EAAE+B,OAAQ5B,MACT62C,WAAYA,EACZ11B,GAAIA,EACJC,IAAKA,EACLjc,KAAMA,KAIRipC,OAAQ,WACPpuC,KAAKylC,WAGNA,QAAS,WACR,GAAI1c,GACHmuB,EAAoBl3C,KAAK62C,WAAWziC,SAAU,wBAA2B,SAAW,OAGpF2U,GADkB,WAAd/oB,KAAKmF,KACKnF,KAAKK,QAAQ8R,IAAK,GAAIkiC,cAAgB,EAAM,SAAU,QAExDr0C,KAAKK,QAAQwQ,KAAM,WAAc,SAAU,QAGnDkY,IAAcmuB,GAClBl3C,KAAM+oB,MAIRouB,QAAS,WACR,GAAIpuB,GAAY/oB,KAAK62C,WAAWziC,SAAU,wBAA2B,QAAU,QAE/EpU,MAAM+oB,MAGPquB,SAAU,SAAUlsC,GACdA,EAAEqf,QAAU1qB,EAAEC,OAAOgC,QAAQS,KACjCvC,KAAK+2C,QACM7rC,EAAEqf,QAAU1qB,EAAEC,OAAOgC,QAAQa,MACxC3C,KAAKg3C,SACM9rC,EAAEqf,QAAU1qB,EAAEC,OAAOgC,QAAQc,QACxC5C,KAAKm3C,UACLjsC,EAAE5E,mBAIJoN,YAAa,SAAUhM,GACtB,GAAKA,EAAQiQ,QAAUxX,EAAY,CAClC,GAAIy1C,GAAeluC,EAAQiQ,MAAQjQ,EAAQiQ,MAAQ,UAClDiuB,EAAWl+B,EAAQiQ,MAAQjQ,EAAQiQ,MAAQ,SAE5C3X,MAAKkQ,SACHvF,YAAa,UAAYirC,GACzB7gC,SAAU,UAAY6wB,GAEpBl+B,EAAQivC,SAAWx2C,GACvBH,KAAKmhB,GAAGlT,KAAMvG,EAAQivC,QAElBjvC,EAAQkvC,UAAYz2C,GACxBH,KAAKohB,IAAInT,KAAMvG,EAAQkvC,SAEnBlvC,EAAQzG,WAAad,GACzBH,KAAKkQ,SAAS0D,YAAa,oBAAqBlM,EAAQzG,UAEpDyG,EAAQ88B,OAASrkC,GACrBH,KAAKkQ,SAAS0D,YAAa,UAAWlM,EAAQ88B,MAE1C98B,EAAQi7B,UAAYxiC,GACxBH,KAAKkQ,SAAS0D,YAAa,gBAAiBlM,EAAQi7B,SAGrD3iC,KAAK+Q,OAAQrJ,IAGd2L,SAAU,WACJrT,KAAK0H,QAAQmsB,WAGa,MAA1B7zB,KAAK82C,kBACT92C,KAAKK,QAAQkE,KAAM,WAAYvE,KAAK82C,mBAEpC92C,KAAKK,QAAQ2D,WAAY,YAE1BhE,KAAKmhB,GAAG9S,SACRrO,KAAKohB,IAAI/S,SACTrO,KAAKK,QAAQ+lC,SACbpmC,KAAK62C,WAAWxoC,SAChBrO,KAAK2K,YAAa,0BAGjB9K,EAAEC,OAAOkJ,UAAU8iC,aAElB/rC,GAEJ,SAAWF,EAAGM,GACbN,EAAEqQ,OAAQ,qBAAsBrQ,EAAE+B,QAEjC8F,SACCiQ,MAAO,KACPi5B,WAAY,KACZjO,SAAS,EACT6B,MAAM,EACNqM,WAAW,GAGZ59B,QAAS,WACR,GAAIokC,GAAMr3C,KAAKK,QACfi3C,EAAUt3C,KAAK0H,QAAQ88B,KAAO,yBAA2B,iBACzD+S,EAAcF,EAAI7pC,KAAM,SAAUuK,QAClCy/B,EAAaH,EAAI7pC,KAAM,SAAUs5B,OACjC2Q,EAASJ,EAAI7pC,KAAM,SAAUuK,QAC7B2/B,EAAqB73C,EAAEoE,KAAMszC,EAAYplC,IAAK,GAAK,kBAClDtS,EAAEoE,KAAMszC,EAAYrF,SAAS//B,IAAK,GAAK,iBACxCwlC,EAAoB93C,EAAEoE,KAAMuzC,EAAWrlC,IAAI,GAAI,kBAC9CtS,EAAEoE,KAAMuzC,EAAWtF,SAAS//B,IAAK,GAAK,iBACvCylC,EAAeF,EAAmBxF,OAClC2F,EAAcF,EAAkBzF,OAChC4F,EAAcJ,EAAmB1F,OACjC+F,EAAWl4C,EAAG,0CAA2C8Y,SAAU0+B,EAEnEE,GAAYxiC,SAAU,wBACtByiC,EAAWziC,SAAU,uBACrBsiC,EAAItiC,SAAUuiC,GAEdM,EAAaj/B,SAAUo/B,GACvBF,EAAYl/B,SAAUo/B,GACtBN,EAAOx7B,aAAco7B,GACrBS,EAAYp5B,UAAWm5B,GAEvBh4C,EAAE+B,OAAQ5B,MACTu3C,YAAaA,EACbC,WAAYA,EACZI,aAAcA,EACdC,YAAaA,EACbJ,OAAQA,EACRO,WAAY,KACZC,eAAe,EACfF,SAAUA,EACVG,QAAQ,IAGTl4C,KAAKylC,UACLzlC,KAAK4S,IAAK5S,KAAKK,QAAQmN,KAAM,0BAC5B2qC,iBAAoB,oBACpBC,UAAa,aACbC,UAAa,aACbC,kBAAqB,UACrBxb,KAAQ,UACRmW,MAAS,YAEVjzC,KAAK4S,KACJ2lC,UAAY,YAEbv4C,KAAK4S,IAAK5S,KAAKK,QAAQyJ,QAAS,SAC/BypB,MAAQ,iBAETvzB,KAAK4S,IAAKklC,GACTlL,WAAc,sBAGhB4L,aAAc,WACb,GAAIz+B,GAAO/Z,IAEXqD,YAAY,WACX0W,EAAK0+B,oBACJ,IAGHC,iBAAkB,SAAUryC,GAK3B,MAHAxG,GAAEoE,KAAMjE,KAAKu3C,YAAYplC,IAAI,GAAI,iBAAkBwgC,UAAW,EAC9D9yC,EAAEoE,KAAMjE,KAAKu3C,YAAYplC,IAAI,GAAI,iBAAkBszB,QAASp/B,GAC5DxG,EAAEoE,KAAMjE,KAAKu3C,YAAYplC,IAAI,GAAI,iBAAkBe,SAAU,UACtD,GAGRylC,WAAY,SAAUtyC,GACrB,GAAI0R,GAAQlY,EAAGwG,EAAMmL,QAAS4hB,GAAIpzB,KAAKu3C,aACtCqB,EAAc,EAAY54C,KAAKw3C,WAAax3C,KAAKu3C,WAKlD,OAHAv3C,MAAKi4C,eAAgB,EAGE,UAAhBj4C,KAAKk4C,QAAsBngC,GAA6B,SAAhB/X,KAAKk4C,SAAsBngC,GACzElY,EAAEoE,KAAM20C,EAAYzmC,IAAI,GAAI,iBAAkBwgC,UAAW,EACzD9yC,EAAEoE,KAAM20C,EAAYzmC,IAAI,GAAI,iBAAkBszB,QAASp/B,IAChD,GAHR,QAODwyC,WAAY,SAAUxyC,GACrB,GAAI0R,GAAQlY,EAAGwG,EAAMmL,QAAS4hB,GAAIpzB,KAAKu3C,YAEvCv3C,MAAKk4C,QAAS,EAGdl4C,KAAKK,QAAQmN,KAAM,SAAUhE,QAAS,YACtCxJ,KAAK43C,aAAar2C,IAAK,UAAWwW,EAAQ,EAAI,KAG/C+gC,kBAAmB,SAAUzyC,GAC5BrG,KAAKi4C,eAAgB,EAEhBp4C,EAAGwG,EAAMiP,cAAc9D,QAAS4C,SAAU,qBAC9CpU,KAAKi4C,eAAgB,EACrBj4C,KAAKg4C,WAAan4C,EAAGwG,EAAMmL,QAASyI,QAItCvG,YAAa,SAAUhM,GACjBA,EAAQiQ,QAAUxX,GACtBH,KAAKszC,UAAW5rC,EAAQiQ,OAGpBjQ,EAAQkpC,aAAezwC,GAC3BH,KAAKuzC,eAAgB7rC,EAAQkpC,YAGzBlpC,EAAQ88B,OAASrkC,GACrBH,KAAKyzC,SAAU/rC,EAAQ88B,MAGnB98B,EAAQmpC,YAAc1wC,GAC1BH,KAAK0zC,cAAehsC,EAAQmpC,WAGxBnpC,EAAQzG,WAAad,GACzBH,KAAK2zC,aAAcjsC,EAAQzG,UAG5BjB,KAAK+Q,OAAQrJ,GACb1H,KAAKylC,WAGNA,QAAS,WACR,GAAI4R,GAAMr3C,KAAKK,QACd+tB,EAAIpuB,KAAK0H,SAEL1H,KAAKu3C,YAAYnkB,GAAI,cAAiBpzB,KAAKw3C,WAAWpkB,GAAI,gBAC9DpzB,KAAK0H,QAAQzG,UAAW,GAGzBo2C,EAAI7pC,KAAM,SAAU0kC,QACnBv6B,MAAOyW,EAAEzW,MACTi5B,WAAYxiB,EAAEwiB,WACd3vC,SAAUmtB,EAAEntB,SACZ0hC,QAASvU,EAAEuU,QACX6B,KAAMpW,EAAEoW,KACRqM,UAAWziB,EAAEyiB,YACXqB,OAAQ,WACXlyC,KAAKy4C,oBAGNM,QAAS,SAAU1yC,GAClB,GAAoB,UAAfA,EAAMlB,KAEV,MADAnF,MAAKy4C,oBACE,CAGR,IAAI1+B,GAAO/Z,KACV6xC,EAAM3sC,WAAYlF,KAAKu3C,YAAYt9B,MAAO,IAC1ClR,EAAM7D,WAAYlF,KAAKw3C,WAAWv9B,MAAO,IACzClC,EAAQlY,EAAGwG,EAAMmL,QAAS4C,SAAU,wBACpC4kC,EAAajhC,EAAQ/X,KAAKu3C,YAAcv3C,KAAKw3C,WAC7CoB,EAAc7gC,EAAQ/X,KAAKw3C,WAAax3C,KAAKu3C,WAE9C,IAAOv3C,KAAKu3C,YAAYt9B,MAAQja,KAAKw3C,WAAWv9B,OAAwB,cAAf5T,EAAMlB,OAAyBtF,EAAEwG,EAAMmL,QAAQ4C,SAAS,oBAChH4kC,EAAWlc,WACL,IAAoB,cAAfz2B,EAAMlB,KACjB,MA8BD,OA5BK0sC,GAAM9oC,IAAQ/I,KAAKi4C,eAEvBe,EAAW/+B,IAAKlC,EAAQhP,EAAK8oC,GAAMK,OAAQ,WAC3ClyC,KAAKkT,SAAU,cACJ2+B,EAAM9oC,IAEjBiwC,EAAW/+B,IAAKja,KAAKg4C,YAAa9F,OAAQ,WAG1C7uC,WAAY,WACXu1C,EAAY3+B,IAAKlC,EAAQ85B,EAAK9oC,GAAMmpC,OAAQ,WAC5CryC,EAAEoE,KAAM20C,EAAYzmC,IAAI,GAAI,iBAAkB6/B,OAAOhvC,QACrD+W,EAAK69B,aAAar2C,IAAK,UAAWwW,EAAQ,GAAK,GAC/CgC,EAAK7G,SAAU,cACb,GACHlT,KAAKk4C,OAAS,EAAY,QAAU,QAGhCrG,IAAQ9oC,GACZlJ,EAAEoE,KAAM+0C,EAAW7mC,IAAI,GAAI,iBAAkB6/B,OAAOzwC,IAAK,UAAW,GACpE1B,EAAEoE,KAAM20C,EAAYzmC,IAAI,GAAI,iBAAkB6/B,OAAOzwC,IAAK,UAAW,KAErE1B,EAAEoE,KAAM20C,EAAYzmC,IAAI,GAAI,iBAAkB6/B,OAAOzwC,IAAK,UAAW,IACrE1B,EAAEoE,KAAM+0C,EAAW7mC,IAAI,GAAI,iBAAkB6/B,OAAOzwC,IAAK,UAAW,KAGrEvB,KAAKy4C,mBAEA5G,GAAO9oC,GACJ,EADR,QAKD0vC,iBAAkB,WACjB,GAAI5G,GAAMjrC,SAAU/G,EAAEoE,KAAMjE,KAAKu3C,YAAYplC,IAAI,GAAI,iBAAkB6/B,OAAO7/B,IAAI,GAAGW,MAAM4hC,KAAM,IAChG3rC,EAAMnC,SAAU/G,EAAEoE,KAAMjE,KAAKw3C,WAAWrlC,IAAI,GAAI,iBAAkB6/B,OAAO7/B,IAAI,GAAGW,MAAM4hC,KAAM,IAC5Fl3B,EAASzU,EAAM8oC,CAEhB7xC,MAAKK,QAAQmN,KAAM,iBAAkBjM,KACpC03C,cAAepH,EAAM,IACrBr0B,MAASA,EAAQ,OAInB81B,UAAW,SAAU3sC,GACpB3G,KAAKu3C,YAAYrF,OAAQ,SAAU,QAASvrC,GAC5C3G,KAAKw3C,WAAWtF,OAAQ,SAAU,QAASvrC,IAG5C4sC,eAAgB,SAAU5sC,GACzB3G,KAAKu3C,YAAYrF,OAAQ,SAAU,aAAcvrC,GACjD3G,KAAKw3C,WAAWtF,OAAQ,SAAU,aAAcvrC,IAGjD8sC,SAAU,SAAU9sC,GACnB3G,KAAKu3C,YAAYrF,OAAQ,SAAU,OAAQvrC,GAC3C3G,KAAKw3C,WAAWtF,OAAQ,SAAU,OAAQvrC,GAC1C3G,KAAKK,QAAQuT,YAAa,YAAajN,IAGxC+sC,cAAe,SAAU/sC,GACxB3G,KAAKu3C,YAAYrF,OAAQ,SAAU,YAAavrC,GAChD3G,KAAKw3C,WAAWtF,OAAQ,SAAU,YAAavrC,IAGhDgtC,aAAc,SAAUhtC,GACvB3G,KAAKu3C,YAAY1mC,KAAM,WAAYlK,GACnC3G,KAAKw3C,WAAW3mC,KAAM,WAAYlK,IAGnC0M,SAAU,WACTrT,KAAKy3C,OAAO/4B,UAAW1e,KAAKK,SAC5BL,KAAKK,QAAQsK,YAAa,0BAC1B3K,KAAKu3C,YAAYN,MAAOj3C,KAAK43C,cAC7B53C,KAAKw3C,WAAWP,MAAOj3C,KAAK63C,aAC5B73C,KAAK+3C,SAAS1pC,SACdrO,KAAKK,QAAQmN,KAAM,SAAU7C,YAAa,4CAA6CunC,OAAQ,aAG9FryC,EAAEC,OAAOkJ,UAAU8iC,aAEnB/rC,GAEJ,SAAWF,EAAGM,GAEbN,EAAEqQ,OAAQ,mBAAoBrQ,EAAEC,OAAOo5C,WACtCxxC,SACCyxC,UAAU,EACVC,aAAc,cAGfnmC,QAAS,WACRjT,KAAK+Q,SAEA/Q,KAAK+vC,WACT/vC,KAAK0H,QAAQyxC,UAAW,GAGlBn5C,KAAK0H,QAAQyxC,UAAYn5C,KAAKmwC,gBACpCnwC,KAAKq5C,gBAIPC,YAAa,WACZ,MAAOz5C,GAAG,mIAGP0E,KAAM,QAASvE,KAAK0H,QAAQ0xC,cAC5BnrC,KAAMjO,KAAK0H,QAAQ0xC,eAGvBG,eAAgB,SAAUlzC,GACzBrG,KAAKK,QAAQ4Z,IAAK,IACfjX,QACAwG,QAAS,UAEZxJ,KAAKw5C,UAAUzkC,SAAU,yBACzB1O,EAAMC,kBAGP+yC,aAAc,WAEPr5C,KAAK0H,QAAQmsB,UAClB7zB,KAAKy5C,gBAGN55C,EAAE+B,OAAQ5B,MACTw5C,UAAWx5C,KAAKkQ,SAAS1C,KAAK,sBAG/BxN,KAAK05C,mBAEL15C,KAAK25C,gBAINF,cAAe,WAEdz5C,KAAKs5C,cAAc3gC,SAAU3Y,KAAKkQ,UAClClQ,KAAKkQ,SAAS6E,SAAU,uBAIzB2kC,iBAAkB,WAEjB15C,KAAK4S,IAAK5S,KAAKw5C,WACd5V,MAAS,mBAGV5jC,KAAK4S,KACJqgC,MAAS,eACTzc,OAAU,eACV/kB,MAAS,eACTzO,MAAS,eACT85B,KAAQ,eACR8c,IAAO,eACPC,MAAS,kBAMXC,aAAc,WACb95C,KAAKwU,KAAMxU,KAAKw5C,UAAW,SAC3Bx5C,KAAKwU,KAAMxU,KAAKK,QAAS,4CAG1BqT,YAAa,SAAUhM,GACtB1H,KAAK+Q,OAAQrJ,GAERA,EAAQyxC,WAAah5C,GACxBH,KAAKK,QAAQ+yB,GAAI,sCACb1rB,EAAQyxC,SACZn5C,KAAKq5C,eAELr5C,KAAK+5C,iBAIFryC,EAAQ0xC,eAAiBj5C,GAAaH,KAAKw5C,YAAcr5C,GAC7DH,KAAKw5C,UAAUvrC,KAAMvG,EAAQ0xC,cAC3B70C,KAAK,QAASmD,EAAQ0xC,eAI1BO,aAAc,WACb35C,KAAK2U,OAAQ,oBAAqB,IAGnCqlC,kBAAmB,WAClBh6C,KAAKw5C,UAAU5lC,YAAa,yBAA0B5T,KAAKK,QAAQ4Z,QAGpE8/B,cAAe,WACd/5C,KAAKkQ,SAASvF,YAAa,sBAC3B3K,KAAK85C,eACL95C,KAAKw5C,UAAUnrC,UAGhBgF,SAAU,WACTrT,KAAK+Q,SACA/Q,KAAK0H,QAAQyxC,UACjBn5C,KAAK+5C,oBAMLh6C,GAEJ,SAAWF,EAAGM,GAEbN,EAAEqQ,OAAQ,mBAAoBrQ,EAAEC,OAAOo5C,WACtCxxC,SACCuyC,UAAS,EACTC,mBAAoB,KAGrBjnC,QAAS,WACRjT,KAAK+Q,SAEA/Q,KAAK0H,QAAQuyC,UAAYj6C,KAAKgwC,YAClChwC,KAAKm6C,aAIPA,UAAW,WACVn6C,KAAKK,QAAQ0U,SAAU,yBAEvB/U,KAAK4S,KACJqgC,MAAS,WACTzc,OAAU,WACV/kB,MAAS,WACTooC,MAAS,aAMV75C,KAAK4S,KAAK,EAAM5S,KAAKC,UAGpBm6C,SAAY,cACZC,oBAAuB,cACvBC,aAAgB,cAChBC,UAAa,iBAWfC,YAAa,SAAUn0C,GACjBxG,EAAEmtC,SAAU3mC,EAAMmL,OAAQxR,KAAKK,QAAS,KAC5CL,KAAKK,QAAQ+yB,GAAI,cAEG,wBAAf/sB,EAAMlB,MACVnF,KAAKK,QACH0U,SAAU,gCACV0U,kBACA5pB,EAAEwY,MAAO,WACRrY,KAAKK,QAAQsK,YAAa,iCACxB3K,MACJ,cAEFA,KAAKy6C,yBAIPC,gBAAiB,WAChB16C,KAAKK,QAAQsK,YAAa,yBAC1B3K,KAAKwU,KAAMxU,KAAKK,QAAS,4BACzBL,KAAKwU,KAAMxU,KAAKC,SACf,wDAGF06C,aAAc,KAEdF,qBAAsB,SAAUv3C,GAC1BlD,KAAK26C,cACTzgC,aAAcla,KAAK26C,cAEfz3C,IAAU/C,EACdH,KAAK46C,gBAEL56C,KAAK26C,aAAe36C,KAAK2U,OAAQ,gBAAiBzR,IAIpD23C,SAAU,WACT76C,KAAKy6C,qBAAsBz6C,KAAK0H,QAAQwyC,qBAGzCU,cAAe,WACd,GAAIE,GAAYC,EAAeC,EAAeC,EAAcloB,EAC3DmoB,EAAWC,EAAcC,EAAcnvC,EACvCgM,EAAYjY,KAAKE,OAAO+X,WACzBjY,MAAK26C,aAAe,EAGZ,UAAY36C,MAAKK,QAAS,IACjCL,KAAKK,QAAQkB,KACZ0K,OAAU,EACVovC,aAAc,EACdC,aAAc,IAIhBL,EAAej7C,KAAKK,QAAS,GAAI46C,aACjCloB,EAAe/yB,KAAKK,QAAS,GAAI0yB,aACjCmoB,EAAYh2C,WAAYlF,KAAKK,QAAQkB,IAAK,qBAC1C45C,EAAej2C,WAAYlF,KAAKK,QAAQkB,IAAK,wBAC7C65C,EAAeF,EAAYC,EAC3BlvC,EAASgvC,EAAeG,EAAe,GAQjB,IAAjBroB,IACJ+nB,EAAa51C,WAAYlF,KAAKK,QAAQkB,IAAK,gBAC3Cw5C,EAAgB71C,WAAYlF,KAAKK,QAAQkB,IAAK,mBAC9Cy5C,EAAgBF,EAAaC,EAE7B9uC,GAAU+uC,GAGXh7C,KAAKK,QAAQkB,KACZ0K,OAAUA,EACVovC,aAAc,GACdC,aAAc,KAGft7C,KAAKE,OAAO+X,UAAWA,IAGxBwtB,QAAS,WACHzlC,KAAK0H,QAAQuyC,UAAYj6C,KAAKgwC,YAClChwC,KAAK46C,iBAIPlnC,YAAa,SAAUhM,GAEtB1H,KAAK+Q,OAAQrJ,GAERA,EAAQuyC,WAAa95C,GAAaH,KAAKgwC,aACtCtoC,EAAQuyC,SACZj6C,KAAKm6C,YAELn6C,KAAK06C,uBAMN36C,GAEJ,SAAWF,GAEXA,EAAEqQ,OAAQ,oBAAqBrQ,EAAE+B,QAChC6L,aAAc,0EAEd/F,SACCiQ,MAAO,KACPswB,KAAM,UACNjE,QAAS,QACT8K,QAAQ,EACRnM,SAAS,EACT6F,QAAQ,EACRqG,YAAY,EACZnM,aAAc,KACd2F,aAAc,KACdkT,0BAA0B,EAC1BC,UAAW,QACXC,YAAY,EAEZ3L,iBAAkB,mBAAmB9uC,KAAM8E,UAAUoZ,WAAcpZ,UAAUC,UAAUsR,QAAS,eAAkB,GAClHmtB,MAAM,GAGPwK,QAAS,WACR,MAAOnvC,GAAG,WAGX8zC,aAAc,SAAUhtC,GAGvB,MAFA3G,MAAKK,QAAQkE,KAAM,WAAYoC,GAC/B3G,KAAK07C,OAAOn3C,KAAM,gBAAiBoC,GAC5B3G,KAAK2T,WAAY,WAAYhN,IAGrCg1C,aAAe,WACd,GAAI5hC,GAAO/Z,IAEXqD,YAAY,WACX0W,EAAK2hC,OAAO14C,SACV,KAGJ44C,eAAgB,WACf,MAAO57C,MAAK67C,OAAOruC,KAAM,WAI1BsuC,cAAe,WACd,GAAIhN,GAAS9uC,KAAK0H,QAAQonC,QAAU9uC,KAAKK,QAAQ0J,QAAS,UACzDy6B,EAAOxkC,KAAK0H,QAAQ88B,MAAQxkC,KAAKK,QAAQ0J,QAAS,QAClDm+B,EAAU,IAKHloC,KAAKK,QAAQ,GAAGgL,UAAUgM,QAAS,iBAC1C6wB,EAAU,iBAGFloC,KAAKK,QAAQ,GAAGgL,UAAUgM,QAAS,kBAC3C6wB,EAAU,iBAGN4G,IACJ5G,GAAW,kBAEP1D,IACJ0D,GAAW,YAGZloC,KAAK67C,OAAS77C,KAAKK,QAAQsK,YAAa,4BAA6ByiC,KAAM,wBAA0BlF,EAAU,MAC/GloC,KAAK+7C,SAAY/7C,KAAK67C,OAAOt3C,KAAM,OAAY,UAAYvE,KAAKyB,KAChEzB,KAAKg8C,SAAWh8C,KAAK+7C,SAAW,UAChC/7C,KAAKosC,MAAQvsC,EAAG,cAAeG,KAAK+7C,SAAU,MAC9C/7C,KAAKi8C,WAAaj8C,KAAK67C,OAAQ,GAAIK,UAGpC7oC,SAAU,WACT,GAAI07B,GAAU/uC,KAAKK,QAAQe,QAAS,aAC/B2tC,GAAQvtC,OAAS,IAChButC,EAAQ3b,GAAI,gCAChBpzB,KAAKK,QAAQ0U,SAAUg6B,EAAQ36B,SAAU,eAAkB,cAAgB,gBAE5EpU,KAAKK,QAAQoa,YAAas0B,GAC1BA,EAAQ1gC,WAIV4E,QAAS,WACRjT,KAAK87C,gBAEL97C,KAAK07C,OAAS17C,KAAKgvC,SAEnB,IAAIj1B,GAAO/Z,KAEV0H,EAAU1H,KAAK0H,QAEfs8B,EAAUt8B,EAAQugC,KAASvgC,EAAQs8B,SAAWhkC,KAAK67C,OAAO9xC,QAAS,YAAgB,EAEnF2xC,EAAS17C,KAAK07C,OACZz/B,aAAcjc,KAAK67C,QACnBt3C,KAAM,KAAMvE,KAAKg8C,UACjBjnC,SAAU,UACRrN,EAAQugC,KAAS,YAAcvgC,EAAQugC,KAAO,gBAAkBjE,GAChEt8B,EAAQmnC,WAAa,kBAAoB,IAAS,KAClDnnC,EAAQiQ,MAAQ,WAAajQ,EAAQiQ,MAAQ,KAC7CjQ,EAAQi7B,QAAU,iBAAmB,KACrCj7B,EAAQ8gC,OAAS,aAAe,IAErCxoC,MAAKm8C,gBAMAz0C,EAAQ+zC,YAAcv7C,EAAOkd,OAASld,EAAOkd,MAAMvb,SACvD65C,EAAO3mC,SAAU,wBAIb/U,KAAKi8C,aACTj8C,KAAKo8C,YAAcv8C,EAAG,UACpBkV,SAAU,+BACVU,OACAkD,SAAU+iC,EAAO3mC,SAAU,sBAIzBrN,EAAQzG,UAAYjB,KAAKK,QAAQkE,KAAM,cAC3CvE,KAAK8T,UAIN9T,KAAK67C,OAAOrlB,OAAO,WAClBzc,EAAK0rB,UAEE/9B,EAAQ+zC,YACd1hC,EAAKpF,OAAQ,WACZoF,EAAK8hC,OAAO/e,WAKf98B,KAAK+rC,mBAEL/rC,KAAK4S,IAAK5S,KAAK07C,QACdrI,QAAS,mBAGVrzC,KAAKq8C,SAGNA,MAAO,WACN,GAAItiC,GAAO/Z,IAEXA,MAAK67C,OACHljC,SAAUoB,EAAK2hC,QACft1C,KAAM,aAAc,WAEpB2T,EAAK2hC,OAAO3mC,SAAUlV,EAAEC,OAAO8K,kBAE/BxE,KAAM,QAAS,WACf2T,EAAK2hC,OAAO3mC,SAAUlV,EAAEC,OAAO6O,cAE/BvI,KAAM,OAAQ,WACd2T,EAAK2hC,OAAO/wC,YAAa9K,EAAEC,OAAO6O,cAElCvI,KAAM,mBAAoB,WAC1B2T,EAAK2hC,OAAOlyC,QAAS,gBAErBpD,KAAM,aAAc,WAEpB2T,EAAK2hC,OAAO/wC,YAAa9K,EAAEC,OAAO8K,kBAElCxE,KAAM,wBAAyB,WAC/B2T,EAAK2hC,OAAOlyC,QAAS,aACnBmB,YAAa9K,EAAEC,OAAO8K,kBAI1BmP,EAAK2hC,OAAOt1C,KAAM,aAAc,WAC1B2T,EAAKrS,QAAQooC,kBAChBjwC,EAAEC,OAAO2vC,KAAK37B,SAAS,KAG1BiG,EAAKqyB,MAAMhmC,KAAM,cAAe,WAC1B2T,EAAKrS,QAAQooC,kBAChBjwC,EAAEC,OAAO2vC,KAAK37B,SAAS,KAG1BiG,EAAK8hC,OAAOz1C,KAAM,QAAS,WACrB2T,EAAKrS,QAAQooC,kBAChBjwC,EAAEC,OAAO2vC,KAAK37B,SAAS,KAG1BiG,EAAK2hC,OAAOt1C,KAAM,UAAW,WACvB2T,EAAKrS,QAAQooC,kBACjBzsC,WAAW,WACVxD,EAAEC,OAAO2vC,KAAK57B,QAAQ,IACpB,KAGLkG,EAAK8hC,OAAOz1C,KAAM,OAAQ,WACpB2T,EAAKrS,QAAQooC,kBACjBjwC,EAAEC,OAAO2vC,KAAK57B,QAAQ,MAMzByoC,SAAU,WACT,MAAOt8C,MAAK47C,iBAAiBt6C,OAAQ,cAGtCi7C,gBAAiB,WAChB,GAAIxiC,GAAO/Z,IAEX,OAAOA,MAAKs8C,WAAW/7C,IAAI,WAC1B,MAAOwZ,GAAK6hC,iBAAiB/yC,MAAO7I,QAClCmS,OAGJgqC,cAAe,WACd,GAAIpiC,GAAO/Z,KACVs8C,EAAWt8C,KAAKs8C,WAChBruC,EAAOjO,KAAKulC,YACZiX,EAAO38C,EAAGI,EAASiG,cAAe,QAEnClG,MAAK07C,OAAOnzC,SAAU,QAASmF,IAAK,gBAAiBW,SAASw4B,MAAMA,MAAMwG,QAAS,WAkBlF,MAhBCp/B,GADIquC,EAAS96C,OACN86C,EAAS/7C,IAAI,WACnB,MAAOV,GAAGG,MAAOiO,SACfkE,MAAMsC,KAAM,MAERsF,EAAKwrB,YAGRt3B,EACJuuC,EAAKvuC,KAAMA,GAIXuuC,EAAKtuC,KAAM,UAILsuC,EACLznC,SAAUgF,EAAK8hC,OAAOt3C,KAAM,UAC5BwQ,SAAUunC,EAAS/3C,KAAM,UACzBoG,YAAa,yBAIjB8xC,eAAgB,WACf,GAAIH,GAAWt8C,KAAKs8C,UAGft8C,MAAKi8C,YACTj8C,KAAKo8C,YAAaE,EAAS96C,OAAS,EAAI,OAAS,UAAWyM,KAAMquC,EAAS96C,SAI7E0yC,eAAgB,WACfl0C,KAAK2U,OAAQ,mBAGdy5B,OAAQ,WACPpuC,KAAKylC,WAGNiX,eAAgB,WACf18C,KAAKm8C,gBACLn8C,KAAKy8C,kBAGNhX,QAAS,WACRzlC,KAAK08C,kBAKN1hC,KAAMnb,EAAEuT,KACR8H,MAAOrb,EAAEuT,KAETU,QAAS,WACR9T,KAAK2zC,cAAc,GACnB3zC,KAAK07C,OAAO3mC,SAAU,sBAGvBlB,OAAQ,WACP7T,KAAK2zC,cAAc,GACnB3zC,KAAK07C,OAAO/wC,YAAa,uBAExB9K,EAAEC,OAAOkJ,UAAU8iC,aAElB/rC,GAEJ,SAAWF,GAEXA,EAAEC,OAAOuN,MAAQ,SAAUmE,GAG1B3R,EAAG2R,GACDhE,KAAM,KACNG,iBACArM,OAAQ,yCACR6B,KAAM,WAEN,GAAI9C,GAAUL,KACb28C,EAAQt8C,EAAQ0L,aAAc,QAAS0W,UAAW,EAE9Ck6B,KACJt8C,EAAQkrC,aAAc,iBAAiB,GACvClrC,EAAQkrC,aAAc,YAAaoR,GACnCt8C,EAAQkrC,aAAc,iBAAiB,MAGxC1E,MACAn5B,IAAK,yDACLqH,SAAU,aAIThV,GAGJ,SAAWF,EAAGM,GAEd,QAASy8C,GAAyBC,EAAYC,EAAa5kC,EAAQ6kC,GAClE,GAAItwC,GAAcswC,CAUlB,OANCtwC,GAFiBqwC,EAAbD,EAEU3kC,GAAW2kC,EAAaC,GAAgB,EAGxCh0C,KAAK+oC,IAAK/oC,KAAKC,IAAKmP,EAAQ6kC,EAAUD,EAAc,GAAK5kC,EAAS2kC,EAAaC,GAM/F,QAASE,GAAsBC,GAC9B,OACCxzC,EAAGwzC,EAAUC,aACbxzC,EAAGuzC,EAAUhlC,YACbklC,GAAMF,EAAW,GAAI73C,YAAc63C,EAAUz/B,QAC7C4/B,GAAMH,EAAW,GAAI53C,aAAe43C,EAAUhxC,UAIhDpM,EAAEqQ,OAAQ,gBACTxI,SACCukC,aAAc,KACdt0B,MAAO,KACP+qB,aAAc,KACd8F,QAAQ,EACR7F,SAAS,EACT1Z,WAAY,OACZo0B,WAAY,SACZC,UAAW,KACXC,kBAAmB,wBACnBC,gBAAiB,cACjBC,eAAgB,iBAChBC,YAAa,wCACbC,aAAa,EACb9pB,UAAU,EAOVzT,SAAUvgB,EAAEC,OAAOigB,QAAQC,OAK5B49B,0BAA2B,SAAUC,GAC/B79C,KAAK89C,SAAWj+C,EAAEmtC,SAAUhtC,KAAK2kC,IAAI9G,UAAW,GAAKggB,EAASrsC,SAClExR,KAAK+9C,uBAIP9qC,QAAS,WACR,GAAIhL,GAAajI,KAAKK,QACrB29C,EAAO/1C,EAAW1D,KAAM,MACxBqqC,EAAiB5uC,KAAK0H,OAKvBknC,GAAexuB,QAAUwuB,EAAexuB,SAAWvgB,EAAEC,OAAO8O,aAAe/O,EAAEC,OAAO+O,qBAEpF7O,KAAK4S,IAAK5S,KAAKC,UACd2sC,WAAc,8BAIf/sC,EAAE+B,OAAQ5B,MACTi+C,WAAY,EACZC,MAAOj2C,EAAW6B,QAAS,YAC3B66B,IAAK,KACLwZ,oBAAqB,GACrBC,oBAAoB,EACpBC,eAAgB,KAChBP,SAAS,EACTQ,WAAY,KACZC,YAAa,KACbC,gBAAiB,EACjBC,8BAA8B,IAGJ,IAAtBz+C,KAAKk+C,MAAM18C,SACfxB,KAAKk+C,MAAQr+C,EAAG,SAGZ+uC,EAAe/a,SACnB7zB,KAAK2kC,KACJ9G,UAAW51B,EAAWpB,SACtB63C,OAAQz2C,EAAWpB,SAAS83C,OAC5BpZ,YAAa1lC,EAAGG,KAAKC,SAAU,GAAI2+C,eAAgBZ,EAAO,mBAG3Dh+C,KAAK2kC,IAAM3kC,KAAK8zB,SAAU7rB,EAAY+1C,GACtCh+C,KAAK6+C,iBAAkBjQ,EAAe3lB,aAEvCjpB,KACE8+C,cAAelQ,EAAe0O,WAC9B3Y,IAAIoa,aAAe/+C,KAAK2kC,IAAI9G,UAG9B79B,KAAK4S,IAAK5S,KAAK2kC,IAAI+Z,QAAUhb,OAAU,sBACvC1jC,KAAK4S,IAAK5S,KAAKE,QACdwyB,kBAAmB7yB,EAAEwY,MAAOrY,KAAM,kCAClCg/C,OAAQn/C,EAAEwY,MAAOrY,KAAM,uBACvBizC,MAAOpzC,EAAEwY,MAAOrY,KAAM,wBAEvBA,KAAK4S,IAAK5S,KAAKC,UAAYiV,QAAW,4BAGvC4e,SAAU,SAAU7rB,EAAY+1C,GAC/B,GAAIpP,GAAiB5uC,KAAK0H,QACzBukC,EAAe2C,EAAe3C,aAC9BtqC,GACC+8C,OAAQ7+C,EAAG,gDACXG,KAAKmlC,sBAAuB,cAAeyJ,EAAelM,cAAiB,YAC3E6C,YAAa1lC,EAAG,0DAChBg+B,UAAWh+B,EAAG,oEACXosC,EAAiB,IAAMA,EAAiB,IAAO,aAEnDgT,EAAWj/C,KAAKC,SAAU,GAAIi/C,wBAyB/B,OAvBAD,GAASnjC,YAAana,EAAG+8C,OAAQ,IACjCO,EAASnjC,YAAana,EAAGk8B,UAAW,IAE/BmgB,IACJr8C,EAAG+8C,OAAOn6C,KAAM,KAAMy5C,EAAO,WAC7Br8C,EAAGk8B,UAAUt5B,KAAM,KAAMy5C,EAAO,UAChCr8C,EAAG4jC,YACDhhC,KAAM,KAAMy5C,EAAO,gBACnB9vC,KAAM,wBAA0B8vC,EAAO,SAI1Ch+C,KAAKk+C,MAAO,GAAIpiC,YAAamjC,GAE7Bt9C,EAAG4jC,YAAY9qB,YAAaxS,GAC5BA,EACEu9B,SACAzwB,SAAU,YACV/U,KAAKmlC,sBAAuB,WAAYyJ,EAAej3B,OAAU,KAC/Di3B,EAAepG,OAAS,qBAAuB,KAC/CoG,EAAejM,QAAU,iBAAmB,KAC9ChqB,SAAUhX,EAAGk8B,WAERl8B,GAGRw9C,kBAAmB,SAAUtB,GAM5B,MALAA,GAASv3C,iBACTu3C,EAASh1B,2BACJ7oB,KAAK0H,QAAQi2C,aACjB39C,KAAKkb,SAEC,GAKRkkC,cAAe,WACd,GAAIV,GAAS1+C,KAAK2kC,IAAI+Z,OACrBW,EAAcr/C,KAAK2kC,IAAI9G,UAAUv4B,aAAa,GAC9C8S,EAAesmC,EAAO16C,WAAY,SAAUiI,SAI5CqzC,EAAiBt/C,KAAKC,SAASgM,SAAW,CAEvBqzC,GAAflnC,EACJsmC,EAAOzyC,OAAQqzC,GACJD,EAAcjnC,GACzBsmC,EAAOzyC,OAAQozC,IAIjBE,mBAAoB,SAAU1B,GAC7B,MAAK79C,MAAK89C,SAAWD,EAAS/7C,UAAYjC,EAAEC,OAAOgC,QAAQO,OACnDrC,KAAKm/C,kBAAmBtB,GADhC,QAKD2B,mBAAoB,WACnB,GAAIC,GAAoBzC,EAAsBh9C,KAAKE,OAEnD;GAAKF,KAAKu+C,YAAc,CACvB,GAAKkB,EAAkBh2C,IAAMzJ,KAAKu+C,YAAYkB,kBAAkBh2C,GAC/Dg2C,EAAkB/1C,IAAM1J,KAAKu+C,YAAYkB,kBAAkB/1C,GAC3D+1C,EAAkBtC,KAAOn9C,KAAKu+C,YAAYkB,kBAAkBtC,IAC5DsC,EAAkBrC,KAAOp9C,KAAKu+C,YAAYkB,kBAAkBrC,GAE5D,OAAO,CAGPljC,cAAcla,KAAKu+C,YAAYmB,WASjC,MALA1/C,MAAKu+C,aACJmB,UAAW1/C,KAAK2U,OAAQ,iBAAkB,KAC1C8qC,kBAAmBA,IAGb,GAGRE,eAAgB,WACV3/C,KAAK89C,QACH99C,KAAKw/C,uBACLx/C,KAAK2kC,IAAI9G,UAAUzpB,SAAU,qBAEjCpU,KAAK2kC,IAAI9G,UAAUlzB,YAAa,qCAChC3K,KAAK4/C,YAAcvC,WAAY,WAC/Br9C,KAAK+9C,uBAGN/9C,KAAKo/C,gBACLp/C,KAAKu+C,YAAc,KACnBv+C,KAAKy+C,8BAA+B,IAGrCz+C,KAAKu+C,YAAc,KACnBv+C,KAAKy+C,8BAA+B,IAItCoB,0BAA2B,WAC1B7/C,KAAKw+C,gBAAkB,GAGxBT,oBAAqB,WACf/9C,KAAKw+C,iBACTtkC,aAAcla,KAAKw+C,iBAEpBx+C,KAAKw+C,gBAAkBx+C,KAAK2U,OAAQ,4BAA6B,MAGlEmrC,oBAAqB,WACf9/C,KAAK89C,SAAoC,IAAzB99C,KAAKw+C,mBAClBx+C,KAAKw/C,uBAAwBx/C,KAAKy+C,8BACvCz+C,KAAK2kC,IAAI9G,UAAUzpB,SAAU,oBAE9BpU,KAAK2kC,IAAI9G,UACP9oB,SAAU,qCACV/Q,WAAY,WAKjB+7C,+BAAgC,YACzB//C,KAAKy+C,8BAAgCz+C,KAAK89C,SAAoC,IAAzB99C,KAAKw+C,kBAC/Dx+C,KAAKw/C,qBACLx/C,KAAKy+C,8BAA+B,IAMtCuB,uBAAwB,SAAUnC,GACjC,GAAIrsC,GACHyuC,EAAgBpC,EAASrsC,OACzB7P,EAAK3B,KAAK2kC,GAEX,IAAM3kC,KAAK89C,QAAX,CAIA,GAAKmC,IAAkBt+C,EAAGk8B,UAAW,GAAM,CAE1C,GADArsB,EAAS3R,EAAGogD,IACNpgD,EAAEmtC,SAAUrrC,EAAGk8B,UAAW,GAAKoiB,GAOpC,MANApgD,GAAGG,KAAKC,SAAU,GAAI48B,eAAgBriB,IAAK,QAAS3a,EAAEwY,MAAO,WAC5DrY,KAAKkgD,YAAaD,IAChBjgD,OACH2B,EAAGo9C,aAAa/7C,QAChB66C,EAASv3C,iBACTu3C,EAASh1B,4BACF,CACIlnB,GAAGo9C,aAAc,KAAQp9C,EAAGk8B,UAAW,KAClDl8B,EAAGo9C,aAAevtC,GAIpBxR,KAAK+9C,wBAGN5Y,sBAAuB,SAAU7b,EAAQ3iB,GACxC,MAASA,GAAoB,SAAVA,EAAmB,GAAO2iB,EAAS3iB,EAAc2iB,EAAS,WAG9Eu1B,iBAAkB,SAAUl4C,GAY3B,MAXKA,KACJ3G,KAAK2kC,IAAI9G,UAAUlzB,YAAa3K,KAAKm+C,qBACtB,SAAVx3C,IACJ3G,KAAKm+C,oBAAsBt+C,EAAEC,OAAOm7B,wBAAyBt0B,GAC3B,SAA7B3G,KAAKm+C,sBACTn+C,KAAKm+C,oBAAsB,IAE5Bn+C,KAAK2kC,IAAI9G,UAAU9oB,SAAU/U,KAAKm+C,uBAI7Bn+C,MAGR0T,YAAa,SAAUysC,GACtB,GAAIvR,GAAiB5uC,KAAK0H,QACzBO,EAAajI,KAAKK,QAClBq+C,EAAS1+C,KAAK2kC,IAAI+Z,MAgDnB,OA9CKyB,GAAWlU,eAAiB9rC,GAChCH,KAAK2kC,IAAI9G,UACPlzB,YAAaikC,EAAe3C,cAC5Bl3B,SAAUorC,EAAWlU,cAGnBkU,EAAWxoC,QAAUxX,GACzB8H,EACE0C,YAAa3K,KAAKmlC,sBAAuB,WAAYyJ,EAAej3B,QACpE5C,SAAU/U,KAAKmlC,sBAAuB,WAAYgb,EAAWxoC,QAG3DwoC,EAAWzd,eAAiBviC,IAChCu+C,EACE/zC,YAAa3K,KAAKmlC,sBAAuB,cAAeyJ,EAAelM,eACvE3tB,SAAU/U,KAAKmlC,sBAAuB,cAAegb,EAAWzd,eAE7D1iC,KAAK89C,SACTY,EAAO3pC,SAAU,OAIdorC,EAAW3X,SAAWroC,GAC1B8H,EAAW2L,YAAa,oBAAqBusC,EAAW3X,QAGpD2X,EAAWxd,UAAYxiC,GAC3B8H,EAAW2L,YAAa,gBAAiBusC,EAAWxd,SAGhDwd,EAAWl3B,aAAe9oB,IACxBH,KAAKo+C,oBACVp+C,KAAK6+C,iBAAkBsB,EAAWl3B,aAI/Bk3B,EAAW7C,YAAcn9C,GAC7BH,KAAK8+C,cAAeqB,EAAW7C,WAG3B6C,EAAWl/C,WAAad,GACvBggD,EAAWl/C,UACfjB,KAAKkb,QAIAlb,KAAK+Q,OAAQovC,IAGrBrB,cAAe,SAAUn4C,GACxB,GACCy5C,GADGzL,GAAQh3B,EAAG,GAAI0iC,EAAG,GAAIz1B,EAAG,GAAI01B,EAAG,GAGpC,IAAK35C,IAAUxG,EAKd,OAJAigD,EAAKG,OAAQ55C,GAAQ6J,MAAO,KAE5B3Q,EAAEsD,KAAMi9C,EAAI,SAAUxU,EAAK3xB,GAAQmmC,EAAIxU,GAAQhlC,SAAUqT,EAAK,MAEtDmmC,EAAG5+C,QAEV,IAAK,GACE8C,MAAO87C,EAAI,MAChBzL,EAAIh3B,EAAIg3B,EAAI0L,EAAI1L,EAAI/pB,EAAI+pB,EAAI2L,EAAIF,EAAI,GAErC,MAGD,KAAK,GACE97C,MAAO87C,EAAI,MAChBzL,EAAIh3B,EAAIg3B,EAAI/pB,EAAIw1B,EAAI,IAEf97C,MAAO87C,EAAI,MAChBzL,EAAI2L,EAAI3L,EAAI0L,EAAID,EAAI,GAErB,MAGD,KAAK,GACE97C,MAAO87C,EAAI,MAChBzL,EAAIh3B,EAAIyiC,EAAI,IAEP97C,MAAO87C,EAAI,MAChBzL,EAAI0L,EAAID,EAAI,IAEP97C,MAAO87C,EAAI,MAChBzL,EAAI/pB,EAAIw1B,EAAI,IAEP97C,MAAO87C,EAAI,MAChBzL,EAAI2L,EAAIF,EAAI,IAUhB,MADApgD,MAAKs+C,WAAa3J,EACX30C,MAGRwgD,iBAAkB,SAAUC,GAC3B,GAAIC,GACHjB,EAAoBzC,EAAsBh9C,KAAKE,QAE/CygD,GACCl3C,EAAGzJ,KAAKs+C,WAAWgC,EACnB52C,EAAG+1C,EAAkB/1C,EAAI1J,KAAKs+C,WAAW3gC,EACzCw/B,GAAIsC,EAAkBtC,GAAKn9C,KAAKs+C,WAAWgC,EAAItgD,KAAKs+C,WAAW+B,EAC/DjD,GAAIqC,EAAkBrC,GAAKp9C,KAAKs+C,WAAW3gC,EAAI3d,KAAKs+C,WAAW1zB,EAajE,OAVM61B,IAELzgD,KAAK2kC,IAAI9G,UAAUt8B,IAAK,YAAao/C,EAAUxD,IAGhDuD,GACCvD,GAAIn9C,KAAK2kC,IAAI9G,UAAUl5B,YAAY,GACnCy4C,GAAIp9C,KAAK2kC,IAAI9G,UAAUv4B,aAAa,KAG5Bs7C,GAAID,EAAWD,SAAUA,IAGnCG,wBAAyB,SAAU9D,EAAS+D,GAC3C,GAAIr0C,GACHk0C,EAAYG,EAAUF,GACtBF,EAAWI,EAAUJ,QAmBtB,OAdAj0C,IACCioC,KAAMkI,EAAyB+D,EAAUxD,GAAIuD,EAASvD,GAAIwD,EAAUl3C,EAAGszC,EAAQtzC,GAC/EuO,IAAK4kC,EAAyB+D,EAAUvD,GAAIsD,EAAStD,GAAIuD,EAAUj3C,EAAGqzC,EAAQrzC,IAI/E+C,EAAYuL,IAAMlP,KAAKC,IAAK,EAAG0D,EAAYuL,KAK3CvL,EAAYuL,KAAOlP,KAAK+oC,IAAKplC,EAAYuL,IACxClP,KAAKC,IAAK,EAAG0D,EAAYuL,IAAM0oC,EAAStD,GAAKp9C,KAAKC,SAASgM,WAErDQ,GAIRs0C,iBAAkB,SAAUhE,GAC3B,MAAO/8C,MAAK6gD,wBAAyB9D,EAAS/8C,KAAKwgD,qBAGpDQ,qBAAsB,SAAUC,EAAoBC,EAAuBC,GAC1E,GAAIC,GACHrnC,EAAO/Z,IAgBRohD,IACC1C,OAAQ7+C,EAAEq6B,WACV2D,UAAWh+B,EAAEq6B,YAGdknB,EAAc1C,OAAO2C,KAAM,WACrBD,IAAkBrnC,EAAKskC,gBAC3B4C,MAIFG,EAAcvjB,UAAUwjB,KAAM,WACxBD,IAAkBrnC,EAAKskC,gBAC3B6C,MAIFrhD,EAAEw/B,KAAM+hB,EAAc1C,OAAQ0C,EAAcvjB,WAAYpC,KAAM,WACxD2lB,IAAkBrnC,EAAKskC,iBAC3BtkC,EAAKskC,eAAiB,KACtB8C,OAIFpnC,EAAKskC,eAAiB+C,GAGvBE,SAAU,SAAU/5C,GAWnB,MANAvH,MAAK2kC,IAAI+Z,OACP/zC,YAAapD,EAAKg6C,eAClBxsC,SAAUxN,EAAKi6C,kBAEjBj6C,EAAK65C,cAAc1C,OAAO/kB,UAErBpyB,EAAK0hB,YAAkC,SAApB1hB,EAAK0hB,aACvB1hB,EAAKk6C,iBACTzhD,KAAK6+C,iBAAkBt3C,EAAK0hB,YAExBjpB,KAAKm+C,yBACTn+C,MAAK2kC,IAAI9G,UACP9oB,SAAUxN,EAAKm6C,qBACf/2C,YAAapD,EAAKg6C,eAClB93B,kBAAmB5pB,EAAEwY,MAAO9Q,EAAK65C,cAAcvjB,UAAW,aAI9D79B,KAAK2kC,IAAI9G,UAAUlzB,YAAapD,EAAKg6C,mBACrCh6C,GAAK65C,cAAcvjB,UAAUlE,YAO9BgoB,eAAgB,SAAUC,GACzB,GAAI1pC,GACHkrB,EAAM,KACNqc,EAAoBzC,EAAsBh9C,KAAKE,QAC/CuJ,EAAIm4C,EAAYn4C,EAChBC,EAAIk4C,EAAYl4C,EAChBm4C,EAAMD,EAAYvE,UAGnB,IAAKwE,GAAe,WAARA,EACX,GAAa,WAARA,EACJp4C,EAAIg2C,EAAkBtC,GAAK,EAAIsC,EAAkBh2C,EACjDC,EAAI+1C,EAAkBrC,GAAK,EAAIqC,EAAkB/1C,MAC3C,CACN,IACC05B,EAAMvjC,EAAGgiD,GACR,MAAOjrC,GACRwsB,EAAM,KAEFA,IACJA,EAAI9hC,OAAQ,YACQ,IAAf8hC,EAAI5hC,SACR4hC,EAAM,OAqBV,MAdKA,KACJlrB,EAASkrB,EAAIlrB,SACbzO,EAAIyO,EAAOw8B,KAAOtR,EAAIz+B,aAAe,EACrC+E,EAAIwO,EAAOF,IAAMorB,EAAI99B,cAAgB,IAIjB,WAAhBzF,EAAEsF,KAAMsE,IAAoBnF,MAAOmF,MACvCA,EAAIg2C,EAAkBtC,GAAK,EAAIsC,EAAkBh2C,IAE7B,WAAhB5J,EAAEsF,KAAMuE,IAAoBpF,MAAOoF,MACvCA,EAAI+1C,EAAkBrC,GAAK,EAAIqC,EAAkB/1C,IAGzCD,EAAGA,EAAGC,EAAGA,IAGnBo4C,YAAa,SAAUF,GAEtBA,GACCn4C,EAAGm4C,EAAYn4C,EACfC,EAAGk4C,EAAYl4C,EACf2zC,WAAYuE,EAAYvE,YAEzBr9C,KAAKkT,SAAU,iBAAkB/S,EAAWyhD,GAC5C5hD,KAAK2kC,IAAI9G,UAAU3lB,OAAQlY,KAAK+gD,iBAAkB/gD,KAAK2hD,eAAgBC,MAGxEhC,WAAY,SAAUgC,GAChB5hD,KAAK89C,SACT99C,KAAK8hD,YAAaF,IAIpB1B,YAAa,SAAU6B,GACjBA,IAAmB/hD,KAAKE,OAAQ,IACM,SAA1C6hD,EAAerhD,SAASC,eACvBd,EAAGkiD,GAAiBjlB,QAIvBklB,2BAA4B,WAC3B,GAAIl+C,GAAK9D,KAAKK,QAAQkE,KAAM,MAC3B09C,EAAajiD,KAAK2kC,IAAI9G,UAAUrwB,KAAM,cAAeuK,OAEtD/X,MAAK2kC,IAAI9G,UAAU9oB,SAAU,mBAC7B/U,KAAK89C,SAAU,EACf99C,KAAKo/C,gBAGCv/C,EAAEmtC,SAAUhtC,KAAK2kC,IAAI9G,UAAW,GAAK79B,KAAKC,SAAU,GAAI48B,gBAC7D78B,KAAKkgD,YAAalgD,KAAKC,SAAU,GAAI48B,eAEjColB,EAAWzgD,OAAS,IACxBxB,KAAK2kC,IAAIoa,aAAekD,GAEzBjiD,KAAK+9C,sBACAj6C,GACJ9D,KAAKC,SAASuN,KAAM,qCAAwC1J,EAAK,MAAOS,KAAM,iBAAiB,GAEhGvE,KAAKkT,SAAU,cAGhBgvC,MAAO,SAAUx6C,GAChB,GAAIk6C,GAAc/hD,EAAE+B,UAAY5B,KAAK0H,QAASA,GAE7Cy6C,EAAqB,WACpB,GAAIljC,GAAKnZ,UAAUC,UAElBoZ,EAAUF,EAAG5a,MAAO,2BACpB+a,IAAcD,GAAWA,EAAS,GAClCijC,EAAenjC,EAAG5a,MAAO,0BACzBg+C,IAAeD,GAAgBA,EAAc,GAC7CE,EAAcrjC,EAAG5H,QAAS,UAAa,EAGxC,OAAsB,QAAjB+qC,GAAwC,QAAfC,GAAwBjjC,GAAaA,EAAY,SAAWkjC,GAClF,GAED,IAMTtiD,MAAKghD,qBACJnhD,EAAEuT,KACFvT,EAAEuT,KACFvT,EAAEwY,MAAOrY,KAAM,+BAEhBA,KAAKo+C,mBAAqBwD,EAAY34B,WACtCjpB,KAAK6+C,iBAAkB+C,EAAY34B,YAEnCjpB,KAAK2kC,IAAI+Z,OAAO/zC,YAAa,oBAC7B3K,KAAK2kC,IAAI9G,UAAUlzB,YAAa,qBAGhC3K,KAAK8hD,YAAaF,GAElB5hD,KAAK2kC,IAAI9G,UAAUlzB,YAAa,mBAE3B3K,KAAK0H,QAAQg7B,cAAgByf,GASjCniD,KAAKK,QAAQyJ,QAAS,YAAaiL,SAAU,iBAE9C/U,KAAKshD,UACJiB,qBAAqB,EACrBt5B,WAAY24B,EAAY34B,WACxBs4B,cAAe,GACfC,iBAAkB,KAClBE,oBAAqB,KACrBD,iBAAiB,EACjBL,cAAephD,KAAKq+C,kBAItBmE,yBAA0B,WACzBxiD,KAAK2kC,IAAI+Z,OACP/zC,YAAa,OACboK,SAAU,qBAGb0tC,4BAA6B,WAC5BziD,KAAK2kC,IAAI9G,UACPlzB,YAAa,eACboK,SAAU,qCACV/Q,WAAY,UAGf0+C,wBAAyB,WACxB,GAAI7kB,GAAY79B,KAAK2kC,IAAI9G,UACxB/5B,EAAK9D,KAAKK,QAAQkE,KAAM,KAGzB1E,GAAEC,OAAOk2C,MAAMxgB,OAASr1B,EAGxBN,EAAG,SAAUg+B,EAAW,IAAMr4B,IAAKq4B,EAAW,IAAMf,OAE/Ch5B,GACJ9D,KAAKC,SAASuN,KAAM,qCAAwC1J,EAAK,MAAOS,KAAM,iBAAiB,GAIhGvE,KAAKkT,SAAU,eAGhByvC,OAAQ,SAAUC,GACjB5iD,KAAK2kC,IAAI9G,UAAUlzB,YAAa,mBAChC3K,KAAKk+C,MAAMvzC,YAAa,iBAExB3K,KAAK89C,SAAU,EAKf99C,KAAKghD,qBACJnhD,EAAEwY,MAAOrY,KAAM,4BACfH,EAAEwY,MAAOrY,KAAM,+BACfH,EAAEwY,MAAOrY,KAAM,4BAEhBA,KAAKshD,UACJiB,oBAAqBviD,KAAK2kC,IAAI+Z,OAAOtqC,SAAU,MAC/C6U,WAAc25B,EAAY,OAAW5iD,KAAwB,mBAC7DuhD,cAAe,KACfC,iBAAkB,MAClBE,oBAAqB,cACrBD,iBAAiB,EACjBL,cAAephD,KAAKq+C,kBAItBwE,WAAY,WACN7iD,KAAK0H,QAAQmsB,WAKlB7zB,KAAK0T,aAAeiE,MAAO9X,EAAEC,OAAOk2C,MAAM7uC,UAAUO,QAAQiQ,QAC5D3X,KAAKK,QAOHmlC,SACA/qB,YAAaza,KAAK2kC,IAAIY,aACtB56B,YAAa,4DACf3K,KAAK2kC,IAAI+Z,OAAOrwC,SAChBrO,KAAK2kC,IAAI9G,UAAUxvB,SACnBrO,KAAK2kC,IAAIY,YAAYl3B,WAGtBgF,SAAU,WAQT,MAPKxT,GAAEC,OAAOk2C,MAAMxgB,SAAWx1B,MAC9BA,KAAKK,QAAQma,IAAK,kBAAmB3a,EAAEwY,MAAOrY,KAAM,eACpDA,KAAKkb,SAELlb,KAAK6iD,aAGC7iD,MAGR8iD,YAAa,SAAUjF,EAAU55C,GAChC,GAAI8+C,GAAWC,EACdpU,EAAiB5uC,KAAK0H,QACtBk7C,GAAY,CAEN/E,IAAYA,EAAStoC,sBAA0B1V,EAAEC,OAAOk2C,MAAMxgB,SAAWx1B,OAKhFE,EAAOqJ,SAAU,EAAGvJ,KAAKi+C,YAEpBJ,GAA8B,qBAAlBA,EAAS14C,MAA+BlB,IAIvD8+C,EAD2B,gBAAhB9+C,GAAKw1B,OACJx1B,EAAKw1B,OAELx1B,EAAKw1B,OAAO1vB,QAAS,OAElCg5C,EAAYljD,EAAEC,OAAOmK,KAAKqY,SAAUygC,GACpCC,EAAQD,EAAUvkC,SAAWukC,EAAU1iC,OAAS0iC,EAAUtpC,KAErDzZ,KAAKijD,SAAWpjD,EAAEC,OAAOmK,KAAKK,gBAAiB04C,GAEnDJ,GAAY,EAEZ/E,EAASv3C,kBAKXtG,KAAKE,OAAOkhB,IAAKwtB,EAAe8O,aAEhC19C,KAAKK,QAAQqU,WAAYk6B,EAAe2O,kBAAmB3O,EAAe4O,iBAE1Ex9C,KAAK2iD,OAAQC,KAMdM,oBAAqB,WACpBljD,KAAKE,OACHihB,GAAInhB,KAAK0H,QAAQg2C,YAAa79C,EAAEwY,MAAOrY,KAAM,iBAGhDkQ,OAAQ,WACP,MAAOlQ,MAAK2kC,IAAI9G,WAKjB7iB,KAAM,SAAUtT,GACf,GAAImC,GAAKs5C,EAAShtB,EAAYitB,EAAiBn9B,EAASo9B,EACvDtpC,EAAO/Z,KACP4uC,EAAiB5uC,KAAK0H,OAGvB,OAAK7H,GAAEC,OAAOk2C,MAAMxgB,QAAUoZ,EAAe3tC,SACrCjB,MAIRH,EAAEC,OAAOk2C,MAAMxgB,OAASx1B,KACxBA,KAAKi+C,WAAaj+C,KAAKE,OAAO+X,YAItB22B,EAAuB,SAiB/ByU,EAAaxjD,EAAEC,OAAOuhB,SAASjB,QAC/B+iC,EAAUtjD,EAAEC,OAAO6P,cACnBwmB,EAAat2B,EAAEC,OAAOq2B,WACtBitB,EAAoBjtB,EAAaA,EAAW/hB,SAAU,cAAgB,EACtEpU,KAAKijD,OAASp5C,EAAMw5C,EAAWv8B,YAAYjd,KAC3Coc,EAAYpc,EAAIwN,QAAS8rC,GAAY,KAASC,GAAqBC,EAAWx8B,YAAc,IAG3F9M,EAAKmoC,MAAOx6C,GACZqS,EAAKmpC,sBACEljD,OAKwB,KAA3B6J,EAAIwN,QAAS8rC,IAAqBC,EAGtCv5C,EAAMhK,EAAEC,OAAOmK,KAAK4Y,gBAAgBpJ,KAAO0pC,EAF3Ct5C,GAAaA,EAAIwN,QAAS,KAAQ,GAAK8rC,EAAU,IAAMA,EAMxDnjD,KAAKE,OAAOsa,IAAK,iBAAkB,SAAUqjC,GAC5CA,EAASv3C,iBACTyT,EAAKmoC,MAAOx6C,GACZqS,EAAKmpC,wBAGNljD,KAAKsjD,YAAa,EAClBzjD,EAAEC,OAAOuhB,SAAUxX,GAAOsqB,KAAM,WAEzBn0B,QA/CN+Z,EAAKmoC,MAAOx6C,GACZqS,EAAKmpC,sBAKLnpC,EAAK1Z,QACHkU,SAAUq6B,EAAe2O,kBAAmB3O,EAAe4O,gBAAiB,SAAUK,GACtF9jC,EAAKmB,QACL2iC,EAASv3C,mBAGJtG,QAsCTkb,MAAO,WAEN,MAAKrb,GAAEC,OAAOk2C,MAAMxgB,SAAWx1B,KACvBA,MAGRA,KAAKi+C,WAAaj+C,KAAKE,OAAO+X,YAEzBjY,KAAK0H,QAAQ0Y,SAAWpgB,KAAKsjD,YACjCzjD,EAAEC,OAAO4nB,OACT1nB,KAAKsjD,YAAa,GAGlBtjD,KAAK8iD,cAGC9iD,SAKTH,EAAEC,OAAOk2C,MAAMuN,WAAa,SAAUvkB,GACrC,GAAI9mB,GACHjO,EAAOpK,EAAEC,OAAOmK,KAIhB+rC,EAAQn2C,EAAGoK,EAAK+b,eAAgB/b,EAAKqY,SAAU0c,EAAMz6B,KAAM,SAAWkV,OAAS1B,OAE3Ei+B,GAAMx0C,OAAS,GAAKw0C,EAAM/xC,KAAM,kBACpCiU,EAAS8mB,EAAM9mB,SACf89B,EAAMA,MAAO,QACZvsC,EAAGyO,EAAOw8B,KAAO1V,EAAMr6B,aAAe,EACtC+E,EAAGwO,EAAOF,IAAMgnB,EAAM15B,cAAgB,EACtC2jB,WAAY+V,EAAMj1B,QAAS,cAC3BszC,WAAYre,EAAMj1B,QAAS,kBAK7B1G,WAAY,WACX27B,EAAMr0B,YAAa9K,EAAEC,OAAO8K,iBAC1B,MAIJ/K,EAAEC,OAAOG,SAASkhB,GAAI,mBAAoB,SAAU08B,EAAU55C,GAClC,UAAtBA,EAAKyD,QAAQysB,OACjBt0B,EAAEC,OAAOk2C,MAAMuN,WAAYt/C,EAAKyD,QAAQyW,MACxC0/B,EAASv3C,qBAIPvG,GAMJ,SAAWF,EAAGM,GAEd,GAAIqjD,GAA0B,gGAC7BC,EAAmB,SAAUha,EAAMj4B,EAAQuX,GAC1C,GAAI26B,GAAWja,EAAM1gB,EAAY,SAC/Brb,IAAK81C,GACLzrC,OAGG2rC,GAASliD,SACbgQ,EACEsrB,OACAv4B,KAAM,WAAY,MAEpBm/C,EAASl2C,KAAM,KAAMuK,QAAQ/U,SAIhCnD,GAAEqQ,OAAQ,oBAAqBrQ,EAAEC,OAAO6jD,YACvC1wC,QAAS,WACR,GAAImb,GAAIpuB,KAAK0H,OAMb,OAFA0mB,GAAEqtB,WAAartB,EAAEqtB,YAAgBz7C,KAAKK,QAAQe,QAAS,wCAAyCI,OAAS,EAElGxB,KAAK+Q,UAGb6yC,mBAAoB,WACnB5jD,KAAKK,QAAQy8B,OACb98B,KAAK07C,OAAO14C,SAGbkxC,eAAgB,SAAU7tC,GACzBrG,KAAK+Q,OAAQ1K,GACbrG,KAAK6jD,2BAA4Bx9C,IAGlCw9C,2BAA4B,SAAUx9C,GAChCrG,KAAK0H,QAAQzG,UAAYjB,KAAK8jD,QAAU9jD,KAAK0H,QAAQ+zC,aAIvC,WAAfp1C,EAAMlB,MACRkB,EAAMvE,UAAYuE,EAAMvE,UAAYjC,EAAEC,OAAOgC,QAAQM,OAASiE,EAAMvE,UAAYjC,EAAEC,OAAOgC,QAAQc,UAElG5C,KAAK+jD,gBACkB,YAAlB/jD,KAAKgkD,SACThkD,KAAK07C,OAAOn3C,KAAM,OAAQ,IAAMvE,KAAKikD,SAAU1/C,KAAM,SAAY1E,EAAEC,OAAOsI,IAAM,IAAO,MAAO,SAE9FpI,KAAK07C,OAAOn3C,KAAM,OAAQ,IAAMvE,KAAKkkD,UAAW3/C,KAAM,SAAY1E,EAAEC,OAAOsI,IAAM,IAAO,MAAO,UAEhGpI,KAAK8jD,QAAS,IAKhBK,iBAAkB,SAAUj5C,GAC3B,GAAIqZ,GAAsB,YAAXrZ,EAAE/F,MACdi/C,SAAU,IAAK/9C,MAAO,eACtB+9C,SAAU,KAAM/9C,MAAO,YAE1BxG,GAAGqL,EAAEsG,QACHjN,KAAM,WAAYggB,EAAO6/B,UACzB56C,QAAS+a,EAAOle,QAGnBg+C,mBAAoB,SAAUh+C,GAC7B,GAAImL,GAAS3R,EAAGwG,EAAMmL,QACrB44B,EAAK54B,EAAO1H,QAAS,KAGtB,QAASzD,EAAMvE,SAEf,IAAK,IAEJ,MADA2hD,GAAkBrZ,EAAI54B,EAAQ,SACvB,CAER,KAAK,IAEJ,MADAiyC,GAAkBrZ,EAAI54B,EAAQ,SACvB,CAER,KAAK,IACL,IAAK,IAEJ,MADAA,GAAOhI,QAAS,UACT,IAIT86C,oBAAqB,WAGpBtkD,KAAKukD,kBAcLvkD,KAAKwkD,SAAS58C,KAAM,eAGrB68C,wBAAyB,WACxB,MAAuB,YAAlBzkD,KAAKgkD,UACThkD,KAAKkb,SACE,GAFR,QAMDwpC,qBAAsB,SAAUr+C,GAC/B,GAAIs+C,GAAW9kD,EAAGwG,EAAMmL,QAAS1H,QAAS,MAGzC86C,EAAW5kD,KAAK67C,OAAQ,GAAIxH,cAC5BwQ,EAAWhlD,EAAEC,OAAOiM,aAAc44C,EAAU,gBAC5C39C,EAAShH,KAAK47C,iBAAiBj4C,GAAIkhD,GAAY,EAGhD79C,GAAOs1C,SAAWt8C,KAAKi8C,YAAcj1C,EAAOs1C,UAAW,EAGlDt8C,KAAKi8C,YACT0I,EAASn3C,KAAM,KACboG,YAAa,iBAAkB5M,EAAOs1C,UACtC1oC,YAAa,mBAAoB5M,EAAOs1C,UAIrCt8C,KAAKi8C,YAAc2I,IAAaC,IACrC7kD,KAAK8kD,gBAAiB,GAMlB9kD,KAAKi8C,YACTj8C,KAAK67C,OAAOryC,QAAS,UACrBxJ,KAAKqrC,KAAK79B,KAAM,0BAA2B7J,GAAIkhD,GAC7Cr3C,KAAM,KAAMuK,QAAQ/U,SAGtBhD,KAAKkb,QAGN7U,EAAMC,kBAGP+1C,MAAO,WACN,GAAIN,GAAUkI,EAASC,EAAU9X,EAAOoY,EAAUvI,EAAY8I,EAC7DC,EAAWtiB,EAAcuiB,EAAkBC,EAC3CC,EAAUC,EAAS/Z,EAAMga,EAAQC,EAAaC,EAC9CC,EAAeC,EACfr3B,EAAIpuB,KAAK0H,OAEV,OAAK0mB,GAAEqtB,WACCz7C,KAAK+Q,UAGbgrC,EAAW/7C,KAAK+7C,SAChBkI,EAAUlI,EAAW,WACrBmI,EAAWnI,EAAW,UACtB3P,EAAQpsC,KAAKosC,MACboY,EAAWxkD,KAAKK,QAAQyJ,QAAS,YACjCmyC,EAAaj8C,KAAKK,QAAS,GAAI67C,SAC/B6I,EAAShJ,EAAW,QACpBiJ,EAAY52B,EAAEzW,MAAU,SAAW9X,EAAEC,OAAOsI,GAAK,UAAYgmB,EAAEzW,MAAQ,IAAQ,GAC/E+qB,EAAetU,EAAEsU,cAAgBtU,EAAEzW,OAAS,KAC5CstC,EAAmBviB,EAAiB,SAAW7iC,EAAEC,OAAOsI,GACvD,kBAAoBs6B,EAAe,IAAQ,GAC5CwiB,EAAqB92B,EAAEia,cAAgB4T,EAAiB,SAAWp8C,EAAEC,OAAOsI,GAAK,kBAAoBgmB,EAAEia,aAAe,IAAQ,GAC9H8c,EAAWtlD,EAAG,aAAeA,EAAEC,OAAOsI,GAAK,2CAA6C87C,EAAW,IAAMc,EAAYC,EAAmB,cACxHplD,EAAEC,OAAOsI,GAAK,6DAGdvI,EAAEC,OAAOsI,GAAK,+BAE9Bg9C,EAAUvlD,EAAG,OAASmlD,EAAYC,EAAmB,QAAUhB,EAC7D,kCACAxpC,YAAaza,KAAK67C,QAClB7F,QACF3K,EAAOxrC,EAAG,sCAAwCklD,EAAS,qCAAuC/kD,KAAKg8C,SAAW,IAAMgJ,EAAYE,EAAmB,UAAWvsC,SAAUysC,GAC5KC,EAASxlD,EAAG,iCAAoCuuB,EAAEzW,MAAQyW,EAAEzW,MAAQ,WAAc,YAAa+G,UAAW0mC,GAC1GE,EAAczlD,EAAG,8BAA+B8Y,SAAU0sC,GAErDrlD,KAAKi8C,aACTwJ,EAAc5lD,EAAG,OAChBs0B,KAAQ,SACRlmB,KAAQmgB,EAAEotB,UACV16C,KAAQ,IACRkiC,QAAS,uEACPrqB,SAAU0sC,IAGdxlD,EAAE+B,OAAQ5B,MACT+7C,SAAUA,EACVgJ,OAAQA,EACRd,QAASA,EACTC,SAAUA,EACVM,SAAUA,EACVW,SAAUA,EACV/Y,MAAOA,EACP6P,WAAYA,EACZtkC,MAAOyW,EAAEzW,MACTytC,QAASA,EACT/Z,KAAMA,EACNga,OAAQA,EACRC,YAAaA,EACbG,YAAaA,EACbF,gBAAiBA,EACjBC,cAAeA,EACfjgB,YAAa,KAIdvlC,KAAKylC,UAEAzlC,KAAK0lD,gBAAkBvlD,IAM3BH,KAAK0lD,cAAkE,OAAhD1lD,KAAK67C,OAAQ,GAAI9vC,aAAc,aAA0B,EAAQ/L,KAAK67C,OAAOt3C,KAAM,aAE3GvE,KAAK67C,OAAOt3C,KAAM,WAAY,MAC9BvE,KAAK4S,IAAK5S,KAAK67C,QAAU74C,MAAQ,uBAGjChD,KAAK4S,IAAK5S,KAAK07C,QACdhY,OAAQ,+BAIT1jC,KAAKqrC,KAAK9mC,KAAM,OAAQ,WACxBvE,KAAK4S,IAAK5S,KAAKqrC,MACdn2B,QAAW,mBACXC,SAAY,mBACZk+B,QAAW,qBACXsS,+DAAgE,yBAKjE3lD,KAAK4S,IAAK5S,KAAKmlD,UAAYS,SAAU,wBAGrC5lD,KAAK4S,IAAK5S,KAAKolD,SAAWS,gBAAiB,iBAGtC7lD,KAAKi8C,YACTj8C,KAAK4S,IAAK5S,KAAKylD,aAAe7hB,MAAO,4BAG/B5jC,OAGR8lD,aAAc,WACb9lD,KAAKkb,QACLlb,KAAKukD,mBAGNA,gBAAiB,WACXvkD,KAAK8kD,gBACT9kD,KAAKK,QAAQmJ,QAAS,UAEvBxJ,KAAK8kD,gBAAiB,GAGvBiB,mBAAoB,WACnB,GAAI1a,GAAOrrC,KAAKqrC,KAAK79B,KAAM,MAC1B9F,EAAU1H,KAAK47C,iBAAiBluC,IAAK,oBAKtC,OAAOhG,GAAQuG,SAAWo9B,EAAKp9B,QAGhCquC,SAAU,WACT,MAAOt8C,MAAK47C,iBAAiBt6C,OAAQ,kDAGtCmkC,QAAS,SAAU3J,GAClB,GAAI/hB,GAAMisC,CAEV,OAAKhmD,MAAK0H,QAAQ+zC,WACVz7C,KAAK+Q,OAAQ+qB,IAGrB/hB,EAAO/Z,MACF87B,GAAS97B,KAAK+lD,uBAClBhsC,EAAKksC,aAGND,EAAUhmD,KAAKu8C,kBAEfxiC,EAAKoiC,gBACLpiC,EAAK0iC,qBAEL1iC,GAAKsxB,KAAK79B,KAAM,0BACdA,KAAM,KAAM7C,YAAa9K,EAAEC,OAAO8K,gBAAiBi8B,MACnDtiC,KAAM,iBAAiB,GACvBpB,KAAK,SAAUiB,GACf,GAAIqlC,GAAO5pC,EAAGG,KACTH,GAAEs/B,QAAS/6B,EAAG4hD,GAAY,IAG9Bvc,EAAKllC,KAAM,iBAAiB,GAGvBwV,EAAKkiC,WACTxS,EAAKj8B,KAAM,KAAM7C,YAAa,mBAAoBoK,SAAU,kBAEvD00B,EAAKr1B,SAAU,oBACnBq1B,EAAKpzB,OAAO7I,KAAM,KAAMuH,SAAUlV,EAAEC,OAAO8K,gBAE3C6+B,EAAKj8B,KAAM,KAAMuH,SAAUlV,EAAEC,OAAO8K,iBAG3BmP,EAAKkiC,YAChBxS,EAAKj8B,KAAM,KAAM7C,YAAa,kBAAmBoK,SAAU,uBAK/DmG,MAAO,WACN,IAAKlb,KAAK0H,QAAQzG,UAAajB,KAAK8jD,OAApC,CAIA,GAAI/pC,GAAO/Z,IAEY,UAAlB+Z,EAAKiqC,UACTjqC,EAAKorC,SAASlxB,OAAQ,SACtBla,EAAKsxB,KAAK1yB,SAAUoB,EAAKqrC,UAEzBrrC,EAAKqrC,QAAQpP,MAAO,SAGrBj8B,EAAK4hC,eAEL5hC,EAAK+pC,QAAS,IAGf9oC,KAAM,WACLhb,KAAK07C,OAAO9X,SAGbsiB,eAAgB,WACf,GAAI3gD,GAAWvF,KAAKqrC,KAAK79B,KAAM,KAAO3N,EAAEC,OAAO8K,eACtB,KAApBrF,EAAS/D,SACb+D,EAAWvF,KAAKqrC,KAAK79B,KAAM,UAAYg2C,EAA0B,eAElEj+C,EAASwS,QAAQ/U,SAGlB+gD,cAAe,WACd,GAAIhqC,GAAO/Z,KACVmmD,EAAUnmD,KAAKE,OACfkmD,EAAiBrsC,EAAKsxB,KAAKxkC,SAC3Bw/C,EAAaD,EAAe9gD,cAC5B2S,EAAYkuC,EAAQluC,YACpBquC,EAAYvsC,EAAK2hC,OAAOxjC,SAASF,IACjCI,EAAe+tC,EAAQl6C,QAEnBo6C,GAAajuC,EAAe,KAAOvY,EAAEmG,QAAQiS,WAEjD8B,EAAKorC,SAASxsC,SAAU9Y,EAAEC,OAAO2P,eAAgB7H,OACjDmS,EAAKwrC,gBAAkBxrC,EAAKorC,SAAS33C,KAAM,eAC3CuM,EAAKyrC,cAAgBzrC,EAAKorC,SAAS33C,KAAM,gBAKzCuM,EAAKyqC,SAASh+C,OAAQ,mBAGH,IAAdyR,GAAmBquC,EAAYluC,GACnC2B,EAAKyqC,SAAShqC,IAAK,WAAY,WAC9B3a,EAAGG,MAAO+J,QAAS,aAAcu8C,KAInCvsC,EAAKorC,SAAS3qC,KACb4/B,SAAUv6C,EAAEwY,MAAOrY,KAAM,kBACzB4lD,SAAU/lD,EAAEwY,MAAOrY,KAAM,WAG1B+Z,EAAKiqC,SAAW,OAChBjqC,EAAKwrC,gBAAgBxnC,OAAQhE,EAAKsxB,MAClCtxB,EAAKorC,SACH33C,KAAM,iBACLS,KAAM8L,EAAKqyB,MAAMp+B,kBAAoB+L,EAAKwrB,eAE7CxrB,EAAKiqC,SAAW,UAEhBjqC,EAAKqrC,QAAQ5qC,KAAO+rC,eAAgB1mD,EAAEwY,MAAOrY,KAAM,sBAIrDimD,WAAY,WACX,GAKCO,GAAUC,EAAY5K,EAQtB6K,EACAtiD,EACA4C,EAAQ2/C,EAAS9/C,EAAQoH,EAAM62B,EAAQoD,EACvC0e,EAAUzb,EAAS1B,EAhBhB1vB,EAAO/Z,KACVouB,EAAIpuB,KAAK0H,QACT69B,EAAcvlC,KAAKulC,YACnBshB,GAAkB,EAClBC,EAAW,QAEXC,EAAa,QAAUlnD,EAAEC,OAAOsI,GAChC4+C,EAAgBD,EAAa,eAC7BE,EAAeF,EAAa,OAC5BG,EAAeH,EAAa,OAC5BI,EAAsBJ,EAAa,cACnC9H,EAAWh/C,EAASi/C,yBACpBkI,GAAoB,CAWrB,KALArtC,EAAKsxB,KAAKX,QAAQppC,OAAQ,gBAAiBupC,SAAU,WACrD2b,EAAWxmD,KAAK47C,iBAChB6K,EAAaD,EAAShlD,OACtBq6C,EAAS77C,KAAK67C,OAAQ,GAEhBz3C,EAAI,EAAOqiD,EAAJriD,EAAeA,IAAKgjD,GAAoB,EACpDpgD,EAASw/C,EAASpiD,GAClBuiD,EAAU9mD,EAAGmH,GAGR2/C,EAAQvyC,SAAU,sBAIvBvN,EAASG,EAAOpG,WAChBsnC,KAOAj6B,EAAO04C,EAAQ14C,OACf62B,EAAS7kC,EAASiG,cAAe,KACjC4+B,EAAOyG,aAAc,OAAQ,KAC7BzG,EAAOhpB,YAAa7b,EAASqrC,eAAgBr9B,IAGxCpH,IAAWg1C,GAA4C,aAAlCh1C,EAAOnG,SAASC,gBACzCimD,EAAW//C,EAAOkF,aAAc,SAC3B66C,IAAaF,IACjBvb,EAAUlrC,EAASiG,cAAe,MAClCilC,EAAQI,aAAc2b,EAAc,gBACpC/b,EAAQI,aAAc,OAAQ,UAC9BJ,EAAQI,aAAc,WAAY,MAClCJ,EAAQrvB,YAAa7b,EAASqrC,eAAgBsb,IAC9C3H,EAASnjC,YAAaqvB,GACtBub,EAAWE,KAIRC,GAAsB7/C,EAAO+E,aAAc,UAA6B,IAAhBkC,EAAKzM,SAAgBmlD,EAAQ58C,QAAS,iBAClG88C,GAAkB,EAClBO,GAAoB,EAKf,OAASpgD,EAAO+E,aAAco7C,KAClCnnD,KAAKqnD,wBAAyB,GAE/BrgD,EAAOukC,aAAc4b,GAAqB,GACrC/4B,EAAEmtB,0BACNrT,EAAQ7gC,KAAM,oBAEVk+B,IAAgBt3B,IACpBs3B,EAAcxrB,EAAKwrB,YAAct3B,IAInCw7B,EAAOxpC,EAASiG,cAAe,MAC1Bc,EAAO/F,WACXinC,EAAQ7gC,KAAM,qBACdoiC,EAAK8B,aAAc,iBAAiB,IAErC9B,EAAK8B,aAAcyb,EAAe5iD,GAClCqlC,EAAK8B,aAAc0b,EAAcH,GAC5BM,GACJ3d,EAAK8B,aAAc4b,GAAqB,GAEzC1d,EAAKp+B,UAAY68B,EAAQzzB,KAAM,KAC/Bg1B,EAAK8B,aAAc,OAAQ,UAC3BzG,EAAOyG,aAAc,WAAY,MAC5BvrC,KAAKi8C,YACTp8C,EAAGilC,GAAS/vB,SAAU,4CAGvB00B,EAAK3tB,YAAagpB,GAClBma,EAASnjC,YAAa2tB,GAGvB1vB,GAAKsxB,KAAK,GAAGvvB,YAAamjC,GAGpBj/C,KAAKi8C,YAAe1W,EAAY/jC,OAGrCxB,KAAKslD,YAAYr3C,KAAMjO,KAAKulC,aAF5BvlC,KAAKqlD,OAAOtwC,SAAU,oBAMvBgF,EAAKsxB,KAAKR,YAGXmE,QAAS,WACR,MAAOhvC,MAAK0H,QAAQ+zC,WACnBz7C,KAAK+Q,SACLlR,EAAG,OACFiB,KAAQ,IACRqzB,KAAQ,SAERrwB,GAAM9D,KAAKg8C,SACXsL,gBAAiB,OAGjBC,YAAavnD,KAAK+kD,UAIrB1xC,SAAU,WAEHrT,KAAK0H,QAAQ+zC,aAClBz7C,KAAKkb,QAGAlb,KAAK0lD,gBAAkBvlD,IACtBH,KAAK0lD,iBAAkB,EAC3B1lD,KAAK67C,OAAOt3C,KAAM,WAAYvE,KAAK0lD,eAEnC1lD,KAAK67C,OAAO73C,WAAY,aAKrBhE,KAAKqnD,wBACTrnD,KAAK47C,iBAAiB53C,WAAY,QAAUnE,EAAEC,OAAOsI,GAAK,eAI3DpI,KAAKolD,QAAQ/2C,SAGbrO,KAAKmlD,SAAS92C,UAIfrO,KAAK+Q,aAIHhR,GAKJ,SAAWF,EAAGM,GA+Bd,QAASqnD,GAAkB9/C,EAAS+/C,GACnC,GAAIvf,GAAUuf,EAAkBA,IAoChC,OAjCAvf,GAAQ7gC,KAAM,UAGTK,EAAQiQ,OACZuwB,EAAQ7gC,KAAM,UAAYK,EAAQiQ,OAI9BjQ,EAAQugC,OACZC,EAAUA,EAAQv/B,QACjB,WAAajB,EAAQugC,KACrB,eAAiBvgC,EAAQs8B,UAErBt8B,EAAQmnC,YACZ3G,EAAQ7gC,KAAM,mBAKXK,EAAQonC,QACZ5G,EAAQ7gC,KAAM,iBAEVK,EAAQ8gC,QACZN,EAAQ7gC,KAAM,aAEVK,EAAQi7B,SACZuF,EAAQ7gC,KAAM,iBAEVK,EAAQ88B,MACZ0D,EAAQ7gC,KAAM,WAIR6gC,EAoBR,QAASwf,GAAoBxf,GAC5B,GAAI0D,GAAKrrC,EAAKonD,EACbC,GAAkB,EAClBC,GAAS,EACTz5B,GACC6Z,KAAM,GACN6G,QAAQ,EACRtG,QAAQ,EACR7F,SAAS,EACTkM,YAAY,EACZrK,MAAM,GAEPsjB,IAKD,KAHA5f,EAAUA,EAAQ13B,MAAO,KAGnBo7B,EAAM,EAAIA,EAAM1D,EAAQ1mC,OAASoqC,IAGtC+b,GAAe,EAGfpnD,EAAMwnD,EAAsB7f,EAAS0D,IAChCrrC,IAAQJ,GACZwnD,GAAe,EACfv5B,EAAG7tB,IAAQ,GAG6C,IAA7C2nC,EAAS0D,GAAMv0B,QAAS,iBACnCswC,GAAe,EACfE,GAAS,EACTz5B,EAAE4V,QAAUkE,EAAS0D,GAAMnpB,UAAW,KAGc,IAAzCylB,EAAS0D,GAAMv0B,QAAS,aACnCswC,GAAe,EACfv5B,EAAE6Z,KAAOC,EAAS0D,GAAMnpB,UAAW,IAGgB,IAAxCylB,EAAS0D,GAAMv0B,QAAS,YAA+C,IAA1B6wB,EAAS0D,GAAMpqC,QACvEmmD,GAAe,EACfv5B,EAAEzW,MAAQuwB,EAAS0D,GAAMnpB,UAAW,IAGN,WAAnBylB,EAAS0D,KACpB+b,GAAe,EACfC,GAAkB,GAIdD,GACJG,EAAezgD,KAAM6gC,EAAS0D,GAShC,OAJKic,KACJz5B,EAAE6Z,KAAO,KAITvgC,QAAS0mB,EACT05B,eAAgBA,EAChBF,gBAAiBA,GAInB,QAASI,GAAsBh9C,GAC9B,MAAO,IAAMA,EAAErK,cArJhB,GAAIonD,IACFE,YAAc,SACdC,gBAAkB,UAClBC,gBAAkB,SAClBC,iBAAmB,aACnBC,UAAY,QAEbC,EAAe,WACd,GAAInxC,GAAMtX,EAAEC,OAAOiM,aAAaxI,MAAOvD,KAAMwD,UAE7C,OAAgB,OAAP2T,EAAchX,EAAYgX,GAEpCoxC,EAAmB,QA2JpB1oD,GAAEkD,GAAGwK,aAAe,SAAU7F,EAAS8gD,GACtC,GAAI5c,GAAK3nC,EAAM6G,EAAI29C,EAAkBC,EACpCtsB,EAAWv8B,EAAEkD,GAAGwK,aAAa6uB,QAE9B,KAAMwP,EAAM,EAAIA,EAAM5rC,KAAKwB,OAASoqC,IAAQ,CAwB3C,GAvBA9gC,EAAK9K,KAAM4rC,GACX3nC,EAAOukD,GAGJZ,iBAAiB,EAAOE,mBAI1BJ,EAAoB58C,EAAGO,WAExBo9C,EAAmB5oD,EAAE+B,UAMlBqC,EAAK2jD,gBAAkB3jD,EAAKyD,WAG9BA,IAIKzD,EAAK2jD,gBACV,IAAMc,IAAatsB,GACbqsB,EAAkBC,KAAgBvoD,IACtCsoD,EAAkBC,GAAcJ,EAAcx9C,EAC7C49C,EAAUpxC,QAASixC,EAAkBP,IAMzCl9C,GAAGO,UAAYm8C,EAGd3nD,EAAE+B,UAGDw6B,EAGAqsB,GAIDxkD,EAAK6jD,gBAAiBrzC,KAAM,KACK,WAA7B3J,EAAGmlC,QAAQtvC,eACfmK,EAAGygC,aAAc,OAAQ,UAI3B,MAAOvrC,OAKRH,EAAEkD,GAAGwK,aAAa6uB,UACjB6L,KAAM,GACNjE,QAAS,OACTrsB,MAAO,KACPm3B,QAAQ,EACRtG,QAAQ,EACR7F,SAAS,EACTkM,YAAY,EACZrK,MAAM,GAGP3kC,EAAE+B,OAAQ/B,EAAEkD,GAAGwK,cACdE,aAAc,oIAGX1N,GAGJ,SAAWF,EAAGM,GAEdN,EAAEqQ,OAAQ,sBAAuBrQ,EAAE+B,QAClC8F,SACCmsB,UAAU,EACVlc,MAAO,KACP6wB,QAAQ,EACR7F,SAAS,EACTgmB,kBAAkB,EAClBxjD,KAAM,WACNq/B,MAAM,GAGPvxB,QAAS,WACR,GAAI7P,GAAOpD,KAAKK,QACfknB,EAAOvnB,KAAK0H,QACZuF,EAAapN,EAAEC,OAAO8H,KAAKT,UAAU+F,oBAGjCrN,GAAEkD,GAAGwK,cACTvN,KAAKK,QACHmN,KAAM3N,EAAEkD,GAAGwK,aAAaE,cACxBC,IAAKT,GACLM,eAGH1N,EAAEsD,KAAMnD,KAAK4oD,cAAe/oD,EAAEwY,MAAO,SAAUypB,EAAQ/zB,GACjDlO,EAAEC,OAAQiO,IACd/N,KAAKK,QACHmN,KAAM3N,EAAEC,OAAQiO,GAAaN,cAC7BC,IAAKT,GAAcc,MAEpB/N,OAEHH,EAAE+B,OAAQ5B,MACT2kC,IAAK,KACLkkB,iBAAiB,IAIjB7oD,KAAK2kC,IADDpd,EAAKsM,UAERi1B,YAAa1lD,EAAKmF,SAAU,0BAA2BA,WACvDwgD,aAAc3lD,EAAKmF,SAAU,8BAGnBvI,KAAK8zB,YAKlB80B,eAAiB,gBAAiB,aAAc,UAEhDzjB,sBAAuB,SAAUx+B,GAChC,MAASA,GAAoB,SAAVA,EAAmB,GAAK,kBAAoBA,EAAU,IAG1EmtB,SAAU,WACT,GAAI1wB,GAAOpD,KAAKK,QACfknB,EAAOvnB,KAAK0H,QACZ/F,GACCmnD,YAAa1lD,EAAKmF,SAAU,UAC5BwgD,aAAc3lD,EACZ2R,SAAU,oCAEO,eAAdwS,EAAKpiB,KAAwB,aAAe,YAAe,IAC9DnF,KAAKmlC,sBAAuB5d,EAAK5P,OAAU,KACzC4P,EAAKob,QAAU,iBAAmB,KAClCpb,EAAKid,KAAO,WAAa,KAC3BzB,UAAW,yCAERxb,EAAKihB,UAAW,EAAO,YAAc,IAAO,YAC/CjgC,WASJ,OANK5G,GAAGmnD,YAAYtnD,OAAS,GAC5B3B,EAAG,4DACDke,OAAQpc,EAAGmnD,aACXpqC,UAAWtb,GAGPzB,GAGR0Q,MAAO,WACNrS,KAAKylC,WAGN/xB,YAAa,SAAUhM,GACtB,GAAIshD,GAAav8C,EAChBrJ,EAAOpD,KAAKK,OAuCb,OApCKqH,GAAQvC,OAAShF,IACrBiD,EACEuH,YAAa,uDACboK,SAAU,oBAAwC,eAAjBrN,EAAQvC,KAAwB,aAAe,aAClF6jD,GAAc,GAGVthD,EAAQiQ,QAAUxX,GACtBiD,EACEuH,YAAa3K,KAAKmlC,sBAAuBnlC,KAAK0H,QAAQiQ,QACtD5C,SAAU/U,KAAKmlC,sBAAuBz9B,EAAQiQ,QAG5CjQ,EAAQi7B,UAAYxiC,GACxBiD,EAAKwQ,YAAa,gBAAiBlM,EAAQi7B,SAGvCj7B,EAAQ88B,OAASrkC,GACrBiD,EAAKwQ,YAAa,UAAWlM,EAAQ88B,MAGjC98B,EAAQ8gC,SAAWroC,GACvBH,KAAK2kC,IAAIokB,aAAan1C,YAAa,YAAalM,EAAQ8gC,QAGpD9gC,EAAQihD,mBAAqBxoD,IACjCH,KAAK0H,QAAQihD,iBAAmBjhD,EAAQihD,iBACxCK,GAAc,GAGfv8C,EAAczM,KAAK+Q,OAAQrJ,GAEtBshD,GACJhpD,KAAKylC,UAGCh5B,GAGRoxB,UAAW,WACV,MAAO79B,MAAK2kC,IAAIokB,cAGjBtjB,QAAS,WACR,GAAI4R,GAAMr3C,KAAK69B,YACdorB,EAAM5R,EAAI7pC,KAAM,WAAYE,IAAK,qBACjC6E,EAASvS,KAAK6oD,eACVhpD,GAAEC,OAAOquC,eACbkJ,EAAI7pC,KAAM,yBAA0B2gC,cAAe,WAEpDnuC,KAAK2mC,qBAAsBsiB,EAC1BjpD,KAAK0H,QAAQihD,iBAAmB3oD,KAAKwmC,aAAcyiB,EAAK12C,GAAW02C,EACnE12C,GACDvS,KAAK6oD,iBAAkB,GAKxBx1C,SAAU,WACT,GAAI1R,GAAIunD,EACP3hC,EAAOvnB,KAAK0H,OAEb,OAAK6f,GAAKsM,SACF7zB,MAGR2B,EAAK3B,KAAK2kC,IACVukB,EAAUlpD,KAAKK,QACbsK,YAAa,6FAEb3K,KAAKmlC,sBAAuB5d,EAAK5P,QACjCnK,KAAM,WACNE,IAAK,qBAEP1N,KAAK+mC,wBAAyBmiB,GAE9BvnD,EAAGmnD,YAAY1iB,aACfzkC,GAAGonD,aAAaxgD,WAAW69B,YAE1BvmC,EAAEC,OAAOkJ,UAAUu9B,uBAEnBxmC,GAEH,SAAWF,EAAGM,GAEbN,EAAEqQ,OAAQ,kBACTzC,aAAc,mDAEd/F,SACCiQ,MAAO,KACPwxC,YAAY,EACZC,aAAc,KACdC,YAAa,QAGdp2C,QAAS,WACR,GAAIq2C,GAASC,EACZp1B,EAAQn0B,KAAKK,QAAQ+yB,GAAI,2BAA8B,SAAW,SAClExrB,EAAO5H,KAAKK,QAAQyJ,QAAS,WACT,KAAhBlC,EAAKpG,SACToG,GAAO,EACP5H,KAAK4S,IAAK5S,KAAKC,UACdm6C,SAAY,aAGdv6C,EAAE+B,OAAQ5B,MACTm0B,KAAMA,EACNvsB,KAAMA,EACN0hD,QAASA,EACTC,SAAUA,IAEXvpD,KAAKK,QAAQkE,KAAM,OAAiB,WAAT4vB,EAAoB,SAAW,eAAgBpf,SAAU,MAAQof,GAC5Fn0B,KAAKylC,UACLzlC,KAAK0T,YAAa1T,KAAK0H,UAExBgM,YAAa,SAAU0a,GAYtB,GAXKA,EAAE+6B,aAAehpD,GACrBH,KAAKwpD,oBAEiB,MAAlBp7B,EAAEg7B,cACNppD,KAAKK,QACHmN,KAAM,wBACNuH,SAAU,iBAAmBqZ,EAAEg7B,cAE7Bh7B,EAAEi7B,cAAgBlpD,GACtBH,KAAKK,QAAQmN,KAAM,qCAAsCS,KAAMmgB,EAAEi7B,aAE7Dj7B,EAAEzW,QAAUxX,EAAY,CAC5B,GAAIy1C,GAAe51C,KAAK0H,QAAQiQ,MAAQ3X,KAAK0H,QAAQiQ,MAAQ,UAC5DiuB,EAAWxX,EAAEzW,MAAQyW,EAAEzW,MAAQ,SAEhC3X,MAAKK,QAAQsK,YAAa,UAAYirC,GAAe7gC,SAAU,UAAY6wB,GAG5E5lC,KAAK+Q,OAAQqd,IAEdqX,QAAS,WACW,WAAdzlC,KAAKm0B,MACTn0B,KAAKypD,0BAEAzpD,KAAK4H,OACV5H,KAAK0pD,eACc,WAAd1pD,KAAKm0B,KACTn0B,KAAKK,QAAQsY,SAAU,QACE,WAAd3Y,KAAKm0B,MAChBn0B,KAAKwpD,qBAGPxpD,KAAK2pD,qBACL3pD,KAAK4pD,cAINF,aAAc,WACb7pD,EAAG,SAAUA,EAAEC,OAAOsI,GAAK,gBAAiB7G,KAAMmF,SAAY,cAI/DkjD,WAAY,WACX5pD,KAAKK,QACHkI,SAAU,KACVjH,OAAQ,cAAgBzB,EAAEC,OAAOsI,GAAK,iBACtC7D,KAAM,QAAU1E,EAAEC,OAAOsI,GAAK,OAAQ,UACxCpI,KAAKK,QAAQmJ,QAAS,WAGvBigD,wBAAyB,WACxB,GAAII,GAAgB7pD,KAAKK,QAAQkI,SAAU,YAG3CvI,MAAKspD,QAAUO,EAAcz1C,SAAU,iBACrCy1C,EAAcz1C,SAAU,uBAE1BpU,KAAKupD,SAAWM,EAAcz1C,SAAU,gBAGxCpU,KAAKspD,QAAUtpD,KAAKspD,SACnBO,EAAclmD,GAAI,GAChB+J,IAAK,sCACLqH,SAAU,eACVvT,OAEHxB,KAAKupD,SAAWvpD,KAAKupD,UAAYM,EAAclmD,GAAI,GAAIoR,SAAU,gBAAiBvT,QAEnFgoD,kBAAmB,WAClB,GAAIM,GACHpiD,EAAU1H,KAAK0H,QACfiQ,EAAQjQ,EAAQ0hD,cAAgB1hD,EAAQiQ,KAGzCmyC,GAAa9pD,KAAK+pD,YAAgB/pD,KAAK+pD,gBAGlC/pD,KAAK0H,QAAQyhD,YAGF,WAAdnpD,KAAKm0B,MAGLt0B,EAAG,YAAa2B,OAAS,IACvBxB,KAAK4H,KAGJ5H,KAAK4H,KAAM,GAAImE,aAAc,QAAUlM,EAAEC,OAAOsI,GAAK,SACtDvI,EAAEC,OAAOmK,KAAK+a,UAAWlM,SAASW,MAIjC5Z,EAAEC,OAAOuhB,UAAYxhB,EAAEC,OAAOuhB,SAASjB,SACxCvgB,EAAEC,OAAOuhB,SAASjB,QAAQyG,YAAc,KAGzC7mB,KAAKspD,QAGDQ,EAAWE,WAChBhqD,KAAK8pD,WAAaA,EAAWzpD,SAAYypD,EAAWzpD,SACnDR,EAAG,kGAEC8X,EAAQ,UAAYA,EAAQ,IAAM,IACpC,8DACS9X,EAAEC,OAAOsI,GAAK,cAAgBV,EAAQ2hD,YAChD,SACC3qC,UAAW1e,KAAKK,SACnBypD,EAAWE,UAAW,GAIZF,EAAWzpD,UACtBypD,EAAWzpD,QAAQmlC,SACnBskB,EAAWE,UAAW,IAGxBL,mBAAoB,WACnB3pD,KAAKK,QAAQkI,SAAU,0BACrBwM,SAAU,YAEVxQ,MACA4vB,KAAQ,UACR81B,aAAc,OAGjB52C,SAAU,WACT,GAAIuiC,EAEJ51C,MAAKK,QAAQkI,SAAU,0BACrBoC,YAAa,YACb3G,WAAY,QACZA,WAAY,cAEK,WAAdhE,KAAKm0B,OACTn0B,KAAKK,QAAQkI,SAAU,aACrBoC,YAAa,2DACV3K,KAAK8pD,YACT9pD,KAAK8pD,WAAWz7C,UAIlBunC,EAAe51C,KAAK0H,QAAQiQ,MAAQ3X,KAAK0H,QAAQiQ,MAAQ,UACzD3X,KAAKK,QAAQsK,YAAa,UAAYirC,GAEtC51C,KAAKK,QAAQsK,YAAa,MAAQ3K,KAAKm0B,MAAOnwB,WAAY,YAIzDjE,GAEJ,SAAWF,EAAGM,GAEbN,EAAEqQ,OAAQ,iBAAkBrQ,EAAEC,OAAOqI,SACpCT,SACChB,SAAS,KACTwjD,mBAAmB,EACnBC,iBAAiB,EACjBlhC,WAAY,QACZmhC,YAAY,EACZC,WAAW,EACXC,mBAAoB,uIACpBC,gBAAiB,0BACjBliD,mBAAmB,EACnBmiD,yBAAyB,EAQzBC,iBAAkB,WACjB,OAAQ5qD,EAAEmG,QAAQgZ,gBAIpB/L,QAAS,WACRjT,KAAK+Q,SACL/Q,KAAK4Y,cAAgB/Y,EAAG,yBACO,UAA1BG,KAAK0H,QAAQhB,UAAyB1G,KAAK0H,QAAQ+iD,oBACvDzqD,KAAK0qD,cAIPA,WAAY,WACX1qD,KAAKK,QAAQ0U,SAAU,MAAO/U,KAAKm0B,KAAM,UACzCn0B,KAAKqI,oBACLrI,KAAK2qD,sBACL3qD,KAAK4qD,kBACL5qD,KAAK6qD,uBAGNn3C,YAAa,SAAU0a,GAItB,GAHoB,UAAfA,EAAE1nB,UAAkD,UAA1B1G,KAAK0H,QAAQhB,UAC3C1G,KAAK0qD,aAEyB,UAA1B1qD,KAAK0H,QAAQhB,WAAyB1G,KAAK0H,QAAQ+iD,mBAAqB,CAC5E,GAAIK,GAAY9qD,KAAK4H,KAAQ5H,KAAK4H,KAAQ/H,EAAE,mBAAmB2B,OAAS,EAAK3B,EAAE,mBAAoBA,EAAE,YAAY8D,GAAG,EAE/GyqB,GAAEg8B,aAAejqD,IAChBiuB,EAAEg8B,YACNpqD,KAAKK,QAAQ0U,SAAU,MAAO/U,KAAKm0B,KAAM,eACzC22B,EAAM/1C,SAAU,WAAa/U,KAAKm0B,KAAO,iBAIzCn0B,KAAKK,QAAQsK,YAAa,MAAO3K,KAAKm0B,KAAM,eAC5C22B,EAAMngD,YAAa,WAAa3K,KAAKm0B,KAAO,eAAgBpf,SAAU,WAAa/U,KAAKm0B,KAAM,YAIjGn0B,KAAK+Q,OAAOqd,IAGbu8B,oBAAqB,WACpB,GAAII,GAAS/qD,KAAK0H,QAAQuhB,UAErB8hC,IAAqB,SAAXA,IAEE,UAAXA,IACJA,EAAS/qD,KAAKK,QAAQ+T,SAAU,aAAgB,YAAc,WAG/DpU,KAAKK,QAAQ0U,SAAUg2C,KAIzBH,gBAAiB,WAChB,GAAIhjD,GAAW5H,KAAK4H,KAAQ5H,KAAKK,QAAQyJ,QAAS,YAAc9J,KAAKC,QAIrED,MAAK4S,IAAKhL,GACTosB,eAAkB,wBAClBg3B,qBAAuB,wBACvBC,eAAiB,wBACjB3Q,aAAgB,wBAChBF,SAAY,kBACZrmB,eAAkB,2BAIpBQ,sBAAuB,WACtB,GAAInG,GAAIpuB,KAAK0H,OACR0mB,GAAE+7B,iBACNtqD,EAAEC,OAAO2vC,KAAK37B,SAAS,GAElBsa,EAAE87B,mBACPlqD,KAAKyV,MAAM,IAIby1C,sBAAuB,WACjBlrD,KAAK0H,QAAQW,mBACjBrI,KAAKqI,kBAAuBrI,KAAK4H,KAAQ5H,KAAK4H,KAAM,oBAItDujD,gBAAiB,WAChBnrD,KAAKqI,kBAAuBrI,KAAK4H,KAAQ5H,KAAK4H,KAAM,mBAC/C5H,KAAK0H,QAAQW,mBACjBrI,KAAK4S,IAAK5S,KAAKE,QAAUoxB,gBAAmB,uBAI9CiS,sBAAuB,SAAUr4B,EAAGvJ,GACnC,GACCypD,GAAYC,EAAYC,EAAYC,EADjCn9B,EAAIpuB,KAAK0H,OAGR0mB,GAAE+7B,iBACNtqD,EAAEC,OAAO2vC,KAAK57B,QAAQ,GAElBua,EAAE/lB,mBACNrI,KAAKwU,KAAMxU,KAAKE,OAAQ,mBAGpBkuB,EAAEo8B,0BACNY,EAAavrD,EAAG,+BAAgCG,KAAK4H,MACrDyjD,EAAaxrD,EAAG,+BAAgCG,KAAK4H,MACrD0jD,EAAaF,EAAW5pD,QAAUG,EAAG25B,UAAYz7B,EAAG,gCAAkCurD,EAAWrhD,QAAS,MAAS,KAAMpI,EAAG25B,WAAcz7B,IAC1I0rD,EAAaF,EAAW7pD,QAAUG,EAAG25B,UAAYz7B,EAAG,gCAAkCwrD,EAAWthD,QAAS,MAAS,KAAMpI,EAAG25B,WAAcz7B,KAErIyrD,EAAW9pD,QAAU+pD,EAAW/pD,UAEpC8pD,EAAW9lD,IAAK+lD,GAAa5yC,SAAU9Y,EAAEC,OAAO2P,eAEhD9N,EAAG25B,SAAS9gB,IAAK,WAAY,WAC5B+wC,EAAW7sC,UAAW1e,MACtBsrD,EAAW3yC,SAAU3Y,WAMzBwrD,UAAU,EAGVnjD,kBAAmB,SAAUojD,GAC5B,GAAIpU,GAAMr3C,KAAKK,QACdglD,EAAwB,WAAbrlD,KAAKm0B,KAChBoV,EAAMrkC,WAAYmyC,EAAI91C,IAAK8jD,EAAS,MAAQ,UAGxCrlD,MAAK0H,QAAQ0iD,aAElBqB,EAAWA,GAAUA,EAAOtmD,OAAShF,GAAasrD,GAAYzrD,KAAK4H,MAAQyvC,EAAIvtC,QAAS,YACxF2hD,EAAazrD,KAAK4H,KAAQ5H,KAAK4H,KAAM,kBACrC/H,EAAG4rD,GAASlqD,IAAK,YAAe8jD,EAAS,MAAQ,UAAYhO,EAAI/xC,cAAgBikC,KAGlFmiB,eAAgB,SAAUC,GACzB,GAAI3qC,GAAOhhB,KAAKE,OACfm3C,EAAMr3C,KAAKK,QACXurD,EAAS5qC,EAAK/I,YACd4zC,EAAWxU,EAAIprC,SACf6/C,EAAc9rD,KAAK4H,KAAQyvC,EAAIvtC,QAAS,YAAamC,SAASpM,EAAE,mBAAmBoM,SACnF8/C,EAAiBlsD,EAAEC,OAAOkM,iBAE3B,QAAQ2/C,IACL3rD,KAAK0H,QAAQuhB,YAA0C,SAA5BjpB,KAAK0H,QAAQuhB,aAEzB,WAAdjpB,KAAKm0B,OAAsBn0B,KAAK0H,QAAQ0iD,YAAcwB,EAASC,GACjD,WAAd7rD,KAAKm0B,OAAsBn0B,KAAK0H,QAAQ0iD,YAAwC0B,EAAUD,EAApCD,EAASG,IAC7D/rD,KAAK0H,QAAQ0iD,aAIpB50C,KAAM,SAAUm2C,GACf,GAAIK,GAAY,kBACf3U,EAAMr3C,KAAKK,OAEPL,MAAK0rD,eAAgBC,GACzBtU,EACE1sC,YAAa,OAASqhD,GACtBj3C,SAAU,MACV0U,kBAAkB,WAClB4tB,EAAI1sC,YAAa,QAInB0sC,EAAI1sC,YAAaqhD,GAElBhsD,KAAKwrD,UAAW,GAGjB/1C,KAAM,SAAUk2C,GACf,GAAIK,GAAY,kBACf3U,EAAMr3C,KAAKK,QAEX4rD,EAAW,OAAsC,UAA5BjsD,KAAK0H,QAAQuhB,WAAyB,WAAa,GAEpEjpB,MAAK0rD,eAAgBC,GACzBtU,EACEtiC,SAAUk3C,GACVthD,YAAa,MACb8e,kBAAkB,WAClB4tB,EAAItiC,SAAUi3C,GAAYrhD,YAAashD,KAIzC5U,EAAItiC,SAAUi3C,GAAYrhD,YAAashD,GAExCjsD,KAAKwrD,UAAW,GAGjBU,OAAQ,WACPlsD,KAAMA,KAAKwrD,SAAW,OAAS,WAGhCX,oBAAqB,WACpB,GAECsB,GAAWC,EAFRryC,EAAO/Z,KACVouB,EAAIrU,EAAKrS,QAET2kD,GAAY,EACZzkD,EAAW5H,KAAK4H,KAAQ5H,KAAK4H,KAAM/H,EAAE,WAGtC+H,GACExB,KAAM,SAAU,SAAU8E,GACrBkjB,EAAEi8B,YAAcxqD,EAAGqL,EAAEsG,QAAS1H,QAASskB,EAAEk8B,oBAAqB9oD,QAClEuY,EAAKmyC,WAGN9lD,KAAM,mBAAoB,SAAU8E,GAM/BwzC,OAAOlhC,MAAQ,MAAQ3d,EAAGqL,EAAEsG,QAAS4hB,GAAIhF,EAAEm8B,mBAAsB1qD,EAAGqL,EAAEsG,QAAS1H,QAAS,sCAAuCtI,SAMnH,aAAX0J,EAAE/F,MAAwBknD,EAOR,YAAXnhD,EAAE/F,MAAwBknD,IAErCnyC,aAAciyC,GACdE,GAAY,EACZD,EAAY/oD,WAAY,WACvB0W,EAAKtE,QACH,KAZH42C,GAAY,EAEZnyC,aAAckyC,GACdD,EAAY9oD,WAAY,WACvB0W,EAAKvE,QACH,QAaRk0C,aAAc,WACiB,UAA1B1pD,KAAK0H,QAAQhB,UAChB7G,EAAG,SAAUA,EAAEC,OAAOsI,GAAK,gBAAiB7G,KAAMmF,SAAY,cAIhE2M,SAAU,WACT,GAAIi5C,GAAaC,EAAgBC,EAAUnH,EAAQoH,EAClD7kD,EAAO5H,KAAK4Y,cAAcA,cAAe,gBAE1C5Y,MAAK+Q,SAC0B,UAA1B/Q,KAAK0H,QAAQhB,WACjB8lD,EAAW3sD,EAAI,YAAcG,KAAKm0B,KAAO,UACrC3uB,IAAKoC,EAAK4F,KAAM,OAASxN,KAAK0H,QAAQysB,KAAO,WAC7CzmB,IAAK1N,KAAKK,SAAUmB,OAAS,EACjCirD,EAAgB5sD,EAAI,YAAcG,KAAKm0B,KAAO,UAC1C3uB,IAAKoC,EAAK4F,KAAM,OAASxN,KAAK0H,QAAQysB,KAAO,gBAC7CzmB,IAAK1N,KAAKK,SAAUmB,OAAS,EACjC+qD,EAAkB,0HAElBvsD,KAAKK,QAAQsK,YAAa4hD,GACpBE,IACLH,EAAc,WAAatsD,KAAKm0B,KAAO,eAElCq4B,IACLnH,EAAuB,WAAdrlD,KAAKm0B,KACdm4B,GAAe,YAActsD,KAAKm0B,KAAO,SACzCvsB,EAAKrG,IAAK,YAAe8jD,EAAS,MAAQ,UAAY,KAEvDz9C,EAAK+C,YAAa2hD;KAKlBvsD,GAEJ,SAAWF,GACVA,EAAEqQ,OAAQ,iBAAkBrQ,EAAEC,OAAOqI,SAEpCuiD,WAAY,WACX1qD,KAAK+Q,SACL/Q,KAAK0sD,gBAINA,aAAc,WACb,GAAIztC,GAAKnZ,UAAUC,UACnBmZ,EAAWpZ,UAAUoZ,SAErBC,EAAUF,EAAG5a,MAAO,yBACpB+a,IAAcD,GAAWA,EAAS,GAClCwtC,EAAK,KACL5yC,EAAO/Z,IAEP,IAAKkf,EAAS7H,QAAS,UAAa,IAAM6H,EAAS7H,QAAS,QAAW,IAAO6H,EAAS7H,QAAS,QAAW,GAC1Gs1C,EAAK,UACC,CAAA,KAAK1tC,EAAG5H,QAAS,WAAc,IAGrC,MAFAs1C,GAAK,UAKN,GAAY,QAAPA,EAEJ5yC,EAAK6yC,4BACC,CAAA,KAAY,YAAPD,GAAoBvtC,GAAyB,IAAZA,GAK5C,MAHArF,GAAK6yC,wBACL7yC,EAAK8yC,6BAOPC,gBAAiB,WAChB,GAAIzV,GAAMr3C,KAAKK,QACdglD,EAAShO,EAAIjjC,SAAU,aACvB8D,EAASpP,KAAKqkB,IAAKkqB,EAAIn/B,SAASF,IAAMhY,KAAKE,OAAO+X,YAInD,OAHMotC,KACLntC,EAASpP,KAAK2sC,MAAOv9B,EAASlY,KAAKE,OAAO+L,SAAWorC,EAAI/xC,eAAkB,IAErE4S,GAIR00C,sBAAuB,WACtB,GAAI7yC,GAAO/Z,IAEXA,MAAK4S,IAAK5S,KAAKE,QAAU+wB,WAAY,WACpC,GAAI87B,GAAiBhzC,EAAK+yC,iBAErBC,GAAiB,GAAKhzC,EAAKyxC,UAC/BzxC,EAAKizC,qBAURH,yBAA0B,WACzB7sD,KAAKK,QAAQyJ,QAAS,YAAaiL,SAAU,wBAO9Ci4C,eAAgB,WACf,GAAIjS,GAAgB71C,WAAYrF,EAAG,mBAAoB0B,IAAK,kBAE5D1B,GAAG,mBAAoB0B,IAAK,iBAAoBw5C,EAAgB,EAAM,MAGtE13C,WAAY,WACXxD,EAAG,mBAAoB0B,IAAK,iBAAkBw5C,EAAgB,OAC5D,IAGJloC,QAAS,WACR7S,KAAK+Q,SAEL/Q,KAAKK,QAAQyJ,QAAS,mBAAoBa,YAAa,yBAItD5K,GAGJ,SAAYF,EAAGM,GAUf,QAAS8sD,KACR,GAAI3qB,GAAQ4qB,EAAW5qB,QACtB6qB,EAAK7qB,EAAM3+B,GAAI,GACfymB,EAAKkY,EAAM3+B,GAAI,GACfy8C,EAAKh2B,EAAG7hB,UAET,QAAS6kD,MAAOhjC,EAAG5kB,IAAK2nD,GAAMA,GAAIA,EAAI/iC,GAAIA,EAAIg2B,GAAIA,GAdnD,GAAIiN,GAAWxtD,EAAEC,OAAOigB,QAAQC,OAASngB,EAAEC,OAAOigB,QAAQC,OAAS,EAClEktC,EAAartD,EACZ,gFAC2CwtD,EAAS,MAAQ,IAAO,6CAcrExtD,GAAEqQ,OAAQ,eAAgBrQ,EAAEC,OAAOk2C,OAClCtuC,SAEC4lD,MAAO,IAGRr6C,QAAS,WACR,GAAImtC,GACHjpC,EAAMnX,KAAK+Q,QAMZ,OAJK/Q,MAAK0H,QAAQ4lD,QACjBttD,KAAK2kC,IAAI2oB,MAAQlN,EAAKpgD,KAAKutD,aAGrBp2C,GAGRo2C,UAAW,WACV,GAAI51C,GACH4P,EAAOvnB,KAAK0H,QACZ04C,EAAK6M,GAMN,OAJAt1C,GAAQ3X,KAAKmlC,sBAAuB,WAAY5d,EAAK5P,OACrDyoC,EAAGA,GAAGrrC,SAAU4C,GAAU4P,EAAKihB,OAAS,qBAAuB,KAC/D4X,EAAGgN,MAAM33C,OAAOkD,SAAU3Y,KAAKK,SAExB+/C,GAGRyC,WAAY,WACX,GAAIzC,GAAKpgD,KAAK2kC,IAAI2oB,KAMlB,OAJKlN,IACJA,EAAGgN,MAAM/+C,SAGHrO,KAAK+Q,UAMby8C,YAAa,SAAU/oC,EAAGgpC,EAAK1Q,EAASp4B,EAAG+oC,GAC1C,GAAI12C,GAAQqpC,EAAG5uB,EAAMk8B,KAAsBC,IAI3C,OAAKjpC,GAAEkpC,OAAQppC,EAAEqpC,QAAWnpC,EAAEopC,UAAWtpC,EAAEqpC,QACnCJ,GAGRC,EAAiBlpC,EAAEupC,KAAQjR,EAASt4B,EAAEupC,MACnCrpC,EAAEspC,OAAQxpC,EAAEypC,SAAYvpC,EAAEwpC,SAAU1pC,EAAEypC,UAAczpC,EAAE2pC,aACxDzpC,EAAE0pC,WAAY5pC,EAAEupC,MAAUrpC,EAAEm8B,UAAUJ,SAAUj8B,EAAEypC,SAAYvpC,EAAE0pC,WAAY5pC,EAAEypC,UAAczpC,EAAE6pC,kBAC/FX,EAAiBlpC,EAAE8pC,KAAQxR,EAASt4B,EAAE8pC,KAEtCv3C,EAAS2N,EAAE3N,QAAUhX,KAAK6gD,wBAAyB8M,EAAiBhpC,EAAEm8B,WACtET,GAAM52C,EAAGuN,EAAO09B,KAAMhrC,EAAGsN,EAAOgB,KAEhC41C,EAAKnpC,EAAEupC,KAAQ3N,EAAG57B,EAAEupC,KAAQrpC,EAAE0pC,WAAY5pC,EAAEupC,KAAQvpC,EAAE+pC,UACtDZ,EAAKnpC,EAAE8pC,KAAQzlD,KAAKC,IAAKiO,EAAQyN,EAAE5T,MAAS8T,EAAE8pC,YAAahqC,EAAE5T,MAAS8T,EAAEspC,OAAQxpC,EAAEqpC,QACjFhlD,KAAK+oC,IAAK76B,EAAQyN,EAAE5T,MAAS8T,EAAE8pC,YAAahqC,EAAE5T,MAAS8T,EAAEopC,UAAWtpC,EAAEqpC,QAAWnpC,EAAEspC,OAAQxpC,EAAEqpC,QAC5F/Q,EAASt4B,EAAE8pC,OAEb98B,EAAO3oB,KAAKqkB,IAAK4vB,EAAQtzC,EAAImkD,EAAInkD,GAAMX,KAAKqkB,IAAK4vB,EAAQrzC,EAAIkkD,EAAIlkD,KAC3DgkD,GAAQj8B,EAAOi8B,EAAKj8B,QAEzBm8B,EAAKnpC,EAAE8pC,MAAS5pC,EAAEspC,OAAQxpC,EAAEqpC,QAAW92C,EAAQyN,EAAE5T,MAAS8T,EAAE0pC,WAAY5pC,EAAE8pC,KAC1Eb,GAASD,IAAKA,EAAKh8B,KAAMA,EAAMza,OAAQA,EAAQ03C,QAASjqC,EAAE5T,KAAM89C,OAAQf,EAAKnpC,EAAE8pC,OAGzEb,IAGRkB,mBAAoB,SAAUC,GAC7B,GAAI32C,GAAQ42C,EACX1O,EAAKpgD,KAAK2kC,IAAI2oB,MACdzrC,GACCi/B,UAAW9gD,KAAKwgD,kBAAmBqO,GACnChB,QAAU1Q,GAAIiD,EAAGh2B,GAAG5M,QAAS4/B,GAAIgD,EAAGh2B,GAAGne,UACvC8hD,WAAa5Q,GAAIiD,EAAG+M,GAAG3vC,QAAS4/B,GAAIgD,EAAG+M,GAAGlhD,UAC1CwiD,YAAarO,EAAG+M,GAAGj1C,SAoBrB,OAjBAA,GAASlY,KAAKK,QAAQ6X,SAEtBkoC,EAAG+M,GAAG5rD,KAAOmzC,KAAM,EAAG18B,IAAK,EAAG+2C,MAAO,EAAGC,OAAQ,IAChDF,EAAW1O,EAAG+M,GAAGj1C,SACjB2J,EAAMwsC,YACL5kD,EAAGqlD,EAASpa,KAAOx8B,EAAOw8B,KAC1BhrC,EAAGolD,EAAS92C,IAAME,EAAOF,IACzBmlC,GAAIiD,EAAG+M,GAAG3vC,QACV4/B,GAAIgD,EAAG+M,GAAGlhD,UAEXm0C,EAAG+M,GAAGnpD,WAAY,SAGlB6d,EAAM4sC,aAAgB/Z,KAAM7yB,EAAM4sC,YAAY/Z,KAAOx8B,EAAOw8B,KAAM18B,IAAK6J,EAAM4sC,YAAYz2C,IAAME,EAAOF,KACtG6J,EAAMosC,QAAW9Q,GAAIt7B,EAAMgsC,OAAO1Q,GAAK,EAAGC,GAAIv7B,EAAMgsC,OAAOzQ,GAAK,GAChEv7B,EAAMssC,UAAahR,GAAIt7B,EAAMi/B,UAAUJ,SAASvD,GAAK,EAAGC,GAAIv7B,EAAMi/B,UAAUJ,SAAStD,GAAK,GAEnFv7B,GAGRk/B,iBAAkB,SAAUhE,GAC3B,GAAIl7B,GAAO6rC,EAAMnpC,EAAQ0qC,EAAUC,EAClCt6B,EAAc50B,KAAK0H,QAAQ4lD,MAC3BlN,EAAKpgD,KAAK2kC,IAAI2oB,KAEf,OAAMlN,IAINA,EAAGgN,MAAM53C,OAET05C,KACArtC,EAAQ7hB,KAAK4uD,oBAAoB,GACjCrqC,GACC+7B,GAAO0N,IAAK,IAAKO,IAAK,IAAK19C,KAAM,MAAOi9C,OAAQ,KAAMI,QAAS,KAAME,aAAc,EAAGI,WAAa3sC,EAAMosC,OAAO9Q,GAAImR,kBAAmB,GACvIjO,GAAO2N,IAAK,IAAKO,IAAK,IAAK19C,KAAM,MAAOi9C,OAAQ,KAAMI,QAAS,KAAME,aAAc,GAAII,UAAW3sC,EAAMosC,OAAO9Q,GAAKt7B,EAAMwsC,WAAWlR,GAAImR,kBAAmB,GAC5J1jC,GAAOojC,IAAK,IAAKO,IAAK,IAAK19C,KAAM,OAAQi9C,OAAQ,KAAMI,QAAS,KAAME,aAAc,GAAII,UAAW3sC,EAAMosC,OAAO7Q,GAAKv7B,EAAMwsC,WAAWjR,GAAIkR,kBAAmB,GAC7J3wC,GAAOqwC,IAAK,IAAKO,IAAK,IAAK19C,KAAM,OAAQi9C,OAAQ,KAAMI,QAAS,KAAME,aAAc,EAAGI,WAAY3sC,EAAMosC,OAAO7Q,GAAIkR,kBAAmB,IAMxIzuD,EAAEsD,MAAQyxB,KAAgB,EAAO,UAAYA,GAAcpkB,MAAO,KACjE3Q,EAAEwY,MAAO,SAAU1S,EAAKgB,GACvB+mD,EAAO1tD,KAAKwtD,YAAajpC,EAAQ5d,GAASA,EAAOo2C,EAASl7B,EAAO6rC,IAC/D1tD,OAIE0tD,GAMNtN,EAAGh2B,GACDzf,YAAa,uEACboK,SAAU,kBAAoB24C,EAAKD,KACnCzpD,WAAY,SAAUzC,IAAKmsD,EAAKgB,QAAShB,EAAKiB,QAC9Cn5C,OAGI63C,IACL4B,EAAWjvD,KAAKK,QAAQ6X,SACxBg3C,EAAO3qC,EAAQmpC,EAAKD,KAAMO,KAAQ5N,EAAGh2B,GAAGlS,SACxCg3C,EAAO3qC,EAAQmpC,EAAKD,KAAMc,MACzB7Z,KAAMua,EAASva,KAAO7yB,EAAMwsC,WAAW5kD,EACvCuO,IAAKi3C,EAASj3C,IAAM6J,EAAMwsC,WAAW3kD,IAIhCgkD,EAAK12C,SArBXopC,EAAGgN,MAAM33C,OACFzV,KAAK+Q,OAAQgsC,KA1Bb/8C,KAAK+Q,OAAQgsC,IAiDtBrpC,YAAa,SAAU6T,GACtB,GAAIqe,GACHC,EAAW7lC,KAAK0H,QAAQiQ,MACxByoC,EAAKpgD,KAAK2kC,IAAI2oB,MACdn2C,EAAMnX,KAAK+Q,OAAQwW,EAEpB,IAAKA,EAAK+lC,QAAUntD,EAAY,CAC/B,IAAMigD,GAAM74B,EAAK+lC,MAKhB,YAJAttD,KAAK2kC,IAAI2oB,MAAQttD,KAAKutD,YAKXnN,KAAO74B,EAAK+lC,QACvBlN,EAAGgN,MAAM/+C,SACTrO,KAAK2kC,IAAI2oB,MAAQ,MAmBnB,MAdAlN,GAAKpgD,KAAK2kC,IAAI2oB,MAETlN,IACC74B,EAAK5P,QAAUxX,IACnB0lC,EAAW7lC,KAAKmlC,sBAAuB,WAAYU,GACnDD,EAAW5lC,KAAKmlC,sBAAuB,WAAY5d,EAAK5P,OACxDyoC,EAAGA,GAAGz1C,YAAak7B,GAAW9wB,SAAU6wB,IAGpCre,EAAKihB,SAAWroC,GACpBigD,EAAGA,GAAGxsC,YAAa,oBAAqB2T,EAAKihB,SAIxCrxB,GAGR9D,SAAU,WACT,GAAI+sC,GAAKpgD,KAAK2kC,IAAI2oB,KAMlB,OAJKlN,IACJA,EAAGgN,MAAM/+C,SAGHrO,KAAK+Q,aAIVhR,GAGJ,SAAWF,EAAGM,GAEdN,EAAEqQ,OAAQ,gBACTxI,SACCwgC,SACCinB,MAAO,WACPC,UAAW,gBACXC,YAAa,kBACbC,WAAY,iBACZC,WAAY,iBACZC,MAAO,mBACPC,UAAW,wBACXhgD,cAAe,0BACfigD,YAAa,mBACbC,iBAAkB,yBAClBC,kBAAmB,wBACnBC,QAAS,oBAEVA,SAAS,EACTl4C,MAAO,KACPjR,SAAU,OACVi3C,aAAa,EACbmS,QAAS,SACTC,YAAY,EACZC,eAAe,GAGhBC,WAAY,KACZC,YAAa,KACbhS,MAAO,KACPiS,OAAQ,KACRC,YAAa,KACbjjB,SAAU,KACVkjB,eAAgB,KAEhBp9C,QAAS,WACR,GAAInI,GAAK9K,KAAKK,QACbiwD,EAAaxlD,EAAGhB,QAAS,kCAG1BjK,GAAE+B,OAAQ5B,MACTiwD,WAAYnlD,EAAG0C,KAAM,yBACrB0iD,YAAeI,EAAW9uD,OAAS,EAAM8uD,GAAa,EACtDC,YAAa,KACbrS,MAAOl+C,KAAKwwD,SACZJ,YAAapwD,KAAKywD,iBAClBJ,eAAgBrwD,KAAK0wD,oBAEQ,YAAzB1wD,KAAK0H,QAAQooD,SACjB9vD,KAAK2wD,cAEN3wD,KAAK4wD,mBAGA/wD,EAAEmG,QAAQya,gBAAoBzgB,KAAK0H,QAAQmoD,SAC/C7vD,KAAKK,QAAQ0U,SAAU/U,KAAK0H,QAAQwgC,QAAQ2nB,SAG7C7vD,KAAK6wD,oBACL7wD,KAAK8wD,mBACL9wD,KAAK+wD,qBACL/wD,KAAK4qD,kBAEE5qD,KAAK0H,QAAQi2C,aACnB39C,KAAKgxD,eAGNhxD,KAAKixD,oBAGNR,eAAgB,WACf,GAAIlB,GAAavvD,KAAKK,QAAQmN,KAAM,IAAMxN,KAAK0H,QAAQwgC,QAAQqnB,WAM/D,OAJ2B,KAAtBA,EAAW/tD,SACf+tD,EAAavvD,KAAKK,QAAQkI,WAAW2kC,QAAS,eAAiBltC,KAAK0H,QAAQwgC,QAAQqnB,WAAa,QAAS1oD,UAGpG0oD,GAGRyB,aAAc,WACb,GAAIj3C,GAAO/Z,KACVwR,EAASuI,EAAKm2C,YAAcn2C,EAAKm2C,YAAYrpD,SAAWkT,EAAK1Z,QAAQwG,QAEtEkT,GAAKo2C,OAAStwD,EAAG,eAAiBka,EAAKrS,QAAQwgC,QAAQsnB,MAAQ,YAC7DruC,GAAI,YAAa,WACjBpH,EAAKmB,UAELvC,SAAUnH,IAGbg/C,SAAU,WACT,GAAI5oD,GAAO5H,KAAKuwD,aAAevwD,KAAKkwD,aAAerwD,EAAG,IAAMA,EAAEC,OAAO4K,gBAErE,OAAO9C,IAGR+oD,YAAa,WACZ,GAAI5hB,GAAU/uC,KAAKk+C,QAAQ1wC,KAAM,IAAMxN,KAAK0H,QAAQwgC,QAAQwnB,YACpC,KAAnB3gB,EAAQvtC,SACZutC,EAAU/uC,KAAKk+C,QAAQ31C,SAAU,kGAC/B2kC,QAAS,eAAiBltC,KAAK0H,QAAQwgC,QAAQwnB,YAAc,YAC7D7oD,UAGH7G,KAAKmtC,SAAW4B,GAGjB2hB,kBAAmB,WAClB,GAAIQ,GAAmBrxD,EAAG,QAAS0I,SAAU,sCAC5C4oD,EAAmBnxD,KAAKk+C,QAAQ1wC,KAAM,sCACtC4jD,EAAgBF,EAAiB1rD,IAAK2rD,GAAmBp8C,SAAU/U,KAAK0H,QAAQwgC,QAAQynB,iBAEzF,OAAOyB,IAGRC,sBAAuB,SAAU/nC,GAChC,MAAOA,GAAS,aAAetpB,KAAK0H,QAAQhB,SAAW,IAAM4iB,EAAS,YAActpB,KAAK0H,QAAQooD,SAGlGwB,iBAAkB,WACjB,GAAIC,GAAevxD,KAAK0H,QAAQwgC,QAAQinB,MACvC,IAAMnvD,KAAKqxD,sBAAuBrxD,KAAK0H,QAAQwgC,QAAQinB,OACvD,IAAMnvD,KAAK0H,QAAQwgC,QAAQmnB,YAC3B,aAAqBrvD,KAAK0H,QAAQiQ,MAAQ3X,KAAK0H,QAAQiQ,MAAQ,UAMhE,OAJO3X,MAAK0H,QAAQsoD,gBACnBuB,GAAgB,IAAMvxD,KAAK0H,QAAQwgC,QAAQonB,YAGrCiC,GAGRX,iBAAkB,WACjB5wD,KAAKK,QAAQ0U,SAAU/U,KAAKsxD,qBAG7BE,kBAAmB,SAAUnrD,GACtBA,EAAMkP,sBACXvV,KAAKkb,SAIP41C,iBAAkB,WACjB9wD,KAAK4S,IAAK5S,KAAKiwD,YACdrsB,MAAS,sBAGV5jC,KAAK4S,KACJ6+C,gCAAiC,uBAInCC,eAAgB,SAAUC,GACzB,GAAI53C,GAAO/Z,KACV4xD,EAAmB73C,EAAKq2C,YAAY9qD,cACpC2gC,EAAS2rB,EAAmB/xD,EAAEC,OAAOkM,iBAEjCi6B,KAAWlsB,EAAKrS,QAAQsoD,eACvB/pB,IACJlsB,EAAK83C,cACLhyD,EAAEC,OAAOoM,sBAAuB0lD,IAE5BD,GACJ3xD,KAAKE,OAAQ,GAAIqJ,SAAU,EAAG1J,EAAEC,OAAOqJ,oBAGxC4Q,EAAK+3C,aAIPC,iBAAkB,WACjB/xD,KAAK4S,IAAK/S,EAAGK,IAAYoxB,gBAAmB,oBAG7C0gC,mBAAoB,WACnBhyD,KAAKwU,KAAM3U,EAAGK,GAAU,oBAGzB2xD,YAAa,WACL7xD,KAAK0H,QAAQsoD,eAAiBnwD,EAAEmG,QAAQgZ,eAC9Chf,KAAKK,QAAQsK,YAAa3K,KAAK0H,QAAQwgC,QAAQonB,aAIjDwC,UAAW,WACH9xD,KAAK0H,QAAQsoD,eAAiBnwD,EAAEmG,QAAQgZ,eAC9Chf,KAAKK,QAAQ0U,SAAU/U,KAAK0H,QAAQwgC,QAAQonB,aAI9CuB,kBAAmB,WAClB,GAAI92C,GAAO/Z,IAEX+Z,GAAK1Z,QAAQ8gB,GAAI,eAAgB,WAC3BpH,EAAKmoC,OACTnoC,EAAK23C,oBAKRX,mBAAoB,WACnB/wD,KAAK4S,IAAK,QACTq/C,UAAW,kBAKbC,aAAc,SAAUhnD,GACvB,GAAIiT,GACHg0C,EAAUnyD,KAAKK,QAAQkE,KAAM,KAEzB2G,GAAE4J,cAAchU,KAAK0P,MAAO,KAAO,KAAQ2hD,GAAWA,IAAYhyD,IAEtE+K,EAAE5E,iBACF6X,EAAOte,EAAGqL,EAAEsG,QACP2M,EAAK/J,SAAU,YACnB+J,EAAKpJ,SAAUlV,EAAEC,OAAO8K,gBACxB5K,KAAKK,QAAQma,IAAK,uBAAwB,WACzC2D,EAAKxT,YAAa9K,EAAEC,OAAO8K,mBAG7B5K,KAAKksD,WAIP+E,iBAAkB,WACjB,GAAIl3C,GAAO/Z,KACVoyD,EAAOr4C,EAAKo2C,OAASp2C,EAAK1Z,QAAQmF,IAAKuU,EAAKo2C,QAAWp2C,EAAK1Z,OAGtD0Z,GAAKrS,QAAQqoD,aACY,SAA1Bh2C,EAAKrS,QAAQhB,SACjB0rD,EAAKjxC,GAAI,kBAAmB,WAC3BpH,EAAKmB,UAGNk3C,EAAKjxC,GAAI,mBAAoB,WAC5BpH,EAAKmB,YAMT0vC,gBAAiB,WAChB,GAAI7wC,GAAO/Z,IAEXA,MAAKC,SAEHkhB,GAAI,kBAAmB,SAAUjW,GAC5B6O,EAAKmoC,OAASh3C,EAAEsG,SAAWuI,EAAK1Z,QAAS,IAC7C0Z,EAAKmB,UAINiG,GAAI,cAAe,SAAUjW,GACV,KAAdA,EAAEpJ,SAAkBiY,EAAKmoC,OAC7BnoC,EAAKmB,UAGFlb,KAAKkwD,aAAwC,YAAzBlwD,KAAK0H,QAAQooD,SACtC9vD,KAAK4S,IAAK5S,KAAKC,UACdm6C,SAAY,WACXp6C,KAAKuwD,YAAc,KACnBvwD,KAAK2wD,iBAKH52C,EAAKm2C,YACTlwD,KAAKC,SAASkhB,GAAI,WAAY,wBAAyB,WACjDpH,EAAKmoC,OACTnoC,EAAKmB,OAAO,KAIdlb,KAAKC,SAASkhB,GAAI,iBAAkB,WAC9BpH,EAAKmoC,OACTnoC,EAAKmB,OAAO,MAOhBgnC,OAAO,EACPmQ,wBAAyB,KACzBC,kBAAmB,KAEnBt3C,KAAM,SAAU4nC,GACf,IAAM5iD,KAAKkiD,MAAQ,CAClB,GAAInoC,GAAO/Z,KACVouB,EAAIrU,EAAKrS,QAET6qD,EAAa,WACZx4C,EAAKvF,KAAMuF,EAAK9Z,SAAW,cAC3B8Z,EAAKmkC,QAAQn0C,QAAS,QAAS,QAE1BlK,EAAEmG,QAAQya,gBAAoB2N,EAAEyhC,SAAyB,YAAdzhC,EAAE0hC,UACjD/1C,EAAKozB,SAASp4B,SAAUqZ,EAAE8Z,QAAQ2nB,SAClC91C,EAAKs2C,iBAAiBt7C,SAAUqZ,EAAE8Z,QAAQ2nB,WAGrCjN,GAAa/iD,EAAEmG,QAAQya,gBAAoB2N,EAAEyhC,SAChD91C,EAAKozB,UAAYpzB,EAAK1Z,SACtBopB,kBAAmBxT,EAAU,cAE/B5S,WAAY4S,EAAU,GAGlBmY,EAAEzW,OAAuB,YAAdyW,EAAE0hC,SACjB/1C,EAAKmkC,QAAQr3C,SACXkO,SAAUqZ,EAAE8Z,QAAQz4B,cAAgB,WAAa2e,EAAE8Z,QAAQz4B,cAAgB,IAAM2e,EAAEzW,OAGtFoC,EAAK1Z,QACHsK,YAAayjB,EAAE8Z,QAAQmnB,aACvBt6C,SAAUqZ,EAAE8Z,QAAQknB,WAEtBr1C,EAAK23C,gBAAgB,GAErB33C,EAAKs4C,wBAA0Bt4C,EAAKs3C,sBAAuBjjC,EAAE8Z,QAAQ0nB,mBAElD,YAAdxhC,EAAE0hC,UACN/1C,EAAKmkC,QAAQr3C,SAASkO,SAAUqZ,EAAE8Z,QAAQz4B,eAC1CsK,EAAKozB,SAASp4B,SAAUgF,EAAKs4C,yBAC7Bt4C,EAAKs2C,iBAAiBt7C,SAAUgF,EAAKs4C,0BAGtCt4C,EAAKu4C,kBAAoBv4C,EAAKs3C,sBAAuBjjC,EAAE8Z,QAAQsnB,OAAU,IAAMphC,EAAE8Z,QAAQunB,UACpF11C,EAAKo2C,QACTp2C,EAAKo2C,OACHp7C,SAAUgF,EAAKu4C,mBACfrmD,OAAQnD,KAAKC,IAAKgR,EAAKo2C,OAAOlkD,SAAU8N,EAAK9Z,SAASgM,YAG1DgK,EAAW,WAGJ8D,EAAKmoC,QAIQ,YAAd9zB,EAAE0hC,UACN/1C,EAAKozB,SAASp4B,SAAUqZ,EAAE8Z,QAAQ0nB,kBAAoB,SACtD71C,EAAKs2C,iBAAiBt7C,SAAUqZ,EAAE8Z,QAAQ0nB,kBAAoB,UAG/D71C,EAAKg4C,mBAELh4C,EAAK7G,SAAU,QAEf6G,EAAKw2C,YAAcx2C,EAAKmkC,SAG1BnkC,GAAK7G,SAAU,cAE0B,SAApC6G,EAAKmkC,QAAQn0C,QAAS,SAC1BgQ,EAAKnH,IAAKmH,EAAK9Z,UACduyD,WAAcD,IAGfA,IAGDx4C,EAAKmoC,OAAQ,IAIfhnC,MAAO,SAAU0nC,GAChB,GAAK5iD,KAAKkiD,MAAQ,CACjB,GAAInoC,GAAO/Z,KACVouB,EAAIpuB,KAAK0H,QAET+qD,EAAc,WAEb14C,EAAK1Z,QAAQsK,YAAayjB,EAAE8Z,QAAQknB,WAEjB,YAAdhhC,EAAE0hC,UACN/1C,EAAKozB,SAASxiC,YAAaoP,EAAKs4C,yBAChCt4C,EAAKs2C,iBAAiB1lD,YAAaoP,EAAKs4C,2BAGnCzP,GAAa/iD,EAAEmG,QAAQya,gBAAoB2N,EAAEyhC,SAChD91C,EAAKozB,UAAYpzB,EAAK1Z,SACtBopB,kBAAmBxT,EAAU,cAE/B5S,WAAY4S,EAAU,GAGlB8D,EAAKo2C,QACTp2C,EAAKo2C,OACHxlD,YAAaoP,EAAKu4C,mBAClBrmD,OAAQ,KAGZgK,EAAW,WACLmY,EAAEzW,OAAuB,YAAdyW,EAAE0hC,SACjB/1C,EAAKmkC,QAAQr3C,SAAS8D,YAAayjB,EAAE8Z,QAAQz4B,cAAgB,WAAa2e,EAAE8Z,QAAQz4B,cAAgB,IAAM2e,EAAEzW,OAG7GoC,EAAK1Z,QAAQ0U,SAAUqZ,EAAE8Z,QAAQmnB,aAEd,YAAdjhC,EAAE0hC,UACN/1C,EAAKmkC,QAAQr3C,SAAS8D,YAAayjB,EAAE8Z,QAAQz4B,eAC7CsK,EAAKozB,SAASxiC,YAAayjB,EAAE8Z,QAAQ0nB,kBAAoB,SACzD71C,EAAKs2C,iBAAiB1lD,YAAayjB,EAAE8Z,QAAQ0nB,kBAAoB,UAG7D/vD,EAAEmG,QAAQya,gBAAoB2N,EAAEyhC,SAAyB,YAAdzhC,EAAE0hC,UACjD/1C,EAAKozB,SAASxiC,YAAayjB,EAAE8Z,QAAQ2nB,SACrC91C,EAAKs2C,iBAAiB1lD,YAAayjB,EAAE8Z,QAAQ2nB,UAG9C91C,EAAK+3C,YACL/3C,EAAKi4C,qBACLnyD,EAAEC,OAAOoM,wBAET6N,EAAKmkC,QAAQjnC,cAAe,SAE5B8C,EAAK7G,SAAU,SAEf6G,EAAKw2C,YAAc,KAGrBx2C,GAAK7G,SAAU,eAEfu/C,IAEA14C,EAAKmoC,OAAQ,IAIfgK,OAAQ,WACPlsD,KAAMA,KAAKkiD,MAAQ,QAAU,WAG9B7uC,SAAU,WACT,GAAIq/C,GACJtkC,EAAIpuB,KAAK0H,QACTirD,EAAmB9yD,EAAG,wBAAyB2B,OAAS3B,EAAEC,OAAOq2B,WAAW3oB,KAAM,iBAAkBhM,OAAW,CAE5F,aAAd4sB,EAAE0hC,UAGN4C,EAAc7yD,EAAG,wBAAyB2F,IAAK3F,EAAEC,OAAOq2B,WAAW3oB,KAAM,kBACU,IAA9EklD,EAAYhlD,IAAK,6BAA8BA,IAAK1N,KAAKK,SAAUmB,QACvExB,KAAKmtC,SAAS5kC,WAAW69B,SAGrBpmC,KAAKkiD,QAETliD,KAAKqwD,iBAAiB1lD,YAAayjB,EAAE8Z,QAAQ0nB,kBAAoB,SAE5D/vD,EAAEmG,QAAQya,gBAAoB2N,EAAEyhC,SACpC7vD,KAAKqwD,iBAAiB1lD,YAAayjB,EAAE8Z,QAAQ2nB,SAG9C7vD,KAAKk+C,QAAQr3C,SAAS8D,YAAayjB,EAAE8Z,QAAQz4B,eAExC2e,EAAEzW,OACN3X,KAAKk+C,QAAQr3C,SAAS8D,YAAayjB,EAAE8Z,QAAQz4B,cAAgB,WAAa2e,EAAE8Z,QAAQz4B,cAAgB,IAAM2e,EAAEzW,SAKzGg7C,GAEL3yD,KAAKC,SAASmhB,IAAK,wBAIfphB,KAAKkiD,OACTliD,KAAKk+C,QAAQjnC,cAAe,SAG7BjX,KAAKowD,YAAY7nD,WAAW69B,SAE5BpmC,KAAKK,QACHsK,aAAe3K,KAAKsxD,mBAAoBljC,EAAE8Z,QAAQknB,UAAWhhC,EAAE8Z,QAAQ2nB,SAAUp7C,KAAM,MACvF2M,IAAK,oCACLA,IAAK,mBACLA,IAAK,aACLA,IAAK,eACLA,IAAK,gBAEFphB,KAAKmwD,QACTnwD,KAAKmwD,OAAO9hD,aAKXtO,GAEJ,SAAWF,EAAGM,GAEdN,EAAEqQ,OAAQ,gBACTxI,SACCwgC,SACC0qB,MAAO,YAER/+B,UAAU,GAGX5gB,QAAS,WACFjT,KAAK0H,QAAQmsB,UAClB7zB,KAAKK,QAAQ0U,SAAU/U,KAAK0H,QAAQwgC,QAAQ0qB,OAI7C/yD,EAAE+B,OAAQ5B,MAIT6yD,QAAS1yD,EAIT2yD,WAAY3yD,IAGbH,KAAKsnC,UAAU,IAGhByrB,YAAa,WACZ,GAAIC,GAAMhzD,KAAKK,QAAQmN,KAAM,WAE7BxN,MAAK6yD,QAAU7yD,KAAKK,QAAQmN,KAAM,YAAajF,WAC/CvI,KAAK8yD,WAAa9yD,KAAK6yD,QAAQrtD,IAAKwtD,EAAIzqD,aAGzCk9B,QAAS,WACRzlC,KAAKsnC,YAGN2rB,QAASpzD,EAAEuT,KAEXk0B,SAAU,WACT,GAAIsrB,GAAQ5yD,KAAKK,QAChB2yD,EAAMJ,EAAMplD,KAAM,WAGnBxN,MAAK+yD,cAGLC,EAAI7vD,KAAM,WACT,GAAI+vD,GAAc,CAGlBrzD,GAAGG,MAAOuI,WAAWpF,KAAM,WAC1B,GAECkmB,GAFGmzB,EAAO51C,SAAU5G,KAAK+L,aAAc,WAAa,IACpDxG,EAAW,eAAkB2tD,EAAc,GAAM,GAKlD,IAFAlzD,KAAKurC,aAAc,QAAU1rC,EAAEC,OAAOsI,GAAK,WAAY8qD,EAAc,GAEhE1W,EACJ,IAAKnzB,EAAI,EAAOmzB,EAAO,EAAXnzB,EAAcA,IACzB6pC,IACA3tD,GAAY,iBAAoB2tD,EAAc,GAAM,GAMtDrzD,GAAGG,MAAO+J,QAAS,QAAS6oD,EAAMplD,KAAM,MAAOE,IAAKslD,EAAIrvD,GAAI,IAAM+J,IAAK1N,MAAOuI,SAAUhD,IAExF2tD,YAMAnzD,GAGJ,SAAWF,GAEXA,EAAEqQ,OAAQ,eAAgBrQ,EAAEC,OAAO8yD,OAClClrD,SACCyrD,KAAM,eACNC,eAAgB,KAChBC,iBAAkB,KAClBC,cAAe,aACfprB,QAASroC,EAAE+B,OAAQ/B,EAAEC,OAAO8yD,MAAMzrD,UAAUO,QAAQwgC,SACnD8N,MAAO,8BACPud,UAAW,4BACXC,eAAgB,qBAChBC,kBAAmB,2BAIrBxgD,QAAS,WACRjT,KAAK+Q,SAEsB,iBAAtB/Q,KAAK0H,QAAQyrD,OAIlBtzD,EAAE+B,OAAQ5B,MACT0zD,MAAO,OAGH1zD,KAAK0H,QAAQmsB,UACjB7zB,KAAK0zD,MAAQ7zD,EAAGG,KAAKC,SAAU,GAAI2+C,eAAgB5+C,KAAK2zD,MAAQ,WAAaprD,WAAWwP,QACxF/X,KAAK4zD,YAAa5zD,KAAK0zD,OAAO,KAE9B1zD,KAAK0zD,MAAQ1zD,KAAK6zD,oBAClB7zD,KAAKK,QAAQ0U,SAAU/U,KAAK0H,QAAQwgC,QAAQurB,oBAG7CzzD,KAAK8zD,eAEL9zD,KAAK+zD,oBAGNJ,IAAK,WACJ,MAAS3zD,MAAKK,QAAQkE,KAAM,OAAYvE,KAAK+N,WAAa/N,KAAKyB,MAGhEqyD,aAAc,WAKb9zD,KAAK4S,IAAK5S,KAAKE,QACdoxB,gBAAiB,oBAElBtxB,KAAK4S,IAAK5S,KAAK0zD,OACdM,eAAgB,sBAIlBJ,YAAa,SAAUK,EAAMC,GAC5B,GAAIC,GACHC,EAAgB,EAChB7sC,EAAOvnB,KAAK0H,QACZm2B,EAAYo2B,EAAK3lB,aAAc,YAG3B4lB,GACJC,EAASF,EAAKzmD,KAAM,SAEpBqwB,EAAU6M,QAIX1qC,KAAK6yD,QAAQnlD,IAAK,MAAOvK,KAAM,WAC9B,GAAIsO,GAAO4iD,EACVhP,EAASxlD,EAAGG,MACZs0D,EAAWz0D,EAAEC,OAAOiM,aAAc/L,KAAM,WAEpCs0D,KACJD,EAAQhP,EAAO7/C,IAAK6/C,EAAOt7C,QAAS,UACpCsqD,EAAMt/C,SAAUwS,EAAK2gB,QAAQsrB,eAAiBc,GAI9C7iD,GAAUyiD,EAAOC,EAAOxwD,GAAIywD,KAC3Bv0D,EAAE,4CACCwlD,EAAO98C,SAAU,QAASwP,QAAQxT,KAAM,UACzC8gD,EAAOp3C,QACR,YACC0K,SAAUklB,GACVt1B,SAAU,GACV4lC,eACAx2B,MAAO4P,EAAK8rC,oBAIZtpD,QAAS,SAAUs7C,GACnBt7C,QAAS,QAASsqD,GAGrBhP,EAAOt7C,QAAS,QAAS0H,MAKrByiD,GACLD,EAAK3lB,aAAc,YAIrBimB,iBAAkB,SAAUC,GAC3B,GAAI/iD,GAAQ5R,EAAG20D,EAAIhjD,QAClBs8B,EAAUr8B,EAAO,GAAIq8B,OAEtBr8B,GAAM1H,QAAS,SACb6J,YAAa,wBAAyBk6B,GACtCl6B,YAAa,wBAAyBk6B,IAGzC2mB,aAAc,SAAUJ,GAEvBA,EAAM1pD,YAAa,+CAGpBkpD,kBAAmB,WAClB,GAAI/vD,GAAK4wD,EAAY1e,EAAOie,EAC3BrB,EAAQ5yD,KAAKK,QACbknB,EAAOvnB,KAAK0H,QACZU,EAAKvI,EAAEC,OAAOsI,GACd62C,EAAWj/C,KAAKC,SAAU,GAAIi/C,wBAsB/B,OApBAp7C,GAAK9D,KAAK2zD,MAAQ,SAClBe,EAAa70D,EAAG,aAAeiE,EAAK,YACvByjB,EAAK2gB,QAAQqrB,UAAY,mBACvBhsC,EAAK6rC,gBAAkB,KACrC,0CACUhrD,EAAK,eAAiBmf,EAAK+rC,cAAgB,QACtDtd,EAAQn2C,EAAG,eAAiB0nB,EAAK2gB,QAAQ8N,MAAQ,SAAWlyC,EAAK,YACjEmwD,EAAOp0D,EAAG,yBAA0ByuC,eAGpCtuC,KAAK4zD,YAAaK,GAAM,GAExBA,EAAKt7C,SAAUq9B,GAEfiJ,EAASnjC,YAAak6B,EAAO,IAC7BiJ,EAASnjC,YAAa44C,EAAY,IAClC9B,EAAM+B,OAAQ1V,GAEdjJ,EAAMA,QAECie,GAGRhB,QAAS,WACRjzD,KAAK+Q,SAEsB,iBAAtB/Q,KAAK0H,QAAQyrD,MAIjBnzD,KAAKsnC,UAAU,IAIjBA,SAAU,SAAU/0B,GACnB,GAAIsgD,GAAS+B,EAAe/rD,CAK5B,IAFA7I,KAAK+Q,OAAQwB,IAEPA,GAAgC,iBAAtBvS,KAAK0H,QAAQyrD,KA+B5B,IA9BAN,EAAU7yD,KAAK6yD,QACf+B,KAMA50D,KAAK0zD,MAAMlmD,KAAM,SAAUrK,KAAM,WAChC,GAAIsO,GAAQ5R,EAAGG,MACdqlD,EAAS5zC,EAAM1H,QAAS,UACxBlB,EAAQgqD,EAAQhqD,MAAOw8C,EAAQ,GAE3Bx8C,GAAQ,KAAO4I,EAAMZ,KAAM,YAK/B+jD,EAAcvtD,KAAMwB,KAKtB7I,KAAKy0D,aAAcz0D,KAAKK,QAAQmN,KAAM,kDAItCxN,KAAK4zD,YAAa5zD,KAAK0zD,MAAOnhD,GAIxB1J,EAAQ+rD,EAAcpzD,OAAS,EAAIqH,EAAQ,GAAKA,IACrDgqD,EAAQlvD,GAAIixD,EAAe/rD,IAAUkB,QAAS,SAC5C8G,KAAM,WAAW,GACjBs9B,cAAe,WACf3kC,QAAS,WAKduqD,gBAAiB,WAChB/zD,KAAK0zD,MAAMlmD,KAAM,SAAUrK,KAAM,WAChC,GAAI0xD,GAAWh1D,EAAGG,KAElBA,MAAK8tC,QAAmE,eAAzD+mB,EAAS9qD,QAAS,SAAUpG,GAAI,GAAIpC,IAAK,WACxDszD,EAAS1mB,cAAe,cAI1B96B,SAAU,WACTrT,KAAK+Q,aAIHhR,GAEJ,SAAWF,GAEXA,EAAEqQ,OAAQ,eAAgBrQ,EAAEC,OAAO8yD,OAClClrD,SACCyrD,KAAM,SACNjrB,QAASroC,EAAE+B,OAAQ/B,EAAEC,OAAO8yD,MAAMzrD,UAAUO,QAAQwgC,SACnD4sB,YAAa,kBACbC,WAAY,yBAId9hD,QAAS,WACRjT,KAAK+Q,SAGsB,WAAtB/Q,KAAK0H,QAAQyrD,OAIZnzD,KAAK0H,QAAQmsB,WAClB7zB,KAAKK,QAAQ0U,SAAU/U,KAAK0H,QAAQwgC,QAAQ4sB,aAE5C90D,KAAKg1D,mBAIP/B,QAAS,WACRjzD,KAAK+Q,SAEsB,WAAtB/Q,KAAK0H,QAAQyrD,MACjBnzD,KAAKsnC,UAAU,IAIjBA,SAAU,SAAU/0B,GACnBvS,KAAK+Q,OAAQwB,GACPA,GAAgC,WAAtBvS,KAAK0H,QAAQyrD,MAC5BnzD,KAAKg1D,iBAIPA,cAAe,WACd,GAAIpC,GAAQ5yD,KACXunB,EAAOvnB,KAAK0H,OAGb7H,GAAG+yD,EAAME,WAAW3gD,MAAMglB,WAAYh0B,KAAM,WAC3C,GAIC8xD,GAAW3zD,EAJR+yD,EAAQx0D,EAAGG,MAAO+J,QAAS,SAC9BmrD,EAAWr1D,EAAEC,OAAOiM,aAAc/L,KAAM,YACxCm1D,EAAiBd,EAAM3mD,IAAK1N,MAAOsB,OAAQ,YAAaE,QAAU,2BAClE2kC,EAAWtmC,EAAGG,MAAOsiC,QAAQ6D,UAGxBA,GAAS3kC,OAAS,IAEjB2zD,GACJF,EAAYruD,SAAU5G,KAAK+L,aAAc,WAAa,IACtDzK,EAAS,GAEJ2zD,IACJ3zD,EAAS,gBAAiB2zD,EAAW,OAAS,EAAc,KAG7DrC,EAAMwC,WAAYf,EAAM/yD,OAAQA,GAC/BimB,EAAK2gB,QAAQ6sB,WAAaI,EAAgBhvB,IAE3CysB,EAAMwC,WAAYf,EAAO9sC,EAAK2gB,QAAQ6sB,WAAY5uB,OAOvDivB,WAAY,SAAUf,EAAOjoB,EAAOjG,GACV,IAApBA,EAAS3kC,QAAyD,SAAzC2kC,EAAU,GAAIzlC,SAASC,gBACpDwlC,EAAWA,EAASxiC,GAAI,GAAIY,KAAM,UAGnC8vD,EACE3mD,IAAK,UAAY0+B,EAAQ,KACxBiB,QAASxtC,EAAG,aAAeusC,EAAQ,UAAWruB,OAAQooB,QAIvDpmC,GAEJ,SAAWF,EAAGM,GAGd,GAAIk1D,GAAwB,SAAUxsD,EAAOysD,GAC5C,MAC2C,MADhC,IAAOz1D,EAAEC,OAAOiM,aAAc/L,KAAM,eAAkBH,EAAGG,MAAOiO,SACzEtN,cAAc0W,QAASi+C,GAG1Bz1D,GAAEqQ,OAAQ,qBAETzC,aAAc,0BAEd/F,SACC6tD,cAAc,EACdC,eAAgBH,EAChBxhC,UAAU,EACVpiB,MAAO,KACPlJ,SAAU,6KAGX0K,QAAS,WACR,GAAIsU,GAAOvnB,KAAK0H,OAEhB7H,GAAE+B,OAAQ5B,MACTy1D,QAAS,KACTC,OAAQ,IAGT11D,KAAK21D,UAAWpuC,EAAK9V,OACf8V,EAAKsM,UACV7zB,KAAK41D,cAAkB51D,KAAKy1D,SAAWz1D,KAAKy1D,QAAQx7C,OAAW,IAAKtZ,gBAItEk1D,SAAU,WACT,GAAI57C,GAAK67C,EACRz1C,EAASrgB,KAAKy1D,OAEf,IAAKp1C,EAAS,CAIb,GAHApG,EAAMoG,EAAOpG,MAAMtZ,cACnBm1D,EAAUj2D,EAAEC,OAAOiM,aAAcsU,EAAQ,GAAK,WAAc,GAEvDy1C,GAAWA,IAAY77C,EAE3B,MAGIja,MAAK01D,SACTx1D,EAAOga,aAAcla,KAAK01D,QAC1B11D,KAAK01D,OAAS,GAGf11D,KAAK01D,OAAS11D,KAAK2U,OAAQ,WAC1B,MAAK3U,MAAKkT,SAAU,eAAgB,MAAQzB,MAAO4O,OAAe,GAC1D,GAIRA,EAAQ,GAAIkrB,aAAc,QAAU1rC,EAAEC,OAAOsI,GAAK,UAAW6R,GAE7Dja,KAAK41D,aAAc37C,QACnBja,KAAK01D,OAAS,KACZ,OAILK,oBAAqB,WACpB,GAAI3yD,GAAOpD,KAAKK,QACfkI,EAAWvI,KAAK0H,QAAQa,SACxBojC,EAASpjC,EACR1I,EAAEiR,WAAYvI,GAAaA,IAC3BA,EAAS7H,SAAWb,EAAG0I,GACvBA,EAAS3D,OAAS2D,EAClBvI,KAAKK,QAAQmN,KAAMjF,IAJE/G,OAAQ,EAU/B,OAJsB,KAAjBmqC,EAAMnqC,SACVmqC,EAAQvoC,EAAKmF,YAGPojC,GAGRiqB,aAAc,SAAU37C,GACvB,GAAI2xB,GAAKx2B,EAAU5T,EAAQ4hC,EAC1B5tB,KACAC,KACA8R,EAAOvnB,KAAK0H,QACZsuD,EAAch2D,KAAK+1D,qBAEpB,IAAY,MAAP97C,EAKJ,IAJA7E,EAAWmS,EAAKiuC,gBAAkBH,EAClC7zD,EAASw0D,EAAYx0D,OAGfoqC,EAAM,EAAUpqC,EAANoqC,EAAeA,IAC9BxI,EAAQhuB,EAAS9R,KAAM0yD,EAAapqB,GAAOA,EAAK3xB,GAAUxE,EAAOD,EACjE4tB,EAAI/7B,KAAM2uD,EAAapqB,GAMJ,KAAhBn2B,EAAKjU,OACTw0D,EAAezuC,EAAKguC,cAA+B,IAAft7C,EAAIzY,OACvC,WAAa,eAAiB,qBAE/B3B,EAAG4V,GAAOV,SAAU,oBACpBlV,EAAG2V,GAAO7K,YAAa,qBAGxB3K,KAAKi2D,sBAELj2D,KAAKkT,SAAU,SAAU,MACxBy4B,MAAOqqB,KAMTC,oBAAqB,WACpB,GAAI/lD,GAAQ07B,EACXsqB,GAAsB,iBAAkB,aAAc,eAAgB,WAEvE,KAAMtqB,EAAMsqB,EAAkB10D,OAAS,EAAIoqC,EAAM,GAAKA,IACrD17B,EAASgmD,EAAmBtqB,GACvB/rC,EAAEC,OAAQoQ,KACdA,EAASlQ,KAAKK,QAAQ4D,KAAM,UAAYiM,GACnCA,GAAUrQ,EAAEiR,WAAYZ,EAAOu1B,UACnCv1B,EAAOu1B,YAOXkwB,UAAW,SAAWpwD,GACrB,GAAI8a,GAASrgB,KAAKy1D,OAGbz1D,MAAK01D,SACTx1D,EAAOga,aAAcla,KAAK01D,QAC1B11D,KAAK01D,OAAS,GAGVr1C,IACJrgB,KAAKwU,KAAM6L,EAAQ,sBACnBA,EAAS,MAGL9a,IACJ8a,EAAS9a,EAASX,OAASW,EAC1BA,EAAS7E,SAAWb,EAAG0F,GACvBvF,KAAKC,SAASuN,KAAMjI,GAErBvF,KAAK4S,IAAKyN,GACTgzB,QAAS,aACT8iB,SAAU,cACVljB,MAAO,WACPzc,OAAQ,WACR/kB,MAAO,cAITzR,KAAKy1D,QAAUp1C,GAIhB+1C,WAAY,SAAU/vD,GAChBA,EAAMvE,UAAYjC,EAAE8B,GAAGG,QAAQM,QACnCiE,EAAMC,iBACNtG,KAAKq2D,kBAAmB,IAI1BC,YAAa,SAAUjwD,GACjBrG,KAAKq2D,mBACThwD,EAAMC,iBACNtG,KAAKq2D,kBAAmB,IAI1B3iD,YAAa,SAAUhM,GACtB,GAAI6uD,KAAgB7uD,EAAQ6tD,eAAiBp1D,GACzCuH,EAAQ8tD,iBAAmBr1D,GAC3BuH,EAAQa,WAAapI,EAEzBH,MAAK+Q,OAAQrJ,GAERA,EAAQ+J,QAAUtR,IACtBH,KAAK21D,UAAWjuD,EAAQ+J,OACxB8kD,GAAW,GAGPA,GACJv2D,KAAKylC,WAIPpyB,SAAU,WACT,GAAIkU,GAAOvnB,KAAK0H,QACfikC,EAAQ3rC,KAAK+1D,qBAETxuC,GAAKsM,SACT8X,EAAM/3B,YAAa,mBAAoB2T,EAAKguC,cAE5C5pB,EAAMhhC,YAAa,qBAIrB86B,QAAS,WACHzlC,KAAK01D,SACTx1D,EAAOga,aAAcla,KAAK01D,QAC1B11D,KAAK01D,OAAS,GAEf11D,KAAK41D,cAAkB51D,KAAKy1D,SAAWz1D,KAAKy1D,QAAQx7C,OAAW,IAAKtZ,mBAIlEZ,GAEJ,SAAWF,EAAGM,GAId,GAAIq2D,GAAoB,SAAUz8C,EAAM9W,GACtC,MAAO,UAAUyE,GAChBzE,EAAKK,KAAMtD,KAAM0H,GACjBqS,EAAK08C,sBAAuB/uD,KAG9BgvD,EAAmB,4BACnBC,EAA4B92D,EAAEC,OAAO82D,WAAWzvD,UAAUO,QAAQ8tD,cAGnE31D,GAAEC,OAAO82D,WAAWzvD,UAAUO,QAAQ8tD,eAAiB,SAAU3sD,EAAOysD,GACvE,OAAQt1D,KAAKqL,UAAUhH,MAAOqyD,IAC7BC,EAA0BrzD,KAAMtD,KAAM6I,EAAOysD,IAG/Cz1D,EAAEqQ,OAAQ,oBAAqBrQ,EAAEC,OAAO82D,YACvClvD,SACCmvD,kBAAmB,kBACnBC,YAAa,MAGd7jD,QAAS,WACR,GAAI24B,GAAK79B,EACR3K,EAAOpD,KAAKK,QACZ61D,GAAsB,iBAAkB,aAAc,eAAgB,YACtEa,IAQD,KANA/2D,KAAK+Q,SAELlR,EAAE+B,OAAQ5B,MACTuM,QAAS,OAGJq/B,EAAMsqB,EAAkB10D,OAAS,EAAIoqC,EAAM,GAAKA,IAErD,GADA79B,EAAamoD,EAAmBtqB,GAC3B/rC,EAAEC,OAAQiO,GAAe,CAC7B,GAAK/N,KAAKg3D,WAAY5zD,EAAKa,KAAM,UAAY8J,IAC5C,KAEAgpD,GAAgBhpD,EAAa,UAAa,gBAKvC/N,KAAKuM,SACVvM,KAAK4S,IAAKxP,EAAM2zD,IAIlBE,cAAe,SAAUzC,GACxBx0D,KAAKg3D,WAAYh3D,KAAKK,QAAQ4D,KAAM,UAAYuwD,EAAIrvD,KAAKsd,UAAW,EAAG+xC,EAAIrvD,KAAK3D,OAAS,MAG1F0R,SAAU,SAAU/N,EAAMkB,EAAOpC,GAShC,MARKjE,MAAKuM,SAA2C,oBAAhCvM,KAAKuM,QAAQ6E,gBACxB,iBAATjM,GAGAnF,KAAKuM,QAAQ2G,SAAU,eAAgB7M,EAAOpC,GAIxCjE,KAAK+Q,OAAQ5L,EAAMkB,EAAOpC,IAGlC+yD,WAAY,SAAU9mD,GAcrB,OAbMlQ,KAAKuM,SAAW2D,IACrBlQ,KAAKuM,QAAU2D,EACflQ,KAAKuM,QAAQmH,YAAc8iD,EAAmBx2D,KAAMA,KAAKuM,QAAQmH,cAG3D1T,KAAKuM,UACXvM,KAAKy2D,sBAAuBz2D,KAAKuM,QAAQ7E,SACR,aAA5B1H,KAAKuM,QAAQwB,aACjB/N,KAAKuM,QAAQ7E,QAAQgkC,cAAe,EACpC1rC,KAAKuM,QAAQlM,QAAQwqC,SAAU,eAIxB7qC,KAAKuM,SAGf2qD,kBAAmB,WAClB,MAASl3D,MAAKy1D,SAAWz1D,KAAKy1D,QAAQ1rD,QAAS,iBAAmB/J,KAAKyB,KAAO,cAG/Ek0D,UAAW,SAAUpwD,GACpB,GAAIgiB,GAAOvnB,KAAK0H,QACfyvD,GAAoB,EACpBC,IAED,KAAM7xD,EAAW,CAChB,GAAKvF,KAAKk3D,oBAIT,MAKAC,IAAoB,EACpB5xD,EAAW1F,EAAG,eACHA,EAAEC,OAAOsI,GAAK,8BACNmf,EAAKsvC,kBAAoB,cAC1C9sD,QAAS,iBAAmB/J,KAAKyB,KAAO,aAAa,GACvD5B,EAAG,uCACDke,OAAQxY,GACRo+B,OAAQ,SAAU6wB,GAClBA,EAAIluD,iBACJf,EAASu3B,SAET7gB,aAAcjc,KAAKK,SAChBR,EAAEC,OAAOo5C,YACoB,MAA5Bl5C,KAAK0H,QAAQovD,cACjBM,EAAuB,MAAI7vC,EAAKuvC,aAGjCvxD,EAAS2zC,UAAWke,IAKvBp3D,KAAK+Q,OAAQxL,GAERvF,KAAKk3D,qBAAuBC,GAChCn3D,KAAKy1D,QAAQlxD,KAAM,cAAevE,KAAK0H,QAAQmvD,oBAIjDnjD,YAAa,SAAUhM,GACtB,GAAIyP,GAAMnX,KAAK+Q,OAAQrJ,EAavB,OAVKA,GAAQmvD,oBAAsB12D,GAC7BH,KAAKk3D,qBACTl3D,KAAKy1D,QAAQlxD,KAAM,cAAemD,EAAQmvD,mBAIvCnvD,EAAQovD,cAAgB32D,GAAaH,KAAKy1D,SAAW51D,EAAEC,OAAOo5C,WAClEl5C,KAAKy1D,QAAQvc,UAAW,SAAU,QAASxxC,EAAQovD,aAG7C3/C,GASR8+C,oBAAqB,WACpBj2D,KAAKq3D,wBAAyB,EAC9Br3D,KAAKgR,YAAaxN,WAClBxD,KAAKq3D,wBAAyB,GAG/B5xB,QAAS,WACFzlC,KAAKq3D,wBACVr3D,KAAKgR,YAAaxN,YAIpB6P,SAAU,WACJrT,KAAKk3D,qBACTl3D,KAAKy1D,QAAQpnD,SAEdrO,KAAK+Q,UAGN0lD,sBAAuB,SAAU/uD,GAChC,GAAIkkC,GACH0rB,IAID,IAAKt3D,KAAKk3D,qBAAuBr3D,EAAEC,OAAOo5C,UAAY,CAGrD,IAAMtN,IAAO/rC,GAAEC,OAAOo5C,UAAU/xC,UAAUO,QACpCA,EAASkkC,KAAUzrC,IAEtBm3D,EAAkB1rB,GADN,UAARA,GAA+C,MAA5B5rC,KAAK0H,QAAQovD,YACV92D,KAAK0H,QAAQovD,YAEbpvD,EAASkkC,GAItC5rC,MAAKy1D,QAAQvc,UAAW,SAAUoe,OAUrCz3D,EAAEqQ,OAAQ,kBAAmBrQ,EAAEC,OAAO+qC,UACrCnjC,SACCpG,QAAQ,GAET2R,QAAS,WAKR,MAJKjT,MAAK0H,QAAQpG,UAAW,GAC1BtB,KAAKK,QAAQ4D,KAAM,sBACrBjE,KAAKK,QAAQu2D,aAEP52D,KAAK+Q,UAGb00B,QAAS,WACR,GAAImxB,EAEJ52D,MAAKgR,YAAaxN,WAEbxD,KAAK0H,QAAQpG,UAAW,IAC5Bs1D,EAAa52D,KAAKK,QAAQ4D,KAAM,qBAE3B2yD,GACJA,EAAWnxB,eAMX1lC,GAgBJ,SAAWF,EAAGM,GAKd,QAASo3D,KACR,QAASC,EAGV,QAASC,GAAS3yB,GACjB,MAAOA,GAAOrrB,KAAKjY,OAAS,GAC3BsjB,mBAAoBggB,EAAOhkC,KAAKwW,QAASogD,EAAO,OAC/C5yC,mBAAoBhM,SAAShY,KAAKwW,QAASogD,EAAO,KAVrD,GAAIF,GAAQ,EACXE,EAAQ,MAYT73D,GAAEqQ,OAAQ,WACTrO,QAAS,2CACTqB,MAAO,IACPwE,SACC8tB,OAAQ,KACR0P,aAAa,EACb7+B,MAAO,QACPsxD,YAAa,UACbliD,KAAM,KACND,KAAM,KAGNoiD,SAAU,KACVC,eAAgB,KAChBC,WAAY,KACZ99B,KAAM,MAGP/mB,QAAS,WACR,GAAI9F,GAAOnN,KACV0H,EAAU1H,KAAK0H,OAEhB1H,MAAK+3D,SAAU,EAEf/3D,KAAKK,QACH0U,SAAU,qDACVnB,YAAa,sBAAuBlM,EAAQw9B,aAE5C3wB,SAAU,oBAAqB,YAAcvU,KAAKwS,eAAgB,SAAUnM,GACvExG,EAAGG,MAAOozB,GAAI,uBAClB/sB,EAAMC,mBASPiO,SAAU,kBAAmB,QAAUvU,KAAKwS,eAAgB,WACvD3S,EAAGG,MAAO8J,QAAS,MAAOspB,GAAI,uBAClCpzB,KAAK88B,SAIR98B,KAAKg4D,eACLtwD,EAAQ8tB,OAASx1B,KAAKi4D,iBAIjBp4D,EAAEq4D,QAASxwD,EAAQzG,YACvByG,EAAQzG,SAAWpB,EAAEs4D,OAAQzwD,EAAQzG,SAAS0H,OAC7C9I,EAAEU,IAAKP,KAAKo4D,KAAK92D,OAAQ,sBAAwB,SAAU8oC,GAC1D,MAAOj9B,GAAKirD,KAAKvvD,MAAOuhC,OAEtBiuB,QAKJr4D,KAAKw1B,OADDx1B,KAAK0H,QAAQ8tB,UAAW,GAASx1B,KAAKs4D,QAAQ92D,OACpCxB,KAAKu4D,YAAa7wD,EAAQ8tB,QAE1B31B,IAGfG,KAAKsnC,WAEAtnC,KAAKw1B,OAAOh0B,QAChBxB,KAAKg6B,KAAMtyB,EAAQ8tB,SAIrByiC,eAAgB,WACf,GAAIziC,GAASx1B,KAAK0H,QAAQ8tB,OACzB0P,EAAcllC,KAAK0H,QAAQw9B,YAC3BszB,EAAe1/C,SAASW,KAAKgJ,UAAW,EAqCzC,OAnCgB,QAAX+S,IAECgjC,GACJx4D,KAAKo4D,KAAKj1D,KAAK,SAAUiB,EAAGq0D,GAC3B,MAAK54D,GAAG44D,GAAMl0D,KAAM,mBAAsBi0D,GACzChjC,EAASpxB,GACF,GAFR,SAQc,OAAXoxB,IACJA,EAASx1B,KAAKo4D,KAAKvvD,MAAO7I,KAAKo4D,KAAK92D,OAAQ,sBAI7B,OAAXk0B,GAA8B,KAAXA,KACvBA,EAASx1B,KAAKo4D,KAAK52D,OAAS,GAAI,IAK7Bg0B,KAAW,IACfA,EAASx1B,KAAKo4D,KAAKvvD,MAAO7I,KAAKo4D,KAAKz0D,GAAI6xB,IACxB,KAAXA,IACJA,EAAS0P,GAAc,EAAQ,KAK3BA,GAAe1P,KAAW,GAASx1B,KAAKs4D,QAAQ92D,SACrDg0B,EAAS,GAGHA,GAGRriB,oBAAqB,WACpB,OACCslD,IAAKz4D,KAAKw1B,OACV25B,MAAQnvD,KAAKw1B,OAAOh0B,OAAexB,KAAK04D,gBAAiB14D,KAAKw1B,QAAjC31B,MAI/B84D,YAAa,SAAUtyD,GACtB,GAAIuyD,GAAa/4D,EAAGG,KAAKC,SAAS,GAAG48B,eAAgB/yB,QAAS,MAC7DuqC,EAAgBr0C,KAAKo4D,KAAKvvD,MAAO+vD,GACjCC,GAAe,CAEhB,KAAK74D,KAAK84D,eAAgBzyD,GAA1B,CAIA,OAASA,EAAMvE,SACd,IAAKjC,GAAE8B,GAAGG,QAAQa,MAClB,IAAK9C,GAAE8B,GAAGG,QAAQI,KACjBmyC,GACA,MACD,KAAKx0C,GAAE8B,GAAGG,QAAQgB,GAClB,IAAKjD,GAAE8B,GAAGG,QAAQS,KACjBs2D,GAAe,EACfxkB,GACA,MACD,KAAKx0C,GAAE8B,GAAGG,QAAQK,IACjBkyC,EAAgBr0C,KAAKs4D,QAAQ92D,OAAS,CACtC,MACD,KAAK3B,GAAE8B,GAAGG,QAAQQ,KACjB+xC,EAAgB,CAChB,MACD,KAAKx0C,GAAE8B,GAAGG,QAAQc,MAKjB,MAHAyD,GAAMC,iBACN4T,aAAcla,KAAK+4D,gBACnB/4D,MAAKg5D,UAAW3kB,EAEjB,KAAKx0C,GAAE8B,GAAGG,QAAQM,MAMjB,MAJAiE,GAAMC,iBACN4T,aAAcla,KAAK+4D,gBAEnB/4D,MAAKg5D,UAAW3kB,IAAkBr0C,KAAK0H,QAAQ8tB,QAAS,EAAQ6e,EAEjE,SACC,OAIFhuC,EAAMC,iBACN4T,aAAcla,KAAK+4D,YACnB1kB,EAAgBr0C,KAAKi5D,cAAe5kB,EAAewkB,GAG7CxyD,EAAM6yD,UAIXN,EAAWr0D,KAAM,gBAAiB,SAClCvE,KAAKo4D,KAAKz0D,GAAI0wC,GAAgB9vC,KAAM,gBAAiB,QAErDvE,KAAK+4D,WAAa/4D,KAAK2U,OAAO,WAC7B3U,KAAKgH,OAAQ,SAAUqtC,IACrBr0C,KAAKkD,UAIVi2D,cAAe,SAAU9yD,GACnBrG,KAAK84D,eAAgBzyD,IAKrBA,EAAM6yD,SAAW7yD,EAAMvE,UAAYjC,EAAE8B,GAAGG,QAAQgB,KACpDuD,EAAMC,iBACNtG,KAAKw1B,OAAOxyB,UAKd81D,eAAgB,SAAUzyD,GACzB,MAAKA,GAAM+yD,QAAU/yD,EAAMvE,UAAYjC,EAAE8B,GAAGG,QAAQW,SACnDzC,KAAKg5D,UAAWh5D,KAAKi5D,cAAej5D,KAAK0H,QAAQ8tB,OAAS,GAAG,KACtD,GAEHnvB,EAAM+yD,QAAU/yD,EAAMvE,UAAYjC,EAAE8B,GAAGG,QAAQU,WACnDxC,KAAKg5D,UAAWh5D,KAAKi5D,cAAej5D,KAAK0H,QAAQ8tB,OAAS,GAAG,KACtD,GAFR,QAMD6jC,aAAc,SAAUxwD,EAAOgwD,GAG9B,QAASS,KAOR,MANKzwD,GAAQ0wD,IACZ1wD,EAAQ,GAEI,EAARA,IACJA,EAAQ0wD,GAEF1wD,EAGR,IAZA,GAAI0wD,GAAev5D,KAAKo4D,KAAK52D,OAAS,EAYsB,KAApD3B,EAAEs/B,QAASm6B,IAAat5D,KAAK0H,QAAQzG,WAC5C4H,EAAQgwD,EAAehwD,EAAQ,EAAIA,EAAQ,CAG5C,OAAOA,IAGRowD,cAAe,SAAUpwD,EAAOgwD,GAG/B,MAFAhwD,GAAQ7I,KAAKq5D,aAAcxwD,EAAOgwD,GAClC74D,KAAKo4D,KAAKz0D,GAAIkF,GAAQ7F,QACf6F,GAGR8K,WAAY,SAAUhO,EAAKgB,GAC1B,MAAa,WAARhB,MAEJ3F,MAAKg5D,UAAWryD,GAIJ,aAARhB,MAEJ3F,MAAKw5D,eAAgB7yD,IAItB3G,KAAK+Q,OAAQpL,EAAKgB,GAEL,gBAARhB,IACJ3F,KAAKK,QAAQuT,YAAa,sBAAuBjN,GAE3CA,GAAS3G,KAAK0H,QAAQ8tB,UAAW,GACtCx1B,KAAKg5D,UAAW,IAIL,UAARrzD,GACJ3F,KAAK8zD,aAAcntD,QAGP,gBAARhB,GACJ3F,KAAKy5D,kBAAmB9yD,MAI1B+yD,OAAQ,SAAUjB,GACjB,MAAOA,GAAIl0D,KAAM,kBAAqB,WAAagzD,KAGpDoC,kBAAmB,SAAUlgD,GAC5B,MAAOA,GAAOA,EAAKnC,QAAS,sCAAuC,QAAW,IAG/EmuB,QAAS,WACR,GAAI/9B,GAAU1H,KAAK0H,QAClBujC,EAAMjrC,KAAK45D,QAAQrxD,SAAU,gBAI9Bb,GAAQzG,SAAWpB,EAAEU,IAAK0qC,EAAI3pC,OAAQ,sBAAwB,SAAUm3D,GACvE,MAAOxtB,GAAIpiC,MAAO4vD,KAGnBz4D,KAAKg4D,eAGAtwD,EAAQ8tB,UAAW,GAAUx1B,KAAKs4D,QAAQ92D,OAInCxB,KAAKw1B,OAAOh0B,SAAW3B,EAAEmtC,SAAUhtC,KAAK45D,QAAS,GAAK55D,KAAKw1B,OAAQ,IAEzEx1B,KAAKo4D,KAAK52D,SAAWkG,EAAQzG,SAASO,QAC1CkG,EAAQ8tB,QAAS,EACjBx1B,KAAKw1B,OAAS31B,KAGdG,KAAKg5D,UAAWh5D,KAAKq5D,aAAcvwD,KAAKC,IAAK,EAAGrB,EAAQ8tB,OAAS,IAAK,IAKvE9tB,EAAQ8tB,OAASx1B,KAAKo4D,KAAKvvD,MAAO7I,KAAKw1B,SAfvC9tB,EAAQ8tB,QAAS,EACjBx1B,KAAKw1B,OAAS31B,KAiBfG,KAAKsnC,YAGNA,SAAU,WACTtnC,KAAKw5D,eAAgBx5D,KAAK0H,QAAQzG,UAClCjB,KAAK8zD,aAAc9zD,KAAK0H,QAAQrB,OAChCrG,KAAKy5D,kBAAmBz5D,KAAK0H,QAAQiwD,aAErC33D,KAAKo4D,KAAK1qD,IAAK1N,KAAKw1B,QAASjxB,MAC5Bs1D,gBAAiB,QACjBp1D,SAAU,KAEXzE,KAAK85D,OAAOpsD,IAAK1N,KAAK04D,gBAAiB14D,KAAKw1B,SAC1C/f,OACAlR,MACAw1D,gBAAiB,QACjBC,cAAe,SAIXh6D,KAAKw1B,OAAOh0B,QAGjBxB,KAAKw1B,OACHzgB,SAAU,kCACVxQ,MACAs1D,gBAAiB,OACjBp1D,SAAU,IAEZzE,KAAK04D,gBAAiB14D,KAAKw1B,QACzBhgB,OACAjR,MACAw1D,gBAAiB,OACjBC,cAAe,WAZjBh6D,KAAKo4D,KAAKz0D,GAAI,GAAIY,KAAM,WAAY,IAiBtCyzD,aAAc,WACb,GAAI7qD,GAAOnN,IAEXA,MAAK45D,QAAU55D,KAAKi6D,WAClBllD,SAAU,iFACVxQ,KAAM,OAAQ,WAEhBvE,KAAKo4D,KAAOp4D,KAAK45D,QAAQpsD,KAAM,qBAC7BuH,SAAU,kCACVxQ,MACA4vB,KAAM,MACN1vB,SAAU,KAGZzE,KAAKs4D,QAAUt4D,KAAKo4D,KAAK73D,IAAI,WAC3B,MAAOV,GAAG,IAAKG,MAAQ,KAEvB+U,SAAU,kBACVxQ,MACA4vB,KAAM,eACN1vB,SAAU,KAGZzE,KAAK85D,OAASj6D,IAEdG,KAAKs4D,QAAQn1D,KAAK,SAAUiB,EAAG0gC,GAC9B,GAAIv/B,GAAU4pD,EAAOgD,EACpB+H,EAAWr6D,EAAGilC,GAASjhC,WAAWU,KAAM,MACxCk0D,EAAM54D,EAAGilC,GAASh7B,QAAS,MAC3BqwD,EAAuB1B,EAAIl0D,KAAM,gBAG7BkzD,GAAS3yB,IACbv/B,EAAWu/B,EAAOrrB,KAClB01C,EAAQhiD,EAAK9M,QAAQmN,KAAML,EAAKwsD,kBAAmBp0D,MAGnD4sD,EAAUhlD,EAAKusD,OAAQjB,GACvBlzD,EAAW,IAAM4sD,EACjBhD,EAAQhiD,EAAK9M,QAAQmN,KAAMjI,GACrB4pD,EAAM3tD,SACX2tD,EAAQhiD,EAAKitD,aAAcjI,GAC3BhD,EAAM10C,YAAatN,EAAK2sD,OAAQ11D,EAAI,IAAO+I,EAAKysD,UAEjDzK,EAAM5qD,KAAM,YAAa,WAGrB4qD,EAAM3tD,SACV2L,EAAK2sD,OAAS3sD,EAAK2sD,OAAOt0D,IAAK2pD,IAE3BgL,GACJ1B,EAAIx0D,KAAM,wBAAyBk2D,GAEpC1B,EAAIl0D,MACH81D,gBAAiB90D,EAASkd,UAAW,GACrCiwB,kBAAmBwnB,IAEpB/K,EAAM5qD,KAAM,kBAAmB21D,KAGhCl6D,KAAK85D,OACH/kD,SAAU,oDACVxQ,KAAM,OAAQ,aAIjB01D,SAAU,WACT,MAAOj6D,MAAKK,QAAQmN,KAAM,SAAU7J,GAAI,IAGzCy2D,aAAc,SAAUt2D,GACvB,MAAOjE,GAAG,SACR0E,KAAM,KAAMT,GACZiR,SAAU,oDACV9Q,KAAM,mBAAmB,IAG5Bu1D,eAAgB,SAAUv4D,GACpBpB,EAAEq4D,QAASj3D,KACTA,EAASO,OAEHP,EAASO,SAAWxB,KAAKs4D,QAAQ92D,SAC5CP,GAAW,GAFXA,GAAW,EAOb,KAAM,GAAWmpC,GAAPhmC,EAAI,EAASgmC,EAAKpqC,KAAKo4D,KAAMh0D,GAAOA,IACxCnD,KAAa,GAAqC,KAA7BpB,EAAEs/B,QAAS/6B,EAAGnD,GACvCpB,EAAGuqC,GACDr1B,SAAU,qBACVxQ,KAAM,gBAAiB,QAEzB1E,EAAGuqC,GACDz/B,YAAa,qBACb3G,WAAY,gBAIhBhE,MAAK0H,QAAQzG,SAAWA,GAGzB6yD,aAAc,SAAUztD,GACvB,GAAIyqB,IACH8S,MAAO,SAAUv9B,GAChBA,EAAMC,kBAGHD,IACJxG,EAAEsD,KAAMkD,EAAMmK,MAAM,KAAM,SAAU3H,EAAOyL,GAC1Cwc,EAAQxc,GAAc,kBAIxBtU,KAAKwU,KAAMxU,KAAKs4D,QAAQ9yD,IAAKxF,KAAKo4D,MAAO5yD,IAAKxF,KAAK85D,SACnD95D,KAAK4S,IAAK5S,KAAKs4D,QAASxnC,GACxB9wB,KAAK4S,IAAK5S,KAAKo4D,MAAQ/kB,QAAS,gBAChCrzC,KAAK4S,IAAK5S,KAAK85D,QAAUzmB,QAAS,kBAElCrzC,KAAKiV,WAAYjV,KAAKo4D,MACtBp4D,KAAK4U,WAAY5U,KAAKo4D,OAGvBqB,kBAAmB,SAAU9B,GAC5B,GAAI2C,GACHzzD,EAAS7G,KAAKK,QAAQwG,QAEF,UAAhB8wD,GACJ2C,EAAYzzD,EAAOoF,SACnBquD,GAAat6D,KAAKK,QAAQiF,cAAgBtF,KAAKK,QAAQ4L,SAEvDjM,KAAKK,QAAQ8mC,SAAU,YAAahkC,KAAK,WACxC,GAAIC,GAAOvD,EAAGG,MACb0G,EAAWtD,EAAK7B,IAAK,WAEJ,cAAbmF,GAAwC,UAAbA,IAGhC4zD,GAAal3D,EAAKkC,aAAa,MAGhCtF,KAAKK,QAAQkI,WAAWmF,IAAK1N,KAAK85D,QAAS32D,KAAK,WAC/Cm3D,GAAaz6D,EAAGG,MAAOsF,aAAa;GAGrCtF,KAAK85D,OAAO32D,KAAK,WAChBtD,EAAGG,MAAOiM,OAAQnD,KAAKC,IAAK,EAAGuxD,EAC9Bz6D,EAAGG,MAAOqF,cAAgBxF,EAAGG,MAAOiM,aAErC1K,IAAK,WAAY,SACS,SAAhBo2D,IACX2C,EAAY,EACZt6D,KAAK85D,OAAO32D,KAAK,WAChBm3D,EAAYxxD,KAAKC,IAAKuxD,EAAWz6D,EAAGG,MAAOiM,OAAQ,IAAKA,YACtDA,OAAQquD,KAIbC,cAAe,SAAUl0D,GACxB,GAAIqB,GAAU1H,KAAK0H,QAClB8tB,EAASx1B,KAAKw1B,OACdsP,EAASjlC,EAAGwG,EAAMyO,eAClB2jD,EAAM3zB,EAAOh7B,QAAS,MACtB0wD,EAAkB/B,EAAK,KAAQjjC,EAAQ,GACvCilC,EAAaD,GAAmB9yD,EAAQw9B,YACxCw1B,EAASD,EAAa56D,IAAMG,KAAK04D,gBAAiBD,GAClDkC,EAAUnlC,EAAOh0B,OAAexB,KAAK04D,gBAAiBljC,GAA5B31B,IAC1B+6D,GACCC,OAAQrlC,EACRslC,SAAUH,EACVI,OAAQN,EAAa56D,IAAM44D,EAC3BuC,SAAUN,EAGZr0D,GAAMC,iBAEDmyD,EAAIrkD,SAAU,sBAEjBqkD,EAAIrkD,SAAU,oBAEdpU,KAAK+3D,SAEHyC,IAAoB9yD,EAAQw9B,aAE5BllC,KAAKkT,SAAU,iBAAkB7M,EAAOu0D,MAAgB,IAI5DlzD,EAAQ8tB,OAASilC,GAAa,EAAQz6D,KAAKo4D,KAAKvvD,MAAO4vD,GAEvDz4D,KAAKw1B,OAASglC,EAAkB36D,IAAM44D,EACjCz4D,KAAKo5B,KACTp5B,KAAKo5B,IAAI6hC,QAGJN,EAAOn5D,QAAWk5D,EAAOl5D,QAC9B3B,EAAEuS,MAAO,oDAGLsoD,EAAOl5D,QACXxB,KAAKg6B,KAAMh6B,KAAKo4D,KAAKvvD,MAAO4vD,GAAOpyD,GAEpCrG,KAAKm3C,QAAS9wC,EAAOu0D,KAItBzjB,QAAS,SAAU9wC,EAAOu0D,GAOzB,QAAS3kD,KACR9I,EAAK4qD,SAAU,EACf5qD,EAAK+F,SAAU,WAAY7M,EAAOu0D,GAGnC,QAASplD,KACRolD,EAAUG,OAAOjxD,QAAS,MAAOiL,SAAU,kCAEtC2lD,EAAOl5D,QAAU2L,EAAKzF,QAAQ8N,KAClCrI,EAAK+tD,MAAOR,EAAQvtD,EAAKzF,QAAQ8N,KAAMS,IAEvCykD,EAAOllD,OACPS,KAlBF,GAAI9I,GAAOnN,KACV06D,EAASE,EAAUI,SACnBL,EAASC,EAAUE,QAEpB96D,MAAK+3D,SAAU,EAmBV4C,EAAOn5D,QAAUxB,KAAK0H,QAAQ+N,KAClCzV,KAAKm7D,MAAOR,EAAQ36D,KAAK0H,QAAQ+N,KAAM,WACtCmlD,EAAUC,OAAO/wD,QAAS,MAAOa,YAAa,kCAC9C6K,OAGDolD,EAAUC,OAAO/wD,QAAS,MAAOa,YAAa,kCAC9CgwD,EAAOllD,OACPD,KAGDmlD,EAAOp2D,MACNw1D,gBAAiB,QACjBC,cAAe,SAEhBY,EAAUC,OAAOt2D,KAAM,gBAAiB,SAInCm2D,EAAOl5D,QAAUm5D,EAAOn5D,OAC5Bo5D,EAAUC,OAAOt2D,KAAM,WAAY,IACxBm2D,EAAOl5D,QAClBxB,KAAKo4D,KAAK92D,OAAO,WAChB,MAAwC,KAAjCzB,EAAGG,MAAOuE,KAAM,cAEvBA,KAAM,WAAY,IAGpBm2D,EAAOn2D,MACNw1D,gBAAiB,OACjBC,cAAe,UAEhBY,EAAUG,OAAOx2D,MAChBs1D,gBAAiB,OACjBp1D,SAAU,KAIZu0D,UAAW,SAAUnwD,GACpB,GAAIi8B,GACHtP,EAASx1B,KAAKu4D,YAAa1vD,EAGvB2sB,GAAQ,KAAQx1B,KAAKw1B,OAAQ,KAK5BA,EAAOh0B,SACZg0B,EAASx1B,KAAKw1B,QAGfsP,EAAStP,EAAOhoB,KAAM,mBAAqB,GAC3CxN,KAAKu6D,eACJ/oD,OAAQszB,EACRhwB,cAAegwB,EACfx+B,eAAgBzG,EAAEuT,SAIpBmlD,YAAa,SAAU1vD,GACtB,MAAOA,MAAU,EAAQhJ,IAAMG,KAAKo4D,KAAKz0D,GAAIkF,IAG9CuyD,UAAW,SAAUvyD,GAMpB,MAJsB,gBAAVA,KACXA,EAAQ7I,KAAKs4D,QAAQzvD,MAAO7I,KAAKs4D,QAAQh3D,OAAQ,WAAauH,EAAQ,QAGhEA,GAGRwK,SAAU,WACJrT,KAAKo5B,KACTp5B,KAAKo5B,IAAI6hC,QAGVj7D,KAAKK,QAAQsK,YAAa,yEAE1B3K,KAAK45D,QACHjvD,YAAa,iFACb3G,WAAY,QAEdhE,KAAKs4D,QACH3tD,YAAa,kBACb3G,WAAY,QACZA,WAAY,YACZD,iBAEF/D,KAAKo4D,KAAK5yD,IAAKxF,KAAK85D,QAAS32D,KAAK,WAC5BtD,EAAEoE,KAAMjE,KAAM,mBAClBH,EAAGG,MAAOqO,SAEVxO,EAAGG,MACD2K,YAAa,oIAEb3G,WAAY,YACZA,WAAY,aACZA,WAAY,aACZA,WAAY,iBACZA,WAAY,mBACZA,WAAY,eACZA,WAAY,iBACZA,WAAY,UAIhBhE,KAAKo4D,KAAKj1D,KAAK,WACd,GAAIinC,GAAKvqC,EAAGG,MACX2+C,EAAOvU,EAAGnmC,KAAM,wBACZ06C,GACJvU,EACE7lC,KAAM,gBAAiBo6C,GACvBj5C,WAAY,yBAEd0kC,EAAGpmC,WAAY,mBAIjBhE,KAAK85D,OAAOtkD,OAEsB,YAA7BxV,KAAK0H,QAAQiwD,aACjB33D,KAAK85D,OAAOv4D,IAAK,SAAU,KAI7BsS,OAAQ,SAAUhL,GACjB,GAAI5H,GAAWjB,KAAK0H,QAAQzG,QACvBA,MAAa,IAIb4H,IAAU1I,EACdc,GAAW,GAEX4H,EAAQ7I,KAAKo7D,UAAWvyD,GAEvB5H,EADIpB,EAAEq4D,QAASj3D,GACJpB,EAAEU,IAAKU,EAAU,SAAUo6D,GACrC,MAAOA,KAAQxyD,EAAQwyD,EAAM,OAGnBx7D,EAAEU,IAAKP,KAAKo4D,KAAM,SAAUhuB,EAAIixB,GAC1C,MAAOA,KAAQxyD,EAAQwyD,EAAM,QAIhCr7D,KAAKw5D,eAAgBv4D,KAGtB6S,QAAS,SAAUjL,GAClB,GAAI5H,GAAWjB,KAAK0H,QAAQzG,QAC5B,IAAKA,KAAa,EAAlB,CAIA,GAAK4H,IAAU1I,EACdc,GAAW,MACL,CAEN,GADA4H,EAAQ7I,KAAKo7D,UAAWvyD,GACc,KAAjChJ,EAAEs/B,QAASt2B,EAAO5H,GACtB,MAGAA,GADIpB,EAAEq4D,QAASj3D,GACJpB,EAAEy7D,OAASzyD,GAAS5H,GAAWo3D,QAE7BxvD,GAGf7I,KAAKw5D,eAAgBv4D,KAGtB+4B,KAAM,SAAUnxB,EAAOxC,GACtBwC,EAAQ7I,KAAKo7D,UAAWvyD,EACxB,IAAIsE,GAAOnN,KACVy4D,EAAMz4D,KAAKo4D,KAAKz0D,GAAIkF,GACpBi8B,EAAS2zB,EAAIjrD,KAAM,mBACnB2hD,EAAQnvD,KAAK04D,gBAAiBD,GAC9BmC,GACCnC,IAAKA,EACLtJ,MAAOA,EAIJsI,GAAS3yB,EAAQ,MAItB9kC,KAAKo5B,IAAMv5B,EAAE46B,KAAMz6B,KAAKu7D,cAAez2B,EAAQz+B,EAAOu0D,IAKjD56D,KAAKo5B,KAA+B,aAAxBp5B,KAAKo5B,IAAIoiC,aACzB/C,EAAI1jD,SAAU,mBACdo6C,EAAM5qD,KAAM,YAAa,QAEzBvE,KAAKo5B,IACHwB,QAAQ,SAAU6gC,GAGlBp4D,WAAW,WACV8rD,EAAMjhD,KAAMutD,GACZtuD,EAAK+F,SAAU,OAAQ7M,EAAOu0D,IAC5B,KAEH3kD,SAAS,SAAUylD,EAAO32B,GAG1B1hC,WAAW,WACM,UAAX0hC,GACJ53B,EAAK2sD,OAAOvgD,MAAM,GAAO,GAG1Bk/C,EAAI9tD,YAAa,mBACjBwkD,EAAMnrD,WAAY,aAEb03D,IAAUvuD,EAAKisB,WACZjsB,GAAKisB,KAEX,QAKPmiC,cAAe,SAAUz2B,EAAQz+B,EAAOu0D,GACvC,GAAIztD,GAAOnN,IACX,QACC6J,IAAKi7B,EAAOvgC,KAAM,QAClBo3D,WAAY,SAAUD,EAAOhkC,GAC5B,MAAOvqB,GAAK+F,SAAU,aAAc7M,EACnCxG,EAAE+B,QAAU85D,MAAQA,EAAOE,aAAclkC,GAAYkjC,OAKzDlC,gBAAiB,SAAUD,GAC1B,GAAI30D,GAAKjE,EAAG44D,GAAMl0D,KAAM,gBACxB,OAAOvE,MAAKK,QAAQmN,KAAMxN,KAAK25D,kBAAmB,IAAM71D,QAItD/D,GAEJ,aAEIA,GAEH,SAAUF,EAAGK,GAeb,QAAS27D,GAAW3wD,GACnBspD,EAAMtpD,EAAEoK,cACRwmD,EAAMtH,EAAIuH,6BAEVtyD,EAAIX,KAAKqkB,IAAK2uC,EAAIryD,GAClBC,EAAIZ,KAAKqkB,IAAK2uC,EAAIpyD,GAClBsyD,EAAIlzD,KAAKqkB,IAAK2uC,EAAIE,IAGZ97D,EAAOoc,cAAiB7S,EAAI,IAASuyD,EAAI,GAAS,EAAJtyD,GAAa,EAAJsyD,GAAStyD,EAAI,IAAOD,EAAI,GAC9EgmC,EAAKnmC,SACTmmC,EAAK37B,UAEK27B,EAAKnmC,SAChBmmC,EAAK57B,SA3BRhU,EAAEC,OAAOm8D,0BAA2B,CAGpC,IACCxsB,GACA+kB,EAAK/qD,EAAGC,EAAGsyD,EAAGF,EAFX78C,EAAKnZ,UAAUC,SAGnB,OAAQ,mBAAmB/E,KAAM8E,UAAUoZ,WAAc,kCAAkCle,KAAMie,IAAQA,EAAG5H,QAAS,eAAkB,IAKvIo4B,EAAO5vC,EAAEC,OAAO2vC,SAoBhB5vC,GAAEC,OAAOG,SAASkhB,GAAI,aAAc,WAC9BthB,EAAEC,OAAOm8D,0BACbp8D,EAAEC,OAAOI,OACPkG,KAAM,sCAAuCqpC,EAAK57B,QAClDzN,KAAM,iCAAkCy1D,WA5B3Ch8D,EAAEC,OAAOm8D,0BAA2B,IAgCnCl8D,EAAQC,MAEV,SAAUH,EAAGK,EAAQC,GAKrB,QAAS+7D,KACRxkD,EAAM/M,YAAa,uBALpB,GAAI+M,GAAQ7X,EAAG,QACdsmD,EAAUtmD,EAAEC,OAAOI,MAQpBL,GAAGK,EAAOD,UAAWuJ,QAAS,cAKxB3J,EAAEC,OAAO+gB,WAMVhhB,EAAEC,OAAOghB,gBACbjhB,EAAEC,OAAO8O,aAAc,GAIxB8I,EAAM3C,SAAU,iCAIhB1R,WAAY64D,EAAoB,KAEhCr8D,EAAE+B,OAAQ/B,EAAEC,QAEXq8D,eAAgB,WAEf,GAAIlyD,GAAOpK,EAAEC,OAAOmK,KACnBmyD,EAASv8D,EAAG,kDACZ4Z,EAAOxP,EAAK+a,UAAW/a,EAAKib,iBAAiBjb,EAAK4Y,gBAAgBpJ,OAClE4Z,EAAcxzB,EAAEC,OAAOmK,KAAK4Y,gBAC5Bw5C,EAAW5iD,EAAOxZ,EAAS2+C,eAAgBnlC,GAAStZ,CAG/Ci8D,GAAO56D,SACZ46D,EAASv8D,EAAG,QAASkjC,UAAW,aAAeljC,EAAEC,OAAOsI,GAAK,sBAAuBG,SAAU,IAI/F6zD,EAAOj5D,KAAK,WACX,GAAI2qB,GAAQjuB,EAAGG,KAGT8tB,GAAO,GAAI/hB,aAAc,QAAUlM,EAAEC,OAAOsI,GAAK,QACtD0lB,EAAMvpB,KAAM,QAAU1E,EAAEC,OAAOsI,GAAK,MAAO0lB,EAAMvpB,KAAM,OACtD0F,EAAK2a,oBAAqByO,EAAY7U,SAAW6U,EAAYhT,WAKhExgB,EAAEC,OAAOwmB,UAAY81C,EAAOrkD,QAG5BlY,EAAEC,OAAO2P,cAAgB5P,EAAEC,OAAOwmB,UAChCzf,SACAkO,SAAU,sBACV6D,gBAIF/Y,EAAEC,OAAOw9B,iBAAiB3D,UAI1BwsB,EAAQ38C,QAAS,uBAGjB3J,EAAEC,OAAOuM,QAAS,QAGlB6vD,IAMSr8D,EAAEC,OAAO+O,sBACjBhP,EAAEC,OAAOmK,KAAKmb,YAAatM,SAASW,QAClC5Z,EAAGw8D,GAAWjpC,GAAI,0BACnBvzB,EAAEC,OAAOmK,KAAKI,OAAQoP,IACtBA,IAAS5Z,EAAEC,OAAO6P,eAiBb9P,EAAEwG,MAAM+C,QAAQiY,SAASG,sBAK9B3hB,EAAEC,OAAOuhB,SAASjB,QAAQwG,SAC1B/mB,EAAEC,OAAOuhB,SAAUxhB,EAAEC,OAAOmK,KAAKI,OAAQyO,SAASW,MAASX,SAASW,KAAOX,SAAShY,OALpFqlD,EAAQ38C,QAAS,eAAe,KAd5B3J,EAAEwG,MAAM+C,QAAQiY,SAASG,sBAC7B3hB,EAAEC,OAAOuhB,SAASvb,UAAU0f,OAAQvb,EAAK4Y,gBAAgB/hB,MAG1DjB,EAAEC,OAAOu3B,WAAYx3B,EAAEC,OAAOwmB,WAC7B2C,WAAY,OACZkO,SAAS,EACTV,YAAY,EACZC,gBAAgB,QAiBpB72B,EAAE,WAEDA,EAAEmG,QAAQ+W,YAOLld,EAAEC,OAAO4O,YACbxO,EAAOqJ,SAAU,EAAG,GAMrB1J,EAAEC,OAAOqJ,kBAAuBtJ,EAAEmG,QAAQiS,WAA6C,IAAhCpY,EAAEC,OAAOI,OAAO+X,YAA0B,EAAJ,EAGxFpY,EAAEC,OAAOwP,oBACbzP,EAAEC,OAAOq8D,iBAKLt8D,EAAEC,OAAO4O,YACby3C,EAAQnsB,KAAMn6B,EAAEC,OAAOmJ,cAGlBpJ,EAAEmG,QAAQ4a,kBAOf/gB,EAAEC,OAAOG,SAASsU,SAAU,kCAAmC,SAC9D,SAAUrJ,GACTA,EAAE5E,iBACF4E,EAAE2d,iCAKJ9oB,EAAQC"} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/js/nacl_factory.js b/ucoinj-ui-wicket/src/main/webapp/js/nacl_factory.js deleted file mode 100644 index a1a427c6..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/nacl_factory.js +++ /dev/null @@ -1,26504 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -var nacl_factory = { - instantiate: function (requested_total_memory) { - return (function (window, document) { - var Module = {TOTAL_MEMORY: (requested_total_memory || 33554432)}; - var nacl_raw = Module; -function e(a) { - throw a; -} -var k = void 0, l = !0, m = null, n = !1; -function aa() { - return function() { - } -} -var q, r; -r || (r = eval("(function() { try { return Module || {} } catch(e) { return {} } })()")); -var ba = {}, t; -for(t in r) { - r.hasOwnProperty(t) && (ba[t] = r[t]) -} -var ca = "object" === typeof process && "function" === typeof require, da = "object" === typeof window, ea = "function" === typeof importScripts, fa = !da && !ca && !ea; -if(ca) { - r.print = function(a) { - process.stdout.write(a + "\n") - }; - r.printErr = function(a) { - process.stderr.write(a + "\n") - }; - var ga = require("fs"), ha = require("path"); - r.read = function(a, b) { - var a = ha.normalize(a), c = ga.readFileSync(a); - !c && a != ha.resolve(a) && (a = path.join(__dirname, "..", "src", a), c = ga.readFileSync(a)); - c && !b && (c = c.toString()); - return c - }; - r.readBinary = function(a) { - return r.read(a, l) - }; - r.load = function(a) { - ia(read(a)) - }; - r.arguments = process.argv.slice(2); - module.ee = r -}else { - fa ? (r.print = print, "undefined" != typeof printErr && (r.printErr = printErr), r.read = read, r.readBinary = function(a) { - return read(a, "binary") - }, "undefined" != typeof scriptArgs ? r.arguments = scriptArgs : "undefined" != typeof arguments && (r.arguments = arguments), this.Module = r) : da || ea ? (r.read = function(a) { - var b = new XMLHttpRequest; - b.open("GET", a, n); - b.send(m); - return b.responseText - }, "undefined" != typeof arguments && (r.arguments = arguments), da ? (r.print = function(a) { - console.log(a) - }, r.printErr = function(a) { - console.log(a) - }, this.Module = r) : ea && (r.print = aa(), r.load = importScripts)) : e("Unknown runtime environment. Where are we?") -} -function ia(a) { - eval.call(m, a) -} -"undefined" == !r.load && r.read && (r.load = function(a) { - ia(r.read(a)) -}); -r.print || (r.print = aa()); -r.printErr || (r.printErr = r.print); -r.arguments || (r.arguments = []); -r.print = r.print; -r.P = r.printErr; -r.preRun = []; -r.postRun = []; -for(t in ba) { - ba.hasOwnProperty(t) && (r[t] = ba[t]) -} -function ja() { - return u -} -function ka(a) { - u = a -} -function la(a) { - if(1 == ma) { - return 1 - } - var b = {"%i1":1, "%i8":1, "%i16":2, "%i32":4, "%i64":8, "%float":4, "%double":8}["%" + a]; - b || ("*" == a.charAt(a.length - 1) ? b = ma : "i" == a[0] && (a = parseInt(a.substr(1)), v(0 == a % 8), b = a / 8)); - return b -} -function na(a, b, c) { - c && c.length ? (c.splice || (c = Array.prototype.slice.call(c)), c.splice(0, 0, b), r["dynCall_" + a].apply(m, c)) : r["dynCall_" + a].call(m, b) -} -var oa; -function pa() { - var a = [], b = 0; - this.oa = function(c) { - c &= 255; - b && (a.push(c), b--); - if(0 == a.length) { - if(128 > c) { - return String.fromCharCode(c) - } - a.push(c); - b = 191 < c && 224 > c ? 1 : 2; - return"" - } - if(0 < b) { - return"" - } - var c = a[0], d = a[1], f = a[2], c = 191 < c && 224 > c ? String.fromCharCode((c & 31) << 6 | d & 63) : String.fromCharCode((c & 15) << 12 | (d & 63) << 6 | f & 63); - a.length = 0; - return c - }; - this.yb = function(a) { - for(var a = unescape(encodeURIComponent(a)), b = [], f = 0;f < a.length;f++) { - b.push(a.charCodeAt(f)) - } - return b - } -} -function qa(a) { - var b = u; - u = u + a | 0; - u = u + 7 >> 3 << 3; - return b -} -function ra(a) { - var b = sa; - sa = sa + a | 0; - sa = sa + 7 >> 3 << 3; - return b -} -function ua(a) { - var b = x; - x = x + a | 0; - x = x + 7 >> 3 << 3; - x >= va && wa("Cannot enlarge memory arrays in asm.js. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value, or (2) set Module.TOTAL_MEMORY before the program runs."); - return b -} -function xa(a, b) { - return Math.ceil(a / (b ? b : 8)) * (b ? b : 8) -} -var ma = 4, ya = {}, za = n, Aa; -function v(a, b) { - a || wa("Assertion failed: " + b) -} -r.ccall = function(a, b, c, d) { - return Ba(Ca(a), b, c, d) -}; -function Ca(a) { - try { - var b = r["_" + a]; - b || (b = eval("_" + a)) - }catch(c) { - } - v(b, "Cannot call unknown function " + a + " (perhaps LLVM optimizations or closure removed it?)"); - return b -} -function Ba(a, b, c, d) { - function f(a, b) { - if("string" == b) { - if(a === m || a === k || 0 === a) { - return 0 - } - g || (g = ja()); - var c = qa(a.length + 1); - Da(a, c); - return c - } - return"array" == b ? (g || (g = ja()), c = qa(a.length), Ea(a, c), c) : a - } - var g = 0, h = 0, d = d ? d.map(function(a) { - return f(a, c[h++]) - }) : []; - a = a.apply(m, d); - "string" == b ? b = Fa(a) : (v("array" != b), b = a); - g && ka(g); - return b -} -r.cwrap = function(a, b, c) { - var d = Ca(a); - return function() { - return Ba(d, b, c, Array.prototype.slice.call(arguments)) - } -}; -function Ga(a, b, c) { - c = c || "i8"; - "*" === c.charAt(c.length - 1) && (c = "i32"); - switch(c) { - case "i1": - A[a] = b; - break; - case "i8": - A[a] = b; - break; - case "i16": - Ha[a >> 1] = b; - break; - case "i32": - B[a >> 2] = b; - break; - case "i64": - Aa = [b >>> 0, (Math.min(+Math.floor(b / 4294967296), 4294967295) | 0) >>> 0]; - B[a >> 2] = Aa[0]; - B[a + 4 >> 2] = Aa[1]; - break; - case "float": - Ia[a >> 2] = b; - break; - case "double": - Ja[a >> 3] = b; - break; - default: - wa("invalid type for setValue: " + c) - } -} -r.setValue = Ga; -r.getValue = function(a, b) { - b = b || "i8"; - "*" === b.charAt(b.length - 1) && (b = "i32"); - switch(b) { - case "i1": - return A[a]; - case "i8": - return A[a]; - case "i16": - return Ha[a >> 1]; - case "i32": - return B[a >> 2]; - case "i64": - return B[a >> 2]; - case "float": - return Ia[a >> 2]; - case "double": - return Ja[a >> 3]; - default: - wa("invalid type for setValue: " + b) - } - return m -}; -var Ka = 0, La = 1, E = 2, Na = 4; -r.ALLOC_NORMAL = Ka; -r.ALLOC_STACK = La; -r.ALLOC_STATIC = E; -r.ALLOC_DYNAMIC = 3; -r.ALLOC_NONE = Na; -function F(a, b, c, d) { - var f, g; - "number" === typeof a ? (f = l, g = a) : (f = n, g = a.length); - var h = "string" === typeof b ? b : m, c = c == Na ? d : [Oa, qa, ra, ua][c === k ? E : c](Math.max(g, h ? 1 : b.length)); - if(f) { - d = c; - v(0 == (c & 3)); - for(a = c + (g & -4);d < a;d += 4) { - B[d >> 2] = 0 - } - for(a = c + g;d < a;) { - A[d++ | 0] = 0 - } - return c - } - if("i8" === h) { - return a.subarray || a.slice ? G.set(a, c) : G.set(new Uint8Array(a), c), c - } - for(var d = 0, i, j;d < g;) { - var p = a[d]; - "function" === typeof p && (p = ya.fe(p)); - f = h || b[d]; - 0 === f ? d++ : ("i64" == f && (f = "i32"), Ga(c + d, p, f), j !== f && (i = la(f), j = f), d += i) - } - return c -} -r.allocate = F; -function Fa(a, b) { - for(var c = n, d, f = 0;;) { - d = G[a + f | 0]; - if(128 <= d) { - c = l - }else { - if(0 == d && !b) { - break - } - } - f++; - if(b && f == b) { - break - } - } - b || (b = f); - var g = ""; - if(!c) { - for(;0 < b;) { - d = String.fromCharCode.apply(String, G.subarray(a, a + Math.min(b, 1024))), g = g ? g + d : d, a += 1024, b -= 1024 - } - return g - } - c = new pa; - for(f = 0;f < b;f++) { - d = G[a + f | 0], g += c.oa(d) - } - return g -} -r.Pointer_stringify = Fa; -var A, G, Ha, Pa, B, Qa, Ia, Ja, Ra = 0, sa = 0, Sa = 0, u = 0, Ta = 0, Ua = 0, x = 0, va = r.TOTAL_MEMORY || 16777216; -v(!!Int32Array && !!Float64Array && !!(new Int32Array(1)).subarray && !!(new Int32Array(1)).set, "Cannot fallback to non-typed array case: Code is too specialized"); -var I = new ArrayBuffer(va); -A = new Int8Array(I); -Ha = new Int16Array(I); -B = new Int32Array(I); -G = new Uint8Array(I); -Pa = new Uint16Array(I); -Qa = new Uint32Array(I); -Ia = new Float32Array(I); -Ja = new Float64Array(I); -B[0] = 255; -v(255 === G[0] && 0 === G[3], "Typed arrays 2 must be run on a little-endian system"); -r.HEAP = k; -r.HEAP8 = A; -r.HEAP16 = Ha; -r.HEAP32 = B; -r.HEAPU8 = G; -r.HEAPU16 = Pa; -r.HEAPU32 = Qa; -r.HEAPF32 = Ia; -r.HEAPF64 = Ja; -function Va(a) { - for(;0 < a.length;) { - var b = a.shift(); - if("function" == typeof b) { - b() - }else { - var c = b.V; - "number" === typeof c ? b.ha === k ? na("v", c) : na("vi", c, [b.ha]) : c(b.ha === k ? m : b.ha) - } - } -} -var Wa = [], Xa = [], Ya = [], Za = [], $a = [], ab = n; -function bb(a) { - Wa.unshift(a) -} -r.addOnPreRun = r.Vd = bb; -r.addOnInit = r.Sd = function(a) { - Xa.unshift(a) -}; -r.addOnPreMain = r.Ud = function(a) { - Ya.unshift(a) -}; -r.addOnExit = r.Rd = function(a) { - Za.unshift(a) -}; -function cb(a) { - $a.unshift(a) -} -r.addOnPostRun = r.Td = cb; -function J(a, b, c) { - a = (new pa).yb(a); - c && (a.length = c); - b || a.push(0); - return a -} -r.intArrayFromString = J; -r.intArrayToString = function(a) { - for(var b = [], c = 0;c < a.length;c++) { - var d = a[c]; - 255 < d && (d &= 255); - b.push(String.fromCharCode(d)) - } - return b.join("") -}; -function Da(a, b, c) { - a = J(a, c); - for(c = 0;c < a.length;) { - A[b + c | 0] = a[c], c += 1 - } -} -r.writeStringToMemory = Da; -function Ea(a, b) { - for(var c = 0;c < a.length;c++) { - A[b + c | 0] = a[c] - } -} -r.writeArrayToMemory = Ea; -function db(a, b) { - return 0 <= a ? a : 32 >= b ? 2 * Math.abs(1 << b - 1) + a : Math.pow(2, b) + a -} -function eb(a, b) { - if(0 >= a) { - return a - } - var c = 32 >= b ? Math.abs(1 << b - 1) : Math.pow(2, b - 1); - if(a >= c && (32 >= b || a > c)) { - a = -2 * c + a - } - return a -} -Math.imul || (Math.imul = function(a, b) { - var c = a & 65535, d = b & 65535; - return c * d + ((a >>> 16) * d + c * (b >>> 16) << 16) | 0 -}); -Math.ie = Math.imul; -var K = 0, fb = {}, gb = n, hb = m; -function ib(a) { - K++; - r.monitorRunDependencies && r.monitorRunDependencies(K); - a ? (v(!fb[a]), fb[a] = 1) : r.P("warning: run dependency added without ID") -} -r.addRunDependency = ib; -function jb(a) { - K--; - r.monitorRunDependencies && r.monitorRunDependencies(K); - a ? (v(fb[a]), delete fb[a]) : r.P("warning: run dependency removed without ID"); - 0 == K && (hb !== m && (clearInterval(hb), hb = m), !gb && kb && lb()) -} -r.removeRunDependency = jb; -r.preloadedImages = {}; -r.preloadedAudios = {}; -Ra = 8; -sa = Ra + 112632; -Xa.push({V:function() { - mb() -}}); -var nb, ob, pb; -nb = nb = F([0, 0, 0, 0, 0, 0, 0, 0], "i8", E); -ob = ob = F([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", E); -pb = pb = F([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", E); -F([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, -32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 111, 112, 116, 105, 111, 110, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 115, 0, 0, 0, 0, 0, 0, 0, 111, 112, 116, 105, 111, 110, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 99, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 36, 64, 0, 0, 0, 0, 0, 0, 89, 64, 0, 0, 0, 0, 0, 136, 195, 64, 0, 0, 0, 0, 132, 215, 151, 65, 0, 128, 224, 55, 121, 195, 65, 67, 23, 110, 5, 181, 181, 184, 147, 70, 245, 249, 63, 233, 3, 79, 56, 77, 50, 29, 48, 249, 72, 119, 130, 90, 60, 191, 115, 127, 221, 79, 21, 117, 16, 182, 1, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 111, 112, 116, 105, 111, 110, 32, 100, 111, 101, -115, 110, 39, 116, 32, 116, 97, 107, 101, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 46, 42, 115, 0, 27, 0, 0, 0, 19, 0, 0, 0, 44, 0, 0, 0, 10, 0, 0, 0, 163, 0, 0, 0, 229, 0, 0, 0, 156, 0, 0, 0, 237, 0, 0, 0, 167, 0, 0, 0, 41, 0, 0, 0, 99, 0, 0, 0, 8, 0, 0, 0, 93, 0, 0, 0, 33, 0, 0, 0, 6, 0, 0, 0, 33, 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, -0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 19, 0, 0, 0, 44, 0, 0, 0, 10, 0, 0, 0, 163, 0, 0, 0, 229, 0, 0, 0, 156, 0, 0, 0, 237, 0, 0, 0, 167, 0, 0, 0, 41, 0, 0, 0, 99, 0, 0, 0, 8, 0, 0, 0, 93, 0, 0, 0, 33, 0, 0, 0, 6, 0, 0, 0, 33, 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, -0, 0, 0, 255, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 211, 0, 0, 0, 245, 0, 0, 0, 92, 0, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 18, 0, 0, 0, 88, 0, 0, 0, 214, 0, 0, 0, 156, 0, 0, 0, 247, 0, 0, 0, 162, 0, 0, 0, 222, 0, 0, 0, 249, 0, 0, 0, 222, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 237, 0, 0, 0, 211, 0, 0, 0, 245, 0, 0, 0, 92, 0, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 18, 0, 0, 0, 88, 0, 0, 0, 214, 0, 0, 0, 156, 0, 0, 0, 247, 0, 0, 0, 162, 0, 0, 0, 222, 0, 0, 0, 249, 0, 0, 0, 222, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 106, 9, 230, 103, 243, 188, 201, -8, 187, 103, 174, 133, 132, 202, 167, 59, 60, 110, 243, 114, 254, 148, 248, 43, 165, 79, 245, 58, 95, 29, 54, 241, 81, 14, 82, 127, 173, 230, 130, 209, 155, 5, 104, 140, 43, 62, 108, 31, 31, 131, 217, 171, 251, 65, 189, 107, 91, 224, 205, 25, 19, 126, 33, 121, 106, 9, 230, 103, 187, 103, 174, 133, 60, 110, 243, 114, 165, 79, 245, 58, 81, 14, 82, 127, 155, 5, 104, 140, 31, 131, 217, 171, 91, 224, 205, 25, 106, 9, 230, 103, 243, 188, 201, 8, 187, 103, 174, 133, 132, 202, 167, 59, 60, 110, 243, 114, -254, 148, 248, 43, 165, 79, 245, 58, 95, 29, 54, 241, 81, 14, 82, 127, 173, 230, 130, 209, 155, 5, 104, 140, 43, 62, 108, 31, 31, 131, 217, 171, 251, 65, 189, 107, 91, 224, 205, 25, 19, 126, 33, 121, 106, 9, 230, 103, 187, 103, 174, 133, 60, 110, 243, 114, 165, 79, 245, 58, 81, 14, 82, 127, 155, 5, 104, 140, 31, 131, 217, 171, 91, 224, 205, 25, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, -63, 117, 110, 107, 110, 111, 119, 110, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 115, 0, 0, 0, 0, 117, 110, 107, 110, 111, 119, 110, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 99, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 176, 0, 0, 0, 160, 0, 0, 0, 14, 0, 0, 0, 74, 0, 0, 0, 39, 0, 0, 0, 27, 0, 0, 0, 238, 0, 0, 0, 196, 0, 0, 0, 120, 0, 0, 0, 228, 0, 0, 0, 47, 0, 0, 0, 173, 0, 0, 0, 6, 0, 0, 0, 24, 0, 0, 0, 67, 0, 0, 0, 47, 0, 0, 0, 167, 0, 0, 0, 215, 0, 0, 0, 251, 0, 0, 0, -61, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 43, 0, 0, 0, 11, 0, 0, 0, 223, 0, 0, 0, 193, 0, 0, 0, 79, 0, 0, 0, 128, 0, 0, 0, 36, 0, 0, 0, 131, 0, 0, 0, 43, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 120, 0, 0, 0, 89, 0, 0, 0, 19, 0, 0, 0, 202, 0, 0, 0, 77, 0, 0, 0, 235, 0, 0, 0, 117, 0, 0, 0, 171, 0, 0, 0, 216, 0, 0, 0, -65, 0, 0, 0, 65, 0, 0, 0, 77, 0, 0, 0, 10, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 232, 0, 0, 0, 121, 0, 0, 0, 119, 0, 0, 0, 121, 0, 0, 0, 64, 0, 0, 0, 199, 0, 0, 0, 140, 0, 0, 0, 115, 0, 0, 0, 254, 0, 0, 0, 111, 0, 0, 0, 43, 0, 0, 0, 238, 0, 0, 0, 108, 0, 0, 0, 3, 0, 0, 0, 82, 0, 0, 0, 89, 0, 0, 0, 241, 0, 0, 0, 178, 0, 0, 0, 38, 0, 0, 0, 148, 0, 0, 0, 155, 0, 0, 0, 214, 0, 0, 0, 235, 0, 0, 0, 86, 0, 0, 0, 177, 0, 0, 0, 131, 0, 0, 0, 130, 0, 0, 0, 154, 0, 0, 0, 20, 0, 0, 0, 224, 0, 0, 0, -0, 0, 0, 0, 48, 0, 0, 0, 209, 0, 0, 0, 243, 0, 0, 0, 238, 0, 0, 0, 242, 0, 0, 0, 128, 0, 0, 0, 142, 0, 0, 0, 25, 0, 0, 0, 231, 0, 0, 0, 252, 0, 0, 0, 223, 0, 0, 0, 86, 0, 0, 0, 220, 0, 0, 0, 217, 0, 0, 0, 6, 0, 0, 0, 36, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 26, 213, 37, 143, -96, 45, 86, 201, 178, 167, 37, 149, 96, 199, 44, 105, 92, 220, 214, 253, 49, 226, 164, 192, 254, 83, 110, 205, 211, 54, 105, 33, 163, 221, 183, 165, 179, 138, 222, 109, 245, 82, 81, 119, 128, 159, 240, 32, 125, 227, 171, 100, 142, 78, 234, 102, 101, 118, 139, 215, 15, 95, 135, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 213, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 96, 0, 0, 0, 45, 0, 0, 0, 86, 0, 0, 0, 201, 0, 0, 0, 178, 0, 0, 0, 167, 0, 0, 0, 37, 0, 0, 0, 149, 0, 0, 0, 96, 0, 0, 0, 199, 0, 0, 0, 44, 0, 0, 0, 105, 0, 0, 0, 92, 0, 0, 0, 220, 0, 0, 0, 214, 0, 0, 0, 253, 0, 0, 0, 49, 0, 0, 0, 226, 0, 0, 0, 164, 0, 0, 0, 192, 0, 0, 0, 254, 0, 0, 0, 83, 0, 0, 0, 110, 0, 0, 0, 205, 0, 0, 0, 211, 0, 0, 0, 54, 0, 0, 0, 105, 0, 0, 0, 33, 0, 0, 0, 88, 0, 0, 0, 102, -0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 14, 0, 0, 0, 206, 0, 0, 0, 67, 0, 0, 0, 40, 0, 0, 0, 78, 0, 0, 0, 161, 0, -0, 0, 197, 0, 0, 0, 131, 0, 0, 0, 95, 0, 0, 0, 164, 0, 0, 0, 215, 0, 0, 0, 21, 0, 0, 0, 69, 0, 0, 0, 142, 0, 0, 0, 13, 0, 0, 0, 8, 0, 0, 0, 172, 0, 0, 0, 231, 0, 0, 0, 51, 0, 0, 0, 24, 0, 0, 0, 125, 0, 0, 0, 59, 0, 0, 0, 4, 0, 0, 0, 61, 0, 0, 0, 108, 0, 0, 0, 4, 0, 0, 0, 90, 0, 0, 0, 159, 0, 0, 0, 76, 0, 0, 0, 56, 0, 0, 0, 171, 0, 0, 0, 54, 0, 0, 0, 201, 0, 0, 0, 163, 0, 0, 0, 248, 0, 0, 0, 106, 0, 0, 0, 174, 0, 0, 0, 70, 0, 0, 0, 95, 0, 0, 0, 14, 0, 0, 0, 86, 0, 0, 0, 81, 0, 0, 0, 56, 0, 0, 0, 100, -0, 0, 0, 81, 0, 0, 0, 15, 0, 0, 0, 57, 0, 0, 0, 151, 0, 0, 0, 86, 0, 0, 0, 31, 0, 0, 0, 162, 0, 0, 0, 201, 0, 0, 0, 232, 0, 0, 0, 94, 0, 0, 0, 162, 0, 0, 0, 29, 0, 0, 0, 194, 0, 0, 0, 41, 0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, 243, 0, 0, 0, 205, 0, 0, 0, 96, 0, 0, 0, 34, 0, 0, 0, 92, 0, 0, 0, 226, 0, 0, 0, 248, 0, 0, 0, 211, 0, 0, 0, 95, 0, 0, 0, 72, 0, 0, 0, 98, 0, 0, 0, 172, 0, 0, 0, 134, 0, 0, 0, 72, 0, 0, 0, 98, 0, 0, 0, 129, 0, 0, 0, 25, 0, 0, 0, 152, 0, 0, 0, 67, 0, 0, 0, 99, 0, 0, 0, 58, 0, 0, -0, 200, 0, 0, 0, 218, 0, 0, 0, 62, 0, 0, 0, 116, 0, 0, 0, 174, 0, 0, 0, 244, 0, 0, 0, 31, 0, 0, 0, 73, 0, 0, 0, 143, 0, 0, 0, 146, 0, 0, 0, 34, 0, 0, 0, 74, 0, 0, 0, 156, 0, 0, 0, 174, 0, 0, 0, 103, 0, 0, 0, 212, 0, 0, 0, 180, 0, 0, 0, 245, 0, 0, 0, 120, 0, 0, 0, 72, 0, 0, 0, 104, 0, 0, 0, 195, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0, 36, 0, 0, 0, 103, 0, 0, 0, 23, 0, 0, 0, 236, 0, 0, 0, 22, 0, 0, 0, 159, 0, 0, 0, 247, 0, 0, 0, 158, 0, 0, 0, 38, 0, 0, 0, 96, 0, 0, 0, 142, 0, 0, 0, 161, 0, 0, -0, 38, 0, 0, 0, 161, 0, 0, 0, 171, 0, 0, 0, 105, 0, 0, 0, 238, 0, 0, 0, 119, 0, 0, 0, 209, 0, 0, 0, 177, 0, 0, 0, 103, 0, 0, 0, 18, 0, 0, 0, 112, 0, 0, 0, 248, 0, 0, 0, 201, 0, 0, 0, 196, 0, 0, 0, 87, 0, 0, 0, 166, 0, 0, 0, 58, 0, 0, 0, 73, 0, 0, 0, 71, 0, 0, 0, 21, 0, 0, 0, 206, 0, 0, 0, 147, 0, 0, 0, 193, 0, 0, 0, 158, 0, 0, 0, 115, 0, 0, 0, 26, 0, 0, 0, 249, 0, 0, 0, 32, 0, 0, 0, 53, 0, 0, 0, 122, 0, 0, 0, 184, 0, 0, 0, 212, 0, 0, 0, 37, 0, 0, 0, 131, 0, 0, 0, 70, 0, 0, 0, 241, 0, 0, 0, 207, 0, -0, 0, 86, 0, 0, 0, 219, 0, 0, 0, 168, 0, 0, 0, 61, 0, 0, 0, 32, 0, 0, 0, 47, 0, 0, 0, 17, 0, 0, 0, 50, 0, 0, 0, 202, 0, 0, 0, 97, 0, 0, 0, 171, 0, 0, 0, 56, 0, 0, 0, 223, 0, 0, 0, 240, 0, 0, 0, 15, 0, 0, 0, 47, 0, 0, 0, 234, 0, 0, 0, 50, 0, 0, 0, 40, 0, 0, 0, 242, 0, 0, 0, 76, 0, 0, 0, 108, 0, 0, 0, 113, 0, 0, 0, 213, 0, 0, 0, 128, 0, 0, 0, 133, 0, 0, 0, 184, 0, 0, 0, 14, 0, 0, 0, 71, 0, 0, 0, 225, 0, 0, 0, 149, 0, 0, 0, 21, 0, 0, 0, 203, 0, 0, 0, 39, 0, 0, 0, 232, 0, 0, 0, 208, 0, 0, 0, 71, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 132, 0, 0, 0, 165, 0, 0, 0, 8, 0, 0, 0, 188, 0, 0, 0, 253, 0, 0, 0, 135, 0, 0, 0, 59, 0, 0, 0, 153, 0, 0, 0, 139, 0, 0, 0, 105, 0, 0, 0, 128, 0, 0, 0, 123, 0, 0, 0, 198, 0, 0, 0, 58, 0, 0, 0, 235, 0, 0, 0, 147, 0, 0, -0, 207, 0, 0, 0, 78, 0, 0, 0, 248, 0, 0, 0, 92, 0, 0, 0, 45, 0, 0, 0, 134, 0, 0, 0, 66, 0, 0, 0, 182, 0, 0, 0, 113, 0, 0, 0, 215, 0, 0, 0, 151, 0, 0, 0, 95, 0, 0, 0, 225, 0, 0, 0, 66, 0, 0, 0, 103, 0, 0, 0, 180, 0, 0, 0, 185, 0, 0, 0, 55, 0, 0, 0, 252, 0, 0, 0, 169, 0, 0, 0, 91, 0, 0, 0, 47, 0, 0, 0, 30, 0, 0, 0, 147, 0, 0, 0, 228, 0, 0, 0, 30, 0, 0, 0, 98, 0, 0, 0, 252, 0, 0, 0, 60, 0, 0, 0, 120, 0, 0, 0, 129, 0, 0, 0, 143, 0, 0, 0, 243, 0, 0, 0, 138, 0, 0, 0, 102, 0, 0, 0, 9, 0, 0, 0, 111, 0, 0, -0, 173, 0, 0, 0, 110, 0, 0, 0, 121, 0, 0, 0, 115, 0, 0, 0, 229, 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 211, 0, 0, 0, 33, 0, 0, 0, 248, 0, 0, 0, 249, 0, 0, 0, 40, 0, 0, 0, 108, 0, 0, 0, 109, 0, 0, 0, 89, 0, 0, 0, 178, 0, 0, 0, 89, 0, 0, 0, 116, 0, 0, 0, 35, 0, 0, 0, 191, 0, 0, 0, 231, 0, 0, 0, 51, 0, 0, 0, 141, 0, 0, 0, 87, 0, 0, 0, 9, 0, 0, 0, 145, 0, 0, 0, 156, 0, 0, 0, 36, 0, 0, 0, 8, 0, 0, 0, 21, 0, 0, 0, 43, 0, 0, 0, 226, 0, 0, 0, 184, 0, 0, 0, 238, 0, 0, 0, 58, 0, 0, 0, 229, 0, 0, 0, -39, 0, 0, 0, 6, 0, 0, 0, 134, 0, 0, 0, 164, 0, 0, 0, 35, 0, 0, 0, 235, 0, 0, 0, 39, 0, 0, 0, 103, 0, 0, 0, 193, 0, 0, 0, 55, 0, 0, 0, 171, 0, 0, 0, 122, 0, 0, 0, 216, 0, 0, 0, 39, 0, 0, 0, 156, 0, 0, 0, 7, 0, 0, 0, 142, 0, 0, 0, 255, 0, 0, 0, 17, 0, 0, 0, 106, 0, 0, 0, 176, 0, 0, 0, 120, 0, 0, 0, 110, 0, 0, 0, 173, 0, 0, 0, 58, 0, 0, 0, 46, 0, 0, 0, 15, 0, 0, 0, 152, 0, 0, 0, 159, 0, 0, 0, 114, 0, 0, 0, 195, 0, 0, 0, 127, 0, 0, 0, 130, 0, 0, 0, 242, 0, 0, 0, 150, 0, 0, 0, 150, 0, 0, 0, 112, 0, 0, -0, 129, 0, 0, 0, 107, 0, 0, 0, 136, 0, 0, 0, 232, 0, 0, 0, 30, 0, 0, 0, 199, 0, 0, 0, 119, 0, 0, 0, 150, 0, 0, 0, 14, 0, 0, 0, 161, 0, 0, 0, 169, 0, 0, 0, 82, 0, 0, 0, 224, 0, 0, 0, 216, 0, 0, 0, 14, 0, 0, 0, 97, 0, 0, 0, 158, 0, 0, 0, 121, 0, 0, 0, 45, 0, 0, 0, 149, 0, 0, 0, 156, 0, 0, 0, 141, 0, 0, 0, 150, 0, 0, 0, 224, 0, 0, 0, 6, 0, 0, 0, 64, 0, 0, 0, 93, 0, 0, 0, 135, 0, 0, 0, 40, 0, 0, 0, 95, 0, 0, 0, 152, 0, 0, 0, 112, 0, 0, 0, 241, 0, 0, 0, 121, 0, 0, 0, 123, 0, 0, 0, 237, 0, 0, 0, 79, 0, -0, 0, 68, 0, 0, 0, 178, 0, 0, 0, 231, 0, 0, 0, 8, 0, 0, 0, 13, 0, 0, 0, 194, 0, 0, 0, 8, 0, 0, 0, 18, 0, 0, 0, 210, 0, 0, 0, 159, 0, 0, 0, 223, 0, 0, 0, 205, 0, 0, 0, 147, 0, 0, 0, 32, 0, 0, 0, 138, 0, 0, 0, 207, 0, 0, 0, 51, 0, 0, 0, 202, 0, 0, 0, 109, 0, 0, 0, 137, 0, 0, 0, 185, 0, 0, 0, 119, 0, 0, 0, 200, 0, 0, 0, 147, 0, 0, 0, 27, 0, 0, 0, 78, 0, 0, 0, 96, 0, 0, 0, 38, 0, 0, 0, 79, 0, 0, 0, 126, 0, 0, 0, 151, 0, 0, 0, 246, 0, 0, 0, 64, 0, 0, 0, 221, 0, 0, 0, 79, 0, 0, 0, 252, 0, 0, 0, 82, 0, -0, 0, 120, 0, 0, 0, 249, 0, 0, 0, 144, 0, 0, 0, 49, 0, 0, 0, 3, 0, 0, 0, 230, 0, 0, 0, 125, 0, 0, 0, 86, 0, 0, 0, 57, 0, 0, 0, 11, 0, 0, 0, 29, 0, 0, 0, 86, 0, 0, 0, 130, 0, 0, 0, 133, 0, 0, 0, 249, 0, 0, 0, 26, 0, 0, 0, 66, 0, 0, 0, 23, 0, 0, 0, 105, 0, 0, 0, 108, 0, 0, 0, 207, 0, 0, 0, 57, 0, 0, 0, 105, 0, 0, 0, 210, 0, 0, 0, 6, 0, 0, 0, 58, 0, 0, 0, 79, 0, 0, 0, 57, 0, 0, 0, 45, 0, 0, 0, 249, 0, 0, 0, 56, 0, 0, 0, 64, 0, 0, 0, 140, 0, 0, 0, 76, 0, 0, 0, 231, 0, 0, 0, 5, 0, 0, 0, 18, 0, 0, 0, 180, -0, 0, 0, 120, 0, 0, 0, 139, 0, 0, 0, 248, 0, 0, 0, 192, 0, 0, 0, 236, 0, 0, 0, 147, 0, 0, 0, 222, 0, 0, 0, 122, 0, 0, 0, 107, 0, 0, 0, 206, 0, 0, 0, 44, 0, 0, 0, 225, 0, 0, 0, 14, 0, 0, 0, 169, 0, 0, 0, 52, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, -0, 0, 164, 0, 0, 0, 60, 0, 0, 0, 176, 0, 0, 0, 15, 0, 0, 0, 122, 0, 0, 0, 81, 0, 0, 0, 241, 0, 0, 0, 120, 0, 0, 0, 214, 0, 0, 0, 217, 0, 0, 0, 106, 0, 0, 0, 253, 0, 0, 0, 70, 0, 0, 0, 232, 0, 0, 0, 184, 0, 0, 0, 168, 0, 0, 0, 121, 0, 0, 0, 29, 0, 0, 0, 135, 0, 0, 0, 249, 0, 0, 0, 144, 0, 0, 0, 242, 0, 0, 0, 156, 0, 0, 0, 19, 0, 0, 0, 41, 0, 0, 0, 248, 0, 0, 0, 11, 0, 0, 0, 32, 0, 0, 0, 100, 0, 0, 0, 250, 0, 0, 0, 5, 0, 0, 0, 38, 0, 0, 0, 9, 0, 0, 0, 218, 0, 0, 0, 23, 0, 0, 0, 175, 0, 0, 0, 149, 0, -0, 0, 214, 0, 0, 0, 251, 0, 0, 0, 106, 0, 0, 0, 25, 0, 0, 0, 13, 0, 0, 0, 110, 0, 0, 0, 94, 0, 0, 0, 18, 0, 0, 0, 241, 0, 0, 0, 153, 0, 0, 0, 76, 0, 0, 0, 170, 0, 0, 0, 168, 0, 0, 0, 111, 0, 0, 0, 121, 0, 0, 0, 134, 0, 0, 0, 244, 0, 0, 0, 114, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 249, 0, 0, 0, 234, 0, 0, 0, 158, 0, 0, 0, 25, 0, 0, 0, 61, 0, 0, 0, 135, 0, 0, 0, 221, 0, 0, 0, 207, 0, 0, 0, 240, 0, 0, 0, 91, 0, 0, 0, 73, 0, 0, 0, 162, 0, 0, 0, 93, 0, 0, 0, 64, 0, 0, 0, 122, 0, 0, 0, 35, 0, -0, 0, 38, 0, 0, 0, 164, 0, 0, 0, 122, 0, 0, 0, 131, 0, 0, 0, 138, 0, 0, 0, 183, 0, 0, 0, 139, 0, 0, 0, 210, 0, 0, 0, 26, 0, 0, 0, 191, 0, 0, 0, 234, 0, 0, 0, 2, 0, 0, 0, 36, 0, 0, 0, 8, 0, 0, 0, 95, 0, 0, 0, 123, 0, 0, 0, 169, 0, 0, 0, 177, 0, 0, 0, 190, 0, 0, 0, 157, 0, 0, 0, 55, 0, 0, 0, 252, 0, 0, 0, 134, 0, 0, 0, 75, 0, 0, 0, 8, 0, 0, 0, 238, 0, 0, 0, 231, 0, 0, 0, 160, 0, 0, 0, 253, 0, 0, 0, 33, 0, 0, 0, 69, 0, 0, 0, 9, 0, 0, 0, 52, 0, 0, 0, 193, 0, 0, 0, 97, 0, 0, 0, 50, 0, 0, 0, 35, 0, 0, -0, 252, 0, 0, 0, 155, 0, 0, 0, 85, 0, 0, 0, 72, 0, 0, 0, 83, 0, 0, 0, 153, 0, 0, 0, 247, 0, 0, 0, 99, 0, 0, 0, 208, 0, 0, 0, 153, 0, 0, 0, 206, 0, 0, 0, 1, 0, 0, 0, 224, 0, 0, 0, 159, 0, 0, 0, 235, 0, 0, 0, 40, 0, 0, 0, 71, 0, 0, 0, 252, 0, 0, 0, 171, 0, 0, 0, 90, 0, 0, 0, 23, 0, 0, 0, 240, 0, 0, 0, 133, 0, 0, 0, 86, 0, 0, 0, 58, 0, 0, 0, 48, 0, 0, 0, 134, 0, 0, 0, 32, 0, 0, 0, 40, 0, 0, 0, 75, 0, 0, 0, 142, 0, 0, 0, 68, 0, 0, 0, 116, 0, 0, 0, 58, 0, 0, 0, 110, 0, 0, 0, 2, 0, 0, 0, 241, 0, 0, 0, -50, 0, 0, 0, 143, 0, 0, 0, 159, 0, 0, 0, 63, 0, 0, 0, 8, 0, 0, 0, 53, 0, 0, 0, 233, 0, 0, 0, 202, 0, 0, 0, 22, 0, 0, 0, 95, 0, 0, 0, 110, 0, 0, 0, 28, 0, 0, 0, 89, 0, 0, 0, 28, 0, 0, 0, 101, 0, 0, 0, 93, 0, 0, 0, 52, 0, 0, 0, 164, 0, 0, 0, 9, 0, 0, 0, 205, 0, 0, 0, 19, 0, 0, 0, 156, 0, 0, 0, 112, 0, 0, 0, 125, 0, 0, 0, 177, 0, 0, 0, 42, 0, 0, 0, 197, 0, 0, 0, 136, 0, 0, 0, 175, 0, 0, 0, 11, 0, 0, 0, 96, 0, 0, 0, 199, 0, 0, 0, 159, 0, 0, 0, 52, 0, 0, 0, 141, 0, 0, 0, 214, 0, 0, 0, 183, 0, 0, 0, 127, -0, 0, 0, 234, 0, 0, 0, 120, 0, 0, 0, 101, 0, 0, 0, 141, 0, 0, 0, 119, 0, 0, 0, 86, 0, 0, 0, 165, 0, 0, 0, 194, 0, 0, 0, 12, 0, 0, 0, 221, 0, 0, 0, 188, 0, 0, 0, 184, 0, 0, 0, 32, 0, 0, 0, 109, 0, 0, 0, 87, 0, 0, 0, 97, 0, 0, 0, 181, 0, 0, 0, 251, 0, 0, 0, 120, 0, 0, 0, 181, 0, 0, 0, 212, 0, 0, 0, 73, 0, 0, 0, 84, 0, 0, 0, 144, 0, 0, 0, 38, 0, 0, 0, 193, 0, 0, 0, 203, 0, 0, 0, 233, 0, 0, 0, 230, 0, 0, 0, 191, 0, 0, 0, 236, 0, 0, 0, 29, 0, 0, 0, 78, 0, 0, 0, 237, 0, 0, 0, 7, 0, 0, 0, 126, 0, 0, 0, -94, 0, 0, 0, 199, 0, 0, 0, 246, 0, 0, 0, 108, 0, 0, 0, 86, 0, 0, 0, 49, 0, 0, 0, 32, 0, 0, 0, 20, 0, 0, 0, 14, 0, 0, 0, 168, 0, 0, 0, 217, 0, 0, 0, 39, 0, 0, 0, 193, 0, 0, 0, 154, 0, 0, 0, 61, 0, 0, 0, 27, 0, 0, 0, 125, 0, 0, 0, 14, 0, 0, 0, 38, 0, 0, 0, 211, 0, 0, 0, 129, 0, 0, 0, 170, 0, 0, 0, 235, 0, 0, 0, 245, 0, 0, 0, 107, 0, 0, 0, 121, 0, 0, 0, 2, 0, 0, 0, 241, 0, 0, 0, 81, 0, 0, 0, 92, 0, 0, 0, 117, 0, 0, 0, 85, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 0, 0, 0, 205, 0, 0, 0, 130, 0, 0, 0, 60, 0, 0, 0, 51, 0, 0, 0, 9, 0, 0, 0, 84, 0, 0, 0, 210, 0, 0, 0, 97, 0, 0, 0, 57, 0, 0, 0, 48, 0, 0, 0, 155, 0, 0, 0, 253, 0, 0, 0, 239, 0, 0, 0, 33, 0, 0, 0, 38, 0, 0, 0, 212, 0, 0, 0, 112, 0, 0, 0, 250, 0, 0, 0, 238, 0, 0, 0, 249, 0, 0, -0, 49, 0, 0, 0, 51, 0, 0, 0, 115, 0, 0, 0, 132, 0, 0, 0, 208, 0, 0, 0, 179, 0, 0, 0, 129, 0, 0, 0, 191, 0, 0, 0, 236, 0, 0, 0, 46, 0, 0, 0, 232, 0, 0, 0, 147, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 247, 0, 0, 0, 156, 0, 0, 0, 184, 0, 0, 0, 116, 0, 0, 0, 224, 0, 0, 0, 230, 0, 0, 0, 73, 0, 0, 0, 72, 0, 0, 0, 77, 0, 0, 0, 77, 0, 0, 0, 72, 0, 0, 0, 182, 0, 0, 0, 25, 0, 0, 0, 161, 0, 0, 0, 64, 0, 0, 0, 183, 0, 0, 0, 217, 0, 0, 0, 50, 0, 0, 0, 65, 0, 0, 0, 124, 0, 0, 0, 130, 0, 0, 0, 55, 0, 0, -0, 161, 0, 0, 0, 45, 0, 0, 0, 220, 0, 0, 0, 210, 0, 0, 0, 84, 0, 0, 0, 104, 0, 0, 0, 43, 0, 0, 0, 74, 0, 0, 0, 91, 0, 0, 0, 213, 0, 0, 0, 199, 0, 0, 0, 81, 0, 0, 0, 145, 0, 0, 0, 29, 0, 0, 0, 225, 0, 0, 0, 42, 0, 0, 0, 75, 0, 0, 0, 196, 0, 0, 0, 71, 0, 0, 0, 241, 0, 0, 0, 188, 0, 0, 0, 122, 0, 0, 0, 179, 0, 0, 0, 203, 0, 0, 0, 200, 0, 0, 0, 182, 0, 0, 0, 124, 0, 0, 0, 172, 0, 0, 0, 144, 0, 0, 0, 5, 0, 0, 0, 253, 0, 0, 0, 243, 0, 0, 0, 249, 0, 0, 0, 82, 0, 0, 0, 58, 0, 0, 0, 17, 0, 0, 0, 107, 0, 0, -0, 61, 0, 0, 0, 193, 0, 0, 0, 39, 0, 0, 0, 243, 0, 0, 0, 89, 0, 0, 0, 67, 0, 0, 0, 149, 0, 0, 0, 144, 0, 0, 0, 197, 0, 0, 0, 150, 0, 0, 0, 121, 0, 0, 0, 245, 0, 0, 0, 244, 0, 0, 0, 149, 0, 0, 0, 101, 0, 0, 0, 41, 0, 0, 0, 6, 0, 0, 0, 156, 0, 0, 0, 81, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 218, 0, 0, 0, 184, 0, 0, 0, 46, 0, 0, 0, 121, 0, 0, 0, 126, 0, 0, 0, 105, 0, 0, 0, 89, 0, 0, 0, 113, 0, 0, 0, 1, 0, 0, 0, 235, 0, 0, 0, 26, 0, 0, 0, 21, 0, 0, 0, 6, 0, 0, 0, 73, 0, 0, 0, 182, 0, 0, 0, 138, 0, 0, 0, -60, 0, 0, 0, 234, 0, 0, 0, 47, 0, 0, 0, 52, 0, 0, 0, 32, 0, 0, 0, 20, 0, 0, 0, 195, 0, 0, 0, 170, 0, 0, 0, 214, 0, 0, 0, 175, 0, 0, 0, 44, 0, 0, 0, 62, 0, 0, 0, 189, 0, 0, 0, 101, 0, 0, 0, 32, 0, 0, 0, 226, 0, 0, 0, 77, 0, 0, 0, 75, 0, 0, 0, 59, 0, 0, 0, 235, 0, 0, 0, 159, 0, 0, 0, 74, 0, 0, 0, 195, 0, 0, 0, 173, 0, 0, 0, 164, 0, 0, 0, 59, 0, 0, 0, 96, 0, 0, 0, 188, 0, 0, 0, 88, 0, 0, 0, 230, 0, 0, 0, 192, 0, 0, 0, 149, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 129, 0, 0, 0, 154, 0, 0, 0, 122, 0, 0, 0, -243, 0, 0, 0, 210, 0, 0, 0, 6, 0, 0, 0, 190, 0, 0, 0, 72, 0, 0, 0, 188, 0, 0, 0, 12, 0, 0, 0, 197, 0, 0, 0, 70, 0, 0, 0, 224, 0, 0, 0, 106, 0, 0, 0, 212, 0, 0, 0, 172, 0, 0, 0, 15, 0, 0, 0, 217, 0, 0, 0, 204, 0, 0, 0, 130, 0, 0, 0, 52, 0, 0, 0, 44, 0, 0, 0, 175, 0, 0, 0, 219, 0, 0, 0, 31, 0, 0, 0, 247, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 189, 0, 0, 0, 251, 0, 0, 0, 188, 0, 0, 0, 210, 0, 0, 0, 236, 0, 0, 0, 69, 0, 0, 0, 179, 0, 0, 0, 21, 0, 0, 0, 49, 0, 0, 0, 233, 0, 0, 0, 175, 0, 0, 0, 130, 0, 0, -0, 132, 0, 0, 0, 61, 0, 0, 0, 40, 0, 0, 0, 198, 0, 0, 0, 252, 0, 0, 0, 17, 0, 0, 0, 245, 0, 0, 0, 65, 0, 0, 0, 181, 0, 0, 0, 139, 0, 0, 0, 211, 0, 0, 0, 18, 0, 0, 0, 118, 0, 0, 0, 82, 0, 0, 0, 231, 0, 0, 0, 26, 0, 0, 0, 60, 0, 0, 0, 78, 0, 0, 0, 54, 0, 0, 0, 17, 0, 0, 0, 7, 0, 0, 0, 162, 0, 0, 0, 21, 0, 0, 0, 32, 0, 0, 0, 81, 0, 0, 0, 196, 0, 0, 0, 42, 0, 0, 0, 195, 0, 0, 0, 98, 0, 0, 0, 139, 0, 0, 0, 94, 0, 0, 0, 127, 0, 0, 0, 166, 0, 0, 0, 15, 0, 0, 0, 249, 0, 0, 0, 69, 0, 0, 0, 133, 0, 0, 0, 108, -0, 0, 0, 17, 0, 0, 0, 134, 0, 0, 0, 183, 0, 0, 0, 126, 0, 0, 0, 229, 0, 0, 0, 215, 0, 0, 0, 249, 0, 0, 0, 195, 0, 0, 0, 145, 0, 0, 0, 28, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 214, 0, 0, 0, 222, 0, 0, 0, 41, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, -0, 185, 0, 0, 0, 2, 0, 0, 0, 89, 0, 0, 0, 203, 0, 0, 0, 38, 0, 0, 0, 196, 0, 0, 0, 186, 0, 0, 0, 153, 0, 0, 0, 177, 0, 0, 0, 151, 0, 0, 0, 47, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 38, 0, 0, 0, 79, 0, 0, 0, 82, 0, 0, 0, 235, 0, 0, 0, 71, 0, 0, 0, 27, 0, 0, 0, 137, 0, 0, 0, 139, 0, 0, 0, 36, 0, 0, 0, 192, 0, 0, 0, 19, 0, 0, 0, 125, 0, 0, 0, 213, 0, 0, 0, 32, 0, 0, 0, 91, 0, 0, 0, 128, 0, 0, 0, 166, 0, 0, 0, 128, 0, 0, 0, 32, 0, 0, 0, 149, 0, 0, 0, 195, 0, 0, 0, 233, 0, 0, 0, 159, 0, 0, -0, 142, 0, 0, 0, 135, 0, 0, 0, 158, 0, 0, 0, 30, 0, 0, 0, 158, 0, 0, 0, 122, 0, 0, 0, 199, 0, 0, 0, 204, 0, 0, 0, 117, 0, 0, 0, 108, 0, 0, 0, 165, 0, 0, 0, 241, 0, 0, 0, 145, 0, 0, 0, 26, 0, 0, 0, 168, 0, 0, 0, 1, 0, 0, 0, 44, 0, 0, 0, 171, 0, 0, 0, 118, 0, 0, 0, 169, 0, 0, 0, 89, 0, 0, 0, 222, 0, 0, 0, 201, 0, 0, 0, 177, 0, 0, 0, 49, 0, 0, 0, 16, 0, 0, 0, 22, 0, 0, 0, 170, 0, 0, 0, 53, 0, 0, 0, 20, 0, 0, 0, 106, 0, 0, 0, 212, 0, 0, 0, 181, 0, 0, 0, 52, 0, 0, 0, 130, 0, 0, 0, 113, 0, 0, 0, 210, 0, -0, 0, 74, 0, 0, 0, 93, 0, 0, 0, 154, 0, 0, 0, 31, 0, 0, 0, 83, 0, 0, 0, 38, 0, 0, 0, 60, 0, 0, 0, 229, 0, 0, 0, 142, 0, 0, 0, 141, 0, 0, 0, 51, 0, 0, 0, 127, 0, 0, 0, 255, 0, 0, 0, 169, 0, 0, 0, 213, 0, 0, 0, 23, 0, 0, 0, 137, 0, 0, 0, 175, 0, 0, 0, 246, 0, 0, 0, 164, 0, 0, 0, 100, 0, 0, 0, 213, 0, 0, 0, 16, 0, 0, 0, 224, 0, 0, 0, 29, 0, 0, 0, 173, 0, 0, 0, 239, 0, 0, 0, 68, 0, 0, 0, 189, 0, 0, 0, 218, 0, 0, 0, 131, 0, 0, 0, 172, 0, 0, 0, 122, 0, 0, 0, 168, 0, 0, 0, 240, 0, 0, 0, 28, 0, 0, 0, 7, -0, 0, 0, 249, 0, 0, 0, 195, 0, 0, 0, 67, 0, 0, 0, 108, 0, 0, 0, 63, 0, 0, 0, 183, 0, 0, 0, 211, 0, 0, 0, 135, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 115, 0, 0, 0, 100, 0, 0, 0, 29, 0, 0, 0, 73, 0, 0, 0, 19, 0, 0, 0, 47, 0, 0, 0, 113, 0, 0, 0, 236, 0, 0, 0, 105, 0, 0, 0, 135, 0, 0, 0, 208, 0, 0, 0, 66, 0, 0, 0, 238, 0, 0, 0, 19, 0, 0, 0, 236, 0, 0, 0, 227, 0, 0, 0, 237, 0, 0, 0, 86, 0, 0, 0, 123, 0, 0, 0, 191, 0, 0, 0, 189, 0, 0, 0, 140, 0, 0, 0, 47, 0, 0, 0, 125, 0, 0, 0, 123, 0, 0, 0, 157, 0, 0, 0, 40, -0, 0, 0, 236, 0, 0, 0, 142, 0, 0, 0, 118, 0, 0, 0, 47, 0, 0, 0, 111, 0, 0, 0, 8, 0, 0, 0, 34, 0, 0, 0, 245, 0, 0, 0, 95, 0, 0, 0, 77, 0, 0, 0, 21, 0, 0, 0, 239, 0, 0, 0, 252, 0, 0, 0, 78, 0, 0, 0, 87, 0, 0, 0, 3, 0, 0, 0, 54, 0, 0, 0, 137, 0, 0, 0, 240, 0, 0, 0, 235, 0, 0, 0, 91, 0, 0, 0, 145, 0, 0, 0, 214, 0, 0, 0, 226, 0, 0, 0, 202, 0, 0, 0, 1, 0, 0, 0, 165, 0, 0, 0, 238, 0, 0, 0, 82, 0, 0, 0, 236, 0, 0, 0, 160, 0, 0, 0, 60, 0, 0, 0, 143, 0, 0, 0, 51, 0, 0, 0, 144, 0, 0, 0, 90, 0, 0, 0, 148, 0, -0, 0, 114, 0, 0, 0, 138, 0, 0, 0, 75, 0, 0, 0, 231, 0, 0, 0, 56, 0, 0, 0, 188, 0, 0, 0, 218, 0, 0, 0, 194, 0, 0, 0, 176, 0, 0, 0, 133, 0, 0, 0, 225, 0, 0, 0, 74, 0, 0, 0, 254, 0, 0, 0, 45, 0, 0, 0, 68, 0, 0, 0, 132, 0, 0, 0, 203, 0, 0, 0, 32, 0, 0, 0, 107, 0, 0, 0, 45, 0, 0, 0, 191, 0, 0, 0, 17, 0, 0, 0, 156, 0, 0, 0, 215, 0, 0, 0, 190, 0, 0, 0, 211, 0, 0, 0, 62, 0, 0, 0, 95, 0, 0, 0, 191, 0, 0, 0, 104, 0, 0, 0, 188, 0, 0, 0, 168, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 137, 0, 0, 0, 40, 0, 0, 0, 34, 0, -0, 0, 106, 0, 0, 0, 120, 0, 0, 0, 170, 0, 0, 0, 41, 0, 0, 0, 3, 0, 0, 0, 200, 0, 0, 0, 116, 0, 0, 0, 149, 0, 0, 0, 3, 0, 0, 0, 62, 0, 0, 0, 220, 0, 0, 0, 189, 0, 0, 0, 7, 0, 0, 0, 19, 0, 0, 0, 168, 0, 0, 0, 162, 0, 0, 0, 32, 0, 0, 0, 45, 0, 0, 0, 179, 0, 0, 0, 24, 0, 0, 0, 112, 0, 0, 0, 66, 0, 0, 0, 253, 0, 0, 0, 122, 0, 0, 0, 196, 0, 0, 0, 215, 0, 0, 0, 73, 0, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 255, 0, 0, 0, 50, 0, 0, 0, 43, 0, 0, 0, 92, 0, 0, 0, 147, 0, 0, 0, 84, 0, 0, 0, 50, 0, 0, 0, 232, 0, 0, 0, 87, 0, 0, 0, 84, 0, 0, 0, 26, 0, 0, 0, 139, 0, 0, 0, 51, 0, 0, 0, 96, 0, 0, 0, 101, 0, 0, 0, 211, 0, 0, 0, 103, 0, 0, 0, 164, 0, 0, 0, 193, 0, 0, 0, 38, 0, 0, 0, 196, 0, 0, 0, 164, 0, 0, 0, 52, 0, 0, 0, 31, 0, 0, 0, 155, 0, 0, 0, 167, -0, 0, 0, 169, 0, 0, 0, 244, 0, 0, 0, 217, 0, 0, 0, 79, 0, 0, 0, 91, 0, 0, 0, 70, 0, 0, 0, 141, 0, 0, 0, 176, 0, 0, 0, 51, 0, 0, 0, 84, 0, 0, 0, 38, 0, 0, 0, 91, 0, 0, 0, 104, 0, 0, 0, 223, 0, 0, 0, 187, 0, 0, 0, 197, 0, 0, 0, 236, 0, 0, 0, 194, 0, 0, 0, 249, 0, 0, 0, 60, 0, 0, 0, 90, 0, 0, 0, 55, 0, 0, 0, 193, 0, 0, 0, 142, 0, 0, 0, 39, 0, 0, 0, 71, 0, 0, 0, 170, 0, 0, 0, 73, 0, 0, 0, 90, 0, 0, 0, 248, 0, 0, 0, 251, 0, 0, 0, 104, 0, 0, 0, 4, 0, 0, 0, 35, 0, 0, 0, 209, 0, 0, 0, 235, 0, 0, 0, 64, 0, -0, 0, 101, 0, 0, 0, 165, 0, 0, 0, 17, 0, 0, 0, 132, 0, 0, 0, 138, 0, 0, 0, 103, 0, 0, 0, 157, 0, 0, 0, 158, 0, 0, 0, 209, 0, 0, 0, 68, 0, 0, 0, 104, 0, 0, 0, 122, 0, 0, 0, 52, 0, 0, 0, 225, 0, 0, 0, 159, 0, 0, 0, 163, 0, 0, 0, 84, 0, 0, 0, 205, 0, 0, 0, 7, 0, 0, 0, 202, 0, 0, 0, 121, 0, 0, 0, 31, 0, 0, 0, 84, 0, 0, 0, 47, 0, 0, 0, 19, 0, 0, 0, 112, 0, 0, 0, 78, 0, 0, 0, 238, 0, 0, 0, 162, 0, 0, 0, 250, 0, 0, 0, 231, 0, 0, 0, 93, 0, 0, 0, 54, 0, 0, 0, 236, 0, 0, 0, 84, 0, 0, 0, 248, 0, 0, 0, 206, -0, 0, 0, 228, 0, 0, 0, 133, 0, 0, 0, 223, 0, 0, 0, 246, 0, 0, 0, 111, 0, 0, 0, 29, 0, 0, 0, 144, 0, 0, 0, 8, 0, 0, 0, 188, 0, 0, 0, 232, 0, 0, 0, 192, 0, 0, 0, 146, 0, 0, 0, 45, 0, 0, 0, 67, 0, 0, 0, 107, 0, 0, 0, 146, 0, 0, 0, 169, 0, 0, 0, 142, 0, 0, 0, 171, 0, 0, 0, 10, 0, 0, 0, 46, 0, 0, 0, 28, 0, 0, 0, 30, 0, 0, 0, 100, 0, 0, 0, 35, 0, 0, 0, 159, 0, 0, 0, 44, 0, 0, 0, 167, 0, 0, 0, 214, 0, 0, 0, 46, 0, 0, 0, 213, 0, 0, 0, 204, 0, 0, 0, 212, 0, 0, 0, 203, 0, 0, 0, 90, 0, 0, 0, 59, 0, 0, 0, 167, -0, 0, 0, 249, 0, 0, 0, 70, 0, 0, 0, 3, 0, 0, 0, 29, 0, 0, 0, 173, 0, 0, 0, 43, 0, 0, 0, 52, 0, 0, 0, 49, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 8, 0, 0, 0, 130, 0, 0, 0, 20, 0, 0, 0, 196, 0, 0, 0, 224, 0, 0, 0, 156, 0, 0, 0, 240, 0, 0, 0, 227, 0, 0, 0, 85, 0, 0, 0, 67, 0, 0, 0, 49, 0, 0, 0, 96, 0, 0, 0, 214, 0, 0, 0, 221, 0, 0, 0, 120, 0, 0, 0, 230, 0, 0, 0, 212, 0, 0, 0, 34, 0, 0, 0, 66, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 177, 0, 0, 0, 106, 0, 0, 0, 99, 0, 0, 0, 226, 0, 0, -0, 146, 0, 0, 0, 89, 0, 0, 0, 209, 0, 0, 0, 26, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 41, 0, 0, 0, 201, 0, 0, 0, 193, 0, 0, 0, 246, 0, 0, 0, 111, 0, 0, 0, 122, 0, 0, 0, 197, 0, 0, 0, 60, 0, 0, 0, 95, 0, 0, 0, 101, 0, 0, 0, 39, 0, 0, 0, 79, 0, 0, 0, 208, 0, 0, 0, 114, 0, 0, 0, 177, 0, 0, 0, 17, 0, 0, 0, 20, 0, 0, 0, 39, 0, 0, 0, 21, 0, 0, 0, 148, 0, 0, 0, 72, 0, 0, 0, 129, 0, 0, 0, 126, 0, 0, 0, 116, 0, 0, 0, 216, 0, 0, 0, 50, 0, 0, 0, 213, 0, 0, 0, 209, 0, 0, 0, 17, 0, 0, 0, 40, 0, 0, 0, -96, 0, 0, 0, 99, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 55, 0, 0, 0, 181, 0, 0, 0, 19, 0, 0, 0, 28, 0, 0, 0, 160, 0, 0, 0, 55, 0, 0, 0, 227, 0, 0, 0, 116, 0, 0, 0, 241, 0, 0, 0, 37, 0, 0, 0, 78, 0, 0, 0, 17, 0, 0, 0, 150, 0, 0, 0, 103, 0, 0, 0, 230, 0, 0, 0, 28, 0, 0, 0, 194, 0, 0, 0, 178, 0, 0, 0, 83, 0, 0, 0, 226, 0, 0, 0, 218, 0, 0, 0, 133, 0, 0, 0, 238, 0, 0, 0, 178, 0, 0, 0, 159, 0, 0, 0, 89, 0, 0, 0, 243, 0, 0, 0, 186, 0, 0, 0, 189, 0, 0, 0, 250, 0, 0, 0, 207, 0, 0, 0, 110, 0, 0, 0, 249, 0, 0, -0, 218, 0, 0, 0, 164, 0, 0, 0, 179, 0, 0, 0, 2, 0, 0, 0, 143, 0, 0, 0, 100, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 148, 0, 0, 0, 242, 0, 0, 0, 100, 0, 0, 0, 84, 0, 0, 0, 71, 0, 0, 0, 55, 0, 0, 0, 7, 0, 0, 0, 64, 0, 0, 0, 138, 0, 0, 0, 32, 0, -0, 0, 186, 0, 0, 0, 74, 0, 0, 0, 85, 0, 0, 0, 215, 0, 0, 0, 63, 0, 0, 0, 71, 0, 0, 0, 186, 0, 0, 0, 37, 0, 0, 0, 35, 0, 0, 0, 20, 0, 0, 0, 176, 0, 0, 0, 44, 0, 0, 0, 232, 0, 0, 0, 85, 0, 0, 0, 168, 0, 0, 0, 166, 0, 0, 0, 239, 0, 0, 0, 81, 0, 0, 0, 189, 0, 0, 0, 111, 0, 0, 0, 106, 0, 0, 0, 113, 0, 0, 0, 214, 0, 0, 0, 22, 0, 0, 0, 118, 0, 0, 0, 178, 0, 0, 0, 6, 0, 0, 0, 234, 0, 0, 0, 121, 0, 0, 0, 245, 0, 0, 0, 196, 0, 0, 0, 195, 0, 0, 0, 82, 0, 0, 0, 126, 0, 0, 0, 97, 0, 0, 0, 209, 0, 0, 0, 225, 0, -0, 0, 173, 0, 0, 0, 112, 0, 0, 0, 120, 0, 0, 0, 29, 0, 0, 0, 22, 0, 0, 0, 17, 0, 0, 0, 248, 0, 0, 0, 124, 0, 0, 0, 43, 0, 0, 0, 252, 0, 0, 0, 85, 0, 0, 0, 159, 0, 0, 0, 82, 0, 0, 0, 248, 0, 0, 0, 245, 0, 0, 0, 22, 0, 0, 0, 52, 0, 0, 0, 150, 0, 0, 0, 154, 0, 0, 0, 246, 0, 0, 0, 197, 0, 0, 0, 224, 0, 0, 0, 20, 0, 0, 0, 3, 0, 0, 0, 36, 0, 0, 0, 14, 0, 0, 0, 76, 0, 0, 0, 173, 0, 0, 0, 158, 0, 0, 0, 154, 0, 0, 0, 112, 0, 0, 0, 35, 0, 0, 0, 150, 0, 0, 0, 178, 0, 0, 0, 241, 0, 0, 0, 46, 0, 0, 0].concat([157, -0, 0, 0, 195, 0, 0, 0, 50, 0, 0, 0, 155, 0, 0, 0, 84, 0, 0, 0, 165, 0, 0, 0, 115, 0, 0, 0, 222, 0, 0, 0, 136, 0, 0, 0, 177, 0, 0, 0, 62, 0, 0, 0, 36, 0, 0, 0, 246, 0, 0, 0, 226, 0, 0, 0, 76, 0, 0, 0, 31, 0, 0, 0, 91, 0, 0, 0, 178, 0, 0, 0, 175, 0, 0, 0, 130, 0, 0, 0, 165, 0, 0, 0, 207, 0, 0, 0, 129, 0, 0, 0, 16, 0, 0, 0, 4, 0, 0, 0, 239, 0, 0, 0, 219, 0, 0, 0, 162, 0, 0, 0, 204, 0, 0, 0, 36, 0, 0, 0, 178, 0, 0, 0, 126, 0, 0, 0, 11, 0, 0, 0, 122, 0, 0, 0, 235, 0, 0, 0, 1, 0, 0, 0, 216, 0, 0, 0, 82, -0, 0, 0, 244, 0, 0, 0, 81, 0, 0, 0, 137, 0, 0, 0, 41, 0, 0, 0, 121, 0, 0, 0, 55, 0, 0, 0, 116, 0, 0, 0, 222, 0, 0, 0, 18, 0, 0, 0, 243, 0, 0, 0, 104, 0, 0, 0, 183, 0, 0, 0, 102, 0, 0, 0, 195, 0, 0, 0, 238, 0, 0, 0, 104, 0, 0, 0, 220, 0, 0, 0, 129, 0, 0, 0, 181, 0, 0, 0, 85, 0, 0, 0, 153, 0, 0, 0, 171, 0, 0, 0, 217, 0, 0, 0, 40, 0, 0, 0, 99, 0, 0, 0, 109, 0, 0, 0, 139, 0, 0, 0, 64, 0, 0, 0, 105, 0, 0, 0, 117, 0, 0, 0, 108, 0, 0, 0, 205, 0, 0, 0, 92, 0, 0, 0, 42, 0, 0, 0, 126, 0, 0, 0, 50, 0, 0, 0, -123, 0, 0, 0, 41, 0, 0, 0, 2, 0, 0, 0, 204, 0, 0, 0, 34, 0, 0, 0, 116, 0, 0, 0, 77, 0, 0, 0, 25, 0, 0, 0, 7, 0, 0, 0, 192, 0, 0, 0, 218, 0, 0, 0, 181, 0, 0, 0, 118, 0, 0, 0, 81, 0, 0, 0, 42, 0, 0, 0, 170, 0, 0, 0, 166, 0, 0, 0, 10, 0, 0, 0, 95, 0, 0, 0, 38, 0, 0, 0, 212, 0, 0, 0, 188, 0, 0, 0, 175, 0, 0, 0, 72, 0, 0, 0, 136, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 188, 0, 0, 0, 242, 0, 0, 0, 225, 0, 0, 0, 207, 0, 0, 0, 233, 0, 0, 0, 221, 0, 0, 0, 21, 0, 0, 0, 237, 0, 0, 0, 181, 0, 0, 0, 154, 0, 0, 0, -140, 0, 0, 0, 154, 0, 0, 0, 221, 0, 0, 0, 39, 0, 0, 0, 244, 0, 0, 0, 127, 0, 0, 0, 71, 0, 0, 0, 217, 0, 0, 0, 82, 0, 0, 0, 167, 0, 0, 0, 205, 0, 0, 0, 101, 0, 0, 0, 165, 0, 0, 0, 49, 0, 0, 0, 34, 0, 0, 0, 237, 0, 0, 0, 166, 0, 0, 0, 99, 0, 0, 0, 91, 0, 0, 0, 128, 0, 0, 0, 74, 0, 0, 0, 173, 0, 0, 0, 77, 0, 0, 0, 237, 0, 0, 0, 191, 0, 0, 0, 238, 0, 0, 0, 73, 0, 0, 0, 179, 0, 0, 0, 6, 0, 0, 0, 248, 0, 0, 0, 100, 0, 0, 0, 139, 0, 0, 0, 96, 0, 0, 0, 144, 0, 0, 0, 233, 0, 0, 0, 222, 0, 0, 0, 68, 0, 0, -0, 119, 0, 0, 0, 185, 0, 0, 0, 7, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 194, 0, 0, 0, 80, 0, 0, 0, 245, 0, 0, 0, 101, 0, 0, 0, 223, 0, 0, 0, 72, 0, 0, 0, 76, 0, 0, 0, 55, 0, 0, 0, 170, 0, 0, 0, 104, 0, 0, 0, 171, 0, 0, 0, 154, 0, 0, 0, 31, 0, 0, 0, 62, 0, 0, 0, 255, 0, 0, 0, 137, 0, 0, 0, 146, 0, 0, 0, 160, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 79, 0, 0, 0, 156, 0, 0, 0, 25, 0, 0, 0, 192, 0, 0, 0, 74, 0, 0, 0, 49, 0, 0, 0, 236, 0, 0, 0, 249, 0, 0, 0, 170, 0, 0, 0, 235, 0, 0, 0, 178, 0, 0, 0, 22, 0, 0, 0, 156, 0, 0, 0, 163, 0, 0, 0, 102, 0, 0, 0, 95, 0, 0, 0, 209, 0, 0, 0, 212, 0, 0, 0, 237, 0, 0, 0, 184, 0, 0, 0, 146, 0, 0, 0, 28, 0, 0, 0, 171, 0, 0, 0, 218, 0, 0, 0, 234, 0, 0, 0, 217, 0, 0, 0, 87, 0, 0, 0, 223, 0, 0, 0, 76, 0, 0, -0, 42, 0, 0, 0, 72, 0, 0, 0, 75, 0, 0, 0, 176, 0, 0, 0, 78, 0, 0, 0, 110, 0, 0, 0, 17, 0, 0, 0, 59, 0, 0, 0, 81, 0, 0, 0, 189, 0, 0, 0, 106, 0, 0, 0, 253, 0, 0, 0, 228, 0, 0, 0, 37, 0, 0, 0, 165, 0, 0, 0, 95, 0, 0, 0, 17, 0, 0, 0, 63, 0, 0, 0, 152, 0, 0, 0, 146, 0, 0, 0, 81, 0, 0, 0, 20, 0, 0, 0, 198, 0, 0, 0, 95, 0, 0, 0, 60, 0, 0, 0, 11, 0, 0, 0, 168, 0, 0, 0, 247, 0, 0, 0, 194, 0, 0, 0, 129, 0, 0, 0, 67, 0, 0, 0, 222, 0, 0, 0, 145, 0, 0, 0, 115, 0, 0, 0, 60, 0, 0, 0, 143, 0, 0, 0, 159, 0, 0, 0, -51, 0, 0, 0, 42, 0, 0, 0, 31, 0, 0, 0, 67, 0, 0, 0, 51, 0, 0, 0, 143, 0, 0, 0, 104, 0, 0, 0, 255, 0, 0, 0, 31, 0, 0, 0, 61, 0, 0, 0, 115, 0, 0, 0, 107, 0, 0, 0, 191, 0, 0, 0, 104, 0, 0, 0, 204, 0, 0, 0, 125, 0, 0, 0, 19, 0, 0, 0, 108, 0, 0, 0, 36, 0, 0, 0, 75, 0, 0, 0, 204, 0, 0, 0, 77, 0, 0, 0, 36, 0, 0, 0, 13, 0, 0, 0, 254, 0, 0, 0, 222, 0, 0, 0, 134, 0, 0, 0, 173, 0, 0, 0, 59, 0, 0, 0, 121, 0, 0, 0, 81, 0, 0, 0, 129, 0, 0, 0, 1, 0, 0, 0, 220, 0, 0, 0, 115, 0, 0, 0, 83, 0, 0, 0, 224, 0, 0, 0, 110, -0, 0, 0, 155, 0, 0, 0, 234, 0, 0, 0, 104, 0, 0, 0, 63, 0, 0, 0, 92, 0, 0, 0, 20, 0, 0, 0, 132, 0, 0, 0, 83, 0, 0, 0, 141, 0, 0, 0, 75, 0, 0, 0, 192, 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 137, 0, 0, 0, 43, 0, 0, 0, 140, 0, 0, 0, 186, 0, 0, 0, 134, 0, 0, 0, 250, 0, 0, 0, 242, 0, 0, 0, 205, 0, 0, 0, 227, 0, 0, 0, 45, 0, 0, 0, 6, 0, 0, 0, 249, 0, 0, 0, 41, 0, 0, 0, 90, 0, 0, 0, 219, 0, 0, 0, 61, 0, 0, 0, 132, 0, 0, 0, 82, 0, 0, 0, 171, 0, 0, 0, 204, 0, 0, 0, 107, 0, 0, 0, 96, 0, 0, 0, 157, 0, 0, 0, 183, -0, 0, 0, 74, 0, 0, 0, 14, 0, 0, 0, 54, 0, 0, 0, 99, 0, 0, 0, 145, 0, 0, 0, 173, 0, 0, 0, 160, 0, 0, 0, 149, 0, 0, 0, 176, 0, 0, 0, 151, 0, 0, 0, 137, 0, 0, 0, 78, 0, 0, 0, 207, 0, 0, 0, 125, 0, 0, 0, 60, 0, 0, 0, 229, 0, 0, 0, 124, 0, 0, 0, 40, 0, 0, 0, 46, 0, 0, 0, 105, 0, 0, 0, 152, 0, 0, 0, 253, 0, 0, 0, 198, 0, 0, 0, 189, 0, 0, 0, 204, 0, 0, 0, 202, 0, 0, 0, 223, 0, 0, 0, 154, 0, 0, 0, 68, 0, 0, 0, 126, 0, 0, 0, 157, 0, 0, 0, 202, 0, 0, 0, 137, 0, 0, 0, 109, 0, 0, 0, 191, 0, 0, 0, 39, 0, 0, 0, -194, 0, 0, 0, 248, 0, 0, 0, 205, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 181, 0, 0, 0, 88, 0, 0, 0, 78, 0, 0, 0, 183, 0, 0, 0, 137, 0, 0, 0, 9, 0, 0, 0, 233, 0, 0, 0, 45, 0, 0, 0, 84, 0, 0, 0, 190, 0, 0, 0, 117, 0, 0, 0, 203, 0, 0, 0, 5, 0, 0, 0, 176, 0, 0, 0, 84, 0, 0, 0, 183, 0, 0, 0, 231, 0, 0, 0, 38, 0, 0, 0, 134, 0, 0, 0, 74, 0, 0, 0, 252, 0, 0, 0, 25, 0, 0, 0, 207, 0, 0, 0, 39, 0, 0, 0, 70, 0, 0, 0, 212, 0, 0, 0, 34, 0, 0, 0, 150, 0, 0, 0, 90, 0, 0, 0, 17, 0, 0, 0, 232, 0, 0, 0, 213, -0, 0, 0, 27, 0, 0, 0, 237, 0, 0, 0, 113, 0, 0, 0, 197, 0, 0, 0, 93, 0, 0, 0, 200, 0, 0, 0, 175, 0, 0, 0, 69, 0, 0, 0, 64, 0, 0, 0, 123, 0, 0, 0, 119, 0, 0, 0, 87, 0, 0, 0, 73, 0, 0, 0, 158, 0, 0, 0, 128, 0, 0, 0, 57, 0, 0, 0, 35, 0, 0, 0, 238, 0, 0, 0, 129, 0, 0, 0, 11, 0, 0, 0, 34, 0, 0, 0, 207, 0, 0, 0, 219, 0, 0, 0, 122, 0, 0, 0, 47, 0, 0, 0, 20, 0, 0, 0, 184, 0, 0, 0, 87, 0, 0, 0, 143, 0, 0, 0, 161, 0, 0, 0, 57, 0, 0, 0, 30, 0, 0, 0, 119, 0, 0, 0, 252, 0, 0, 0, 11, 0, 0, 0, 166, 0, 0, 0, 191, -0, 0, 0, 138, 0, 0, 0, 12, 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 58, 0, 0, 0, 212, 0, 0, 0, 216, 0, 0, 0, 39, 0, 0, 0, 207, 0, 0, 0, 232, 0, 0, 0, 161, 0, 0, 0, 114, 0, 0, 0, 157, 0, 0, 0, 202, 0, 0, 0, 221, 0, 0, 0, 13, 0, 0, 0, 150, 0, -0, 0, 218, 0, 0, 0, 121, 0, 0, 0, 237, 0, 0, 0, 86, 0, 0, 0, 66, 0, 0, 0, 21, 0, 0, 0, 96, 0, 0, 0, 199, 0, 0, 0, 28, 0, 0, 0, 107, 0, 0, 0, 38, 0, 0, 0, 48, 0, 0, 0, 246, 0, 0, 0, 106, 0, 0, 0, 149, 0, 0, 0, 103, 0, 0, 0, 243, 0, 0, 0, 10, 0, 0, 0, 197, 0, 0, 0, 8, 0, 0, 0, 164, 0, 0, 0, 43, 0, 0, 0, 47, 0, 0, 0, 189, 0, 0, 0, 49, 0, 0, 0, 129, 0, 0, 0, 42, 0, 0, 0, 166, 0, 0, 0, 182, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 218, 0, 0, 0, 61, 0, 0, 0, 178, 0, 0, 0, 176, 0, 0, 0, 150, 0, -0, 0, 206, 0, 0, 0, 138, 0, 0, 0, 210, 0, 0, 0, 141, 0, 0, 0, 112, 0, 0, 0, 179, 0, 0, 0, 211, 0, 0, 0, 52, 0, 0, 0, 1, 0, 0, 0, 144, 0, 0, 0, 141, 0, 0, 0, 16, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 13, 0, 0, 0, 231, 0, 0, 0, 186, 0, 0, 0, 79, 0, 0, 0, 7, 0, 0, 0, 223, 0, 0, 0, 141, 0, 0, 0, 234, 0, 0, 0, 125, 0, 0, 0, 160, 0, 0, 0, 197, 0, 0, 0, 214, 0, 0, 0, 177, 0, 0, 0, 176, 0, 0, 0, 229, 0, 0, 0, 87, 0, 0, 0, 27, 0, 0, 0, 91, 0, 0, 0, 245, 0, 0, 0, 69, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 100, 0, -0, 0, 90, 0, 0, 0, 235, 0, 0, 0, 92, 0, 0, 0, 252, 0, 0, 0, 84, 0, 0, 0, 1, 0, 0, 0, 118, 0, 0, 0, 43, 0, 0, 0, 2, 0, 0, 0, 12, 0, 0, 0, 194, 0, 0, 0, 175, 0, 0, 0, 150, 0, 0, 0, 54, 0, 0, 0, 254, 0, 0, 0, 74, 0, 0, 0, 226, 0, 0, 0, 84, 0, 0, 0, 32, 0, 0, 0, 106, 0, 0, 0, 235, 0, 0, 0, 178, 0, 0, 0, 159, 0, 0, 0, 98, 0, 0, 0, 215, 0, 0, 0, 206, 0, 0, 0, 162, 0, 0, 0, 63, 0, 0, 0, 32, 0, 0, 0, 17, 0, 0, 0, 52, 0, 0, 0, 55, 0, 0, 0, 224, 0, 0, 0, 66, 0, 0, 0, 237, 0, 0, 0, 111, 0, 0, 0, 249, 0, 0, -0, 26, 0, 0, 0, 200, 0, 0, 0, 125, 0, 0, 0, 216, 0, 0, 0, 185, 0, 0, 0, 17, 0, 0, 0, 232, 0, 0, 0, 54, 0, 0, 0, 63, 0, 0, 0, 66, 0, 0, 0, 193, 0, 0, 0, 202, 0, 0, 0, 220, 0, 0, 0, 211, 0, 0, 0, 241, 0, 0, 0, 200, 0, 0, 0, 35, 0, 0, 0, 61, 0, 0, 0, 79, 0, 0, 0, 81, 0, 0, 0, 123, 0, 0, 0, 157, 0, 0, 0, 141, 0, 0, 0, 216, 0, 0, 0, 228, 0, 0, 0, 160, 0, 0, 0, 170, 0, 0, 0, 243, 0, 0, 0, 4, 0, 0, 0, 214, 0, 0, 0, 17, 0, 0, 0, 147, 0, 0, 0, 200, 0, 0, 0, 53, 0, 0, 0, 69, 0, 0, 0, 97, 0, 0, 0, 54, 0, 0, -0, 214, 0, 0, 0, 8, 0, 0, 0, 144, 0, 0, 0, 191, 0, 0, 0, 167, 0, 0, 0, 122, 0, 0, 0, 151, 0, 0, 0, 108, 0, 0, 0, 15, 0, 0, 0, 132, 0, 0, 0, 213, 0, 0, 0, 51, 0, 0, 0, 45, 0, 0, 0, 55, 0, 0, 0, 201, 0, 0, 0, 106, 0, 0, 0, 128, 0, 0, 0, 144, 0, 0, 0, 61, 0, 0, 0, 10, 0, 0, 0, 162, 0, 0, 0, 170, 0, 0, 0, 225, 0, 0, 0, 184, 0, 0, 0, 132, 0, 0, 0, 186, 0, 0, 0, 97, 0, 0, 0, 54, 0, 0, 0, 221, 0, 0, 0, 105, 0, 0, 0, 107, 0, 0, 0, 219, 0, 0, 0, 91, 0, 0, 0, 156, 0, 0, 0, 198, 0, 0, 0, 146, 0, 0, 0, 188, -0, 0, 0, 35, 0, 0, 0, 175, 0, 0, 0, 197, 0, 0, 0, 184, 0, 0, 0, 117, 0, 0, 0, 248, 0, 0, 0, 66, 0, 0, 0, 250, 0, 0, 0, 214, 0, 0, 0, 182, 0, 0, 0, 132, 0, 0, 0, 148, 0, 0, 0, 99, 0, 0, 0, 152, 0, 0, 0, 147, 0, 0, 0, 72, 0, 0, 0, 120, 0, 0, 0, 56, 0, 0, 0, 205, 0, 0, 0, 187, 0, 0, 0, 24, 0, 0, 0, 52, 0, 0, 0, 195, 0, 0, 0, 219, 0, 0, 0, 103, 0, 0, 0, 150, 0, 0, 0, 243, 0, 0, 0, 58, 0, 0, 0, 9, 0, 0, 0, 86, 0, 0, 0, 176, 0, 0, 0, 111, 0, 0, 0, 124, 0, 0, 0, 81, 0, 0, 0, 30, 0, 0, 0, 27, 0, 0, 0, 57, -0, 0, 0, 72, 0, 0, 0, 234, 0, 0, 0, 201, 0, 0, 0, 12, 0, 0, 0, 37, 0, 0, 0, 162, 0, 0, 0, 122, 0, 0, 0, 202, 0, 0, 0, 231, 0, 0, 0, 146, 0, 0, 0, 252, 0, 0, 0, 89, 0, 0, 0, 48, 0, 0, 0, 163, 0, 0, 0, 137, 0, 0, 0, 133, 0, 0, 0, 223, 0, 0, 0, 111, 0, 0, 0, 67, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 132, 0, 0, 0, 68, 0, 0, 0, 25, 0, 0, 0, 189, 0, 0, 0, 233, 0, 0, 0, 84, 0, 0, 0, 196, 0, 0, 0, 192, 0, 0, 0, 110, 0, 0, 0, 42, 0, 0, 0, 168, 0, 0, 0, 168, 0, 0, 0, 155, 0, 0, 0, 67, 0, 0, 0, 213, 0, 0, 0, 113, 0, 0, 0, 34, 0, 0, 0, 95, 0, 0, 0, 220, 0, 0, 0, 1, 0, 0, 0, 250, 0, 0, 0, 223, 0, 0, 0, 179, 0, 0, 0, 184, 0, 0, 0, 71, 0, 0, 0, 75, 0, 0, 0, 10, 0, 0, 0, 165, 0, 0, 0, 68, 0, 0, 0, 234, 0, 0, 0, 41, 0, 0, 0, 5, 0, 0, 0, 144, 0, -0, 0, 80, 0, 0, 0, 175, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0, 157, 0, 0, 0, 158, 0, 0, 0, 225, 0, 0, 0, 157, 0, 0, 0, 56, 0, 0, 0, 151, 0, 0, 0, 31, 0, 0, 0, 108, 0, 0, 0, 172, 0, 0, 0, 48, 0, 0, 0, 70, 0, 0, 0, 178, 0, 0, 0, 106, 0, 0, 0, 25, 0, 0, 0, 209, 0, 0, 0, 75, 0, 0, 0, 219, 0, 0, 0, 187, 0, 0, 0, 140, 0, 0, 0, 218, 0, 0, 0, 46, 0, 0, 0, 171, 0, 0, 0, 200, 0, 0, 0, 90, 0, 0, 0, 119, 0, 0, 0, 108, 0, 0, 0, 43, 0, 0, 0, 190, 0, 0, 0, 175, 0, 0, 0, 161, 0, 0, 0, 109, 0, 0, 0, 47, 0, 0, 0, 11, -0, 0, 0, 177, 0, 0, 0, 143, 0, 0, 0, 227, 0, 0, 0, 224, 0, 0, 0, 56, 0, 0, 0, 205, 0, 0, 0, 11, 0, 0, 0, 65, 0, 0, 0, 27, 0, 0, 0, 74, 0, 0, 0, 21, 0, 0, 0, 7, 0, 0, 0, 243, 0, 0, 0, 111, 0, 0, 0, 220, 0, 0, 0, 184, 0, 0, 0, 233, 0, 0, 0, 222, 0, 0, 0, 178, 0, 0, 0, 163, 0, 0, 0, 64, 0, 0, 0, 1, 0, 0, 0, 166, 0, 0, 0, 69, 0, 0, 0, 30, 0, 0, 0, 118, 0, 0, 0, 10, 0, 0, 0, 218, 0, 0, 0, 141, 0, 0, 0, 44, 0, 0, 0, 7, 0, 0, 0, 63, 0, 0, 0, 137, 0, 0, 0, 125, 0, 0, 0, 4, 0, 0, 0, 173, 0, 0, 0, 67, 0, 0, -0, 80, 0, 0, 0, 110, 0, 0, 0, 210, 0, 0, 0, 71, 0, 0, 0, 203, 0, 0, 0, 138, 0, 0, 0, 230, 0, 0, 0, 133, 0, 0, 0, 26, 0, 0, 0, 36, 0, 0, 0, 243, 0, 0, 0, 210, 0, 0, 0, 96, 0, 0, 0, 253, 0, 0, 0, 223, 0, 0, 0, 115, 0, 0, 0, 164, 0, 0, 0, 13, 0, 0, 0, 115, 0, 0, 0, 14, 0, 0, 0, 253, 0, 0, 0, 103, 0, 0, 0, 107, 0, 0, 0, 113, 0, 0, 0, 155, 0, 0, 0, 129, 0, 0, 0, 83, 0, 0, 0, 57, 0, 0, 0, 57, 0, 0, 0, 244, 0, 0, 0, 184, 0, 0, 0, 213, 0, 0, 0, 195, 0, 0, 0, 48, 0, 0, 0, 155, 0, 0, 0, 59, 0, 0, 0, 124, 0, -0, 0, 163, 0, 0, 0, 240, 0, 0, 0, 208, 0, 0, 0, 132, 0, 0, 0, 33, 0, 0, 0, 214, 0, 0, 0, 191, 0, 0, 0, 183, 0, 0, 0, 76, 0, 0, 0, 135, 0, 0, 0, 19, 0, 0, 0, 69, 0, 0, 0, 45, 0, 0, 0, 167, 0, 0, 0, 85, 0, 0, 0, 93, 0, 0, 0, 4, 0, 0, 0, 179, 0, 0, 0, 64, 0, 0, 0, 40, 0, 0, 0, 149, 0, 0, 0, 45, 0, 0, 0, 48, 0, 0, 0, 131, 0, 0, 0, 236, 0, 0, 0, 94, 0, 0, 0, 228, 0, 0, 0, 255, 0, 0, 0, 117, 0, 0, 0, 254, 0, 0, 0, 121, 0, 0, 0, 38, 0, 0, 0, 157, 0, 0, 0, 29, 0, 0, 0, 54, 0, 0, 0, 205, 0, 0, 0, 10, 0, 0, -0, 21, 0, 0, 0, 210, 0, 0, 0, 36, 0, 0, 0, 20, 0, 0, 0, 119, 0, 0, 0, 113, 0, 0, 0, 215, 0, 0, 0, 138, 0, 0, 0, 27, 0, 0, 0, 4, 0, 0, 0, 93, 0, 0, 0, 147, 0, 0, 0, 201, 0, 0, 0, 190, 0, 0, 0, 170, 0, 0, 0, 144, 0, 0, 0, 205, 0, 0, 0, 155, 0, 0, 0, 251, 0, 0, 0, 115, 0, 0, 0, 126, 0, 0, 0, 176, 0, 0, 0, 100, 0, 0, 0, 152, 0, 0, 0, 87, 0, 0, 0, 68, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 177, 0, 0, 0, 175, 0, 0, 0, 234, 0, 0, 0, 193, 0, 0, 0, 195, 0, 0, 0, 34, 0, 0, 0, 255, 0, 0, 0, 96, 0, 0, 0, 70, 0, -0, 0, 203, 0, 0, 0, 97, 0, 0, 0, 129, 0, 0, 0, 112, 0, 0, 0, 97, 0, 0, 0, 13, 0, 0, 0, 130, 0, 0, 0, 185, 0, 0, 0, 254, 0, 0, 0, 33, 0, 0, 0, 205, 0, 0, 0, 196, 0, 0, 0, 245, 0, 0, 0, 152, 0, 0, 0, 12, 0, 0, 0, 78, 0, 0, 0, 114, 0, 0, 0, 238, 0, 0, 0, 135, 0, 0, 0, 73, 0, 0, 0, 248, 0, 0, 0, 161, 0, 0, 0, 149, 0, 0, 0, 223, 0, 0, 0, 143, 0, 0, 0, 45, 0, 0, 0, 189, 0, 0, 0, 33, 0, 0, 0, 6, 0, 0, 0, 124, 0, 0, 0, 21, 0, 0, 0, 232, 0, 0, 0, 18, 0, 0, 0, 109, 0, 0, 0, 147, 0, 0, 0, 214, 0, 0, 0, 56, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 247, 0, 0, 0, 81, 0, 0, 0, 217, 0, 0, 0, 239, 0, 0, 0, 125, 0, 0, 0, 66, 0, 0, 0, 1, 0, 0, 0, 19, 0, 0, 0, 233, 0, 0, 0, 184, 0, 0, 0, 127, 0, 0, 0, 166, 0, 0, 0, 73, 0, 0, 0, 23, 0, 0, 0, 100, 0, 0, 0, 33, 0, 0, -0, 128, 0, 0, 0, 131, 0, 0, 0, 44, 0, 0, 0, 99, 0, 0, 0, 76, 0, 0, 0, 96, 0, 0, 0, 9, 0, 0, 0, 89, 0, 0, 0, 145, 0, 0, 0, 146, 0, 0, 0, 119, 0, 0, 0, 57, 0, 0, 0, 81, 0, 0, 0, 244, 0, 0, 0, 72, 0, 0, 0, 96, 0, 0, 0, 213, 0, 0, 0, 34, 0, 0, 0, 131, 0, 0, 0, 8, 0, 0, 0, 47, 0, 0, 0, 255, 0, 0, 0, 153, 0, 0, 0, 62, 0, 0, 0, 105, 0, 0, 0, 109, 0, 0, 0, 136, 0, 0, 0, 218, 0, 0, 0, 231, 0, 0, 0, 91, 0, 0, 0, 82, 0, 0, 0, 38, 0, 0, 0, 49, 0, 0, 0, 42, 0, 0, 0, 229, 0, 0, 0, 137, 0, 0, 0, 222, 0, 0, 0, 104, -0, 0, 0, 144, 0, 0, 0, 182, 0, 0, 0, 34, 0, 0, 0, 90, 0, 0, 0, 189, 0, 0, 0, 211, 0, 0, 0, 133, 0, 0, 0, 83, 0, 0, 0, 49, 0, 0, 0, 216, 0, 0, 0, 206, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 60, 0, 0, 0, 75, 0, 0, 0, 162, 0, 0, 0, 29, 0, 0, 0, 44, 0, 0, 0, 47, 0, 0, 0, 54, 0, 0, 0, 190, 0, 0, 0, 122, 0, 0, 0, 252, 0, 0, 0, 205, 0, 0, 0, 188, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 48, 0, 0, 0, 189, 0, 0, 0, 255, 0, 0, 0, 5, 0, 0, 0, 199, 0, 0, 0, 228, 0, 0, 0, 142, 0, 0, 0, 23, 0, 0, 0, 98, 0, 0, 0, 248, -0, 0, 0, 77, 0, 0, 0, 160, 0, 0, 0, 86, 0, 0, 0, 121, 0, 0, 0, 130, 0, 0, 0, 231, 0, 0, 0, 246, 0, 0, 0, 186, 0, 0, 0, 83, 0, 0, 0, 132, 0, 0, 0, 10, 0, 0, 0, 163, 0, 0, 0, 52, 0, 0, 0, 255, 0, 0, 0, 60, 0, 0, 0, 163, 0, 0, 0, 106, 0, 0, 0, 161, 0, 0, 0, 55, 0, 0, 0, 234, 0, 0, 0, 221, 0, 0, 0, 182, 0, 0, 0, 149, 0, 0, 0, 179, 0, 0, 0, 120, 0, 0, 0, 25, 0, 0, 0, 118, 0, 0, 0, 30, 0, 0, 0, 85, 0, 0, 0, 47, 0, 0, 0, 119, 0, 0, 0, 46, 0, 0, 0, 127, 0, 0, 0, 193, 0, 0, 0, 234, 0, 0, 0, 94, 0, 0, 0, 131, -0, 0, 0, 225, 0, 0, 0, 110, 0, 0, 0, 169, 0, 0, 0, 7, 0, 0, 0, 51, 0, 0, 0, 62, 0, 0, 0, 131, 0, 0, 0, 255, 0, 0, 0, 203, 0, 0, 0, 28, 0, 0, 0, 159, 0, 0, 0, 177, 0, 0, 0, 163, 0, 0, 0, 180, 0, 0, 0, 201, 0, 0, 0, 225, 0, 0, 0, 7, 0, 0, 0, 151, 0, 0, 0, 255, 0, 0, 0, 248, 0, 0, 0, 35, 0, 0, 0, 143, 0, 0, 0, 206, 0, 0, 0, 64, 0, 0, 0, 253, 0, 0, 0, 46, 0, 0, 0, 94, 0, 0, 0, 219, 0, 0, 0, 22, 0, 0, 0, 67, 0, 0, 0, 45, 0, 0, 0, 186, 0, 0, 0, 56, 0, 0, 0, 2, 0, 0, 0, 247, 0, 0, 0, 129, 0, 0, 0, 67, 0, -0, 0, 131, 0, 0, 0, 163, 0, 0, 0, 32, 0, 0, 0, 79, 0, 0, 0, 1, 0, 0, 0, 59, 0, 0, 0, 138, 0, 0, 0, 4, 0, 0, 0, 56, 0, 0, 0, 49, 0, 0, 0, 198, 0, 0, 0, 15, 0, 0, 0, 200, 0, 0, 0, 223, 0, 0, 0, 215, 0, 0, 0, 250, 0, 0, 0, 47, 0, 0, 0, 136, 0, 0, 0, 63, 0, 0, 0, 252, 0, 0, 0, 12, 0, 0, 0, 118, 0, 0, 0, 196, 0, 0, 0, 166, 0, 0, 0, 69, 0, 0, 0, 114, 0, 0, 0, 187, 0, 0, 0, 12, 0, 0, 0, 188, 0, 0, 0, 106, 0, 0, 0, 164, 0, 0, 0, 151, 0, 0, 0, 23, 0, 0, 0, 147, 0, 0, 0, 45, 0, 0, 0, 111, 0, 0, 0, 222, 0, -0, 0, 114, 0, 0, 0, 16, 0, 0, 0, 28, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0, 15, 0, 0, 0, 128, 0, 0, 0, 50, 0, 0, 0, 104, 0, 0, 0, 39, 0, 0, 0, 212, 0, 0, 0, 171, 0, 0, 0, 221, 0, 0, 0, 197, 0, 0, 0, 88, 0, 0, 0, 97, 0, 0, 0, 19, 0, 0, 0, 109, 0, 0, 0, 17, 0, 0, 0, 30, 0, 0, 0, 77, 0, 0, 0, 26, 0, 0, 0, 185, 0, 0, 0, 201, 0, 0, 0, 16, 0, 0, 0, 251, 0, 0, 0, 30, 0, 0, 0, 78, 0, 0, 0, 244, 0, 0, 0, 132, 0, 0, 0, 75, 0, 0, 0, 138, 0, 0, 0, 94, 0, 0, 0, 123, 0, 0, 0, 75, 0, 0, 0, 232, 0, 0, 0, 67, 0, 0, 0, -140, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0, 84, 0, 0, 0, 19, 0, 0, 0, 197, 0, 0, 0, 92, 0, 0, 0, 182, 0, 0, 0, 53, 0, 0, 0, 78, 0, 0, 0, 157, 0, 0, 0, 228, 0, 0, 0, 91, 0, 0, 0, 65, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 125, 0, -0, 0, 18, 0, 0, 0, 72, 0, 0, 0, 130, 0, 0, 0, 20, 0, 0, 0, 66, 0, 0, 0, 205, 0, 0, 0, 50, 0, 0, 0, 212, 0, 0, 0, 75, 0, 0, 0, 193, 0, 0, 0, 114, 0, 0, 0, 97, 0, 0, 0, 42, 0, 0, 0, 140, 0, 0, 0, 236, 0, 0, 0, 226, 0, 0, 0, 248, 0, 0, 0, 36, 0, 0, 0, 69, 0, 0, 0, 148, 0, 0, 0, 227, 0, 0, 0, 190, 0, 0, 0, 221, 0, 0, 0, 103, 0, 0, 0, 168, 0, 0, 0, 119, 0, 0, 0, 90, 0, 0, 0, 174, 0, 0, 0, 91, 0, 0, 0, 75, 0, 0, 0, 203, 0, 0, 0, 119, 0, 0, 0, 154, 0, 0, 0, 32, 0, 0, 0, 222, 0, 0, 0, 184, 0, 0, 0, 35, 0, -0, 0, 217, 0, 0, 0, 160, 0, 0, 0, 15, 0, 0, 0, 140, 0, 0, 0, 123, 0, 0, 0, 165, 0, 0, 0, 203, 0, 0, 0, 174, 0, 0, 0, 182, 0, 0, 0, 236, 0, 0, 0, 66, 0, 0, 0, 103, 0, 0, 0, 14, 0, 0, 0, 88, 0, 0, 0, 164, 0, 0, 0, 117, 0, 0, 0, 152, 0, 0, 0, 33, 0, 0, 0, 113, 0, 0, 0, 132, 0, 0, 0, 179, 0, 0, 0, 224, 0, 0, 0, 118, 0, 0, 0, 148, 0, 0, 0, 115, 0, 0, 0, 223, 0, 0, 0, 252, 0, 0, 0, 105, 0, 0, 0, 40, 0, 0, 0, 35, 0, 0, 0, 63, 0, 0, 0, 91, 0, 0, 0, 248, 0, 0, 0, 59, 0, 0, 0, 36, 0, 0, 0, 55, 0, 0, 0, 243, -0, 0, 0, 29, 0, 0, 0, 213, 0, 0, 0, 34, 0, 0, 0, 107, 0, 0, 0, 208, 0, 0, 0, 152, 0, 0, 0, 168, 0, 0, 0, 108, 0, 0, 0, 207, 0, 0, 0, 255, 0, 0, 0, 6, 0, 0, 0, 225, 0, 0, 0, 19, 0, 0, 0, 223, 0, 0, 0, 185, 0, 0, 0, 193, 0, 0, 0, 12, 0, 0, 0, 169, 0, 0, 0, 191, 0, 0, 0, 51, 0, 0, 0, 217, 0, 0, 0, 129, 0, 0, 0, 218, 0, 0, 0, 178, 0, 0, 0, 79, 0, 0, 0, 130, 0, 0, 0, 157, 0, 0, 0, 67, 0, 0, 0, 129, 0, 0, 0, 9, 0, 0, 0, 241, 0, 0, 0, 210, 0, 0, 0, 1, 0, 0, 0, 239, 0, 0, 0, 172, 0, 0, 0, 244, 0, 0, 0, 45, -0, 0, 0, 125, 0, 0, 0, 1, 0, 0, 0, 9, 0, 0, 0, 241, 0, 0, 0, 255, 0, 0, 0, 165, 0, 0, 0, 159, 0, 0, 0, 229, 0, 0, 0, 202, 0, 0, 0, 39, 0, 0, 0, 99, 0, 0, 0, 219, 0, 0, 0, 32, 0, 0, 0, 177, 0, 0, 0, 83, 0, 0, 0, 103, 0, 0, 0, 2, 0, 0, 0, 232, 0, 0, 0, 173, 0, 0, 0, 169, 0, 0, 0, 52, 0, 0, 0, 212, 0, 0, 0, 240, 0, 0, 0, 21, 0, 0, 0, 129, 0, 0, 0, 170, 0, 0, 0, 199, 0, 0, 0, 77, 0, 0, 0, 135, 0, 0, 0, 148, 0, 0, 0, 234, 0, 0, 0, 117, 0, 0, 0, 231, 0, 0, 0, 76, 0, 0, 0, 148, 0, 0, 0, 4, 0, 0, 0, 14, -0, 0, 0, 105, 0, 0, 0, 135, 0, 0, 0, 231, 0, 0, 0, 81, 0, 0, 0, 145, 0, 0, 0, 16, 0, 0, 0, 3, 0, 0, 0, 199, 0, 0, 0, 190, 0, 0, 0, 86, 0, 0, 0, 50, 0, 0, 0, 251, 0, 0, 0, 134, 0, 0, 0, 236, 0, 0, 0, 51, 0, 0, 0, 107, 0, 0, 0, 46, 0, 0, 0, 81, 0, 0, 0, 43, 0, 0, 0, 200, 0, 0, 0, 250, 0, 0, 0, 108, 0, 0, 0, 112, 0, 0, 0, 71, 0, 0, 0, 126, 0, 0, 0, 206, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 113, 0, 0, 0, 243, 0, 0, 0, 180, 0, 0, 0, 86, 0, 0, 0, 166, 0, 0, 0, 220, 0, 0, 0, 204, 0, 0, 0, 120, 0, 0, 0, 7, -0, 0, 0, 117, 0, 0, 0, 208, 0, 0, 0, 221, 0, 0, 0, 178, 0, 0, 0, 106, 0, 0, 0, 198, 0, 0, 0, 239, 0, 0, 0, 185, 0, 0, 0, 192, 0, 0, 0, 43, 0, 0, 0, 34, 0, 0, 0, 8, 0, 0, 0, 30, 0, 0, 0, 113, 0, 0, 0, 112, 0, 0, 0, 179, 0, 0, 0, 53, 0, 0, 0, 156, 0, 0, 0, 122, 0, 0, 0, 1, 0, 0, 0, 146, 0, 0, 0, 68, 0, 0, 0, 154, 0, 0, 0, 246, 0, 0, 0, 176, 0, 0, 0, 88, 0, 0, 0, 149, 0, 0, 0, 193, 0, 0, 0, 155, 0, 0, 0, 2, 0, 0, 0, 237, 0, 0, 0, 45, 0, 0, 0, 124, 0, 0, 0, 52, 0, 0, 0, 41, 0, 0, 0, 73, 0, 0, 0, 68, -0, 0, 0, 69, 0, 0, 0, 98, 0, 0, 0, 29, 0, 0, 0, 46, 0, 0, 0, 255, 0, 0, 0, 42, 0, 0, 0, 28, 0, 0, 0, 33, 0, 0, 0, 164, 0, 0, 0, 37, 0, 0, 0, 123, 0, 0, 0, 13, 0, 0, 0, 140, 0, 0, 0, 21, 0, 0, 0, 57, 0, 0, 0, 252, 0, 0, 0, 143, 0, 0, 0, 124, 0, 0, 0, 165, 0, 0, 0, 125, 0, 0, 0, 30, 0, 0, 0, 37, 0, 0, 0, 163, 0, 0, 0, 69, 0, 0, 0, 214, 0, 0, 0, 171, 0, 0, 0, 189, 0, 0, 0, 203, 0, 0, 0, 197, 0, 0, 0, 94, 0, 0, 0, 120, 0, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 211, 0, 0, 0, 66, 0, 0, 0, 237, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 21, 0, 0, 0, 44, 0, 0, 0, 156, 0, 0, 0, 119, 0, 0, 0, 129, 0, 0, 0, 210, 0, 0, 0, 115, 0, 0, 0, 209, 0, 0, 0, 6, 0, 0, 0, 213, 0, 0, 0, 196, 0, 0, 0, 127, 0, 0, 0, 148, 0, 0, 0, 187, 0, 0, 0, 146, 0, 0, -0, 45, 0, 0, 0, 44, 0, 0, 0, 75, 0, 0, 0, 69, 0, 0, 0, 75, 0, 0, 0, 233, 0, 0, 0, 42, 0, 0, 0, 137, 0, 0, 0, 107, 0, 0, 0, 43, 0, 0, 0, 210, 0, 0, 0, 12, 0, 0, 0, 136, 0, 0, 0, 197, 0, 0, 0, 72, 0, 0, 0, 77, 0, 0, 0, 234, 0, 0, 0, 13, 0, 0, 0, 74, 0, 0, 0, 201, 0, 0, 0, 82, 0, 0, 0, 106, 0, 0, 0, 97, 0, 0, 0, 121, 0, 0, 0, 233, 0, 0, 0, 118, 0, 0, 0, 243, 0, 0, 0, 133, 0, 0, 0, 82, 0, 0, 0, 92, 0, 0, 0, 27, 0, 0, 0, 44, 0, 0, 0, 225, 0, 0, 0, 214, 0, 0, 0, 196, 0, 0, 0, 15, 0, 0, 0, 24, 0, 0, 0, -14, 0, 0, 0, 78, 0, 0, 0, 246, 0, 0, 0, 28, 0, 0, 0, 127, 0, 0, 0, 180, 0, 0, 0, 4, 0, 0, 0, 46, 0, 0, 0, 66, 0, 0, 0, 203, 0, 0, 0, 31, 0, 0, 0, 43, 0, 0, 0, 17, 0, 0, 0, 81, 0, 0, 0, 123, 0, 0, 0, 8, 0, 0, 0, 172, 0, 0, 0, 170, 0, 0, 0, 62, 0, 0, 0, 158, 0, 0, 0, 82, 0, 0, 0, 96, 0, 0, 0, 183, 0, 0, 0, 194, 0, 0, 0, 97, 0, 0, 0, 87, 0, 0, 0, 140, 0, 0, 0, 132, 0, 0, 0, 213, 0, 0, 0, 24, 0, 0, 0, 166, 0, 0, 0, 25, 0, 0, 0, 252, 0, 0, 0, 183, 0, 0, 0, 117, 0, 0, 0, 145, 0, 0, 0, 27, 0, 0, 0, 232, -0, 0, 0, 104, 0, 0, 0, 202, 0, 0, 0, 68, 0, 0, 0, 200, 0, 0, 0, 56, 0, 0, 0, 56, 0, 0, 0, 204, 0, 0, 0, 83, 0, 0, 0, 10, 0, 0, 0, 50, 0, 0, 0, 53, 0, 0, 0, 204, 0, 0, 0, 82, 0, 0, 0, 203, 0, 0, 0, 14, 0, 0, 0, 247, 0, 0, 0, 197, 0, 0, 0, 231, 0, 0, 0, 236, 0, 0, 0, 61, 0, 0, 0, 133, 0, 0, 0, 204, 0, 0, 0, 88, 0, 0, 0, 226, 0, 0, 0, 23, 0, 0, 0, 71, 0, 0, 0, 255, 0, 0, 0, 159, 0, 0, 0, 165, 0, 0, 0, 48, 0, 0, 0, 23, 0, 0, 0, 227, 0, 0, 0, 174, 0, 0, 0, 200, 0, 0, 0, 193, 0, 0, 0, 113, 0, 0, 0, 117, -0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 65, 0, 0, 0, 92, 0, 0, 0, 14, 0, 0, 0, 57, 0, 0, 0, 218, 0, 0, 0, 115, 0, 0, 0, 160, 0, 0, 0, 199, 0, 0, 0, 151, 0, 0, 0, 54, 0, 0, 0, 108, 0, 0, 0, 91, 0, 0, 0, 242, 0, 0, 0, 238, 0, 0, 0, 100, 0, 0, 0, 10, 0, 0, 0, 61, 0, 0, 0, 137, 0, 0, 0, 30, 0, 0, 0, 29, 0, 0, 0, 73, 0, 0, 0, 140, 0, 0, 0, 55, 0, 0, 0, 76, 0, 0, 0, 230, 0, 0, 0, 176, 0, 0, 0, 193, 0, 0, 0, 165, 0, 0, 0, 42, 0, 0, 0, 130, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 173, 0, 0, 0, 121, 0, 0, -0, 156, 0, 0, 0, 86, 0, 0, 0, 246, 0, 0, 0, 249, 0, 0, 0, 193, 0, 0, 0, 215, 0, 0, 0, 124, 0, 0, 0, 57, 0, 0, 0, 127, 0, 0, 0, 147, 0, 0, 0, 202, 0, 0, 0, 17, 0, 0, 0, 85, 0, 0, 0, 191, 0, 0, 0, 7, 0, 0, 0, 27, 0, 0, 0, 130, 0, 0, 0, 41, 0, 0, 0, 105, 0, 0, 0, 149, 0, 0, 0, 92, 0, 0, 0, 135, 0, 0, 0, 238, 0, 0, 0, 166, 0, 0, 0, 86, 0, 0, 0, 158, 0, 0, 0, 194, 0, 0, 0, 154, 0, 0, 0, 86, 0, 0, 0, 36, 0, 0, 0, 66, 0, 0, 0, 133, 0, 0, 0, 77, 0, 0, 0, 152, 0, 0, 0, 49, 0, 0, 0, 30, 0, 0, 0, 96, 0, 0, -0, 77, 0, 0, 0, 135, 0, 0, 0, 133, 0, 0, 0, 4, 0, 0, 0, 174, 0, 0, 0, 70, 0, 0, 0, 18, 0, 0, 0, 249, 0, 0, 0, 142, 0, 0, 0, 127, 0, 0, 0, 228, 0, 0, 0, 127, 0, 0, 0, 246, 0, 0, 0, 28, 0, 0, 0, 55, 0, 0, 0, 1, 0, 0, 0, 115, 0, 0, 0, 76, 0, 0, 0, 182, 0, 0, 0, 197, 0, 0, 0, 196, 0, 0, 0, 233, 0, 0, 0, 108, 0, 0, 0, 133, 0, 0, 0, 72, 0, 0, 0, 74, 0, 0, 0, 90, 0, 0, 0, 172, 0, 0, 0, 217, 0, 0, 0, 31, 0, 0, 0, 67, 0, 0, 0, 248, 0, 0, 0, 98, 0, 0, 0, 91, 0, 0, 0, 238, 0, 0, 0, 152, 0, 0, 0, 42, 0, 0, 0, -51, 0, 0, 0, 142, 0, 0, 0, 121, 0, 0, 0, 206, 0, 0, 0, 97, 0, 0, 0, 6, 0, 0, 0, 53, 0, 0, 0, 216, 0, 0, 0, 215, 0, 0, 0, 202, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 211, 0, 0, 0, 174, 0, 0, 0, 166, 0, 0, 0, 202, 0, 0, 0, 143, 0, 0, 0, 205, -0, 0, 0, 204, 0, 0, 0, 120, 0, 0, 0, 142, 0, 0, 0, 25, 0, 0, 0, 77, 0, 0, 0, 167, 0, 0, 0, 210, 0, 0, 0, 39, 0, 0, 0, 233, 0, 0, 0, 164, 0, 0, 0, 60, 0, 0, 0, 22, 0, 0, 0, 91, 0, 0, 0, 132, 0, 0, 0, 128, 0, 0, 0, 249, 0, 0, 0, 208, 0, 0, 0, 204, 0, 0, 0, 106, 0, 0, 0, 30, 0, 0, 0, 202, 0, 0, 0, 30, 0, 0, 0, 103, 0, 0, 0, 189, 0, 0, 0, 99, 0, 0, 0, 123, 0, 0, 0, 110, 0, 0, 0, 42, 0, 0, 0, 210, 0, 0, 0, 135, 0, 0, 0, 72, 0, 0, 0, 255, 0, 0, 0, 161, 0, 0, 0, 202, 0, 0, 0, 233, 0, 0, 0, 21, 0, 0, 0, -133, 0, 0, 0, 220, 0, 0, 0, 219, 0, 0, 0, 44, 0, 0, 0, 57, 0, 0, 0, 18, 0, 0, 0, 145, 0, 0, 0, 169, 0, 0, 0, 32, 0, 0, 0, 170, 0, 0, 0, 79, 0, 0, 0, 41, 0, 0, 0, 244, 0, 0, 0, 21, 0, 0, 0, 122, 0, 0, 0, 210, 0, 0, 0, 245, 0, 0, 0, 50, 0, 0, 0, 204, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 229, 0, 0, 0, 16, 0, 0, 0, 71, 0, 0, 0, 59, 0, 0, 0, 250, 0, 0, 0, 144, 0, 0, 0, 252, 0, 0, 0, 48, 0, 0, 0, 181, 0, 0, 0, 234, 0, 0, 0, 111, 0, 0, 0, 86, 0, 0, 0, 143, 0, 0, 0, 251, 0, 0, 0, 14, 0, 0, 0, 167, 0, 0, 0, -59, 0, 0, 0, 200, 0, 0, 0, 178, 0, 0, 0, 255, 0, 0, 0, 2, 0, 0, 0, 122, 0, 0, 0, 51, 0, 0, 0, 148, 0, 0, 0, 147, 0, 0, 0, 42, 0, 0, 0, 3, 0, 0, 0, 224, 0, 0, 0, 150, 0, 0, 0, 58, 0, 0, 0, 108, 0, 0, 0, 15, 0, 0, 0, 90, 0, 0, 0, 99, 0, 0, 0, 103, 0, 0, 0, 225, 0, 0, 0, 155, 0, 0, 0, 71, 0, 0, 0, 120, 0, 0, 0, 159, 0, 0, 0, 56, 0, 0, 0, 121, 0, 0, 0, 172, 0, 0, 0, 151, 0, 0, 0, 102, 0, 0, 0, 29, 0, 0, 0, 94, 0, 0, 0, 81, 0, 0, 0, 238, 0, 0, 0, 36, 0, 0, 0, 66, 0, 0, 0, 232, 0, 0, 0, 88, 0, 0, 0, 75, -0, 0, 0, 138, 0, 0, 0, 3, 0, 0, 0, 117, 0, 0, 0, 134, 0, 0, 0, 55, 0, 0, 0, 134, 0, 0, 0, 226, 0, 0, 0, 151, 0, 0, 0, 78, 0, 0, 0, 61, 0, 0, 0, 63, 0, 0, 0, 117, 0, 0, 0, 142, 0, 0, 0, 180, 0, 0, 0, 255, 0, 0, 0, 216, 0, 0, 0, 221, 0, 0, 0, 214, 0, 0, 0, 55, 0, 0, 0, 87, 0, 0, 0, 157, 0, 0, 0, 109, 0, 0, 0, 59, 0, 0, 0, 189, 0, 0, 0, 213, 0, 0, 0, 96, 0, 0, 0, 136, 0, 0, 0, 101, 0, 0, 0, 154, 0, 0, 0, 185, 0, 0, 0, 74, 0, 0, 0, 104, 0, 0, 0, 132, 0, 0, 0, 162, 0, 0, 0, 103, 0, 0, 0, 221, 0, 0, 0, -23, 0, 0, 0, 37, 0, 0, 0, 151, 0, 0, 0, 4, 0, 0, 0, 139, 0, 0, 0, 94, 0, 0, 0, 187, 0, 0, 0, 64, 0, 0, 0, 94, 0, 0, 0, 188, 0, 0, 0, 22, 0, 0, 0, 146, 0, 0, 0, 5, 0, 0, 0, 196, 0, 0, 0, 192, 0, 0, 0, 78, 0, 0, 0, 114, 0, 0, 0, 144, 0, 0, 0, 14, 0, 0, 0, 171, 0, 0, 0, 207, 0, 0, 0, 138, 0, 0, 0, 237, 0, 0, 0, 239, 0, 0, 0, 185, 0, 0, 0, 45, 0, 0, 0, 59, 0, 0, 0, 248, 0, 0, 0, 67, 0, 0, 0, 91, 0, 0, 0, 186, 0, 0, 0, 45, 0, 0, 0, 235, 0, 0, 0, 47, 0, 0, 0, 82, 0, 0, 0, 210, 0, 0, 0, 209, 0, 0, 0, 90, -0, 0, 0, 64, 0, 0, 0, 180, 0, 0, 0, 171, 0, 0, 0, 230, 0, 0, 0, 173, 0, 0, 0, 159, 0, 0, 0, 70, 0, 0, 0, 105, 0, 0, 0, 74, 0, 0, 0, 179, 0, 0, 0, 142, 0, 0, 0, 170, 0, 0, 0, 234, 0, 0, 0, 156, 0, 0, 0, 138, 0, 0, 0, 32, 0, 0, 0, 22, 0, 0, 0, 93, 0, 0, 0, 140, 0, 0, 0, 19, 0, 0, 0, 189, 0, 0, 0, 246, 0, 0, 0, 29, 0, 0, 0, 197, 0, 0, 0, 36, 0, 0, 0, 189, 0, 0, 0, 144, 0, 0, 0, 42, 0, 0, 0, 28, 0, 0, 0, 199, 0, 0, 0, 19, 0, 0, 0, 59, 0, 0, 0, 84, 0, 0, 0, 220, 0, 0, 0, 22, 0, 0, 0, 13, 0, 0, 0, 24, -0, 0, 0, 190, 0, 0, 0, 53, 0, 0, 0, 100, 0, 0, 0, 97, 0, 0, 0, 82, 0, 0, 0, 2, 0, 0, 0, 128, 0, 0, 0, 175, 0, 0, 0, 5, 0, 0, 0, 247, 0, 0, 0, 166, 0, 0, 0, 66, 0, 0, 0, 211, 0, 0, 0, 143, 0, 0, 0, 46, 0, 0, 0, 121, 0, 0, 0, 38, 0, 0, 0, 168, 0, 0, 0, 187, 0, 0, 0, 178, 0, 0, 0, 23, 0, 0, 0, 72, 0, 0, 0, 178, 0, 0, 0, 122, 0, 0, 0, 10, 0, 0, 0, 137, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 168, 0, 0, 0, 136, 0, 0, 0, 227, 0, 0, 0, 145, 0, 0, 0, 192, 0, 0, 0, 110, 0, 0, 0, 187, 0, 0, 0, 138, 0, 0, 0, 39, 0, 0, 0, 130, 0, 0, 0, 81, 0, 0, 0, 131, 0, 0, 0, 178, 0, 0, 0, 40, 0, 0, 0, 169, 0, 0, 0, 131, 0, 0, 0, 235, 0, 0, 0, 166, 0, 0, 0, 169, 0, 0, 0, 77, 0, 0, 0, 23, 0, 0, 0, 89, 0, 0, 0, 34, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, -0, 69, 0, 0, 0, 203, 0, 0, 0, 72, 0, 0, 0, 75, 0, 0, 0, 24, 0, 0, 0, 51, 0, 0, 0, 124, 0, 0, 0, 231, 0, 0, 0, 38, 0, 0, 0, 186, 0, 0, 0, 77, 0, 0, 0, 50, 0, 0, 0, 254, 0, 0, 0, 83, 0, 0, 0, 244, 0, 0, 0, 250, 0, 0, 0, 131, 0, 0, 0, 227, 0, 0, 0, 165, 0, 0, 0, 121, 0, 0, 0, 102, 0, 0, 0, 115, 0, 0, 0, 239, 0, 0, 0, 128, 0, 0, 0, 35, 0, 0, 0, 104, 0, 0, 0, 194, 0, 0, 0, 96, 0, 0, 0, 221, 0, 0, 0, 169, 0, 0, 0, 51, 0, 0, 0, 220, 0, 0, 0, 3, 0, 0, 0, 122, 0, 0, 0, 224, 0, 0, 0, 224, 0, 0, 0, 62, 0, 0, -0, 52, 0, 0, 0, 92, 0, 0, 0, 19, 0, 0, 0, 251, 0, 0, 0, 192, 0, 0, 0, 227, 0, 0, 0, 120, 0, 0, 0, 43, 0, 0, 0, 84, 0, 0, 0, 88, 0, 0, 0, 34, 0, 0, 0, 155, 0, 0, 0, 118, 0, 0, 0, 129, 0, 0, 0, 127, 0, 0, 0, 147, 0, 0, 0, 156, 0, 0, 0, 37, 0, 0, 0, 60, 0, 0, 0, 210, 0, 0, 0]).concat([233, 0, 0, 0, 150, 0, 0, 0, 33, 0, 0, 0, 38, 0, 0, 0, 8, 0, 0, 0, 245, 0, 0, 0, 237, 0, 0, 0, 149, 0, 0, 0, 17, 0, 0, 0, 174, 0, 0, 0, 4, 0, 0, 0, 90, 0, 0, 0, 185, 0, 0, 0, 232, 0, 0, 0, 197, 0, 0, 0, 18, 0, 0, 0, 151, -0, 0, 0, 31, 0, 0, 0, 131, 0, 0, 0, 254, 0, 0, 0, 62, 0, 0, 0, 148, 0, 0, 0, 153, 0, 0, 0, 212, 0, 0, 0, 45, 0, 0, 0, 249, 0, 0, 0, 82, 0, 0, 0, 89, 0, 0, 0, 92, 0, 0, 0, 130, 0, 0, 0, 166, 0, 0, 0, 240, 0, 0, 0, 117, 0, 0, 0, 126, 0, 0, 0, 232, 0, 0, 0, 236, 0, 0, 0, 204, 0, 0, 0, 172, 0, 0, 0, 24, 0, 0, 0, 33, 0, 0, 0, 9, 0, 0, 0, 103, 0, 0, 0, 102, 0, 0, 0, 103, 0, 0, 0, 179, 0, 0, 0, 64, 0, 0, 0, 41, 0, 0, 0, 209, 0, 0, 0, 203, 0, 0, 0, 27, 0, 0, 0, 8, 0, 0, 0, 158, 0, 0, 0, 156, 0, 0, 0, 183, -0, 0, 0, 83, 0, 0, 0, 185, 0, 0, 0, 59, 0, 0, 0, 113, 0, 0, 0, 8, 0, 0, 0, 149, 0, 0, 0, 18, 0, 0, 0, 26, 0, 0, 0, 88, 0, 0, 0, 175, 0, 0, 0, 126, 0, 0, 0, 130, 0, 0, 0, 82, 0, 0, 0, 67, 0, 0, 0, 79, 0, 0, 0, 17, 0, 0, 0, 57, 0, 0, 0, 244, 0, 0, 0, 147, 0, 0, 0, 26, 0, 0, 0, 38, 0, 0, 0, 5, 0, 0, 0, 110, 0, 0, 0, 68, 0, 0, 0, 163, 0, 0, 0, 249, 0, 0, 0, 100, 0, 0, 0, 175, 0, 0, 0, 231, 0, 0, 0, 109, 0, 0, 0, 125, 0, 0, 0, 223, 0, 0, 0, 30, 0, 0, 0, 172, 0, 0, 0, 4, 0, 0, 0, 234, 0, 0, 0, 59, 0, 0, -0, 95, 0, 0, 0, 155, 0, 0, 0, 232, 0, 0, 0, 36, 0, 0, 0, 157, 0, 0, 0, 14, 0, 0, 0, 229, 0, 0, 0, 46, 0, 0, 0, 62, 0, 0, 0, 223, 0, 0, 0, 169, 0, 0, 0, 247, 0, 0, 0, 212, 0, 0, 0, 80, 0, 0, 0, 113, 0, 0, 0, 240, 0, 0, 0, 120, 0, 0, 0, 62, 0, 0, 0, 168, 0, 0, 0, 56, 0, 0, 0, 194, 0, 0, 0, 87, 0, 0, 0, 86, 0, 0, 0, 66, 0, 0, 0, 154, 0, 0, 0, 177, 0, 0, 0, 226, 0, 0, 0, 248, 0, 0, 0, 69, 0, 0, 0, 170, 0, 0, 0, 17, 0, 0, 0, 72, 0, 0, 0, 95, 0, 0, 0, 23, 0, 0, 0, 196, 0, 0, 0, 84, 0, 0, 0, 39, 0, 0, 0, -220, 0, 0, 0, 93, 0, 0, 0, 170, 0, 0, 0, 221, 0, 0, 0, 65, 0, 0, 0, 188, 0, 0, 0, 223, 0, 0, 0, 129, 0, 0, 0, 185, 0, 0, 0, 83, 0, 0, 0, 238, 0, 0, 0, 82, 0, 0, 0, 195, 0, 0, 0, 241, 0, 0, 0, 167, 0, 0, 0, 109, 0, 0, 0, 179, 0, 0, 0, 95, 0, 0, 0, 146, 0, 0, 0, 111, 0, 0, 0, 204, 0, 0, 0, 145, 0, 0, 0, 184, 0, 0, 0, 149, 0, 0, 0, 5, 0, 0, 0, 223, 0, 0, 0, 60, 0, 0, 0, 100, 0, 0, 0, 87, 0, 0, 0, 57, 0, 0, 0, 97, 0, 0, 0, 81, 0, 0, 0, 173, 0, 0, 0, 140, 0, 0, 0, 56, 0, 0, 0, 123, 0, 0, 0, 200, 0, 0, -0, 222, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 190, 0, 0, 0, 161, 0, 0, 0, 176, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0, 29, 0, 0, 0, 138, 0, 0, 0, 103, 0, 0, 0, 32, 0, 0, 0, 238, 0, 0, 0, 66, 0, 0, 0, 235, 0, 0, 0, 56, 0, 0, 0, 237, -0, 0, 0, 11, 0, 0, 0, 139, 0, 0, 0, 205, 0, 0, 0, 70, 0, 0, 0, 157, 0, 0, 0, 94, 0, 0, 0, 107, 0, 0, 0, 30, 0, 0, 0, 36, 0, 0, 0, 157, 0, 0, 0, 18, 0, 0, 0, 5, 0, 0, 0, 26, 0, 0, 0, 204, 0, 0, 0, 5, 0, 0, 0, 78, 0, 0, 0, 146, 0, 0, 0, 56, 0, 0, 0, 225, 0, 0, 0, 31, 0, 0, 0, 80, 0, 0, 0, 78, 0, 0, 0, 238, 0, 0, 0, 28, 0, 0, 0, 145, 0, 0, 0, 230, 0, 0, 0, 17, 0, 0, 0, 189, 0, 0, 0, 142, 0, 0, 0, 85, 0, 0, 0, 26, 0, 0, 0, 24, 0, 0, 0, 117, 0, 0, 0, 102, 0, 0, 0, 175, 0, 0, 0, 77, 0, 0, 0, 123, 0, 0, -0, 15, 0, 0, 0, 174, 0, 0, 0, 109, 0, 0, 0, 133, 0, 0, 0, 202, 0, 0, 0, 130, 0, 0, 0, 88, 0, 0, 0, 33, 0, 0, 0, 156, 0, 0, 0, 24, 0, 0, 0, 224, 0, 0, 0, 237, 0, 0, 0, 236, 0, 0, 0, 34, 0, 0, 0, 128, 0, 0, 0, 47, 0, 0, 0, 104, 0, 0, 0, 59, 0, 0, 0, 10, 0, 0, 0, 57, 0, 0, 0, 29, 0, 0, 0, 106, 0, 0, 0, 21, 0, 0, 0, 87, 0, 0, 0, 252, 0, 0, 0, 240, 0, 0, 0, 99, 0, 0, 0, 84, 0, 0, 0, 219, 0, 0, 0, 57, 0, 0, 0, 219, 0, 0, 0, 232, 0, 0, 0, 92, 0, 0, 0, 100, 0, 0, 0, 255, 0, 0, 0, 160, 0, 0, 0, 9, 0, 0, 0, -79, 0, 0, 0, 59, 0, 0, 0, 183, 0, 0, 0, 50, 0, 0, 0, 96, 0, 0, 0, 153, 0, 0, 0, 148, 0, 0, 0, 253, 0, 0, 0, 148, 0, 0, 0, 130, 0, 0, 0, 45, 0, 0, 0, 36, 0, 0, 0, 246, 0, 0, 0, 90, 0, 0, 0, 68, 0, 0, 0, 241, 0, 0, 0, 85, 0, 0, 0, 44, 0, 0, 0, 219, 0, 0, 0, 234, 0, 0, 0, 124, 0, 0, 0, 132, 0, 0, 0, 124, 0, 0, 0, 1, 0, 0, 0, 172, 0, 0, 0, 227, 0, 0, 0, 253, 0, 0, 0, 201, 0, 0, 0, 39, 0, 0, 0, 193, 0, 0, 0, 90, 0, 0, 0, 185, 0, 0, 0, 222, 0, 0, 0, 79, 0, 0, 0, 90, 0, 0, 0, 144, 0, 0, 0, 221, 0, 0, 0, -198, 0, 0, 0, 103, 0, 0, 0, 170, 0, 0, 0, 111, 0, 0, 0, 138, 0, 0, 0, 58, 0, 0, 0, 120, 0, 0, 0, 82, 0, 0, 0, 135, 0, 0, 0, 201, 0, 0, 0, 151, 0, 0, 0, 99, 0, 0, 0, 177, 0, 0, 0, 221, 0, 0, 0, 84, 0, 0, 0, 95, 0, 0, 0, 193, 0, 0, 0, 248, 0, 0, 0, 241, 0, 0, 0, 6, 0, 0, 0, 166, 0, 0, 0, 168, 0, 0, 0, 163, 0, 0, 0, 136, 0, 0, 0, 130, 0, 0, 0, 212, 0, 0, 0, 203, 0, 0, 0, 166, 0, 0, 0, 25, 0, 0, 0, 221, 0, 0, 0, 209, 0, 0, 0, 17, 0, 0, 0, 135, 0, 0, 0, 8, 0, 0, 0, 23, 0, 0, 0, 76, 0, 0, 0, 55, 0, 0, -0, 42, 0, 0, 0, 161, 0, 0, 0, 12, 0, 0, 0, 243, 0, 0, 0, 8, 0, 0, 0, 67, 0, 0, 0, 217, 0, 0, 0, 36, 0, 0, 0, 30, 0, 0, 0, 131, 0, 0, 0, 167, 0, 0, 0, 223, 0, 0, 0, 145, 0, 0, 0, 202, 0, 0, 0, 189, 0, 0, 0, 105, 0, 0, 0, 71, 0, 0, 0, 141, 0, 0, 0, 27, 0, 0, 0, 226, 0, 0, 0, 185, 0, 0, 0, 78, 0, 0, 0, 181, 0, 0, 0, 225, 0, 0, 0, 118, 0, 0, 0, 179, 0, 0, 0, 28, 0, 0, 0, 147, 0, 0, 0, 3, 0, 0, 0, 206, 0, 0, 0, 95, 0, 0, 0, 179, 0, 0, 0, 90, 0, 0, 0, 29, 0, 0, 0, 218, 0, 0, 0, 228, 0, 0, 0, 97, 0, 0, -0, 3, 0, 0, 0, 80, 0, 0, 0, 169, 0, 0, 0, 139, 0, 0, 0, 104, 0, 0, 0, 24, 0, 0, 0, 239, 0, 0, 0, 178, 0, 0, 0, 28, 0, 0, 0, 132, 0, 0, 0, 59, 0, 0, 0, 162, 0, 0, 0, 68, 0, 0, 0, 149, 0, 0, 0, 163, 0, 0, 0, 4, 0, 0, 0, 59, 0, 0, 0, 214, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, 118, 0, 0, 0, 66, 0, 0, 0, 103, 0, 0, 0, 2, 0, 0, 0, 125, 0, 0, 0, 133, 0, 0, 0, 86, 0, 0, 0, 206, 0, 0, 0, 114, 0, 0, 0, 14, 0, 0, 0, 41, 0, 0, 0, 132, 0, 0, 0, 178, 0, 0, 0, 125, 0, 0, 0, 210, 0, 0, 0, 69, 0, 0, 0, -190, 0, 0, 0, 87, 0, 0, 0, 6, 0, 0, 0, 237, 0, 0, 0, 127, 0, 0, 0, 207, 0, 0, 0, 237, 0, 0, 0, 205, 0, 0, 0, 239, 0, 0, 0, 25, 0, 0, 0, 214, 0, 0, 0, 188, 0, 0, 0, 21, 0, 0, 0, 121, 0, 0, 0, 100, 0, 0, 0, 210, 0, 0, 0, 24, 0, 0, 0, 227, 0, 0, 0, 32, 0, 0, 0, 103, 0, 0, 0, 58, 0, 0, 0, 84, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 253, 0, 0, 0, 4, 0, 0, 0, 197, 0, 0, 0, 251, 0, 0, 0, 153, 0, 0, 0, 231, 0, 0, 0, 232, 0, 0, 0, 251, 0, 0, 0, 140, 0, 0, 0, 225, 0, 0, 0, 66, 0, 0, 0, 3, 0, 0, 0, 239, 0, 0, 0, 157, 0, 0, 0, 217, 0, 0, 0, 158, 0, 0, 0, 77, 0, 0, 0, 247, 0, 0, 0, 128, 0, 0, 0, 207, 0, 0, 0, 46, 0, 0, 0, 204, 0, 0, 0, 155, 0, 0, 0, 69, 0, 0, 0, 201, 0, 0, 0, 123, 0, 0, 0, 122, 0, 0, 0, 188, 0, 0, 0, 55, 0, 0, 0, 168, 0, 0, 0, -82, 0, 0, 0, 150, 0, 0, 0, 17, 0, 0, 0, 65, 0, 0, 0, 138, 0, 0, 0, 71, 0, 0, 0, 145, 0, 0, 0, 254, 0, 0, 0, 182, 0, 0, 0, 218, 0, 0, 0, 122, 0, 0, 0, 84, 0, 0, 0, 99, 0, 0, 0, 209, 0, 0, 0, 20, 0, 0, 0, 53, 0, 0, 0, 5, 0, 0, 0, 134, 0, 0, 0, 140, 0, 0, 0, 169, 0, 0, 0, 54, 0, 0, 0, 63, 0, 0, 0, 242, 0, 0, 0, 133, 0, 0, 0, 84, 0, 0, 0, 78, 0, 0, 0, 146, 0, 0, 0, 216, 0, 0, 0, 133, 0, 0, 0, 1, 0, 0, 0, 70, 0, 0, 0, 214, 0, 0, 0, 80, 0, 0, 0, 83, 0, 0, 0, 205, 0, 0, 0, 243, 0, 0, 0, 134, 0, 0, 0, 64, -0, 0, 0, 230, 0, 0, 0, 57, 0, 0, 0, 66, 0, 0, 0, 149, 0, 0, 0, 214, 0, 0, 0, 203, 0, 0, 0, 69, 0, 0, 0, 26, 0, 0, 0, 32, 0, 0, 0, 200, 0, 0, 0, 69, 0, 0, 0, 75, 0, 0, 0, 50, 0, 0, 0, 105, 0, 0, 0, 4, 0, 0, 0, 177, 0, 0, 0, 175, 0, 0, 0, 32, 0, 0, 0, 70, 0, 0, 0, 199, 0, 0, 0, 107, 0, 0, 0, 35, 0, 0, 0, 91, 0, 0, 0, 105, 0, 0, 0, 238, 0, 0, 0, 48, 0, 0, 0, 63, 0, 0, 0, 112, 0, 0, 0, 131, 0, 0, 0, 71, 0, 0, 0, 192, 0, 0, 0, 219, 0, 0, 0, 85, 0, 0, 0, 8, 0, 0, 0, 168, 0, 0, 0, 123, 0, 0, 0, 24, 0, 0, -0, 109, 0, 0, 0, 245, 0, 0, 0, 4, 0, 0, 0, 90, 0, 0, 0, 32, 0, 0, 0, 12, 0, 0, 0, 74, 0, 0, 0, 140, 0, 0, 0, 96, 0, 0, 0, 174, 0, 0, 0, 174, 0, 0, 0, 15, 0, 0, 0, 100, 0, 0, 0, 85, 0, 0, 0, 85, 0, 0, 0, 46, 0, 0, 0, 213, 0, 0, 0, 29, 0, 0, 0, 83, 0, 0, 0, 49, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 202, 0, 0, 0, 252, 0, 0, 0, 136, 0, 0, 0, 107, 0, 0, 0, 150, 0, 0, 0, 120, 0, 0, 0, 10, 0, 0, 0, 139, 0, 0, 0, 131, 0, 0, 0, 220, 0, 0, 0, 188, 0, 0, 0, 175, 0, 0, 0, 64, 0, 0, 0, 182, 0, 0, 0, 141, 0, 0, 0, -127, 0, 0, 0, 239, 0, 0, 0, 180, 0, 0, 0, 209, 0, 0, 0, 63, 0, 0, 0, 204, 0, 0, 0, 162, 0, 0, 0, 116, 0, 0, 0, 201, 0, 0, 0, 194, 0, 0, 0, 146, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, 219, 0, 0, 0, 191, 0, 0, 0, 79, 0, 0, 0, 147, 0, 0, 0, 28, 0, 0, 0, 6, 0, 0, 0, 45, 0, 0, 0, 102, 0, 0, 0, 101, 0, 0, 0, 2, 0, 0, 0, 164, 0, 0, 0, 151, 0, 0, 0, 24, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 171, 0, 0, 0, 3, 0, 0, 0, 236, 0, 0, 0, 206, 0, 0, 0, 193, 0, 0, 0, 191, 0, 0, 0, 55, 0, 0, 0, -248, 0, 0, 0, 19, 0, 0, 0, 83, 0, 0, 0, 165, 0, 0, 0, 229, 0, 0, 0, 12, 0, 0, 0, 58, 0, 0, 0, 168, 0, 0, 0, 85, 0, 0, 0, 185, 0, 0, 0, 255, 0, 0, 0, 104, 0, 0, 0, 228, 0, 0, 0, 230, 0, 0, 0, 109, 0, 0, 0, 48, 0, 0, 0, 125, 0, 0, 0, 48, 0, 0, 0, 53, 0, 0, 0, 194, 0, 0, 0, 120, 0, 0, 0, 135, 0, 0, 0, 249, 0, 0, 0, 252, 0, 0, 0, 107, 0, 0, 0, 90, 0, 0, 0, 195, 0, 0, 0, 183, 0, 0, 0, 101, 0, 0, 0, 216, 0, 0, 0, 46, 0, 0, 0, 199, 0, 0, 0, 165, 0, 0, 0, 12, 0, 0, 0, 198, 0, 0, 0, 220, 0, 0, 0, 18, 0, 0, -0, 170, 0, 0, 0, 214, 0, 0, 0, 79, 0, 0, 0, 197, 0, 0, 0, 56, 0, 0, 0, 188, 0, 0, 0, 14, 0, 0, 0, 226, 0, 0, 0, 60, 0, 0, 0, 118, 0, 0, 0, 134, 0, 0, 0, 56, 0, 0, 0, 242, 0, 0, 0, 123, 0, 0, 0, 44, 0, 0, 0, 22, 0, 0, 0, 120, 0, 0, 0, 141, 0, 0, 0, 245, 0, 0, 0, 164, 0, 0, 0, 21, 0, 0, 0, 218, 0, 0, 0, 219, 0, 0, 0, 38, 0, 0, 0, 133, 0, 0, 0, 160, 0, 0, 0, 86, 0, 0, 0, 221, 0, 0, 0, 29, 0, 0, 0, 227, 0, 0, 0, 179, 0, 0, 0, 253, 0, 0, 0, 64, 0, 0, 0, 239, 0, 0, 0, 242, 0, 0, 0, 217, 0, 0, 0, 161, 0, -0, 0, 179, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 73, 0, 0, 0, 14, 0, 0, 0, 230, 0, 0, 0, 88, 0, 0, 0, 16, 0, 0, 0, 122, 0, 0, 0, 82, 0, 0, 0, 218, 0, 0, 0, 181, 0, 0, 0, 125, 0, 0, 0, 55, 0, 0, 0, 106, 0, 0, 0, 62, 0, 0, 0, 161, 0, 0, 0, 120, -0, 0, 0, 206, 0, 0, 0, 199, 0, 0, 0, 28, 0, 0, 0, 36, 0, 0, 0, 35, 0, 0, 0, 219, 0, 0, 0, 125, 0, 0, 0, 251, 0, 0, 0, 140, 0, 0, 0, 141, 0, 0, 0, 220, 0, 0, 0, 48, 0, 0, 0, 103, 0, 0, 0, 105, 0, 0, 0, 117, 0, 0, 0, 59, 0, 0, 0, 169, 0, 0, 0, 234, 0, 0, 0, 109, 0, 0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 96, 0, 0, 0, 244, 0, 0, 0, 96, 0, 0, 0, 135, 0, 0, 0, 25, 0, 0, 0, 68, 0, 0, 0, 140, 0, 0, 0, 74, 0, 0, 0, 139, 0, 0, 0, 62, 0, 0, 0, 251, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 166, 0, -0, 0, 158, 0, 0, 0, 159, 0, 0, 0, 239, 0, 0, 0, 207, 0, 0, 0, 217, 0, 0, 0, 210, 0, 0, 0, 76, 0, 0, 0, 116, 0, 0, 0, 49, 0, 0, 0, 208, 0, 0, 0, 52, 0, 0, 0, 164, 0, 0, 0, 235, 0, 0, 0, 4, 0, 0, 0, 164, 0, 0, 0, 140, 0, 0, 0, 143, 0, 0, 0, 113, 0, 0, 0, 39, 0, 0, 0, 149, 0, 0, 0, 133, 0, 0, 0, 93, 0, 0, 0, 85, 0, 0, 0, 75, 0, 0, 0, 177, 0, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, 200, 0, 0, 0, 174, 0, 0, 0, 106, 0, 0, 0, 125, 0, 0, 0, 162, 0, 0, 0, 33, 0, 0, 0, 202, 0, 0, 0, 206, 0, 0, 0, 56, 0, 0, 0, 171, -0, 0, 0, 15, 0, 0, 0, 208, 0, 0, 0, 213, 0, 0, 0, 43, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, 0, 103, 0, 0, 0, 12, 0, 0, 0, 241, 0, 0, 0, 58, 0, 0, 0, 154, 0, 0, 0, 234, 0, 0, 0, 9, 0, 0, 0, 57, 0, 0, 0, 239, 0, 0, 0, 209, 0, 0, 0, 48, 0, 0, 0, 188, 0, 0, 0, 51, 0, 0, 0, 186, 0, 0, 0, 177, 0, 0, 0, 106, 0, 0, 0, 197, 0, 0, 0, 39, 0, 0, 0, 8, 0, 0, 0, 127, 0, 0, 0, 84, 0, 0, 0, 128, 0, 0, 0, 61, 0, 0, 0, 171, 0, 0, 0, 246, 0, 0, 0, 21, 0, 0, 0, 122, 0, 0, 0, 194, 0, 0, 0, 64, 0, 0, 0, 115, 0, -0, 0, 114, 0, 0, 0, 132, 0, 0, 0, 86, 0, 0, 0, 130, 0, 0, 0, 182, 0, 0, 0, 18, 0, 0, 0, 112, 0, 0, 0, 127, 0, 0, 0, 247, 0, 0, 0, 240, 0, 0, 0, 189, 0, 0, 0, 91, 0, 0, 0, 169, 0, 0, 0, 213, 0, 0, 0, 197, 0, 0, 0, 95, 0, 0, 0, 89, 0, 0, 0, 191, 0, 0, 0, 127, 0, 0, 0, 179, 0, 0, 0, 85, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 201, 0, 0, 0, 68, 0, 0, 0, 85, 0, 0, 0, 135, 0, 0, 0, 143, 0, 0, 0, 150, 0, 0, 0, 152, 0, 0, 0, 100, 0, 0, 0, 109, 0, 0, 0, 21, 0, 0, 0, 176, 0, 0, 0, 139, 0, 0, 0, 170, 0, 0, 0, 30, -0, 0, 0, 236, 0, 0, 0, 199, 0, 0, 0, 165, 0, 0, 0, 143, 0, 0, 0, 31, 0, 0, 0, 146, 0, 0, 0, 4, 0, 0, 0, 198, 0, 0, 0, 5, 0, 0, 0, 246, 0, 0, 0, 223, 0, 0, 0, 161, 0, 0, 0, 204, 0, 0, 0, 31, 0, 0, 0, 129, 0, 0, 0, 245, 0, 0, 0, 14, 0, 0, 0, 156, 0, 0, 0, 87, 0, 0, 0, 220, 0, 0, 0, 227, 0, 0, 0, 187, 0, 0, 0, 6, 0, 0, 0, 135, 0, 0, 0, 30, 0, 0, 0, 254, 0, 0, 0, 35, 0, 0, 0, 108, 0, 0, 0, 216, 0, 0, 0, 43, 0, 0, 0, 91, 0, 0, 0, 22, 0, 0, 0, 234, 0, 0, 0, 32, 0, 0, 0, 241, 0, 0, 0, 211, 0, 0, 0, 104, -0, 0, 0, 143, 0, 0, 0, 174, 0, 0, 0, 91, 0, 0, 0, 208, 0, 0, 0, 169, 0, 0, 0, 26, 0, 0, 0, 25, 0, 0, 0, 168, 0, 0, 0, 54, 0, 0, 0, 251, 0, 0, 0, 43, 0, 0, 0, 87, 0, 0, 0, 136, 0, 0, 0, 125, 0, 0, 0, 144, 0, 0, 0, 213, 0, 0, 0, 166, 0, 0, 0, 243, 0, 0, 0, 220, 0, 0, 0, 56, 0, 0, 0, 137, 0, 0, 0, 78, 0, 0, 0, 31, 0, 0, 0, 204, 0, 0, 0, 25, 0, 0, 0, 218, 0, 0, 0, 155, 0, 0, 0, 59, 0, 0, 0, 67, 0, 0, 0, 72, 0, 0, 0, 33, 0, 0, 0, 46, 0, 0, 0, 35, 0, 0, 0, 77, 0, 0, 0, 61, 0, 0, 0, 174, 0, 0, 0, 248, 0, -0, 0, 140, 0, 0, 0, 252, 0, 0, 0, 221, 0, 0, 0, 166, 0, 0, 0, 116, 0, 0, 0, 55, 0, 0, 0, 101, 0, 0, 0, 202, 0, 0, 0, 238, 0, 0, 0, 26, 0, 0, 0, 25, 0, 0, 0, 142, 0, 0, 0, 159, 0, 0, 0, 100, 0, 0, 0, 111, 0, 0, 0, 12, 0, 0, 0, 139, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 185, 0, 0, 0, 194, 0, 0, 0, 240, 0, 0, 0, 114, 0, 0, 0, 184, 0, 0, 0, 21, 0, 0, 0, 22, 0, 0, 0, 204, 0, 0, 0, 141, 0, 0, 0, 60, 0, 0, 0, 111, 0, 0, 0, 37, 0, 0, 0, 237, 0, 0, 0, 244, 0, 0, 0, 70, 0, 0, 0, 46, 0, 0, 0, 12, 0, 0, 0, 96, 0, 0, 0, 15, 0, 0, 0, 226, 0, 0, 0, 132, 0, 0, 0, 52, 0, 0, 0, 85, 0, 0, 0, 137, 0, 0, 0, 89, 0, 0, 0, 52, 0, 0, 0, 27, 0, 0, 0, 245, 0, 0, 0, 141, 0, 0, 0, 254, 0, 0, 0, 8, 0, 0, 0, 248, 0, 0, 0, 171, 0, 0, 0, 147, 0, 0, 0, 188, 0, 0, -0, 68, 0, 0, 0, 186, 0, 0, 0, 27, 0, 0, 0, 117, 0, 0, 0, 75, 0, 0, 0, 73, 0, 0, 0, 111, 0, 0, 0, 208, 0, 0, 0, 84, 0, 0, 0, 46, 0, 0, 0, 99, 0, 0, 0, 186, 0, 0, 0, 181, 0, 0, 0, 234, 0, 0, 0, 237, 0, 0, 0, 50, 0, 0, 0, 20, 0, 0, 0, 201, 0, 0, 0, 148, 0, 0, 0, 216, 0, 0, 0, 197, 0, 0, 0, 206, 0, 0, 0, 244, 0, 0, 0, 16, 0, 0, 0, 104, 0, 0, 0, 224, 0, 0, 0, 56, 0, 0, 0, 39, 0, 0, 0, 116, 0, 0, 0, 28, 0, 0, 0, 20, 0, 0, 0, 155, 0, 0, 0, 212, 0, 0, 0, 100, 0, 0, 0, 97, 0, 0, 0, 113, 0, 0, 0, 90, 0, 0, -0, 182, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 79, 0, 0, 0, 247, 0, 0, 0, 142, 0, 0, 0, 186, 0, 0, 0, 165, 0, 0, 0, 72, 0, 0, 0, 154, 0, 0, 0, 199, 0, 0, 0, 250, 0, 0, 0, 154, 0, 0, 0, 240, 0, 0, 0, 180, 0, 0, 0, 98, 0, 0, 0, 173, 0, 0, 0, 242, 0, 0, 0, 94, 0, 0, 0, 204, 0, 0, 0, 3, 0, 0, 0, 36, 0, 0, 0, 26, 0, 0, 0, 245, 0, 0, 0, 118, 0, 0, 0, 253, 0, 0, 0, 228, 0, 0, 0, 175, 0, 0, 0, 185, 0, 0, 0, 3, 0, 0, 0, 89, 0, 0, 0, 206, 0, 0, 0, 99, 0, 0, 0, 210, 0, 0, 0, 59, 0, 0, 0, 31, 0, 0, 0, 205, 0, 0, -0, 33, 0, 0, 0, 12, 0, 0, 0, 173, 0, 0, 0, 68, 0, 0, 0, 165, 0, 0, 0, 151, 0, 0, 0, 172, 0, 0, 0, 128, 0, 0, 0, 17, 0, 0, 0, 2, 0, 0, 0, 155, 0, 0, 0, 12, 0, 0, 0, 229, 0, 0, 0, 139, 0, 0, 0, 205, 0, 0, 0, 251, 0, 0, 0, 121, 0, 0, 0, 119, 0, 0, 0, 21, 0, 0, 0, 190, 0, 0, 0, 154, 0, 0, 0, 13, 0, 0, 0, 186, 0, 0, 0, 56, 0, 0, 0, 114, 0, 0, 0, 32, 0, 0, 0, 138, 0, 0, 0, 245, 0, 0, 0, 190, 0, 0, 0, 89, 0, 0, 0, 147, 0, 0, 0, 121, 0, 0, 0, 183, 0, 0, 0, 246, 0, 0, 0, 106, 0, 0, 0, 12, 0, 0, 0, 56, 0, -0, 0, 39, 0, 0, 0, 26, 0, 0, 0, 96, 0, 0, 0, 244, 0, 0, 0, 134, 0, 0, 0, 59, 0, 0, 0, 171, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 206, 0, 0, 0, 33, 0, 0, 0, 125, 0, 0, 0, 108, 0, 0, 0, 186, 0, 0, 0, 20, 0, 0, 0, 197, 0, 0, 0, 234, 0, 0, 0, 18, 0, 0, 0, 158, 0, 0, 0, 46, 0, 0, 0, 130, 0, 0, 0, 99, 0, 0, 0, 206, 0, 0, 0, 155, 0, 0, 0, 74, 0, 0, 0, 231, 0, 0, 0, 29, 0, 0, 0, 236, 0, 0, 0, 241, 0, 0, 0, 46, 0, 0, 0, 81, 0, 0, 0, 28, 0, 0, 0, 244, 0, 0, 0, 208, 0, 0, 0, 105, 0, 0, 0, 21, 0, 0, -0, 66, 0, 0, 0, 157, 0, 0, 0, 163, 0, 0, 0, 63, 0, 0, 0, 14, 0, 0, 0, 191, 0, 0, 0, 233, 0, 0, 0, 92, 0, 0, 0, 228, 0, 0, 0, 13, 0, 0, 0, 244, 0, 0, 0, 189, 0, 0, 0, 238, 0, 0, 0, 49, 0, 0, 0, 16, 0, 0, 0, 237, 0, 0, 0, 203, 0, 0, 0, 18, 0, 0, 0, 134, 0, 0, 0, 173, 0, 0, 0, 212, 0, 0, 0, 47, 0, 0, 0, 144, 0, 0, 0, 55, 0, 0, 0, 50, 0, 0, 0, 195, 0, 0, 0, 11, 0, 0, 0, 115, 0, 0, 0, 236, 0, 0, 0, 151, 0, 0, 0, 133, 0, 0, 0, 164, 0, 0, 0, 1, 0, 0, 0, 28, 0, 0, 0, 118, 0, 0, 0, 53, 0, 0, 0, 254, 0, 0, -0, 117, 0, 0, 0, 221, 0, 0, 0, 113, 0, 0, 0, 17, 0, 0, 0, 164, 0, 0, 0, 136, 0, 0, 0, 159, 0, 0, 0, 62, 0, 0, 0, 83, 0, 0, 0, 105, 0, 0, 0, 59, 0, 0, 0, 27, 0, 0, 0, 224, 0, 0, 0, 247, 0, 0, 0, 186, 0, 0, 0, 155, 0, 0, 0, 173, 0, 0, 0, 78, 0, 0, 0, 129, 0, 0, 0, 95, 0, 0, 0, 181, 0, 0, 0, 92, 0, 0, 0, 174, 0, 0, 0, 190, 0, 0, 0, 103, 0, 0, 0, 134, 0, 0, 0, 55, 0, 0, 0, 52, 0, 0, 0, 142, 0, 0, 0, 7, 0, 0, 0, 50, 0, 0, 0, 69, 0, 0, 0, 74, 0, 0, 0, 103, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 112, 0, 0, 0, 88, 0, 0, 0, 32, 0, 0, 0, 3, 0, 0, 0, 30, 0, 0, 0, 103, 0, 0, 0, 178, 0, 0, 0, 200, 0, 0, 0, 155, 0, 0, 0, 88, 0, 0, 0, 197, 0, 0, 0, 177, 0, 0, 0, 235, 0, 0, 0, 45, 0, 0, 0, 74, 0, 0, 0, 222, 0, 0, 0, 130, 0, 0, 0, 140, 0, 0, 0, -242, 0, 0, 0, 210, 0, 0, 0, 20, 0, 0, 0, 184, 0, 0, 0, 112, 0, 0, 0, 97, 0, 0, 0, 78, 0, 0, 0, 115, 0, 0, 0, 214, 0, 0, 0, 11, 0, 0, 0, 107, 0, 0, 0, 13, 0, 0, 0, 48, 0, 0, 0, 129, 0, 0, 0, 252, 0, 0, 0, 85, 0, 0, 0, 92, 0, 0, 0, 191, 0, 0, 0, 167, 0, 0, 0, 196, 0, 0, 0, 189, 0, 0, 0, 226, 0, 0, 0, 240, 0, 0, 0, 75, 0, 0, 0, 143, 0, 0, 0, 233, 0, 0, 0, 125, 0, 0, 0, 153, 0, 0, 0, 250, 0, 0, 0, 211, 0, 0, 0, 171, 0, 0, 0, 188, 0, 0, 0, 199, 0, 0, 0, 131, 0, 0, 0, 43, 0, 0, 0, 4, 0, 0, 0, 127, 0, 0, -0, 12, 0, 0, 0, 25, 0, 0, 0, 67, 0, 0, 0, 3, 0, 0, 0, 61, 0, 0, 0, 7, 0, 0, 0, 202, 0, 0, 0, 64, 0, 0, 0, 249, 0, 0, 0, 200, 0, 0, 0, 190, 0, 0, 0, 140, 0, 0, 0, 22, 0, 0, 0, 129, 0, 0, 0, 57, 0, 0, 0, 150, 0, 0, 0, 246, 0, 0, 0, 23, 0, 0, 0, 88, 0, 0, 0, 200, 0, 0, 0, 48, 0, 0, 0, 88, 0, 0, 0, 251, 0, 0, 0, 194, 0, 0, 0, 3, 0, 0, 0, 69, 0, 0, 0, 210, 0, 0, 0, 82, 0, 0, 0, 118, 0, 0, 0, 224, 0, 0, 0, 106, 0, 0, 0, 38, 0, 0, 0, 40, 0, 0, 0, 92, 0, 0, 0, 136, 0, 0, 0, 89, 0, 0, 0, 106, 0, 0, 0, 90, -0, 0, 0, 84, 0, 0, 0, 66, 0, 0, 0, 7, 0, 0, 0, 181, 0, 0, 0, 46, 0, 0, 0, 44, 0, 0, 0, 103, 0, 0, 0, 21, 0, 0, 0, 155, 0, 0, 0, 251, 0, 0, 0, 131, 0, 0, 0, 105, 0, 0, 0, 30, 0, 0, 0, 15, 0, 0, 0, 218, 0, 0, 0, 214, 0, 0, 0, 41, 0, 0, 0, 177, 0, 0, 0, 96, 0, 0, 0, 224, 0, 0, 0, 178, 0, 0, 0, 186, 0, 0, 0, 105, 0, 0, 0, 162, 0, 0, 0, 158, 0, 0, 0, 189, 0, 0, 0, 189, 0, 0, 0, 224, 0, 0, 0, 28, 0, 0, 0, 189, 0, 0, 0, 205, 0, 0, 0, 6, 0, 0, 0, 100, 0, 0, 0, 112, 0, 0, 0, 65, 0, 0, 0, 250, 0, 0, 0, 140, -0, 0, 0, 225, 0, 0, 0, 137, 0, 0, 0, 143, 0, 0, 0, 39, 0, 0, 0, 200, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 111, 0, 0, 0, 95, 0, 0, 0, 85, 0, 0, 0, 248, 0, 0, 0, 222, 0, 0, 0, 149, 0, 0, 0, 109, 0, 0, 0, 47, 0, 0, 0, 117, 0, 0, 0, 22, 0, 0, 0, 43, 0, 0, 0, 78, 0, 0, 0, 68, 0, 0, 0, 253, 0, 0, 0, 134, 0, 0, 0, 110, 0, 0, 0, 233, 0, 0, 0, 112, 0, 0, 0, 57, 0, 0, 0, 118, 0, 0, 0, 151, 0, 0, 0, 126, 0, 0, 0, 23, 0, 0, 0, 98, 0, 0, 0, 107, 0, 0, 0, 20, 0, 0, 0, 161, 0, 0, 0, 124, 0, 0, 0, 208, 0, 0, 0, 121, -0, 0, 0, 110, 0, 0, 0, 216, 0, 0, 0, 138, 0, 0, 0, 165, 0, 0, 0, 109, 0, 0, 0, 140, 0, 0, 0, 147, 0, 0, 0, 210, 0, 0, 0, 63, 0, 0, 0, 236, 0, 0, 0, 68, 0, 0, 0, 141, 0, 0, 0, 110, 0, 0, 0, 145, 0, 0, 0, 1, 0, 0, 0, 140, 0, 0, 0, 143, 0, 0, 0, 238, 0, 0, 0, 1, 0, 0, 0, 143, 0, 0, 0, 192, 0, 0, 0, 180, 0, 0, 0, 133, 0, 0, 0, 14, 0, 0, 0, 2, 0, 0, 0, 58, 0, 0, 0, 112, 0, 0, 0, 65, 0, 0, 0, 228, 0, 0, 0, 17, 0, 0, 0, 87, 0, 0, 0, 35, 0, 0, 0, 172, 0, 0, 0, 230, 0, 0, 0, 252, 0, 0, 0, 84, 0, 0, 0, 126, -0, 0, 0, 205, 0, 0, 0, 215, 0, 0, 0, 34, 0, 0, 0, 203, 0, 0, 0, 118, 0, 0, 0, 159, 0, 0, 0, 32, 0, 0, 0, 206, 0, 0, 0, 160, 0, 0, 0, 115, 0, 0, 0, 118, 0, 0, 0, 81, 0, 0, 0, 59, 0, 0, 0, 164, 0, 0, 0, 248, 0, 0, 0, 227, 0, 0, 0, 98, 0, 0, 0, 18, 0, 0, 0, 108, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 38, 0, 0, 0, 13, 0, 0, 0, 111, 0, 0, 0, 72, 0, 0, 0, 127, 0, 0, 0, 58, 0, 0, 0, 1, 0, 0, 0, 237, 0, 0, 0, 197, 0, 0, 0, 150, 0, 0, 0, 176, 0, 0, 0, 31, 0, 0, 0, 79, 0, 0, 0, 168, 0, 0, 0, 2, 0, -0, 0, 98, 0, 0, 0, 39, 0, 0, 0, 138, 0, 0, 0, 80, 0, 0, 0, 141, 0, 0, 0, 154, 0, 0, 0, 139, 0, 0, 0, 82, 0, 0, 0, 15, 0, 0, 0, 30, 0, 0, 0, 207, 0, 0, 0, 65, 0, 0, 0, 56, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, 108, 0, 0, 0, 212, 0, 0, 0, -47, 0, 0, 0, 15, 0, 0, 0, 105, 0, 0, 0, 15, 0, 0, 0, 135, 0, 0, 0, 63, 0, 0, 0, 97, 0, 0, 0, 101, 0, 0, 0, 30, 0, 0, 0, 53, 0, 0, 0, 52, 0, 0, 0, 133, 0, 0, 0, 186, 0, 0, 0, 2, 0, 0, 0, 48, 0, 0, 0, 172, 0, 0, 0, 37, 0, 0, 0, 61, 0, 0, 0, 226, 0, 0, 0, 98, 0, 0, 0, 241, 0, 0, 0, 204, 0, 0, 0, 233, 0, 0, 0, 27, 0, 0, 0, 194, 0, 0, 0, 239, 0, 0, 0, 106, 0, 0, 0, 66, 0, 0, 0, 87, 0, 0, 0, 52, 0, 0, 0, 31, 0, 0, 0, 46, 0, 0, 0, 172, 0, 0, 0, 209, 0, 0, 0, 199, 0, 0, 0, 4, 0, 0, 0, 82, 0, 0, 0, 50, 0, -0, 0, 102, 0, 0, 0, 178, 0, 0, 0, 51, 0, 0, 0, 115, 0, 0, 0, 33, 0, 0, 0, 52, 0, 0, 0, 84, 0, 0, 0, 247, 0, 0, 0, 113, 0, 0, 0, 237, 0, 0, 0, 6, 0, 0, 0, 176, 0, 0, 0, 255, 0, 0, 0, 166, 0, 0, 0, 89, 0, 0, 0, 111, 0, 0, 0, 138, 0, 0, 0, 78, 0, 0, 0, 251, 0, 0, 0, 2, 0, 0, 0, 176, 0, 0, 0, 69, 0, 0, 0, 107, 0, 0, 0, 245, 0, 0, 0, 72, 0, 0, 0, 11, 0, 0, 0, 3, 0, 0, 0, 197, 0, 0, 0, 34, 0, 0, 0, 125, 0, 0, 0, 128, 0, 0, 0, 8, 0, 0, 0, 83, 0, 0, 0, 254, 0, 0, 0, 50, 0, 0, 0, 177, 0, 0, 0, 161, 0, 0, -0, 138, 0, 0, 0, 116, 0, 0, 0, 111, 0, 0, 0, 189, 0, 0, 0, 63, 0, 0, 0, 133, 0, 0, 0, 244, 0, 0, 0, 207, 0, 0, 0, 245, 0, 0, 0, 96, 0, 0, 0, 175, 0, 0, 0, 65, 0, 0, 0, 126, 0, 0, 0, 62, 0, 0, 0, 70, 0, 0, 0, 163, 0, 0, 0, 90, 0, 0, 0, 32, 0, 0, 0, 170, 0, 0, 0, 53, 0, 0, 0, 135, 0, 0, 0, 68, 0, 0, 0, 99, 0, 0, 0, 102, 0, 0, 0, 151, 0, 0, 0, 248, 0, 0, 0, 110, 0, 0, 0, 85, 0, 0, 0, 12, 0, 0, 0, 4, 0, 0, 0, 62, 0, 0, 0, 53, 0, 0, 0, 80, 0, 0, 0, 191, 0, 0, 0, 147, 0, 0, 0, 105, 0, 0, 0, 210, 0, 0, -0, 139, 0, 0, 0, 5, 0, 0, 0, 85, 0, 0, 0, 153, 0, 0, 0, 190, 0, 0, 0, 226, 0, 0, 0, 83, 0, 0, 0, 97, 0, 0, 0, 236, 0, 0, 0, 232, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 0, 50, 0, 0, 0, 179, 0, 0, 0, 16, 0, 0, 0, 69, 0, 0, 0, 2, 0, 0, 0, 105, 0, 0, 0, 89, 0, 0, 0, 46, 0, 0, 0, 151, 0, 0, 0, 217, 0, 0, 0, 100, 0, 0, 0, 248, 0, 0, 0, 219, 0, 0, 0, 37, 0, 0, 0, 128, 0, 0, 0, 220, 0, 0, 0, 196, 0, 0, 0, 213, 0, 0, 0, 98, 0, 0, 0, 60, 0, 0, 0, 237, 0, 0, 0, 101, 0, 0, 0, 145, 0, 0, 0, 173, 0, 0, 0, 209, 0, 0, 0, -87, 0, 0, 0, 129, 0, 0, 0, 148, 0, 0, 0, 170, 0, 0, 0, 161, 0, 0, 0, 41, 0, 0, 0, 252, 0, 0, 0, 104, 0, 0, 0, 221, 0, 0, 0, 181, 0, 0, 0, 125, 0, 0, 0, 171, 0, 0, 0, 90, 0, 0, 0, 33, 0, 0, 0, 65, 0, 0, 0, 83, 0, 0, 0, 187, 0, 0, 0, 23, 0, 0, 0, 121, 0, 0, 0, 13, 0, 0, 0, 209, 0, 0, 0, 168, 0, 0, 0, 12, 0, 0, 0, 12, 0, 0, 0, 32, 0, 0, 0, 136, 0, 0, 0, 9, 0, 0, 0, 233, 0, 0, 0, 132, 0, 0, 0, 232, 0, 0, 0, 37, 0, 0, 0, 17, 0, 0, 0, 103, 0, 0, 0, 122, 0, 0, 0, 139, 0, 0, 0, 26, 0, 0, 0, 228, 0, 0, 0, -93, 0, 0, 0, 225, 0, 0, 0, 93, 0, 0, 0, 55, 0, 0, 0, 234, 0, 0, 0, 254, 0, 0, 0, 101, 0, 0, 0, 59, 0, 0, 0, 37, 0, 0, 0, 232, 0, 0, 0, 225, 0, 0, 0, 194, 0, 0, 0, 197, 0, 0, 0, 2, 0, 0, 0, 164, 0, 0, 0, 190, 0, 0, 0, 152, 0, 0, 0, 10, 0, 0, 0, 43, 0, 0, 0, 97, 0, 0, 0, 193, 0, 0, 0, 155, 0, 0, 0, 226, 0, 0, 0, 213, 0, 0, 0, 146, 0, 0, 0, 230, 0, 0, 0, 158, 0, 0, 0, 125, 0, 0, 0, 31, 0, 0, 0, 202, 0, 0, 0, 67, 0, 0, 0, 136, 0, 0, 0, 139, 0, 0, 0, 44, 0, 0, 0, 89, 0, 0, 0, 224, 0, 0, 0, 181, 0, 0, -0, 0, 0, 0, 0, 29, 0, 0, 0, 42, 0, 0, 0, 111, 0, 0, 0, 175, 0, 0, 0, 121, 0, 0, 0, 134, 0, 0, 0, 47, 0, 0, 0, 166, 0, 0, 0, 90, 0, 0, 0, 147, 0, 0, 0, 209, 0, 0, 0, 254, 0, 0, 0, 174, 0, 0, 0, 58, 0, 0, 0, 238, 0, 0, 0, 219, 0, 0, 0, 124, 0, 0, 0, 97, 0, 0, 0, 190, 0, 0, 0, 124, 0, 0, 0, 1, 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 82, 0, 0, 0, 220, 0, 0, 0, 216, 0, 0, 0, 82, 0, 0, 0, 163, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 175, 0, 0, 0, 19, 0, 0, 0, 55, 0, 0, 0, 189, 0, 0, 0, 55, 0, 0, 0, 113, 0, 0, 0, 172, 0, 0, 0, 4, 0, 0, 0, 70, 0, 0, 0, 99, 0, 0, 0, 172, 0, 0, 0, 164, 0, 0, 0, 119, 0, 0, 0, 237, 0, 0, 0, 37, 0, 0, 0, 56, 0, 0, 0, 224, 0, 0, 0, 21, 0, 0, 0, 168, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 206, 0, 0, 0, 81, 0, -0, 0, 1, 0, 0, 0, 169, 0, 0, 0, 188, 0, 0, 0, 15, 0, 0, 0, 3, 0, 0, 0, 28, 0, 0, 0, 4, 0, 0, 0, 137, 0, 0, 0, 249, 0, 0, 0, 128, 0, 0, 0, 7, 0, 0, 0, 207, 0, 0, 0, 63, 0, 0, 0, 179, 0, 0, 0, 233, 0, 0, 0, 231, 0, 0, 0, 69, 0, 0, 0, 68, 0, 0, 0, 61, 0, 0, 0, 42, 0, 0, 0, 124, 0, 0, 0, 233, 0, 0, 0, 228, 0, 0, 0, 22, 0, 0, 0, 92, 0, 0, 0, 94, 0, 0, 0, 101, 0, 0, 0, 28, 0, 0, 0, 199, 0, 0, 0, 125, 0, 0, 0, 198, 0, 0, 0, 122, 0, 0, 0, 251, 0, 0, 0, 67, 0, 0, 0, 238, 0, 0, 0, 37, 0, 0, 0, 118, 0, 0, 0, -70, 0, 0, 0, 114, 0, 0, 0, 2, 0, 0, 0, 162, 0, 0, 0, 237, 0, 0, 0, 244, 0, 0, 0, 143, 0, 0, 0, 107, 0, 0, 0, 11, 0, 0, 0, 62, 0, 0, 0, 235, 0, 0, 0, 53, 0, 0, 0, 26, 0, 0, 0, 213, 0, 0, 0, 126, 0, 0, 0, 219, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 138, 0, 0, 0, 160, 0, 0, 0, 180, 0, 0, 0, 207, 0, 0, 0, 96, 0, 0, 0, 75, 0, 0, 0, 212, 0, 0, 0, 213, 0, 0, 0, 249, 0, 0, 0, 45, 0, 0, 0, 191, 0, 0, 0, 136, 0, 0, 0, 189, 0, 0, 0, 34, 0, 0, 0, 98, 0, 0, 0, 19, 0, 0, 0, 83, 0, 0, 0, 228, 0, 0, 0, -130, 0, 0, 0, 87, 0, 0, 0, 250, 0, 0, 0, 30, 0, 0, 0, 143, 0, 0, 0, 6, 0, 0, 0, 43, 0, 0, 0, 144, 0, 0, 0, 186, 0, 0, 0, 8, 0, 0, 0, 182, 0, 0, 0, 16, 0, 0, 0, 84, 0, 0, 0, 79, 0, 0, 0, 124, 0, 0, 0, 27, 0, 0, 0, 38, 0, 0, 0, 237, 0, 0, 0, 218, 0, 0, 0, 107, 0, 0, 0, 221, 0, 0, 0, 37, 0, 0, 0, 208, 0, 0, 0, 78, 0, 0, 0, 234, 0, 0, 0, 66, 0, 0, 0, 187, 0, 0, 0, 37, 0, 0, 0, 3, 0, 0, 0, 81, 0, 0, 0, 22, 0, 0, 0, 80, 0, 0, 0, 124, 0, 0, 0, 213, 0, 0, 0, 93, 0, 0, 0, 246, 0, 0, 0, 153, 0, 0, 0, 232, -0, 0, 0, 119, 0, 0, 0, 114, 0, 0, 0, 78, 0, 0, 0, 250, 0, 0, 0, 98, 0, 0, 0, 203, 0, 0, 0, 118, 0, 0, 0, 117, 0, 0, 0, 12, 0, 0, 0, 226, 0, 0, 0, 113, 0, 0, 0, 152, 0, 0, 0, 146, 0, 0, 0, 213, 0, 0, 0, 250, 0, 0, 0, 69, 0, 0, 0, 223, 0, 0, 0, 92, 0, 0, 0, 111, 0, 0, 0, 30, 0, 0, 0, 158, 0, 0, 0, 40, 0, 0, 0, 105, 0, 0, 0, 13, 0, 0, 0, 172, 0, 0, 0, 102, 0, 0, 0, 109, 0, 0, 0, 195, 0, 0, 0, 139, 0, 0, 0, 186, 0, 0, 0, 22, 0, 0, 0, 181, 0, 0, 0, 226, 0, 0, 0, 160, 0, 0, 0, 13, 0, 0, 0, 12, 0, 0, 0, -189, 0, 0, 0, 164, 0, 0, 0, 142, 0, 0, 0, 24, 0, 0, 0, 108, 0, 0, 0, 242, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 220, 0, 0, 0, 74, 0, 0, 0, 134, 0, 0, 0, 37, 0, 0, 0, 149, 0, 0, 0, 20, 0, 0, 0, 203, 0, 0, 0, 216, 0, 0, 0, 26, 0, 0, 0, 4, 0, 0, 0, 15, 0, 0, 0, 151, 0, 0, 0, 165, 0, 0, 0, 219, 0, 0, 0, 139, 0, 0, 0, 45, 0, 0, 0, 170, 0, 0, 0, 66, 0, 0, 0, 17, 0, 0, 0, 9, 0, 0, 0, 242, 0, 0, 0, 147, 0, 0, 0, 187, 0, 0, 0, 217, 0, 0, 0, 6, 0, 0, 0, 132, 0, 0, 0, 78, 0, 0, 0, 17, 0, 0, 0, 168, 0, 0, 0, -160, 0, 0, 0, 37, 0, 0, 0, 43, 0, 0, 0, 166, 0, 0, 0, 95, 0, 0, 0, 174, 0, 0, 0, 196, 0, 0, 0, 180, 0, 0, 0, 76, 0, 0, 0, 200, 0, 0, 0, 171, 0, 0, 0, 199, 0, 0, 0, 59, 0, 0, 0, 2, 0, 0, 0, 238, 0, 0, 0, 201, 0, 0, 0, 41, 0, 0, 0, 15, 0, 0, 0, 223, 0, 0, 0, 17, 0, 0, 0, 133, 0, 0, 0, 237, 0, 0, 0, 206, 0, 0, 0, 13, 0, 0, 0, 98, 0, 0, 0, 44, 0, 0, 0, 143, 0, 0, 0, 75, 0, 0, 0, 249, 0, 0, 0, 4, 0, 0, 0, 233, 0, 0, 0, 6, 0, 0, 0, 114, 0, 0, 0, 29, 0, 0, 0, 55, 0, 0, 0, 32, 0, 0, 0, 80, 0, 0, 0, 201, -0, 0, 0, 20, 0, 0, 0, 235, 0, 0, 0, 236, 0, 0, 0, 57, 0, 0, 0, 167, 0, 0, 0, 151, 0, 0, 0, 43, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 209, 0, 0, 0, 57, 0, 0, 0, 189, 0, 0, 0, 251, 0, 0, 0, 51, 0, 0, 0, 190, 0, 0, 0, 196, 0, 0, 0, 240, 0, -0, 0, 92, 0, 0, 0, 239, 0, 0, 0, 240, 0, 0, 0, 86, 0, 0, 0, 104, 0, 0, 0, 252, 0, 0, 0, 151, 0, 0, 0, 71, 0, 0, 0, 200, 0, 0, 0, 114, 0, 0, 0, 182, 0, 0, 0, 83, 0, 0, 0, 164, 0, 0, 0, 10, 0, 0, 0, 152, 0, 0, 0, 165, 0, 0, 0, 180, 0, 0, 0, 55, 0, 0, 0, 113, 0, 0, 0, 207, 0, 0, 0, 102, 0, 0, 0, 80, 0, 0, 0, 109, 0, 0, 0, 23, 0, 0, 0, 164, 0, 0, 0, 25, 0, 0, 0, 82, 0, 0, 0, 17, 0, 0, 0, 71, 0, 0, 0, 179, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0, 169, 0, 0, 0, 46, 0, 0, 0, 34, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, -0, 82, 0, 0, 0, 249, 0, 0, 0, 87, 0, 0, 0, 24, 0, 0, 0, 184, 0, 0, 0, 190, 0, 0, 0, 90, 0, 0, 0, 227, 0, 0, 0, 171, 0, 0, 0, 131, 0, 0, 0, 200, 0, 0, 0, 135, 0, 0, 0, 10, 0, 0, 0, 42, 0, 0, 0, 216, 0, 0, 0, 140, 0, 0, 0, 187, 0, 0, 0, 84, 0, 0, 0, 169, 0, 0, 0, 98, 0, 0, 0, 147, 0, 0, 0, 133, 0, 0, 0, 190, 0, 0, 0, 232, 0, 0, 0, 115, 0, 0, 0, 74, 0, 0, 0, 14, 0, 0, 0, 176, 0, 0, 0, 181, 0, 0, 0, 45, 0, 0, 0, 148, 0, 0, 0, 80, 0, 0, 0, 170, 0, 0, 0, 211, 0, 0, 0, 178, 0, 0, 0, 234, 0, 0, 0, 157, 0, -0, 0, 98, 0, 0, 0]).concat([118, 0, 0, 0, 59, 0, 0, 0, 7, 0, 0, 0, 52, 0, 0, 0, 78, 0, 0, 0, 45, 0, 0, 0, 112, 0, 0, 0, 200, 0, 0, 0, 154, 0, 0, 0, 21, 0, 0, 0, 102, 0, 0, 0, 107, 0, 0, 0, 197, 0, 0, 0, 150, 0, 0, 0, 202, 0, 0, 0, 200, 0, 0, 0, 34, 0, 0, 0, 26, 0, 0, 0, 238, 0, 0, 0, 95, 0, 0, 0, 231, 0, 0, 0, 49, 0, 0, 0, 96, 0, 0, 0, 34, 0, 0, 0, 131, 0, 0, 0, 8, 0, 0, 0, 99, 0, 0, 0, 206, 0, 0, 0, 185, 0, 0, 0, 50, 0, 0, 0, 68, 0, 0, 0, 88, 0, 0, 0, 93, 0, 0, 0, 58, 0, 0, 0, 155, 0, 0, 0, 228, -0, 0, 0, 4, 0, 0, 0, 213, 0, 0, 0, 239, 0, 0, 0, 56, 0, 0, 0, 239, 0, 0, 0, 75, 0, 0, 0, 221, 0, 0, 0, 25, 0, 0, 0, 77, 0, 0, 0, 194, 0, 0, 0, 23, 0, 0, 0, 117, 0, 0, 0, 161, 0, 0, 0, 104, 0, 0, 0, 205, 0, 0, 0, 195, 0, 0, 0, 198, 0, 0, 0, 3, 0, 0, 0, 68, 0, 0, 0, 227, 0, 0, 0, 120, 0, 0, 0, 9, 0, 0, 0, 145, 0, 0, 0, 71, 0, 0, 0, 63, 0, 0, 0, 15, 0, 0, 0, 228, 0, 0, 0, 146, 0, 0, 0, 88, 0, 0, 0, 250, 0, 0, 0, 125, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0, 148, 0, 0, 0, 88, 0, 0, 0, 94, 0, 0, 0, 188, 0, -0, 0, 25, 0, 0, 0, 2, 0, 0, 0, 111, 0, 0, 0, 32, 0, 0, 0, 214, 0, 0, 0, 216, 0, 0, 0, 145, 0, 0, 0, 84, 0, 0, 0, 167, 0, 0, 0, 243, 0, 0, 0, 32, 0, 0, 0, 75, 0, 0, 0, 52, 0, 0, 0, 6, 0, 0, 0, 250, 0, 0, 0, 48, 0, 0, 0, 200, 0, 0, 0, 111, 0, 0, 0, 20, 0, 0, 0, 16, 0, 0, 0, 101, 0, 0, 0, 116, 0, 0, 0, 19, 0, 0, 0, 78, 0, 0, 0, 240, 0, 0, 0, 105, 0, 0, 0, 38, 0, 0, 0, 206, 0, 0, 0, 207, 0, 0, 0, 144, 0, 0, 0, 244, 0, 0, 0, 208, 0, 0, 0, 197, 0, 0, 0, 200, 0, 0, 0, 100, 0, 0, 0, 38, 0, 0, 0, 162, 0, -0, 0, 80, 0, 0, 0, 2, 0, 0, 0, 36, 0, 0, 0, 114, 0, 0, 0, 241, 0, 0, 0, 240, 0, 0, 0, 78, 0, 0, 0, 45, 0, 0, 0, 147, 0, 0, 0, 213, 0, 0, 0, 8, 0, 0, 0, 231, 0, 0, 0, 174, 0, 0, 0, 56, 0, 0, 0, 247, 0, 0, 0, 24, 0, 0, 0, 165, 0, 0, 0, 50, 0, 0, 0, 52, 0, 0, 0, 194, 0, 0, 0, 240, 0, 0, 0, 166, 0, 0, 0, 236, 0, 0, 0, 185, 0, 0, 0, 97, 0, 0, 0, 123, 0, 0, 0, 100, 0, 0, 0, 153, 0, 0, 0, 172, 0, 0, 0, 113, 0, 0, 0, 37, 0, 0, 0, 207, 0, 0, 0, 116, 0, 0, 0, 85, 0, 0, 0, 27, 0, 0, 0, 170, 0, 0, 0, 169, 0, -0, 0, 56, 0, 0, 0, 65, 0, 0, 0, 64, 0, 0, 0, 213, 0, 0, 0, 149, 0, 0, 0, 149, 0, 0, 0, 171, 0, 0, 0, 28, 0, 0, 0, 94, 0, 0, 0, 188, 0, 0, 0, 65, 0, 0, 0, 126, 0, 0, 0, 20, 0, 0, 0, 48, 0, 0, 0, 190, 0, 0, 0, 19, 0, 0, 0, 137, 0, 0, 0, 244, 0, 0, 0, 229, 0, 0, 0, 235, 0, 0, 0, 40, 0, 0, 0, 192, 0, 0, 0, 194, 0, 0, 0, 150, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 119, 0, 0, 0, 69, 0, 0, 0, 236, 0, 0, 0, 103, 0, 0, 0, 118, 0, 0, 0, 50, 0, 0, 0, 76, 0, 0, 0, 185, 0, 0, 0, 223, 0, 0, 0, 37, 0, 0, 0, 50, 0, 0, 0, 107, 0, 0, 0, 203, 0, 0, 0, 231, 0, 0, 0, 20, 0, 0, 0, 97, 0, 0, 0, 67, 0, 0, 0, 238, 0, 0, 0, 186, 0, 0, 0, 155, 0, 0, 0, 113, 0, 0, 0, 239, 0, 0, 0, 210, 0, 0, 0, 72, 0, 0, 0, 101, 0, 0, 0, 187, 0, 0, 0, 27, 0, 0, 0, 138, 0, 0, -0, 19, 0, 0, 0, 27, 0, 0, 0, 34, 0, 0, 0, 132, 0, 0, 0, 173, 0, 0, 0, 12, 0, 0, 0, 24, 0, 0, 0, 56, 0, 0, 0, 90, 0, 0, 0, 186, 0, 0, 0, 208, 0, 0, 0, 152, 0, 0, 0, 89, 0, 0, 0, 191, 0, 0, 0, 55, 0, 0, 0, 176, 0, 0, 0, 79, 0, 0, 0, 151, 0, 0, 0, 96, 0, 0, 0, 32, 0, 0, 0, 179, 0, 0, 0, 155, 0, 0, 0, 151, 0, 0, 0, 246, 0, 0, 0, 8, 0, 0, 0, 108, 0, 0, 0, 164, 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 183, 0, 0, 0, 250, 0, 0, 0, 149, 0, 0, 0, 178, 0, 0, 0, 81, 0, 0, 0, 121, 0, 0, 0, 40, 0, 0, 0, 92, 0, 0, -0, 63, 0, 0, 0, 219, 0, 0, 0, 107, 0, 0, 0, 24, 0, 0, 0, 59, 0, 0, 0, 92, 0, 0, 0, 209, 0, 0, 0, 4, 0, 0, 0, 40, 0, 0, 0, 222, 0, 0, 0, 133, 0, 0, 0, 82, 0, 0, 0, 49, 0, 0, 0, 181, 0, 0, 0, 187, 0, 0, 0, 246, 0, 0, 0, 169, 0, 0, 0, 237, 0, 0, 0, 190, 0, 0, 0, 40, 0, 0, 0, 79, 0, 0, 0, 179, 0, 0, 0, 126, 0, 0, 0, 5, 0, 0, 0, 106, 0, 0, 0, 219, 0, 0, 0, 149, 0, 0, 0, 13, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 213, 0, 0, 0, 197, 0, 0, 0, 195, 0, 0, 0, 154, 0, 0, 0, 10, 0, 0, 0, 208, 0, 0, 0, 49, 0, 0, 0, -62, 0, 0, 0, 7, 0, 0, 0, 54, 0, 0, 0, 142, 0, 0, 0, 192, 0, 0, 0, 138, 0, 0, 0, 98, 0, 0, 0, 177, 0, 0, 0, 202, 0, 0, 0, 214, 0, 0, 0, 14, 0, 0, 0, 30, 0, 0, 0, 157, 0, 0, 0, 239, 0, 0, 0, 171, 0, 0, 0, 152, 0, 0, 0, 77, 0, 0, 0, 187, 0, 0, 0, 108, 0, 0, 0, 5, 0, 0, 0, 224, 0, 0, 0, 228, 0, 0, 0, 93, 0, 0, 0, 189, 0, 0, 0, 87, 0, 0, 0, 204, 0, 0, 0, 33, 0, 0, 0, 39, 0, 0, 0, 206, 0, 0, 0, 253, 0, 0, 0, 169, 0, 0, 0, 148, 0, 0, 0, 142, 0, 0, 0, 225, 0, 0, 0, 171, 0, 0, 0, 73, 0, 0, 0, 224, 0, 0, 0, -70, 0, 0, 0, 38, 0, 0, 0, 161, 0, 0, 0, 168, 0, 0, 0, 140, 0, 0, 0, 161, 0, 0, 0, 153, 0, 0, 0, 29, 0, 0, 0, 180, 0, 0, 0, 39, 0, 0, 0, 109, 0, 0, 0, 45, 0, 0, 0, 200, 0, 0, 0, 57, 0, 0, 0, 48, 0, 0, 0, 94, 0, 0, 0, 55, 0, 0, 0, 82, 0, 0, 0, 196, 0, 0, 0, 110, 0, 0, 0, 169, 0, 0, 0, 133, 0, 0, 0, 244, 0, 0, 0, 231, 0, 0, 0, 176, 0, 0, 0, 21, 0, 0, 0, 51, 0, 0, 0, 132, 0, 0, 0, 27, 0, 0, 0, 20, 0, 0, 0, 26, 0, 0, 0, 2, 0, 0, 0, 217, 0, 0, 0, 59, 0, 0, 0, 173, 0, 0, 0, 15, 0, 0, 0, 67, 0, 0, 0, 108, -0, 0, 0, 234, 0, 0, 0, 62, 0, 0, 0, 15, 0, 0, 0, 126, 0, 0, 0, 218, 0, 0, 0, 221, 0, 0, 0, 107, 0, 0, 0, 76, 0, 0, 0, 127, 0, 0, 0, 110, 0, 0, 0, 212, 0, 0, 0, 107, 0, 0, 0, 191, 0, 0, 0, 15, 0, 0, 0, 71, 0, 0, 0, 159, 0, 0, 0, 124, 0, 0, 0, 86, 0, 0, 0, 124, 0, 0, 0, 67, 0, 0, 0, 145, 0, 0, 0, 28, 0, 0, 0, 187, 0, 0, 0, 78, 0, 0, 0, 114, 0, 0, 0, 62, 0, 0, 0, 100, 0, 0, 0, 171, 0, 0, 0, 160, 0, 0, 0, 160, 0, 0, 0, 223, 0, 0, 0, 180, 0, 0, 0, 216, 0, 0, 0, 135, 0, 0, 0, 58, 0, 0, 0, 189, 0, 0, 0, -168, 0, 0, 0, 72, 0, 0, 0, 201, 0, 0, 0, 184, 0, 0, 0, 239, 0, 0, 0, 46, 0, 0, 0, 173, 0, 0, 0, 111, 0, 0, 0, 132, 0, 0, 0, 79, 0, 0, 0, 45, 0, 0, 0, 45, 0, 0, 0, 240, 0, 0, 0, 27, 0, 0, 0, 126, 0, 0, 0, 42, 0, 0, 0, 108, 0, 0, 0, 248, 0, 0, 0, 169, 0, 0, 0, 106, 0, 0, 0, 225, 0, 0, 0, 240, 0, 0, 0, 153, 0, 0, 0, 161, 0, 0, 0, 103, 0, 0, 0, 154, 0, 0, 0, 212, 0, 0, 0, 19, 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 186, 0, 0, 0, 39, 0, 0, 0, 146, 0, 0, 0, 170, 0, 0, 0, 161, 0, 0, 0, 93, 0, 0, 0, 80, 0, -0, 0, 222, 0, 0, 0, 204, 0, 0, 0, 64, 0, 0, 0, 38, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 62, 0, 0, 0, 242, 0, 0, 0, 178, 0, 0, 0, 144, 0, 0, 0, 206, 0, 0, 0, 219, 0, 0, 0, 100, 0, 0, 0, 62, 0, 0, 0, 3, 0, 0, 0, 221, 0, 0, 0, 55, 0, 0, 0, -54, 0, 0, 0, 84, 0, 0, 0, 112, 0, 0, 0, 118, 0, 0, 0, 36, 0, 0, 0, 181, 0, 0, 0, 105, 0, 0, 0, 3, 0, 0, 0, 252, 0, 0, 0, 160, 0, 0, 0, 43, 0, 0, 0, 116, 0, 0, 0, 178, 0, 0, 0, 5, 0, 0, 0, 14, 0, 0, 0, 204, 0, 0, 0, 216, 0, 0, 0, 31, 0, 0, 0, 106, 0, 0, 0, 31, 0, 0, 0, 25, 0, 0, 0, 94, 0, 0, 0, 96, 0, 0, 0, 105, 0, 0, 0, 88, 0, 0, 0, 134, 0, 0, 0, 160, 0, 0, 0, 49, 0, 0, 0, 189, 0, 0, 0, 50, 0, 0, 0, 233, 0, 0, 0, 44, 0, 0, 0, 92, 0, 0, 0, 210, 0, 0, 0, 133, 0, 0, 0, 186, 0, 0, 0, 64, 0, 0, 0, 100, -0, 0, 0, 168, 0, 0, 0, 116, 0, 0, 0, 248, 0, 0, 0, 14, 0, 0, 0, 28, 0, 0, 0, 179, 0, 0, 0, 169, 0, 0, 0, 105, 0, 0, 0, 232, 0, 0, 0, 30, 0, 0, 0, 64, 0, 0, 0, 100, 0, 0, 0, 153, 0, 0, 0, 119, 0, 0, 0, 108, 0, 0, 0, 50, 0, 0, 0, 79, 0, 0, 0, 253, 0, 0, 0, 187, 0, 0, 0, 92, 0, 0, 0, 187, 0, 0, 0, 141, 0, 0, 0, 100, 0, 0, 0, 102, 0, 0, 0, 74, 0, 0, 0, 113, 0, 0, 0, 31, 0, 0, 0, 121, 0, 0, 0, 163, 0, 0, 0, 173, 0, 0, 0, 141, 0, 0, 0, 249, 0, 0, 0, 212, 0, 0, 0, 236, 0, 0, 0, 207, 0, 0, 0, 103, 0, 0, -0, 112, 0, 0, 0, 250, 0, 0, 0, 5, 0, 0, 0, 74, 0, 0, 0, 15, 0, 0, 0, 110, 0, 0, 0, 175, 0, 0, 0, 135, 0, 0, 0, 10, 0, 0, 0, 111, 0, 0, 0, 198, 0, 0, 0, 54, 0, 0, 0, 110, 0, 0, 0, 108, 0, 0, 0, 140, 0, 0, 0, 36, 0, 0, 0, 9, 0, 0, 0, 96, 0, 0, 0, 190, 0, 0, 0, 38, 0, 0, 0, 210, 0, 0, 0, 76, 0, 0, 0, 94, 0, 0, 0, 23, 0, 0, 0, 202, 0, 0, 0, 95, 0, 0, 0, 29, 0, 0, 0, 204, 0, 0, 0, 135, 0, 0, 0, 232, 0, 0, 0, 66, 0, 0, 0, 106, 0, 0, 0, 203, 0, 0, 0, 203, 0, 0, 0, 125, 0, 0, 0, 146, 0, 0, 0, 5, 0, 0, 0, -53, 0, 0, 0, 129, 0, 0, 0, 19, 0, 0, 0, 96, 0, 0, 0, 107, 0, 0, 0, 244, 0, 0, 0, 21, 0, 0, 0, 205, 0, 0, 0, 15, 0, 0, 0, 10, 0, 0, 0, 175, 0, 0, 0, 78, 0, 0, 0, 107, 0, 0, 0, 81, 0, 0, 0, 253, 0, 0, 0, 20, 0, 0, 0, 196, 0, 0, 0, 46, 0, 0, 0, 19, 0, 0, 0, 134, 0, 0, 0, 116, 0, 0, 0, 68, 0, 0, 0, 203, 0, 0, 0, 102, 0, 0, 0, 107, 0, 0, 0, 182, 0, 0, 0, 157, 0, 0, 0, 116, 0, 0, 0, 86, 0, 0, 0, 50, 0, 0, 0, 172, 0, 0, 0, 141, 0, 0, 0, 142, 0, 0, 0, 140, 0, 0, 0, 140, 0, 0, 0, 140, 0, 0, 0, 57, 0, 0, 0, -202, 0, 0, 0, 89, 0, 0, 0, 116, 0, 0, 0, 26, 0, 0, 0, 17, 0, 0, 0, 239, 0, 0, 0, 109, 0, 0, 0, 247, 0, 0, 0, 57, 0, 0, 0, 92, 0, 0, 0, 59, 0, 0, 0, 31, 0, 0, 0, 250, 0, 0, 0, 227, 0, 0, 0, 64, 0, 0, 0, 65, 0, 0, 0, 35, 0, 0, 0, 158, 0, 0, 0, 246, 0, 0, 0, 209, 0, 0, 0, 33, 0, 0, 0, 162, 0, 0, 0, 191, 0, 0, 0, 173, 0, 0, 0, 101, 0, 0, 0, 66, 0, 0, 0, 107, 0, 0, 0, 89, 0, 0, 0, 138, 0, 0, 0, 232, 0, 0, 0, 197, 0, 0, 0, 127, 0, 0, 0, 100, 0, 0, 0, 5, 0, 0, 0, 122, 0, 0, 0, 132, 0, 0, 0, 74, 0, 0, 0, -19, 0, 0, 0, 195, 0, 0, 0, 246, 0, 0, 0, 176, 0, 0, 0, 110, 0, 0, 0, 154, 0, 0, 0, 107, 0, 0, 0, 83, 0, 0, 0, 107, 0, 0, 0, 50, 0, 0, 0, 218, 0, 0, 0, 217, 0, 0, 0, 116, 0, 0, 0, 117, 0, 0, 0, 196, 0, 0, 0, 186, 0, 0, 0, 100, 0, 0, 0, 61, 0, 0, 0, 59, 0, 0, 0, 8, 0, 0, 0, 221, 0, 0, 0, 16, 0, 0, 0, 70, 0, 0, 0, 239, 0, 0, 0, 199, 0, 0, 0, 144, 0, 0, 0, 31, 0, 0, 0, 123, 0, 0, 0, 47, 0, 0, 0, 58, 0, 0, 0, 206, 0, 0, 0, 200, 0, 0, 0, 161, 0, 0, 0, 121, 0, 0, 0, 60, 0, 0, 0, 48, 0, 0, 0, 18, 0, 0, 0, -68, 0, 0, 0, 40, 0, 0, 0, 246, 0, 0, 0, 188, 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 244, 0, 0, 0, 192, 0, 0, 0, 151, 0, 0, 0, 176, 0, 0, 0, 204, 0, 0, 0, 195, 0, 0, 0, 19, 0, 0, 0, 122, 0, 0, 0, 185, 0, 0, 0, 154, 0, 0, 0, 22, 0, 0, 0, 228, 0, 0, 0, 203, 0, 0, 0, 76, 0, 0, 0, 52, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 78, 0, 0, 0, 211, 0, 0, 0, 45, 0, 0, 0, 9, 0, 0, 0, 51, 0, 0, 0, 14, 0, 0, 0, 210, 0, 0, 0, 13, 0, 0, 0, 190, 0, 0, 0, 62, 0, 0, 0, 231, 0, 0, 0, 228, 0, 0, 0, 170, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 232, 0, 0, 0, 173, 0, 0, 0, 170, 0, 0, 0, 122, 0, 0, 0, 141, 0, 0, 0, 52, 0, 0, 0, 40, 0, 0, 0, 169, 0, 0, 0, 129, 0, 0, 0, 148, 0, 0, 0, 197, 0, 0, 0, 231, 0, 0, 0, 66, 0, 0, 0, 172, 0, 0, 0, 71, 0, 0, 0, 36, -0, 0, 0, 137, 0, 0, 0, 122, 0, 0, 0, 143, 0, 0, 0, 181, 0, 0, 0, 155, 0, 0, 0, 240, 0, 0, 0, 194, 0, 0, 0, 3, 0, 0, 0, 100, 0, 0, 0, 208, 0, 0, 0, 30, 0, 0, 0, 245, 0, 0, 0, 164, 0, 0, 0, 178, 0, 0, 0, 243, 0, 0, 0, 116, 0, 0, 0, 233, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, 253, 0, 0, 0, 203, 0, 0, 0, 21, 0, 0, 0, 234, 0, 0, 0, 235, 0, 0, 0, 16, 0, 0, 0, 108, 0, 0, 0, 53, 0, 0, 0, 209, 0, 0, 0, 193, 0, 0, 0, 166, 0, 0, 0, 40, 0, 0, 0, 204, 0, 0, 0, 213, 0, 0, 0, 57, 0, 0, 0, 252, 0, 0, 0, 165, 0, 0, 0, -164, 0, 0, 0, 173, 0, 0, 0, 50, 0, 0, 0, 21, 0, 0, 0, 206, 0, 0, 0, 25, 0, 0, 0, 232, 0, 0, 0, 52, 0, 0, 0, 43, 0, 0, 0, 28, 0, 0, 0, 96, 0, 0, 0, 145, 0, 0, 0, 252, 0, 0, 0, 5, 0, 0, 0, 169, 0, 0, 0, 179, 0, 0, 0, 220, 0, 0, 0, 128, 0, 0, 0, 41, 0, 0, 0, 196, 0, 0, 0, 32, 0, 0, 0, 121, 0, 0, 0, 6, 0, 0, 0, 57, 0, 0, 0, 192, 0, 0, 0, 226, 0, 0, 0, 34, 0, 0, 0, 187, 0, 0, 0, 168, 0, 0, 0, 225, 0, 0, 0, 137, 0, 0, 0, 112, 0, 0, 0, 87, 0, 0, 0, 24, 0, 0, 0, 84, 0, 0, 0, 60, 0, 0, 0, 246, 0, 0, 0, 13, -0, 0, 0, 130, 0, 0, 0, 18, 0, 0, 0, 5, 0, 0, 0, 135, 0, 0, 0, 150, 0, 0, 0, 6, 0, 0, 0, 57, 0, 0, 0, 227, 0, 0, 0, 248, 0, 0, 0, 179, 0, 0, 0, 149, 0, 0, 0, 229, 0, 0, 0, 215, 0, 0, 0, 38, 0, 0, 0, 191, 0, 0, 0, 9, 0, 0, 0, 90, 0, 0, 0, 148, 0, 0, 0, 249, 0, 0, 0, 28, 0, 0, 0, 99, 0, 0, 0, 43, 0, 0, 0, 140, 0, 0, 0, 45, 0, 0, 0, 154, 0, 0, 0, 139, 0, 0, 0, 132, 0, 0, 0, 242, 0, 0, 0, 86, 0, 0, 0, 251, 0, 0, 0, 173, 0, 0, 0, 46, 0, 0, 0, 127, 0, 0, 0, 183, 0, 0, 0, 252, 0, 0, 0, 48, 0, 0, 0, 225, -0, 0, 0, 53, 0, 0, 0, 137, 0, 0, 0, 186, 0, 0, 0, 77, 0, 0, 0, 168, 0, 0, 0, 109, 0, 0, 0, 206, 0, 0, 0, 140, 0, 0, 0, 139, 0, 0, 0, 48, 0, 0, 0, 224, 0, 0, 0, 218, 0, 0, 0, 41, 0, 0, 0, 24, 0, 0, 0, 17, 0, 0, 0, 23, 0, 0, 0, 25, 0, 0, 0, 166, 0, 0, 0, 90, 0, 0, 0, 101, 0, 0, 0, 147, 0, 0, 0, 195, 0, 0, 0, 181, 0, 0, 0, 49, 0, 0, 0, 34, 0, 0, 0, 79, 0, 0, 0, 243, 0, 0, 0, 246, 0, 0, 0, 15, 0, 0, 0, 235, 0, 0, 0, 40, 0, 0, 0, 195, 0, 0, 0, 124, 0, 0, 0, 235, 0, 0, 0, 206, 0, 0, 0, 134, 0, 0, 0, 236, -0, 0, 0, 103, 0, 0, 0, 118, 0, 0, 0, 110, 0, 0, 0, 53, 0, 0, 0, 69, 0, 0, 0, 123, 0, 0, 0, 216, 0, 0, 0, 107, 0, 0, 0, 146, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 61, 0, 0, 0, 213, 0, 0, 0, 154, 0, 0, 0, 100, 0, 0, 0, 115, 0, 0, 0, 54, 0, 0, 0, 177, 0, 0, 0, 214, 0, 0, 0, 134, 0, 0, 0, 152, 0, 0, 0, 66, 0, 0, 0, 63, 0, 0, 0, 138, 0, 0, 0, 241, 0, 0, 0, 199, 0, 0, 0, 245, 0, 0, 0, 66, 0, 0, 0, 168, 0, 0, 0, 156, 0, 0, 0, 82, 0, 0, 0, 168, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 36, 0, 0, 0, 63, 0, 0, 0, -74, 0, 0, 0, 161, 0, 0, 0, 164, 0, 0, 0, 91, 0, 0, 0, 232, 0, 0, 0, 98, 0, 0, 0, 26, 0, 0, 0, 197, 0, 0, 0, 189, 0, 0, 0, 200, 0, 0, 0, 20, 0, 0, 0, 213, 0, 0, 0, 13, 0, 0, 0, 235, 0, 0, 0, 225, 0, 0, 0, 165, 0, 0, 0, 230, 0, 0, 0, 131, 0, 0, 0, 17, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 85, 0, 0, 0, 131, 0, 0, 0, 81, 0, 0, 0, 126, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, 185, 0, 0, 0, 203, 0, 0, 0, 216, 0, 0, 0, 197, 0, 0, 0, 229, 0, 0, 0, 161, 0, 0, 0, 217, 0, 0, 0, 23, 0, 0, 0, -109, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 249, 0, 0, 0, 228, 0, 0, 0, 233, 0, 0, 0, 225, 0, 0, 0, 82, 0, 0, 0, 63, 0, 0, 0, 81, 0, 0, 0, 25, 0, 0, 0, 13, 0, 0, 0, 221, 0, 0, 0, 217, 0, 0, 0, 157, 0, 0, 0, 147, 0, 0, 0, 49, 0, 0, 0, 135, -0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, 213, 0, 0, 0, 131, 0, 0, 0, 235, 0, 0, 0, 146, 0, 0, 0, 9, 0, 0, 0, 118, 0, 0, 0, 110, 0, 0, 0, 227, 0, 0, 0, 248, 0, 0, 0, 192, 0, 0, 0, 162, 0, 0, 0, 102, 0, 0, 0, 181, 0, 0, 0, 54, 0, 0, 0, 58, 0, 0, 0, 187, 0, 0, 0, 57, 0, 0, 0, 237, 0, 0, 0, 50, 0, 0, 0, 2, 0, 0, 0, 231, 0, 0, 0, 67, 0, 0, 0, 122, 0, 0, 0, 56, 0, 0, 0, 20, 0, 0, 0, 132, 0, 0, 0, 227, 0, 0, 0, 68, 0, 0, 0, 210, 0, 0, 0, 94, 0, 0, 0, 148, 0, 0, 0, 221, 0, 0, 0, 120, 0, 0, 0, 137, 0, 0, 0, 85, -0, 0, 0, 76, 0, 0, 0, 115, 0, 0, 0, 158, 0, 0, 0, 225, 0, 0, 0, 228, 0, 0, 0, 62, 0, 0, 0, 67, 0, 0, 0, 208, 0, 0, 0, 74, 0, 0, 0, 222, 0, 0, 0, 27, 0, 0, 0, 178, 0, 0, 0, 231, 0, 0, 0, 143, 0, 0, 0, 227, 0, 0, 0, 163, 0, 0, 0, 197, 0, 0, 0, 203, 0, 0, 0, 114, 0, 0, 0, 238, 0, 0, 0, 121, 0, 0, 0, 65, 0, 0, 0, 248, 0, 0, 0, 223, 0, 0, 0, 238, 0, 0, 0, 101, 0, 0, 0, 197, 0, 0, 0, 69, 0, 0, 0, 119, 0, 0, 0, 39, 0, 0, 0, 60, 0, 0, 0, 189, 0, 0, 0, 88, 0, 0, 0, 211, 0, 0, 0, 117, 0, 0, 0, 226, 0, 0, 0, -4, 0, 0, 0, 75, 0, 0, 0, 187, 0, 0, 0, 101, 0, 0, 0, 243, 0, 0, 0, 200, 0, 0, 0, 15, 0, 0, 0, 36, 0, 0, 0, 123, 0, 0, 0, 147, 0, 0, 0, 52, 0, 0, 0, 181, 0, 0, 0, 226, 0, 0, 0, 116, 0, 0, 0, 72, 0, 0, 0, 205, 0, 0, 0, 160, 0, 0, 0, 11, 0, 0, 0, 146, 0, 0, 0, 151, 0, 0, 0, 102, 0, 0, 0, 57, 0, 0, 0, 244, 0, 0, 0, 176, 0, 0, 0, 226, 0, 0, 0, 93, 0, 0, 0, 57, 0, 0, 0, 106, 0, 0, 0, 91, 0, 0, 0, 69, 0, 0, 0, 23, 0, 0, 0, 120, 0, 0, 0, 30, 0, 0, 0, 219, 0, 0, 0, 145, 0, 0, 0, 129, 0, 0, 0, 28, 0, 0, 0, -249, 0, 0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 223, 0, 0, 0, 209, 0, 0, 0, 90, 0, 0, 0, 213, 0, 0, 0, 233, 0, 0, 0, 78, 0, 0, 0, 88, 0, 0, 0, 149, 0, 0, 0, 147, 0, 0, 0, 95, 0, 0, 0, 81, 0, 0, 0, 9, 0, 0, 0, 195, 0, 0, 0, 42, 0, 0, 0, 201, 0, 0, 0, 212, 0, 0, 0, 85, 0, 0, 0, 72, 0, 0, 0, 121, 0, 0, 0, 164, 0, 0, 0, 163, 0, 0, 0, 178, 0, 0, 0, 195, 0, 0, 0, 98, 0, 0, 0, 170, 0, 0, 0, 140, 0, 0, 0, 232, 0, 0, 0, 173, 0, 0, 0, 71, 0, 0, 0, 57, 0, 0, 0, 27, 0, 0, 0, 70, 0, 0, 0, 218, 0, 0, 0, 158, 0, 0, 0, -81, 0, 0, 0, 58, 0, 0, 0, 230, 0, 0, 0, 209, 0, 0, 0, 166, 0, 0, 0, 187, 0, 0, 0, 77, 0, 0, 0, 123, 0, 0, 0, 8, 0, 0, 0, 190, 0, 0, 0, 140, 0, 0, 0, 213, 0, 0, 0, 243, 0, 0, 0, 63, 0, 0, 0, 253, 0, 0, 0, 247, 0, 0, 0, 68, 0, 0, 0, 128, 0, 0, 0, 45, 0, 0, 0, 83, 0, 0, 0, 75, 0, 0, 0, 208, 0, 0, 0, 135, 0, 0, 0, 104, 0, 0, 0, 193, 0, 0, 0, 181, 0, 0, 0, 216, 0, 0, 0, 247, 0, 0, 0, 7, 0, 0, 0, 244, 0, 0, 0, 16, 0, 0, 0, 70, 0, 0, 0, 190, 0, 0, 0, 183, 0, 0, 0, 210, 0, 0, 0, 209, 0, 0, 0, 206, 0, 0, -0, 94, 0, 0, 0, 118, 0, 0, 0, 162, 0, 0, 0, 215, 0, 0, 0, 3, 0, 0, 0, 220, 0, 0, 0, 228, 0, 0, 0, 129, 0, 0, 0, 90, 0, 0, 0, 246, 0, 0, 0, 60, 0, 0, 0, 222, 0, 0, 0, 174, 0, 0, 0, 122, 0, 0, 0, 157, 0, 0, 0, 33, 0, 0, 0, 52, 0, 0, 0, 165, 0, 0, 0, 246, 0, 0, 0, 169, 0, 0, 0, 115, 0, 0, 0, 226, 0, 0, 0, 141, 0, 0, 0, 96, 0, 0, 0, 250, 0, 0, 0, 68, 0, 0, 0, 113, 0, 0, 0, 246, 0, 0, 0, 65, 0, 0, 0, 216, 0, 0, 0, 198, 0, 0, 0, 88, 0, 0, 0, 19, 0, 0, 0, 55, 0, 0, 0, 235, 0, 0, 0, 132, 0, 0, 0, 15, 0, -0, 0, 150, 0, 0, 0, 199, 0, 0, 0, 220, 0, 0, 0, 200, 0, 0, 0, 169, 0, 0, 0, 122, 0, 0, 0, 131, 0, 0, 0, 178, 0, 0, 0, 47, 0, 0, 0, 49, 0, 0, 0, 177, 0, 0, 0, 26, 0, 0, 0, 216, 0, 0, 0, 152, 0, 0, 0, 63, 0, 0, 0, 17, 0, 0, 0, 208, 0, 0, 0, 49, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, 213, 0, 0, 0, 52, 0, 0, 0, 22, 0, 0, 0, 1, 0, 0, 0, 163, 0, 0, 0, 147, 0, 0, 0, 234, 0, 0, 0, 82, 0, 0, 0, 148, 0, 0, 0, 236, 0, 0, 0, 147, 0, 0, 0, 183, 0, 0, 0, 129, 0, 0, 0, 17, 0, 0, 0, 45, 0, 0, 0, 88, 0, 0, 0, 249, 0, 0, 0, 181, 0, 0, 0, 10, 0, 0, 0, 170, 0, 0, 0, 79, 0, 0, 0, 246, 0, 0, 0, 46, 0, 0, 0, 63, 0, 0, 0, 54, 0, 0, 0, 191, 0, 0, 0, 51, 0, 0, 0, 90, 0, 0, 0, 231, 0, 0, 0, 209, 0, 0, 0, 8, 0, 0, 0, 26, 0, 0, 0, 207, 0, 0, 0, 66, 0, 0, 0, -174, 0, 0, 0, 204, 0, 0, 0, 181, 0, 0, 0, 119, 0, 0, 0, 57, 0, 0, 0, 196, 0, 0, 0, 91, 0, 0, 0, 91, 0, 0, 0, 208, 0, 0, 0, 38, 0, 0, 0, 89, 0, 0, 0, 39, 0, 0, 0, 208, 0, 0, 0, 85, 0, 0, 0, 113, 0, 0, 0, 18, 0, 0, 0, 157, 0, 0, 0, 136, 0, 0, 0, 61, 0, 0, 0, 156, 0, 0, 0, 234, 0, 0, 0, 65, 0, 0, 0, 106, 0, 0, 0, 240, 0, 0, 0, 80, 0, 0, 0, 147, 0, 0, 0, 147, 0, 0, 0, 221, 0, 0, 0, 71, 0, 0, 0, 111, 0, 0, 0, 201, 0, 0, 0, 81, 0, 0, 0, 109, 0, 0, 0, 28, 0, 0, 0, 170, 0, 0, 0, 245, 0, 0, 0, 165, 0, 0, -0, 144, 0, 0, 0, 63, 0, 0, 0, 20, 0, 0, 0, 226, 0, 0, 0, 110, 0, 0, 0, 142, 0, 0, 0, 100, 0, 0, 0, 253, 0, 0, 0, 172, 0, 0, 0, 224, 0, 0, 0, 78, 0, 0, 0, 34, 0, 0, 0, 229, 0, 0, 0, 193, 0, 0, 0, 188, 0, 0, 0, 41, 0, 0, 0, 10, 0, 0, 0, 106, 0, 0, 0, 158, 0, 0, 0, 161, 0, 0, 0, 96, 0, 0, 0, 203, 0, 0, 0, 47, 0, 0, 0, 11, 0, 0, 0, 220, 0, 0, 0, 57, 0, 0, 0, 50, 0, 0, 0, 243, 0, 0, 0, 161, 0, 0, 0, 68, 0, 0, 0, 233, 0, 0, 0, 197, 0, 0, 0, 195, 0, 0, 0, 120, 0, 0, 0, 251, 0, 0, 0, 149, 0, 0, 0, 71, 0, -0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 52, 0, 0, 0, 232, 0, 0, 0, 37, 0, 0, 0, 222, 0, 0, 0, 147, 0, 0, 0, 198, 0, 0, 0, 180, 0, 0, 0, 118, 0, 0, 0, 109, 0, 0, 0, 134, 0, 0, 0, 19, 0, 0, 0, 198, 0, 0, 0, 233, 0, 0, 0, 104, 0, 0, 0, 181, 0, 0, 0, 1, 0, 0, 0, 99, 0, 0, 0, 31, 0, 0, 0, 154, 0, 0, 0, 82, 0, 0, 0, 100, 0, 0, 0, 151, 0, 0, 0, 217, 0, 0, 0, 28, 0, 0, 0, 8, 0, 0, 0, 81, 0, 0, 0, 111, 0, 0, 0, 38, 0, 0, 0, 157, 0, 0, 0, 170, 0, 0, 0, 147, 0, 0, 0, 51, 0, 0, 0, 67, 0, 0, 0, 250, 0, 0, 0, 119, 0, -0, 0, 233, 0, 0, 0, 98, 0, 0, 0, 155, 0, 0, 0, 93, 0, 0, 0, 24, 0, 0, 0, 117, 0, 0, 0, 235, 0, 0, 0, 120, 0, 0, 0, 247, 0, 0, 0, 135, 0, 0, 0, 143, 0, 0, 0, 65, 0, 0, 0, 180, 0, 0, 0, 77, 0, 0, 0, 19, 0, 0, 0, 168, 0, 0, 0, 130, 0, 0, 0, 62, 0, 0, 0, 233, 0, 0, 0, 19, 0, 0, 0, 173, 0, 0, 0, 235, 0, 0, 0, 1, 0, 0, 0, 202, 0, 0, 0, 207, 0, 0, 0, 218, 0, 0, 0, 205, 0, 0, 0, 247, 0, 0, 0, 108, 0, 0, 0, 199, 0, 0, 0, 122, 0, 0, 0, 220, 0, 0, 0, 30, 0, 0, 0, 110, 0, 0, 0, 200, 0, 0, 0, 78, 0, 0, 0, 85, -0, 0, 0, 98, 0, 0, 0, 128, 0, 0, 0, 234, 0, 0, 0, 120, 0, 0, 0, 12, 0, 0, 0, 134, 0, 0, 0, 185, 0, 0, 0, 64, 0, 0, 0, 81, 0, 0, 0, 39, 0, 0, 0, 174, 0, 0, 0, 211, 0, 0, 0, 13, 0, 0, 0, 76, 0, 0, 0, 143, 0, 0, 0, 52, 0, 0, 0, 234, 0, 0, 0, 125, 0, 0, 0, 60, 0, 0, 0, 229, 0, 0, 0, 138, 0, 0, 0, 207, 0, 0, 0, 91, 0, 0, 0, 146, 0, 0, 0, 216, 0, 0, 0, 48, 0, 0, 0, 22, 0, 0, 0, 180, 0, 0, 0, 163, 0, 0, 0, 117, 0, 0, 0, 255, 0, 0, 0, 235, 0, 0, 0, 39, 0, 0, 0, 200, 0, 0, 0, 92, 0, 0, 0, 108, 0, 0, 0, 194, -0, 0, 0, 238, 0, 0, 0, 108, 0, 0, 0, 33, 0, 0, 0, 11, 0, 0, 0, 195, 0, 0, 0, 186, 0, 0, 0, 18, 0, 0, 0, 83, 0, 0, 0, 42, 0, 0, 0, 170, 0, 0, 0, 119, 0, 0, 0, 173, 0, 0, 0, 25, 0, 0, 0, 120, 0, 0, 0, 85, 0, 0, 0, 138, 0, 0, 0, 46, 0, 0, 0, 96, 0, 0, 0, 135, 0, 0, 0, 194, 0, 0, 0, 110, 0, 0, 0, 145, 0, 0, 0, 56, 0, 0, 0, 145, 0, 0, 0, 63, 0, 0, 0, 122, 0, 0, 0, 197, 0, 0, 0, 36, 0, 0, 0, 143, 0, 0, 0, 81, 0, 0, 0, 197, 0, 0, 0, 222, 0, 0, 0, 176, 0, 0, 0, 83, 0, 0, 0, 48, 0, 0, 0, 86, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 254, 0, 0, 0, 84, 0, 0, 0, 18, 0, 0, 0, 24, 0, 0, 0, 202, 0, 0, 0, 125, 0, 0, 0, 165, 0, 0, 0, 104, 0, 0, 0, 67, 0, 0, 0, 163, 0, 0, 0, 109, 0, 0, 0, 20, 0, 0, 0, 42, 0, 0, 0, 106, 0, 0, 0, 165, 0, 0, 0, 142, 0, 0, 0, 50, 0, 0, -0, 231, 0, 0, 0, 99, 0, 0, 0, 79, 0, 0, 0, 227, 0, 0, 0, 198, 0, 0, 0, 68, 0, 0, 0, 62, 0, 0, 0, 171, 0, 0, 0, 99, 0, 0, 0, 202, 0, 0, 0, 23, 0, 0, 0, 134, 0, 0, 0, 116, 0, 0, 0, 63, 0, 0, 0, 30, 0, 0, 0, 100, 0, 0, 0, 193, 0, 0, 0, 125, 0, 0, 0, 82, 0, 0, 0, 220, 0, 0, 0, 19, 0, 0, 0, 90, 0, 0, 0, 161, 0, 0, 0, 156, 0, 0, 0, 78, 0, 0, 0, 238, 0, 0, 0, 153, 0, 0, 0, 40, 0, 0, 0, 187, 0, 0, 0, 76, 0, 0, 0, 238, 0, 0, 0, 172, 0, 0, 0, 169, 0, 0, 0, 27, 0, 0, 0, 137, 0, 0, 0, 162, 0, 0, 0, 56, 0, 0, -0, 57, 0, 0, 0, 123, 0, 0, 0, 196, 0, 0, 0, 15, 0, 0, 0, 66, 0, 0, 0, 230, 0, 0, 0, 137, 0, 0, 0, 237, 0, 0, 0, 15, 0, 0, 0, 243, 0, 0, 0, 60, 0, 0, 0, 140, 0, 0, 0, 128, 0, 0, 0, 131, 0, 0, 0, 16, 0, 0, 0, 138, 0, 0, 0, 55, 0, 0, 0, 80, 0, 0, 0, 156, 0, 0, 0, 180, 0, 0, 0, 223, 0, 0, 0, 63, 0, 0, 0, 140, 0, 0, 0, 247, 0, 0, 0, 35, 0, 0, 0, 7, 0, 0, 0, 214, 0, 0, 0, 255, 0, 0, 0, 160, 0, 0, 0, 130, 0, 0, 0, 108, 0, 0, 0, 117, 0, 0, 0, 59, 0, 0, 0, 228, 0, 0, 0, 181, 0, 0, 0, 187, 0, 0, 0, 228, 0, -0, 0, 230, 0, 0, 0, 80, 0, 0, 0, 240, 0, 0, 0, 8, 0, 0, 0, 98, 0, 0, 0, 238, 0, 0, 0, 117, 0, 0, 0, 72, 0, 0, 0, 146, 0, 0, 0, 51, 0, 0, 0, 242, 0, 0, 0, 244, 0, 0, 0, 173, 0, 0, 0, 21, 0, 0, 0, 122, 0, 0, 0, 161, 0, 0, 0, 1, 0, 0, 0, 70, 0, 0, 0, 169, 0, 0, 0, 50, 0, 0, 0, 6, 0, 0, 0, 136, 0, 0, 0, 182, 0, 0, 0, 54, 0, 0, 0, 71, 0, 0, 0, 53, 0, 0, 0, 185, 0, 0, 0, 180, 0, 0, 0, 66, 0, 0, 0, 133, 0, 0, 0, 118, 0, 0, 0, 240, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 56, 0, 0, 0, 81, 0, 0, 0, -21, 0, 0, 0, 157, 0, 0, 0, 195, 0, 0, 0, 149, 0, 0, 0, 209, 0, 0, 0, 57, 0, 0, 0, 187, 0, 0, 0, 100, 0, 0, 0, 157, 0, 0, 0, 21, 0, 0, 0, 129, 0, 0, 0, 193, 0, 0, 0, 104, 0, 0, 0, 208, 0, 0, 0, 182, 0, 0, 0, 164, 0, 0, 0, 44, 0, 0, 0, 125, 0, 0, 0, 94, 0, 0, 0, 2, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, 59, 0, 0, 0, 164, 0, 0, 0, 204, 0, 0, 0, 202, 0, 0, 0, 29, 0, 0, 0, 129, 0, 0, 0, 36, 0, 0, 0, 16, 0, 0, 0, 231, 0, 0, 0, 41, 0, 0, 0, 249, 0, 0, 0, 55, 0, 0, 0, 217, 0, 0, 0, 70, 0, 0, 0, -90, 0, 0, 0, 205, 0, 0, 0, 112, 0, 0, 0, 254, 0, 0, 0, 77, 0, 0, 0, 91, 0, 0, 0, 191, 0, 0, 0, 165, 0, 0, 0, 207, 0, 0, 0, 145, 0, 0, 0, 244, 0, 0, 0, 239, 0, 0, 0, 238, 0, 0, 0, 138, 0, 0, 0, 41, 0, 0, 0, 208, 0, 0, 0, 231, 0, 0, 0, 196, 0, 0, 0, 37, 0, 0, 0, 146, 0, 0, 0, 138, 0, 0, 0, 255, 0, 0, 0, 54, 0, 0, 0, 252, 0, 0, 0, 228, 0, 0, 0, 73, 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, 4, 0, 0, 0, 125, 0, 0, 0, 53, 0, 0, 0, 252, 0, 0, 0, 235, 0, 0, 0, 208, 0, 0, 0, 11, 0, 0, 0, 5, 0, 0, 0, -50, 0, 0, 0, 82, 0, 0, 0, 122, 0, 0, 0, 137, 0, 0, 0, 36, 0, 0, 0, 117, 0, 0, 0, 80, 0, 0, 0, 225, 0, 0, 0, 99, 0, 0, 0, 2, 0, 0, 0, 130, 0, 0, 0, 142, 0, 0, 0, 231, 0, 0, 0, 133, 0, 0, 0, 12, 0, 0, 0, 242, 0, 0, 0, 86, 0, 0, 0, 68, 0, 0, 0, 55, 0, 0, 0, 131, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 161, 0, 0, 0, 206, 0, 0, 0, 203, 0, 0, 0, 96, 0, 0, 0, 218, 0, 0, 0, 18, 0, 0, 0, 2, 0, 0, 0, 30, 0, 0, 0, 41, 0, 0, 0, 57, 0, 0, 0, 42, 0, 0, 0, 3, 0, 0, 0, 183, 0, 0, 0, 235, 0, 0, 0, 119, 0, 0, 0, 64, 0, -0, 0, 234, 0, 0, 0, 201, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0, 213, 0, 0, 0, 125, 0, 0, 0, 126, 0, 0, 0, 44, 0, 0, 0, 199, 0, 0, 0, 90, 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 196, 0, 0, 0, 209, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 136, 0, 0, -0, 152, 0, 0, 0, 91, 0, 0, 0, 78, 0, 0, 0, 252, 0, 0, 0, 65, 0, 0, 0, 36, 0, 0, 0, 5, 0, 0, 0, 230, 0, 0, 0, 80, 0, 0, 0, 43, 0, 0, 0, 174, 0, 0, 0, 150, 0, 0, 0, 81, 0, 0, 0, 217, 0, 0, 0, 107, 0, 0, 0, 114, 0, 0, 0, 178, 0, 0, 0, 51, 0, 0, 0, 66, 0, 0, 0, 152, 0, 0, 0, 104, 0, 0, 0, 187, 0, 0, 0, 16, 0, 0, 0, 90, 0, 0, 0, 122, 0, 0, 0, 140, 0, 0, 0, 157, 0, 0, 0, 7, 0, 0, 0, 180, 0, 0, 0, 5, 0, 0, 0, 47, 0, 0, 0, 97, 0, 0, 0, 159, 0, 0, 0, 215, 0, 0, 0, 168, 0, 0, 0, 63, 0, 0, 0, 131, 0, 0, 0, -140, 0, 0, 0, 16, 0, 0, 0, 105, 0, 0, 0, 144, 0, 0, 0, 230, 0, 0, 0, 207, 0, 0, 0, 210, 0, 0, 0, 99, 0, 0, 0, 163, 0, 0, 0, 228, 0, 0, 0, 84, 0, 0, 0, 126, 0, 0, 0, 229, 0, 0, 0, 105, 0, 0, 0, 19, 0, 0, 0, 28, 0, 0, 0, 144, 0, 0, 0, 87, 0, 0, 0, 170, 0, 0, 0, 233, 0, 0, 0, 83, 0, 0, 0, 34, 0, 0, 0, 67, 0, 0, 0, 41, 0, 0, 0, 35, 0, 0, 0, 229, 0, 0, 0, 28, 0, 0, 0, 248, 0, 0, 0, 10, 0, 0, 0, 253, 0, 0, 0, 45, 0, 0, 0, 126, 0, 0, 0, 245, 0, 0, 0, 245, 0, 0, 0, 112, 0, 0, 0, 125, 0, 0, 0, 65, 0, 0, 0, -107, 0, 0, 0, 17, 0, 0, 0, 254, 0, 0, 0, 190, 0, 0, 0, 153, 0, 0, 0, 209, 0, 0, 0, 85, 0, 0, 0, 41, 0, 0, 0, 49, 0, 0, 0, 191, 0, 0, 0, 192, 0, 0, 0, 151, 0, 0, 0, 108, 0, 0, 0, 213, 0, 0, 0, 53, 0, 0, 0, 204, 0, 0, 0, 94, 0, 0, 0, 139, 0, 0, 0, 217, 0, 0, 0, 105, 0, 0, 0, 142, 0, 0, 0, 78, 0, 0, 0, 159, 0, 0, 0, 37, 0, 0, 0, 248, 0, 0, 0, 129, 0, 0, 0, 84, 0, 0, 0, 45, 0, 0, 0, 14, 0, 0, 0, 213, 0, 0, 0, 84, 0, 0, 0, 129, 0, 0, 0, 155, 0, 0, 0, 166, 0, 0, 0, 146, 0, 0, 0, 206, 0, 0, 0, 75, 0, 0, -0, 233, 0, 0, 0, 143, 0, 0, 0, 36, 0, 0, 0, 59, 0, 0, 0, 202, 0, 0, 0, 224, 0, 0, 0, 68, 0, 0, 0, 171, 0, 0, 0, 54, 0, 0, 0, 254, 0, 0, 0, 251, 0, 0, 0, 135, 0, 0, 0, 212, 0, 0, 0, 38, 0, 0, 0, 62, 0, 0, 0, 15, 0, 0, 0, 147, 0, 0, 0, 156, 0, 0, 0, 17, 0, 0, 0, 231, 0, 0, 0, 219, 0, 0, 0, 241, 0, 0, 0, 240, 0, 0, 0, 133, 0, 0, 0, 67, 0, 0, 0, 40, 0, 0, 0, 21, 0, 0, 0, 55, 0, 0, 0, 221, 0, 0, 0, 222, 0, 0, 0, 39, 0, 0, 0, 223, 0, 0, 0, 173, 0, 0, 0, 62, 0, 0, 0, 73, 0, 0, 0, 79, 0, 0, 0, 224, 0, 0, -0, 91, 0, 0, 0, 246, 0, 0, 0, 128, 0, 0, 0, 89, 0, 0, 0, 21, 0, 0, 0, 60, 0, 0, 0, 133, 0, 0, 0, 183, 0, 0, 0, 62, 0, 0, 0, 18, 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 204, 0, 0, 0, 240, 0, 0, 0, 180, 0, 0, 0, 18, 0, 0, 0, 3, 0, 0, 0, 95, 0, 0, 0, 201, 0, 0, 0, 132, 0, 0, 0, 203, 0, 0, 0, 29, 0, 0, 0, 23, 0, 0, 0, 224, 0, 0, 0, 188, 0, 0, 0, 204, 0, 0, 0, 3, 0, 0, 0, 98, 0, 0, 0, 169, 0, 0, 0, 139, 0, 0, 0, 148, 0, 0, 0, 166, 0, 0, 0, 170, 0, 0, 0, 24, 0, 0, 0, 203, 0, 0, 0, 39, 0, 0, 0, 141, 0, 0, -0, 73, 0, 0, 0, 166, 0, 0, 0, 23, 0, 0, 0, 21, 0, 0, 0, 7, 0, 0, 0, 217, 0, 0, 0, 182, 0, 0, 0, 212, 0, 0, 0, 157, 0, 0, 0, 212, 0, 0, 0, 106, 0, 0, 0, 175, 0, 0, 0, 112, 0, 0, 0, 7, 0, 0, 0, 44, 0, 0, 0, 16, 0, 0, 0, 158, 0, 0, 0, 189, 0, 0, 0, 17, 0, 0, 0, 173, 0, 0, 0, 228, 0, 0, 0, 38, 0, 0, 0, 51, 0, 0, 0, 112, 0, 0, 0, 146, 0, 0, 0, 120, 0, 0, 0, 28, 0, 0, 0, 116, 0, 0, 0, 159, 0, 0, 0, 117, 0, 0, 0, 96, 0, 0, 0, 86, 0, 0, 0, 244, 0, 0, 0, 57, 0, 0, 0, 168, 0, 0, 0, 168, 0, 0, 0, 98, 0, 0, -0, 59, 0, 0, 0, 191, 0, 0, 0, 85, 0, 0, 0, 53, 0, 0, 0, 97, 0, 0, 0, 139, 0, 0, 0, 68, 0, 0, 0, 151, 0, 0, 0, 232, 0, 0, 0, 58, 0, 0, 0, 85, 0, 0, 0, 193, 0, 0, 0, 200, 0, 0, 0, 59, 0, 0, 0, 253, 0, 0, 0, 149, 0, 0, 0, 41, 0, 0, 0, 17, 0, 0, 0, 96, 0, 0, 0, 150, 0, 0, 0, 30, 0, 0, 0, 203, 0, 0, 0, 17, 0, 0, 0, 157, 0, 0, 0, 194, 0, 0, 0, 3, 0, 0, 0, 138, 0, 0, 0, 27, 0, 0, 0, 198, 0, 0, 0, 214, 0, 0, 0, 69, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 14, 0, 0, 0, 80, 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 13, 0, 0, 0, 107, 0, 0, 0, 166, 0, 0, 0, 113, 0, 0, 0, 91, 0, 0, 0, 66, 0, 0, 0, 237, 0, 0, 0, 189, 0, 0, 0, 175, 0, 0, 0, 172, 0, 0, 0, 240, 0, 0, 0, 252, 0, 0, 0, 18, 0, 0, 0, 162, 0, 0, 0, 63, 0, 0, 0, 78, 0, 0, 0, 218, 0, 0, 0, 232, -0, 0, 0, 17, 0, 0, 0, 243, 0, 0, 0, 35, 0, 0, 0, 225, 0, 0, 0, 4, 0, 0, 0, 98, 0, 0, 0, 3, 0, 0, 0, 28, 0, 0, 0, 78, 0, 0, 0, 200, 0, 0, 0, 177, 0, 0, 0, 27, 0, 0, 0, 111, 0, 0, 0, 115, 0, 0, 0, 97, 0, 0, 0, 61, 0, 0, 0, 39, 0, 0, 0, 13, 0, 0, 0, 125, 0, 0, 0, 122, 0, 0, 0, 37, 0, 0, 0, 95, 0, 0, 0, 115, 0, 0, 0, 14, 0, 0, 0, 47, 0, 0, 0, 147, 0, 0, 0, 246, 0, 0, 0, 36, 0, 0, 0, 216, 0, 0, 0, 79, 0, 0, 0, 144, 0, 0, 0, 172, 0, 0, 0, 162, 0, 0, 0, 98, 0, 0, 0, 10, 0, 0, 0, 240, 0, 0, 0, 97, 0, 0, -0, 217, 0, 0, 0, 8, 0, 0, 0, 89, 0, 0, 0, 106, 0, 0, 0, 111, 0, 0, 0, 45, 0, 0, 0, 85, 0, 0, 0, 248, 0, 0, 0, 47, 0, 0, 0, 142, 0, 0, 0, 240, 0, 0, 0, 24, 0, 0, 0, 59, 0, 0, 0, 234, 0, 0, 0, 221, 0, 0, 0, 38, 0, 0, 0, 114, 0, 0, 0, 209, 0, 0, 0, 245, 0, 0, 0, 254, 0, 0, 0, 229, 0, 0, 0, 184, 0, 0, 0, 230, 0, 0, 0, 211, 0, 0, 0]).concat([16, 0, 0, 0, 72, 0, 0, 0, 70, 0, 0, 0, 73, 0, 0, 0, 58, 0, 0, 0, 159, 0, 0, 0, 94, 0, 0, 0, 69, 0, 0, 0, 107, 0, 0, 0, 144, 0, 0, 0, 232, 0, 0, 0, 127, 0, 0, 0, 211, -0, 0, 0, 118, 0, 0, 0, 105, 0, 0, 0, 51, 0, 0, 0, 123, 0, 0, 0, 185, 0, 0, 0, 64, 0, 0, 0, 112, 0, 0, 0, 238, 0, 0, 0, 166, 0, 0, 0, 41, 0, 0, 0, 107, 0, 0, 0, 221, 0, 0, 0, 208, 0, 0, 0, 93, 0, 0, 0, 141, 0, 0, 0, 193, 0, 0, 0, 62, 0, 0, 0, 74, 0, 0, 0, 234, 0, 0, 0, 55, 0, 0, 0, 177, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 53, 0, 0, 0, 241, 0, 0, 0, 40, 0, 0, 0, 157, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 122, 0, 0, 0, 219, 0, 0, 0, 18, 0, 0, 0, 210, 0, 0, 0, 138, 0, 0, 0, 130, 0, -0, 0, 3, 0, 0, 0, 27, 0, 0, 0, 30, 0, 0, 0, 175, 0, 0, 0, 249, 0, 0, 0, 75, 0, 0, 0, 156, 0, 0, 0, 190, 0, 0, 0, 174, 0, 0, 0, 124, 0, 0, 0, 228, 0, 0, 0, 148, 0, 0, 0, 42, 0, 0, 0, 35, 0, 0, 0, 179, 0, 0, 0, 98, 0, 0, 0, 134, 0, 0, 0, 231, 0, 0, 0, 253, 0, 0, 0, 35, 0, 0, 0, 170, 0, 0, 0, 153, 0, 0, 0, 189, 0, 0, 0, 43, 0, 0, 0, 17, 0, 0, 0, 108, 0, 0, 0, 141, 0, 0, 0, 166, 0, 0, 0, 213, 0, 0, 0, 172, 0, 0, 0, 157, 0, 0, 0, 204, 0, 0, 0, 104, 0, 0, 0, 117, 0, 0, 0, 127, 0, 0, 0, 195, 0, 0, 0, 77, -0, 0, 0, 75, 0, 0, 0, 221, 0, 0, 0, 108, 0, 0, 0, 187, 0, 0, 0, 17, 0, 0, 0, 90, 0, 0, 0, 96, 0, 0, 0, 229, 0, 0, 0, 189, 0, 0, 0, 125, 0, 0, 0, 39, 0, 0, 0, 139, 0, 0, 0, 218, 0, 0, 0, 180, 0, 0, 0, 149, 0, 0, 0, 246, 0, 0, 0, 3, 0, 0, 0, 39, 0, 0, 0, 164, 0, 0, 0, 146, 0, 0, 0, 63, 0, 0, 0, 34, 0, 0, 0, 214, 0, 0, 0, 181, 0, 0, 0, 23, 0, 0, 0, 132, 0, 0, 0, 191, 0, 0, 0, 18, 0, 0, 0, 204, 0, 0, 0, 35, 0, 0, 0, 20, 0, 0, 0, 74, 0, 0, 0, 223, 0, 0, 0, 20, 0, 0, 0, 49, 0, 0, 0, 188, 0, 0, 0, 161, -0, 0, 0, 172, 0, 0, 0, 110, 0, 0, 0, 171, 0, 0, 0, 250, 0, 0, 0, 87, 0, 0, 0, 17, 0, 0, 0, 83, 0, 0, 0, 179, 0, 0, 0, 39, 0, 0, 0, 230, 0, 0, 0, 249, 0, 0, 0, 71, 0, 0, 0, 51, 0, 0, 0, 68, 0, 0, 0, 52, 0, 0, 0, 30, 0, 0, 0, 121, 0, 0, 0, 252, 0, 0, 0, 166, 0, 0, 0, 180, 0, 0, 0, 11, 0, 0, 0, 53, 0, 0, 0, 32, 0, 0, 0, 201, 0, 0, 0, 77, 0, 0, 0, 34, 0, 0, 0, 132, 0, 0, 0, 196, 0, 0, 0, 169, 0, 0, 0, 32, 0, 0, 0, 236, 0, 0, 0, 137, 0, 0, 0, 148, 0, 0, 0, 186, 0, 0, 0, 102, 0, 0, 0, 86, 0, 0, 0, 72, -0, 0, 0, 185, 0, 0, 0, 135, 0, 0, 0, 127, 0, 0, 0, 202, 0, 0, 0, 30, 0, 0, 0, 6, 0, 0, 0, 237, 0, 0, 0, 165, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 225, 0, 0, 0, 245, 0, 0, 0, 241, 0, 0, 0, 213, 0, 0, 0, 171, 0, 0, -0, 168, 0, 0, 0, 43, 0, 0, 0, 174, 0, 0, 0, 137, 0, 0, 0, 243, 0, 0, 0, 207, 0, 0, 0, 86, 0, 0, 0, 159, 0, 0, 0, 242, 0, 0, 0, 75, 0, 0, 0, 49, 0, 0, 0, 188, 0, 0, 0, 24, 0, 0, 0, 169, 0, 0, 0, 6, 0, 0, 0, 91, 0, 0, 0, 190, 0, 0, 0, 180, 0, 0, 0, 97, 0, 0, 0, 248, 0, 0, 0, 178, 0, 0, 0, 6, 0, 0, 0, 156, 0, 0, 0, 129, 0, 0, 0, 171, 0, 0, 0, 76, 0, 0, 0, 31, 0, 0, 0, 104, 0, 0, 0, 118, 0, 0, 0, 1, 0, 0, 0, 22, 0, 0, 0, 56, 0, 0, 0, 43, 0, 0, 0, 15, 0, 0, 0, 119, 0, 0, 0, 151, 0, 0, 0, 146, 0, 0, 0, -103, 0, 0, 0, 78, 0, 0, 0, 134, 0, 0, 0, 106, 0, 0, 0, 139, 0, 0, 0, 229, 0, 0, 0, 232, 0, 0, 0, 12, 0, 0, 0, 247, 0, 0, 0, 54, 0, 0, 0, 57, 0, 0, 0, 181, 0, 0, 0, 51, 0, 0, 0, 230, 0, 0, 0, 207, 0, 0, 0, 94, 0, 0, 0, 189, 0, 0, 0, 24, 0, 0, 0, 251, 0, 0, 0, 16, 0, 0, 0, 31, 0, 0, 0, 131, 0, 0, 0, 240, 0, 0, 0, 13, 0, 0, 0, 99, 0, 0, 0, 239, 0, 0, 0, 83, 0, 0, 0, 107, 0, 0, 0, 181, 0, 0, 0, 107, 0, 0, 0, 249, 0, 0, 0, 131, 0, 0, 0, 207, 0, 0, 0, 222, 0, 0, 0, 4, 0, 0, 0, 34, 0, 0, 0, 155, 0, 0, 0, -44, 0, 0, 0, 10, 0, 0, 0, 224, 0, 0, 0, 165, 0, 0, 0, 216, 0, 0, 0, 199, 0, 0, 0, 156, 0, 0, 0, 165, 0, 0, 0, 163, 0, 0, 0, 246, 0, 0, 0, 111, 0, 0, 0, 207, 0, 0, 0, 144, 0, 0, 0, 107, 0, 0, 0, 104, 0, 0, 0, 124, 0, 0, 0, 51, 0, 0, 0, 21, 0, 0, 0, 215, 0, 0, 0, 127, 0, 0, 0, 26, 0, 0, 0, 213, 0, 0, 0, 33, 0, 0, 0, 88, 0, 0, 0, 196, 0, 0, 0, 24, 0, 0, 0, 165, 0, 0, 0, 240, 0, 0, 0, 204, 0, 0, 0, 115, 0, 0, 0, 168, 0, 0, 0, 253, 0, 0, 0, 250, 0, 0, 0, 24, 0, 0, 0, 209, 0, 0, 0, 3, 0, 0, 0, 145, 0, -0, 0, 141, 0, 0, 0, 82, 0, 0, 0, 210, 0, 0, 0, 163, 0, 0, 0, 164, 0, 0, 0, 211, 0, 0, 0, 177, 0, 0, 0, 234, 0, 0, 0, 29, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 72, 0, 0, 0, 131, 0, 0, 0, 144, 0, 0, 0, 229, 0, 0, 0, 253, 0, 0, 0, 63, 0, 0, 0, 132, 0, 0, 0, 170, 0, 0, 0, 249, 0, 0, 0, 139, 0, 0, 0, 130, 0, 0, 0, 89, 0, 0, 0, 36, 0, 0, 0, 52, 0, 0, 0, 104, 0, 0, 0, 79, 0, 0, 0, 28, 0, 0, 0, 35, 0, 0, 0, 217, 0, 0, 0, 204, 0, 0, 0, 113, 0, 0, 0, 225, 0, 0, 0, 127, 0, 0, 0, 140, 0, 0, 0, 175, -0, 0, 0, 241, 0, 0, 0, 238, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 160, 0, 0, 0, 119, 0, 0, 0, 245, 0, 0, 0, 26, 0, 0, 0, 97, 0, 0, 0, 247, 0, 0, 0, 55, 0, 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 242, 0, 0, 0, 105, 0, 0, 0, 111, 0, 0, 0, 75, 0, 0, 0, 1, 0, 0, 0, 133, 0, 0, 0, 25, 0, 0, 0, 69, 0, 0, 0, 77, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 124, 0, 0, 0, 106, 0, 0, 0, 5, 0, 0, 0, 71, 0, 0, 0, 108, 0, 0, 0, 31, 0, 0, 0, 129, 0, 0, 0, 32, 0, 0, 0, 212, 0, 0, 0, 232, 0, 0, 0, 80, 0, 0, 0, 39, 0, 0, -0, 114, 0, 0, 0, 44, 0, 0, 0, 58, 0, 0, 0, 229, 0, 0, 0, 173, 0, 0, 0, 244, 0, 0, 0, 221, 0, 0, 0, 45, 0, 0, 0, 247, 0, 0, 0, 92, 0, 0, 0, 68, 0, 0, 0, 181, 0, 0, 0, 91, 0, 0, 0, 33, 0, 0, 0, 163, 0, 0, 0, 137, 0, 0, 0, 95, 0, 0, 0, 150, 0, 0, 0, 69, 0, 0, 0, 202, 0, 0, 0, 77, 0, 0, 0, 164, 0, 0, 0, 33, 0, 0, 0, 153, 0, 0, 0, 112, 0, 0, 0, 218, 0, 0, 0, 196, 0, 0, 0, 196, 0, 0, 0, 160, 0, 0, 0, 229, 0, 0, 0, 244, 0, 0, 0, 236, 0, 0, 0, 10, 0, 0, 0, 7, 0, 0, 0, 104, 0, 0, 0, 33, 0, 0, 0, 101, 0, 0, -0, 233, 0, 0, 0, 8, 0, 0, 0, 160, 0, 0, 0, 11, 0, 0, 0, 106, 0, 0, 0, 74, 0, 0, 0, 186, 0, 0, 0, 181, 0, 0, 0, 128, 0, 0, 0, 175, 0, 0, 0, 208, 0, 0, 0, 27, 0, 0, 0, 197, 0, 0, 0, 245, 0, 0, 0, 75, 0, 0, 0, 115, 0, 0, 0, 80, 0, 0, 0, 96, 0, 0, 0, 45, 0, 0, 0, 113, 0, 0, 0, 105, 0, 0, 0, 97, 0, 0, 0, 14, 0, 0, 0, 192, 0, 0, 0, 32, 0, 0, 0, 64, 0, 0, 0, 48, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 117, 0, 0, 0, 87, 0, 0, 0, 59, 0, 0, 0, 235, 0, 0, 0, 92, 0, 0, 0, 20, 0, 0, 0, 86, 0, 0, 0, 80, 0, 0, 0, 201, 0, 0, 0, 79, 0, 0, 0, 184, 0, 0, 0, 184, 0, 0, 0, 30, 0, 0, 0, 163, 0, 0, 0, 244, 0, 0, 0, 171, 0, 0, 0, 245, 0, 0, 0, 169, 0, 0, 0, 32, 0, 0, 0, 21, 0, 0, 0, 148, 0, 0, 0, 130, 0, 0, 0, 218, 0, 0, 0, 150, 0, 0, 0, 28, 0, 0, 0, 155, -0, 0, 0, 89, 0, 0, 0, 140, 0, 0, 0, 255, 0, 0, 0, 244, 0, 0, 0, 81, 0, 0, 0, 193, 0, 0, 0, 58, 0, 0, 0, 134, 0, 0, 0, 215, 0, 0, 0, 176, 0, 0, 0, 6, 0, 0, 0, 132, 0, 0, 0, 127, 0, 0, 0, 27, 0, 0, 0, 189, 0, 0, 0, 212, 0, 0, 0, 7, 0, 0, 0, 120, 0, 0, 0, 128, 0, 0, 0, 46, 0, 0, 0, 177, 0, 0, 0, 180, 0, 0, 0, 238, 0, 0, 0, 82, 0, 0, 0, 56, 0, 0, 0, 238, 0, 0, 0, 154, 0, 0, 0, 249, 0, 0, 0, 246, 0, 0, 0, 243, 0, 0, 0, 65, 0, 0, 0, 110, 0, 0, 0, 212, 0, 0, 0, 136, 0, 0, 0, 149, 0, 0, 0, 172, 0, 0, 0, -53, 0, 0, 0, 65, 0, 0, 0, 151, 0, 0, 0, 191, 0, 0, 0, 113, 0, 0, 0, 106, 0, 0, 0, 155, 0, 0, 0, 114, 0, 0, 0, 236, 0, 0, 0, 243, 0, 0, 0, 248, 0, 0, 0, 107, 0, 0, 0, 230, 0, 0, 0, 14, 0, 0, 0, 108, 0, 0, 0, 105, 0, 0, 0, 165, 0, 0, 0, 47, 0, 0, 0, 104, 0, 0, 0, 82, 0, 0, 0, 216, 0, 0, 0, 97, 0, 0, 0, 129, 0, 0, 0, 192, 0, 0, 0, 99, 0, 0, 0, 63, 0, 0, 0, 166, 0, 0, 0, 60, 0, 0, 0, 19, 0, 0, 0, 144, 0, 0, 0, 230, 0, 0, 0, 141, 0, 0, 0, 86, 0, 0, 0, 232, 0, 0, 0, 57, 0, 0, 0, 48, 0, 0, 0, 119, 0, 0, -0, 35, 0, 0, 0, 177, 0, 0, 0, 253, 0, 0, 0, 27, 0, 0, 0, 61, 0, 0, 0, 62, 0, 0, 0, 116, 0, 0, 0, 77, 0, 0, 0, 127, 0, 0, 0, 174, 0, 0, 0, 91, 0, 0, 0, 58, 0, 0, 0, 180, 0, 0, 0, 101, 0, 0, 0, 14, 0, 0, 0, 58, 0, 0, 0, 67, 0, 0, 0, 220, 0, 0, 0, 220, 0, 0, 0, 65, 0, 0, 0, 71, 0, 0, 0, 230, 0, 0, 0, 232, 0, 0, 0, 146, 0, 0, 0, 9, 0, 0, 0, 34, 0, 0, 0, 72, 0, 0, 0, 76, 0, 0, 0, 133, 0, 0, 0, 87, 0, 0, 0, 159, 0, 0, 0, 181, 0, 0, 0, 200, 0, 0, 0, 6, 0, 0, 0, 178, 0, 0, 0, 159, 0, 0, 0, 71, 0, 0, 0, 63, -0, 0, 0, 240, 0, 0, 0, 250, 0, 0, 0, 230, 0, 0, 0, 169, 0, 0, 0, 177, 0, 0, 0, 155, 0, 0, 0, 111, 0, 0, 0, 150, 0, 0, 0, 125, 0, 0, 0, 249, 0, 0, 0, 164, 0, 0, 0, 101, 0, 0, 0, 9, 0, 0, 0, 117, 0, 0, 0, 50, 0, 0, 0, 166, 0, 0, 0, 108, 0, 0, 0, 127, 0, 0, 0, 71, 0, 0, 0, 75, 0, 0, 0, 47, 0, 0, 0, 79, 0, 0, 0, 52, 0, 0, 0, 233, 0, 0, 0, 89, 0, 0, 0, 147, 0, 0, 0, 157, 0, 0, 0, 38, 0, 0, 0, 128, 0, 0, 0, 84, 0, 0, 0, 242, 0, 0, 0, 204, 0, 0, 0, 60, 0, 0, 0, 194, 0, 0, 0, 37, 0, 0, 0, 133, 0, 0, 0, 227, -0, 0, 0, 106, 0, 0, 0, 193, 0, 0, 0, 98, 0, 0, 0, 4, 0, 0, 0, 167, 0, 0, 0, 8, 0, 0, 0, 50, 0, 0, 0, 109, 0, 0, 0, 161, 0, 0, 0, 57, 0, 0, 0, 132, 0, 0, 0, 138, 0, 0, 0, 59, 0, 0, 0, 135, 0, 0, 0, 95, 0, 0, 0, 17, 0, 0, 0, 19, 0, 0, 0, 218, 0, 0, 0, 3, 0, 0, 0, 52, 0, 0, 0, 102, 0, 0, 0, 196, 0, 0, 0, 12, 0, 0, 0, 115, 0, 0, 0, 110, 0, 0, 0, 188, 0, 0, 0, 36, 0, 0, 0, 181, 0, 0, 0, 249, 0, 0, 0, 112, 0, 0, 0, 129, 0, 0, 0, 82, 0, 0, 0, 233, 0, 0, 0, 244, 0, 0, 0, 124, 0, 0, 0, 35, 0, 0, 0, 221, 0, -0, 0, 159, 0, 0, 0, 184, 0, 0, 0, 70, 0, 0, 0, 239, 0, 0, 0, 29, 0, 0, 0, 34, 0, 0, 0, 85, 0, 0, 0, 125, 0, 0, 0, 113, 0, 0, 0, 196, 0, 0, 0, 66, 0, 0, 0, 51, 0, 0, 0, 197, 0, 0, 0, 55, 0, 0, 0, 105, 0, 0, 0, 91, 0, 0, 0, 168, 0, 0, 0, 198, 0, 0, 0, 157, 0, 0, 0, 164, 0, 0, 0, 252, 0, 0, 0, 97, 0, 0, 0, 110, 0, 0, 0, 104, 0, 0, 0, 70, 0, 0, 0, 234, 0, 0, 0, 215, 0, 0, 0, 28, 0, 0, 0, 103, 0, 0, 0, 210, 0, 0, 0, 125, 0, 0, 0, 250, 0, 0, 0, 241, 0, 0, 0, 204, 0, 0, 0, 84, 0, 0, 0, 141, 0, 0, 0, 54, -0, 0, 0, 53, 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, 108, 0, 0, 0, 103, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0, 77, 0, 0, 0, 66, 0, 0, 0, 41, 0, 0, 0, 93, 0, 0, 0, 164, 0, 0, 0, 107, 0, 0, 0, 111, 0, 0, 0, 168, 0, 0, 0, 138, 0, 0, -0, 77, 0, 0, 0, 145, 0, 0, 0, 123, 0, 0, 0, 210, 0, 0, 0, 223, 0, 0, 0, 54, 0, 0, 0, 239, 0, 0, 0, 1, 0, 0, 0, 34, 0, 0, 0, 197, 0, 0, 0, 204, 0, 0, 0, 141, 0, 0, 0, 235, 0, 0, 0, 88, 0, 0, 0, 61, 0, 0, 0, 179, 0, 0, 0, 80, 0, 0, 0, 252, 0, 0, 0, 139, 0, 0, 0, 151, 0, 0, 0, 150, 0, 0, 0, 51, 0, 0, 0, 147, 0, 0, 0, 51, 0, 0, 0, 7, 0, 0, 0, 200, 0, 0, 0, 74, 0, 0, 0, 202, 0, 0, 0, 208, 0, 0, 0, 177, 0, 0, 0, 171, 0, 0, 0, 189, 0, 0, 0, 221, 0, 0, 0, 167, 0, 0, 0, 124, 0, 0, 0, 172, 0, 0, 0, 62, 0, -0, 0, 69, 0, 0, 0, 203, 0, 0, 0, 204, 0, 0, 0, 7, 0, 0, 0, 145, 0, 0, 0, 191, 0, 0, 0, 53, 0, 0, 0, 157, 0, 0, 0, 203, 0, 0, 0, 125, 0, 0, 0, 18, 0, 0, 0, 60, 0, 0, 0, 17, 0, 0, 0, 89, 0, 0, 0, 19, 0, 0, 0, 207, 0, 0, 0, 92, 0, 0, 0, 69, 0, 0, 0, 184, 0, 0, 0, 65, 0, 0, 0, 215, 0, 0, 0, 171, 0, 0, 0, 7, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, 206, 0, 0, 0, 223, 0, 0, 0, 178, 0, 0, 0, 67, 0, 0, 0, 92, 0, 0, 0, 1, 0, 0, 0, 220, 0, 0, 0, 244, 0, 0, 0, 1, 0, 0, 0, 81, 0, 0, 0, 149, 0, 0, 0, 16, -0, 0, 0, 90, 0, 0, 0, 246, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 160, 0, 0, 0, 25, 0, 0, 0, 58, 0, 0, 0, 9, 0, 0, 0, 42, 0, 0, 0, 170, 0, 0, 0, 63, 0, 0, 0, 220, 0, 0, 0, 142, 0, 0, 0, 235, 0, 0, 0, 198, 0, 0, 0, 191, 0, 0, 0, 221, 0, 0, 0, 17, 0, 0, 0, 123, 0, 0, 0, 231, 0, 0, 0, 71, 0, 0, 0, 230, 0, 0, 0, 206, 0, 0, 0, 231, 0, 0, 0, 182, 0, 0, 0, 197, 0, 0, 0, 232, 0, 0, 0, 138, 0, 0, 0, 220, 0, 0, 0, 75, 0, 0, 0, 87, 0, 0, 0, 21, 0, 0, 0, 59, 0, 0, 0, 102, 0, 0, 0, 202, 0, 0, 0, 137, 0, 0, 0, 163, -0, 0, 0, 253, 0, 0, 0, 172, 0, 0, 0, 13, 0, 0, 0, 225, 0, 0, 0, 29, 0, 0, 0, 122, 0, 0, 0, 137, 0, 0, 0, 239, 0, 0, 0, 191, 0, 0, 0, 3, 0, 0, 0, 117, 0, 0, 0, 208, 0, 0, 0, 41, 0, 0, 0, 80, 0, 0, 0, 203, 0, 0, 0, 125, 0, 0, 0, 214, 0, 0, 0, 190, 0, 0, 0, 173, 0, 0, 0, 95, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 170, 0, 0, 0, 152, 0, 0, 0, 237, 0, 0, 0, 63, 0, 0, 0, 143, 0, 0, 0, 146, 0, 0, 0, 203, 0, 0, 0, 129, 0, 0, 0, 86, 0, 0, 0, 1, 0, 0, 0, 99, 0, 0, 0, 100, 0, 0, 0, 163, 0, 0, 0, 56, -0, 0, 0, 57, 0, 0, 0, 139, 0, 0, 0, 164, 0, 0, 0, 214, 0, 0, 0, 80, 0, 0, 0, 180, 0, 0, 0, 170, 0, 0, 0, 93, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 118, 0, 0, 0, 46, 0, 0, 0, 161, 0, 0, 0, 166, 0, 0, 0, 179, 0, 0, 0, 184, 0, 0, 0, 124, 0, 0, 0, 122, 0, 0, 0, 86, 0, 0, 0, 245, 0, 0, 0, 92, 0, 0, 0, 78, 0, 0, 0, 132, 0, 0, 0, 92, 0, 0, 0, 251, 0, 0, 0, 221, 0, 0, 0, 202, 0, 0, 0, 72, 0, 0, 0, 139, 0, 0, 0, 72, 0, 0, 0, 185, 0, 0, 0, 186, 0, 0, 0, 52, 0, 0, 0, 197, 0, 0, 0, 227, 0, 0, 0, 232, 0, 0, 0, -174, 0, 0, 0, 23, 0, 0, 0, 39, 0, 0, 0, 227, 0, 0, 0, 100, 0, 0, 0, 96, 0, 0, 0, 113, 0, 0, 0, 71, 0, 0, 0, 41, 0, 0, 0, 2, 0, 0, 0, 15, 0, 0, 0, 146, 0, 0, 0, 93, 0, 0, 0, 16, 0, 0, 0, 147, 0, 0, 0, 200, 0, 0, 0, 14, 0, 0, 0, 161, 0, 0, 0, 237, 0, 0, 0, 186, 0, 0, 0, 169, 0, 0, 0, 150, 0, 0, 0, 28, 0, 0, 0, 197, 0, 0, 0, 118, 0, 0, 0, 48, 0, 0, 0, 205, 0, 0, 0, 249, 0, 0, 0, 48, 0, 0, 0, 149, 0, 0, 0, 176, 0, 0, 0, 189, 0, 0, 0, 140, 0, 0, 0, 188, 0, 0, 0, 167, 0, 0, 0, 79, 0, 0, 0, 126, 0, 0, 0, -253, 0, 0, 0, 78, 0, 0, 0, 58, 0, 0, 0, 191, 0, 0, 0, 95, 0, 0, 0, 4, 0, 0, 0, 121, 0, 0, 0, 128, 0, 0, 0, 43, 0, 0, 0, 90, 0, 0, 0, 159, 0, 0, 0, 79, 0, 0, 0, 104, 0, 0, 0, 33, 0, 0, 0, 25, 0, 0, 0, 113, 0, 0, 0, 198, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 66, 0, 0, 0, 170, 0, 0, 0, 223, 0, 0, 0, 174, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 110, 0, 0, 0, 126, 0, 0, 0, 75, 0, 0, 0, 113, 0, 0, 0, 147, 0, 0, 0, 192, 0, 0, 0, 114, 0, 0, 0, 237, 0, 0, 0, 235, 0, 0, 0, 113, 0, 0, 0, 36, 0, 0, 0, 151, 0, 0, 0, 38, 0, 0, 0, 156, 0, 0, 0, 254, 0, 0, 0, 203, 0, 0, 0, 62, 0, 0, 0, 89, 0, 0, 0, 25, 0, 0, 0, 168, 0, 0, 0, 15, 0, 0, 0, 117, 0, 0, 0, 125, 0, 0, 0, 190, 0, 0, 0, 24, 0, 0, 0, 230, 0, 0, 0, 150, 0, 0, 0, 30, 0, 0, 0, 149, 0, 0, 0, 112, -0, 0, 0, 96, 0, 0, 0, 137, 0, 0, 0, 102, 0, 0, 0, 62, 0, 0, 0, 29, 0, 0, 0, 76, 0, 0, 0, 95, 0, 0, 0, 254, 0, 0, 0, 192, 0, 0, 0, 4, 0, 0, 0, 67, 0, 0, 0, 214, 0, 0, 0, 68, 0, 0, 0, 25, 0, 0, 0, 181, 0, 0, 0, 173, 0, 0, 0, 199, 0, 0, 0, 34, 0, 0, 0, 220, 0, 0, 0, 113, 0, 0, 0, 40, 0, 0, 0, 100, 0, 0, 0, 222, 0, 0, 0, 65, 0, 0, 0, 56, 0, 0, 0, 39, 0, 0, 0, 143, 0, 0, 0, 44, 0, 0, 0, 107, 0, 0, 0, 8, 0, 0, 0, 184, 0, 0, 0, 184, 0, 0, 0, 123, 0, 0, 0, 61, 0, 0, 0, 112, 0, 0, 0, 39, 0, 0, 0, 157, 0, -0, 0, 217, 0, 0, 0, 175, 0, 0, 0, 177, 0, 0, 0, 39, 0, 0, 0, 175, 0, 0, 0, 227, 0, 0, 0, 93, 0, 0, 0, 30, 0, 0, 0, 58, 0, 0, 0, 48, 0, 0, 0, 84, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 232, 0, 0, 0, 195, 0, 0, 0, 38, 0, 0, 0, 58, 0, 0, 0, 188, 0, 0, 0, 126, 0, 0, 0, 245, 0, 0, 0, 129, 0, 0, 0, 221, 0, 0, 0, 100, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 235, 0, 0, 0, 192, 0, 0, 0, 30, 0, 0, 0, 218, 0, 0, 0, 44, 0, 0, 0, 164, 0, 0, 0, 209, 0, 0, 0, 161, 0, 0, 0, 195, 0, 0, 0, 92, 0, 0, 0, 110, 0, 0, 0, 50, 0, 0, -0, 7, 0, 0, 0, 31, 0, 0, 0, 184, 0, 0, 0, 14, 0, 0, 0, 25, 0, 0, 0, 158, 0, 0, 0, 153, 0, 0, 0, 41, 0, 0, 0, 51, 0, 0, 0, 154, 0, 0, 0, 174, 0, 0, 0, 122, 0, 0, 0, 237, 0, 0, 0, 104, 0, 0, 0, 66, 0, 0, 0, 105, 0, 0, 0, 124, 0, 0, 0, 7, 0, 0, 0, 179, 0, 0, 0, 56, 0, 0, 0, 44, 0, 0, 0, 246, 0, 0, 0, 61, 0, 0, 0, 100, 0, 0, 0, 170, 0, 0, 0, 181, 0, 0, 0, 136, 0, 0, 0, 121, 0, 0, 0, 101, 0, 0, 0, 56, 0, 0, 0, 140, 0, 0, 0, 148, 0, 0, 0, 214, 0, 0, 0, 98, 0, 0, 0, 55, 0, 0, 0, 125, 0, 0, 0, 100, 0, 0, -0, 205, 0, 0, 0, 58, 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 232, 0, 0, 0, 129, 0, 0, 0, 9, 0, 0, 0, 199, 0, 0, 0, 106, 0, 0, 0, 80, 0, 0, 0, 9, 0, 0, 0, 13, 0, 0, 0, 40, 0, 0, 0, 3, 0, 0, 0, 13, 0, 0, 0, 154, 0, 0, 0, 147, 0, 0, 0, 10, 0, 0, 0, 66, 0, 0, 0, 163, 0, 0, 0, 241, 0, 0, 0, 197, 0, 0, 0, 180, 0, 0, 0, 15, 0, 0, 0, 216, 0, 0, 0, 200, 0, 0, 0, 141, 0, 0, 0, 21, 0, 0, 0, 49, 0, 0, 0, 189, 0, 0, 0, 248, 0, 0, 0, 7, 0, 0, 0, 139, 0, 0, 0, 205, 0, 0, 0, 8, 0, 0, 0, 138, 0, 0, 0, 251, 0, 0, 0, -24, 0, 0, 0, 7, 0, 0, 0, 254, 0, 0, 0, 142, 0, 0, 0, 82, 0, 0, 0, 134, 0, 0, 0, 239, 0, 0, 0, 190, 0, 0, 0, 236, 0, 0, 0, 73, 0, 0, 0, 82, 0, 0, 0, 153, 0, 0, 0, 8, 0, 0, 0, 15, 0, 0, 0, 169, 0, 0, 0, 213, 0, 0, 0, 1, 0, 0, 0, 170, 0, 0, 0, 72, 0, 0, 0, 79, 0, 0, 0, 40, 0, 0, 0, 102, 0, 0, 0, 50, 0, 0, 0, 26, 0, 0, 0, 186, 0, 0, 0, 124, 0, 0, 0, 234, 0, 0, 0, 17, 0, 0, 0, 128, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0, 155, 0, 0, 0, 86, 0, 0, 0, 136, 0, 0, 0, 37, 0, 0, 0, 6, 0, 0, 0, 105, 0, 0, 0, 18, 0, -0, 0, 44, 0, 0, 0, 234, 0, 0, 0, 86, 0, 0, 0, 105, 0, 0, 0, 65, 0, 0, 0, 36, 0, 0, 0, 25, 0, 0, 0, 222, 0, 0, 0, 33, 0, 0, 0, 240, 0, 0, 0, 218, 0, 0, 0, 138, 0, 0, 0, 251, 0, 0, 0, 177, 0, 0, 0, 184, 0, 0, 0, 205, 0, 0, 0, 200, 0, 0, 0, 106, 0, 0, 0, 130, 0, 0, 0, 25, 0, 0, 0, 115, 0, 0, 0, 219, 0, 0, 0, 199, 0, 0, 0, 207, 0, 0, 0, 136, 0, 0, 0, 235, 0, 0, 0, 150, 0, 0, 0, 238, 0, 0, 0, 111, 0, 0, 0, 251, 0, 0, 0, 6, 0, 0, 0, 210, 0, 0, 0, 205, 0, 0, 0, 125, 0, 0, 0, 123, 0, 0, 0, 18, 0, 0, 0, 40, -0, 0, 0, 142, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 68, 0, 0, 0, 151, 0, 0, 0, 206, 0, 0, 0, 40, 0, 0, 0, 255, 0, 0, 0, 58, 0, 0, 0, 64, 0, 0, 0, 196, 0, 0, 0, 245, 0, 0, 0, 246, 0, 0, 0, 155, 0, 0, 0, 244, 0, 0, 0, 107, 0, 0, 0, 7, 0, -0, 0, 132, 0, 0, 0, 251, 0, 0, 0, 152, 0, 0, 0, 216, 0, 0, 0, 236, 0, 0, 0, 140, 0, 0, 0, 3, 0, 0, 0, 87, 0, 0, 0, 236, 0, 0, 0, 73, 0, 0, 0, 237, 0, 0, 0, 99, 0, 0, 0, 182, 0, 0, 0, 170, 0, 0, 0, 255, 0, 0, 0, 152, 0, 0, 0, 40, 0, 0, 0, 61, 0, 0, 0, 22, 0, 0, 0, 53, 0, 0, 0, 243, 0, 0, 0, 70, 0, 0, 0, 188, 0, 0, 0, 179, 0, 0, 0, 244, 0, 0, 0, 198, 0, 0, 0, 182, 0, 0, 0, 79, 0, 0, 0, 250, 0, 0, 0, 244, 0, 0, 0, 160, 0, 0, 0, 19, 0, 0, 0, 230, 0, 0, 0, 87, 0, 0, 0, 69, 0, 0, 0, 147, 0, 0, 0, 185, -0, 0, 0, 188, 0, 0, 0, 214, 0, 0, 0, 89, 0, 0, 0, 231, 0, 0, 0, 119, 0, 0, 0, 148, 0, 0, 0, 108, 0, 0, 0, 171, 0, 0, 0, 150, 0, 0, 0, 59, 0, 0, 0, 79, 0, 0, 0, 9, 0, 0, 0, 90, 0, 0, 0, 247, 0, 0, 0, 107, 0, 0, 0, 1, 0, 0, 0, 18, 0, 0, 0, 79, 0, 0, 0, 81, 0, 0, 0, 193, 0, 0, 0, 112, 0, 0, 0, 132, 0, 0, 0, 148, 0, 0, 0, 71, 0, 0, 0, 178, 0, 0, 0, 1, 0, 0, 0, 108, 0, 0, 0, 113, 0, 0, 0, 215, 0, 0, 0, 204, 0, 0, 0, 23, 0, 0, 0, 102, 0, 0, 0, 15, 0, 0, 0, 89, 0, 0, 0, 93, 0, 0, 0, 93, 0, 0, 0, 16, 0, -0, 0, 1, 0, 0, 0, 87, 0, 0, 0, 17, 0, 0, 0, 245, 0, 0, 0, 221, 0, 0, 0, 226, 0, 0, 0, 52, 0, 0, 0, 38, 0, 0, 0, 217, 0, 0, 0, 31, 0, 0, 0, 92, 0, 0, 0, 88, 0, 0, 0, 172, 0, 0, 0, 139, 0, 0, 0, 3, 0, 0, 0, 210, 0, 0, 0, 195, 0, 0, 0, 133, 0, 0, 0, 15, 0, 0, 0, 58, 0, 0, 0, 195, 0, 0, 0, 127, 0, 0, 0, 109, 0, 0, 0, 142, 0, 0, 0, 134, 0, 0, 0, 205, 0, 0, 0, 82, 0, 0, 0, 116, 0, 0, 0, 143, 0, 0, 0, 85, 0, 0, 0, 119, 0, 0, 0, 23, 0, 0, 0, 183, 0, 0, 0, 142, 0, 0, 0, 183, 0, 0, 0, 136, 0, 0, 0, 234, 0, -0, 0, 218, 0, 0, 0, 27, 0, 0, 0, 182, 0, 0, 0, 234, 0, 0, 0, 14, 0, 0, 0, 64, 0, 0, 0, 147, 0, 0, 0, 32, 0, 0, 0, 121, 0, 0, 0, 53, 0, 0, 0, 106, 0, 0, 0, 97, 0, 0, 0, 132, 0, 0, 0, 90, 0, 0, 0, 7, 0, 0, 0, 109, 0, 0, 0, 249, 0, 0, 0, 119, 0, 0, 0, 111, 0, 0, 0, 237, 0, 0, 0, 105, 0, 0, 0, 28, 0, 0, 0, 13, 0, 0, 0, 37, 0, 0, 0, 118, 0, 0, 0, 204, 0, 0, 0, 240, 0, 0, 0, 219, 0, 0, 0, 187, 0, 0, 0, 197, 0, 0, 0, 173, 0, 0, 0, 226, 0, 0, 0, 38, 0, 0, 0, 87, 0, 0, 0, 207, 0, 0, 0, 232, 0, 0, 0, 14, 0, -0, 0, 107, 0, 0, 0, 150, 0, 0, 0, 125, 0, 0, 0, 237, 0, 0, 0, 39, 0, 0, 0, 209, 0, 0, 0, 60, 0, 0, 0, 169, 0, 0, 0, 217, 0, 0, 0, 80, 0, 0, 0, 169, 0, 0, 0, 152, 0, 0, 0, 132, 0, 0, 0, 94, 0, 0, 0, 134, 0, 0, 0, 239, 0, 0, 0, 214, 0, 0, 0, 240, 0, 0, 0, 248, 0, 0, 0, 14, 0, 0, 0, 137, 0, 0, 0, 5, 0, 0, 0, 47, 0, 0, 0, 217, 0, 0, 0, 95, 0, 0, 0, 21, 0, 0, 0, 95, 0, 0, 0, 115, 0, 0, 0, 121, 0, 0, 0, 200, 0, 0, 0, 92, 0, 0, 0, 22, 0, 0, 0, 254, 0, 0, 0, 237, 0, 0, 0, 159, 0, 0, 0, 38, 0, 0, 0, 86, 0, -0, 0, 246, 0, 0, 0, 75, 0, 0, 0, 159, 0, 0, 0, 167, 0, 0, 0, 10, 0, 0, 0, 133, 0, 0, 0, 254, 0, 0, 0, 165, 0, 0, 0, 140, 0, 0, 0, 135, 0, 0, 0, 221, 0, 0, 0, 152, 0, 0, 0, 206, 0, 0, 0, 78, 0, 0, 0, 195, 0, 0, 0, 88, 0, 0, 0, 85, 0, 0, 0, 178, 0, 0, 0, 123, 0, 0, 0, 61, 0, 0, 0, 216, 0, 0, 0, 107, 0, 0, 0, 181, 0, 0, 0, 76, 0, 0, 0, 101, 0, 0, 0, 56, 0, 0, 0, 160, 0, 0, 0, 21, 0, 0, 0, 250, 0, 0, 0, 167, 0, 0, 0, 180, 0, 0, 0, 143, 0, 0, 0, 235, 0, 0, 0, 196, 0, 0, 0, 134, 0, 0, 0, 155, 0, 0, 0, -48, 0, 0, 0, 165, 0, 0, 0, 94, 0, 0, 0, 77, 0, 0, 0, 234, 0, 0, 0, 138, 0, 0, 0, 154, 0, 0, 0, 159, 0, 0, 0, 26, 0, 0, 0, 216, 0, 0, 0, 91, 0, 0, 0, 83, 0, 0, 0, 20, 0, 0, 0, 25, 0, 0, 0, 37, 0, 0, 0, 99, 0, 0, 0, 180, 0, 0, 0, 111, 0, 0, 0, 31, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 143, 0, 0, 0, 188, 0, 0, 0, 30, 0, 0, 0, 125, 0, 0, 0, 139, 0, 0, 0, 90, 0, 0, 0, 11, 0, 0, 0, 141, 0, 0, 0, 175, 0, 0, 0, 118, 0, 0, 0, 46, 0, 0, 0, 113, 0, 0, 0, 227, 0, 0, 0, 59, 0, 0, 0, 111, 0, 0, 0, 83, 0, 0, 0, 47, 0, 0, 0, 62, 0, 0, 0, 144, 0, 0, 0, 149, 0, 0, 0, 212, 0, 0, 0, 53, 0, 0, 0, 20, 0, 0, 0, 79, 0, 0, 0, 140, 0, 0, 0, 60, 0, 0, 0, 206, 0, 0, 0, 87, 0, 0, 0, 28, 0, 0, 0, 118, 0, 0, 0, 73, 0, 0, 0, 168, 0, 0, 0, 80, 0, 0, 0, 225, 0, -0, 0, 97, 0, 0, 0, 107, 0, 0, 0, 87, 0, 0, 0, 53, 0, 0, 0, 235, 0, 0, 0, 68, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 110, 0, 0, 0, 249, 0, 0, 0, 37, 0, 0, 0, 128, 0, 0, 0, 116, 0, 0, 0, 242, 0, 0, 0, 143, 0, 0, 0, 111, 0, 0, 0, 122, 0, 0, 0, 62, 0, 0, 0, 127, 0, 0, 0, 45, 0, 0, 0, 243, 0, 0, 0, 78, 0, 0, 0, 9, 0, 0, 0, 101, 0, 0, 0, 16, 0, 0, 0, 94, 0, 0, 0, 3, 0, 0, 0, 37, 0, 0, 0, 50, 0, 0, 0, 169, 0, 0, 0, 96, 0, 0, 0, 220, 0, 0, 0, 15, 0, 0, 0, 100, 0, 0, 0, 229, 0, 0, 0, 29, 0, 0, 0, 226, 0, 0, 0, -141, 0, 0, 0, 79, 0, 0, 0, 121, 0, 0, 0, 47, 0, 0, 0, 14, 0, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 119, 0, 0, 0, 67, 0, 0, 0, 37, 0, 0, 0, 61, 0, 0, 0, 106, 0, 0, 0, 199, 0, 0, 0, 183, 0, 0, 0, 191, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 101, 0, 0, 0, 244, 0, 0, 0, 57, 0, 0, 0, 75, 0, 0, 0, 101, 0, 0, 0, 150, 0, 0, 0, 25, 0, 0, 0, 18, 0, 0, 0, 107, 0, 0, 0, 106, 0, 0, 0, 183, 0, 0, 0, 227, 0, 0, 0, 220, 0, 0, 0, 69, 0, 0, 0, 155, 0, 0, 0, 219, 0, 0, 0, 180, 0, 0, 0, 168, 0, 0, 0, 174, -0, 0, 0, 220, 0, 0, 0, 168, 0, 0, 0, 20, 0, 0, 0, 68, 0, 0, 0, 101, 0, 0, 0, 98, 0, 0, 0, 206, 0, 0, 0, 52, 0, 0, 0, 154, 0, 0, 0, 132, 0, 0, 0, 24, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 241, 0, 0, 0, 226, 0, 0, 0, 123, 0, 0, 0, 206, 0, 0, 0, 80, 0, 0, 0, 65, 0, 0, 0, 33, 0, 0, 0, 48, 0, 0, 0, 83, 0, 0, 0, 27, 0, 0, 0, 71, 0, 0, 0, 1, 0, 0, 0, 183, 0, 0, 0, 24, 0, 0, 0, 216, 0, 0, 0, 130, 0, 0, 0, 87, 0, 0, 0, 189, 0, 0, 0, 163, 0, 0, 0, 96, 0, 0, 0, 240, 0, 0, 0, 50, 0, 0, 0, 246, 0, 0, 0, 91, 0, 0, -0, 240, 0, 0, 0, 48, 0, 0, 0, 136, 0, 0, 0, 145, 0, 0, 0, 89, 0, 0, 0, 253, 0, 0, 0, 144, 0, 0, 0, 162, 0, 0, 0, 185, 0, 0, 0, 85, 0, 0, 0, 147, 0, 0, 0, 33, 0, 0, 0, 52, 0, 0, 0, 151, 0, 0, 0, 103, 0, 0, 0, 158, 0, 0, 0, 235, 0, 0, 0, 106, 0, 0, 0, 249, 0, 0, 0, 110, 0, 0, 0, 214, 0, 0, 0, 115, 0, 0, 0, 232, 0, 0, 0, 107, 0, 0, 0, 41, 0, 0, 0, 236, 0, 0, 0, 99, 0, 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 153, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 48, 0, 0, 0, 200, 0, 0, 0, 144, 0, 0, 0, 82, 0, -0, 0, 144, 0, 0, 0, 182, 0, 0, 0, 106, 0, 0, 0, 128, 0, 0, 0, 78, 0, 0, 0, 255, 0, 0, 0, 75, 0, 0, 0, 81, 0, 0, 0, 15, 0, 0, 0, 125, 0, 0, 0, 99, 0, 0, 0, 140, 0, 0, 0, 110, 0, 0, 0, 92, 0, 0, 0, 222, 0, 0, 0, 48, 0, 0, 0, 223, 0, 0, 0, 101, 0, 0, 0, 250, 0, 0, 0, 46, 0, 0, 0, 176, 0, 0, 0, 163, 0, 0, 0, 37, 0, 0, 0, 5, 0, 0, 0, 84, 0, 0, 0, 189, 0, 0, 0, 37, 0, 0, 0, 186, 0, 0, 0, 6, 0, 0, 0, 174, 0, 0, 0, 223, 0, 0, 0, 139, 0, 0, 0, 217, 0, 0, 0, 27, 0, 0, 0, 234, 0, 0, 0, 56, 0, 0, 0, 179, 0, -0, 0, 5, 0, 0, 0, 22, 0, 0, 0, 9, 0, 0, 0, 199, 0, 0, 0, 140, 0, 0, 0, 191, 0, 0, 0, 100, 0, 0, 0, 40, 0, 0, 0, 173, 0, 0, 0, 248, 0, 0, 0, 165, 0, 0, 0, 90, 0, 0, 0, 111, 0, 0, 0, 201, 0, 0, 0, 186, 0, 0, 0, 213, 0, 0, 0, 127, 0, 0, 0, 213, 0, 0, 0, 214, 0, 0, 0, 189, 0, 0, 0, 102, 0, 0, 0, 47, 0, 0, 0, 61, 0, 0, 0, 170, 0, 0, 0, 84, 0, 0, 0, 246, 0, 0, 0, 186, 0, 0, 0, 50, 0, 0, 0, 34, 0, 0, 0, 154, 0, 0, 0, 30, 0, 0, 0, 82, 0, 0, 0, 5, 0, 0, 0, 244, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, 31, 0, 0, 0, 187, 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 228, 0, 0, 0, 135, 0, 0, 0, 252, 0, 0, 0, 177, 0, 0, 0, 44, 0, 0, 0, 183, 0, 0, 0, 136, 0, 0, 0, 244, 0, 0, 0, 198, 0, 0, 0, 185, 0, 0, 0, 245, 0, 0, 0, 36, 0, 0, 0, 70, 0, 0, 0, 242, 0, 0, -0, 165, 0, 0, 0, 159, 0, 0, 0, 143, 0, 0, 0, 138, 0, 0, 0, 147, 0, 0, 0, 112, 0, 0, 0, 105, 0, 0, 0, 212, 0, 0, 0, 86, 0, 0, 0, 236, 0, 0, 0, 253, 0, 0, 0, 6, 0, 0, 0, 70, 0, 0, 0, 78, 0, 0, 0, 102, 0, 0, 0, 207, 0, 0, 0, 78, 0, 0, 0, 52, 0, 0, 0, 206, 0, 0, 0, 12, 0, 0, 0, 217, 0, 0, 0, 166, 0, 0, 0, 80, 0, 0, 0, 214, 0, 0, 0, 94, 0, 0, 0, 149, 0, 0, 0, 175, 0, 0, 0, 233, 0, 0, 0, 88, 0, 0, 0, 250, 0, 0, 0, 238, 0, 0, 0, 155, 0, 0, 0, 184, 0, 0, 0, 165, 0, 0, 0, 15, 0, 0, 0, 53, 0, 0, 0, 224, 0, -0, 0, 67, 0, 0, 0, 130, 0, 0, 0, 109, 0, 0, 0, 101, 0, 0, 0, 230, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 123, 0, 0, 0, 117, 0, 0, 0, 58, 0, 0, 0, 252, 0, 0, 0, 100, 0, 0, 0, 211, 0, 0, 0, 41, 0, 0, 0, 126, 0, 0, 0, 221, 0, 0, 0, 73, 0, 0, 0, 154, 0, 0, 0, 89, 0, 0, 0, 83, 0, 0, 0, 191, 0, 0, 0, 180, 0, 0, 0, 167, 0, 0, 0, 82, 0, 0, 0, 179, 0, 0, 0, 5, 0, 0, 0, 171, 0, 0, 0, 195, 0, 0, 0, 175, 0, 0, 0, 22, 0, 0, 0, 26, 0, 0, 0, 133, 0, 0, 0, 66, 0, 0, 0, 50, 0, 0, 0, 162, 0, 0, 0, 134, 0, -0, 0, 250, 0, 0, 0, 57, 0, 0, 0, 67, 0, 0, 0, 14, 0, 0, 0, 75, 0, 0, 0, 163, 0, 0, 0, 99, 0, 0, 0, 138, 0, 0, 0, 254, 0, 0, 0, 165, 0, 0, 0, 88, 0, 0, 0, 241, 0, 0, 0, 19, 0, 0, 0, 189, 0, 0, 0, 157, 0, 0, 0, 170, 0, 0, 0, 127, 0, 0, 0, 118, 0, 0, 0, 64, 0, 0, 0, 112, 0, 0, 0, 129, 0, 0, 0, 16, 0, 0, 0, 117, 0, 0, 0, 153, 0, 0, 0, 187, 0, 0, 0, 190, 0, 0, 0, 11, 0, 0, 0, 22, 0, 0, 0, 233, 0, 0, 0, 186, 0, 0, 0, 98, 0, 0, 0, 52, 0, 0, 0, 204, 0, 0, 0, 7, 0, 0, 0, 109, 0, 0, 0, 195, 0, 0, 0, 241, 0, -0, 0, 198, 0, 0, 0, 147, 0, 0, 0, 101, 0, 0, 0, 238, 0, 0, 0, 11, 0, 0, 0, 188, 0, 0, 0, 234, 0, 0, 0, 20, 0, 0, 0, 240, 0, 0, 0, 193, 0, 0, 0, 248, 0, 0, 0, 132, 0, 0, 0, 137, 0, 0, 0, 194, 0, 0, 0, 201, 0, 0, 0, 215, 0, 0, 0, 234, 0, 0, 0, 52, 0, 0, 0, 202, 0, 0, 0, 167, 0, 0, 0, 196, 0, 0, 0, 153, 0, 0, 0, 213, 0, 0, 0, 80, 0, 0, 0, 105, 0, 0, 0, 203, 0, 0, 0, 214, 0, 0, 0, 33, 0, 0, 0, 99, 0, 0, 0, 124, 0, 0, 0, 153, 0, 0, 0, 235, 0, 0, 0, 124, 0, 0, 0, 49, 0, 0, 0, 115, 0, 0, 0, 100, 0, 0, 0, -103, 0, 0, 0, 127, 0, 0, 0, 12, 0, 0, 0, 102, 0, 0, 0, 170, 0, 0, 0, 140, 0, 0, 0, 105, 0, 0, 0, 145, 0, 0, 0, 226, 0, 0, 0, 38, 0, 0, 0, 211, 0, 0, 0, 35, 0, 0, 0, 226, 0, 0, 0, 118, 0, 0, 0, 93, 0, 0, 0, 50, 0, 0, 0, 82, 0, 0, 0, 223, 0, 0, 0, 93, 0, 0, 0, 197, 0, 0, 0, 143, 0, 0, 0, 183, 0, 0, 0, 124, 0, 0, 0, 132, 0, 0, 0, 179, 0, 0, 0, 112, 0, 0, 0, 235, 0, 0, 0, 1, 0, 0, 0, 199, 0, 0, 0, 54, 0, 0, 0, 151, 0, 0, 0, 78, 0, 0, 0, 182, 0, 0, 0, 171, 0, 0, 0, 95, 0, 0, 0, 13, 0, 0, 0, 44, 0, 0, -0, 186, 0, 0, 0, 103, 0, 0, 0, 100, 0, 0, 0, 85, 0, 0, 0, 222, 0, 0, 0, 188, 0, 0, 0, 255, 0, 0, 0, 166, 0, 0, 0, 236, 0, 0, 0, 4, 0, 0, 0, 211, 0, 0, 0, 141, 0, 0, 0, 57, 0, 0, 0, 86, 0, 0, 0, 94, 0, 0, 0, 238, 0, 0, 0, 248, 0, 0, 0, 228, 0, 0, 0, 46, 0, 0, 0, 51, 0, 0, 0, 98, 0, 0, 0, 101, 0, 0, 0, 239, 0, 0, 0, 184, 0, 0, 0, 159, 0, 0, 0, 200, 0, 0, 0, 75, 0, 0, 0, 167, 0, 0, 0, 253, 0, 0, 0, 33, 0, 0, 0, 73, 0, 0, 0, 155, 0, 0, 0, 146, 0, 0, 0, 53, 0, 0, 0, 130, 0, 0, 0, 214, 0, 0, 0, 10, 0, -0, 0, 155, 0, 0, 0, 242, 0, 0, 0, 121, 0, 0, 0, 241, 0, 0, 0, 71, 0, 0, 0, 47, 0, 0, 0, 106, 0, 0, 0, 126, 0, 0, 0, 159, 0, 0, 0, 207, 0, 0, 0, 24, 0, 0, 0, 2, 0, 0, 0, 60, 0, 0, 0, 251, 0, 0, 0, 27, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, -139, 0, 0, 0, 200, 0, 0, 0, 64, 0, 0, 0, 81, 0, 0, 0, 209, 0, 0, 0, 172, 0, 0, 0, 26, 0, 0, 0, 11, 0, 0, 0, 228, 0, 0, 0, 169, 0, 0, 0, 162, 0, 0, 0, 66, 0, 0, 0, 33, 0, 0, 0, 25, 0, 0, 0, 47, 0, 0, 0, 123, 0, 0, 0, 151, 0, 0, 0, 191, 0, 0, 0, 247, 0, 0, 0, 87, 0, 0, 0, 109, 0, 0, 0, 63, 0, 0, 0, 61, 0, 0, 0, 79, 0, 0, 0, 15, 0, 0, 0, 226, 0, 0, 0, 178, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 123, 0, 0, 0, 140, 0, 0, 0, 133, 0, 0, 0, 43, 0, 0, 0, 196, 0, 0, 0, 252, 0, 0, 0, 241, 0, 0, 0, -171, 0, 0, 0, 232, 0, 0, 0, 121, 0, 0, 0, 34, 0, 0, 0, 196, 0, 0, 0, 132, 0, 0, 0, 23, 0, 0, 0, 58, 0, 0, 0, 250, 0, 0, 0, 134, 0, 0, 0, 166, 0, 0, 0, 125, 0, 0, 0, 249, 0, 0, 0, 243, 0, 0, 0, 111, 0, 0, 0, 3, 0, 0, 0, 87, 0, 0, 0, 32, 0, 0, 0, 77, 0, 0, 0, 121, 0, 0, 0, 249, 0, 0, 0, 110, 0, 0, 0, 113, 0, 0, 0, 84, 0, 0, 0, 56, 0, 0, 0, 9, 0, 0, 0, 64, 0, 0, 0, 41, 0, 0, 0, 116, 0, 0, 0, 168, 0, 0, 0, 47, 0, 0, 0, 94, 0, 0, 0, 249, 0, 0, 0, 121, 0, 0, 0, 164, 0, 0, 0, 243, 0, 0, 0, 62, 0, 0, 0, -185, 0, 0, 0, 253, 0, 0, 0, 51, 0, 0, 0, 49, 0, 0, 0, 172, 0, 0, 0, 154, 0, 0, 0, 105, 0, 0, 0, 136, 0, 0, 0, 30, 0, 0, 0]).concat([119, 0, 0, 0, 33, 0, 0, 0, 45, 0, 0, 0, 243, 0, 0, 0, 145, 0, 0, 0, 82, 0, 0, 0, 38, 0, 0, 0, 21, 0, 0, 0, 178, 0, 0, 0, 166, 0, 0, 0, 207, 0, 0, 0, 126, 0, 0, 0, 198, 0, 0, 0, 32, 0, 0, 0, 71, 0, 0, 0, 108, 0, 0, 0, 164, 0, 0, 0, 125, 0, 0, 0, 203, 0, 0, 0, 99, 0, 0, 0, 234, 0, 0, 0, 91, 0, 0, 0, 3, 0, 0, 0, 223, 0, 0, 0, 62, 0, 0, 0, 136, 0, 0, 0, 129, 0, 0, 0, 109, -0, 0, 0, 206, 0, 0, 0, 7, 0, 0, 0, 66, 0, 0, 0, 24, 0, 0, 0, 96, 0, 0, 0, 126, 0, 0, 0, 123, 0, 0, 0, 85, 0, 0, 0, 254, 0, 0, 0, 106, 0, 0, 0, 243, 0, 0, 0, 218, 0, 0, 0, 92, 0, 0, 0, 139, 0, 0, 0, 149, 0, 0, 0, 16, 0, 0, 0, 98, 0, 0, 0, 228, 0, 0, 0, 13, 0, 0, 0, 3, 0, 0, 0, 180, 0, 0, 0, 215, 0, 0, 0, 205, 0, 0, 0, 250, 0, 0, 0, 189, 0, 0, 0, 70, 0, 0, 0, 223, 0, 0, 0, 147, 0, 0, 0, 113, 0, 0, 0, 16, 0, 0, 0, 44, 0, 0, 0, 168, 0, 0, 0, 59, 0, 0, 0, 182, 0, 0, 0, 9, 0, 0, 0, 5, 0, 0, 0, 112, 0, -0, 0, 132, 0, 0, 0, 67, 0, 0, 0, 41, 0, 0, 0, 168, 0, 0, 0, 89, 0, 0, 0, 245, 0, 0, 0, 142, 0, 0, 0, 16, 0, 0, 0, 228, 0, 0, 0, 215, 0, 0, 0, 32, 0, 0, 0, 87, 0, 0, 0, 130, 0, 0, 0, 28, 0, 0, 0, 171, 0, 0, 0, 191, 0, 0, 0, 98, 0, 0, 0, 112, 0, 0, 0, 232, 0, 0, 0, 196, 0, 0, 0, 207, 0, 0, 0, 240, 0, 0, 0, 40, 0, 0, 0, 110, 0, 0, 0, 22, 0, 0, 0, 60, 0, 0, 0, 8, 0, 0, 0, 120, 0, 0, 0, 137, 0, 0, 0, 133, 0, 0, 0, 70, 0, 0, 0, 15, 0, 0, 0, 246, 0, 0, 0, 127, 0, 0, 0, 207, 0, 0, 0, 203, 0, 0, 0, 126, 0, -0, 0, 184, 0, 0, 0, 37, 0, 0, 0, 233, 0, 0, 0, 90, 0, 0, 0, 250, 0, 0, 0, 3, 0, 0, 0, 251, 0, 0, 0, 149, 0, 0, 0, 146, 0, 0, 0, 99, 0, 0, 0, 80, 0, 0, 0, 252, 0, 0, 0, 98, 0, 0, 0, 240, 0, 0, 0, 164, 0, 0, 0, 94, 0, 0, 0, 140, 0, 0, 0, 24, 0, 0, 0, 194, 0, 0, 0, 23, 0, 0, 0, 36, 0, 0, 0, 183, 0, 0, 0, 120, 0, 0, 0, 194, 0, 0, 0, 169, 0, 0, 0, 231, 0, 0, 0, 106, 0, 0, 0, 50, 0, 0, 0, 214, 0, 0, 0, 41, 0, 0, 0, 133, 0, 0, 0, 175, 0, 0, 0, 203, 0, 0, 0, 141, 0, 0, 0, 145, 0, 0, 0, 19, 0, 0, 0, 218, -0, 0, 0, 107, 0, 0, 0, 54, 0, 0, 0, 10, 0, 0, 0, 194, 0, 0, 0, 182, 0, 0, 0, 75, 0, 0, 0, 165, 0, 0, 0, 93, 0, 0, 0, 7, 0, 0, 0, 23, 0, 0, 0, 65, 0, 0, 0, 49, 0, 0, 0, 95, 0, 0, 0, 98, 0, 0, 0, 70, 0, 0, 0, 248, 0, 0, 0, 146, 0, 0, 0, 249, 0, 0, 0, 102, 0, 0, 0, 72, 0, 0, 0, 115, 0, 0, 0, 166, 0, 0, 0, 151, 0, 0, 0, 13, 0, 0, 0, 125, 0, 0, 0, 136, 0, 0, 0, 238, 0, 0, 0, 98, 0, 0, 0, 177, 0, 0, 0, 3, 0, 0, 0, 168, 0, 0, 0, 63, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 177, 0, 0, 0, 112, 0, 0, 0, 138, 0, 0, 0, 169, 0, 0, 0, 232, 0, 0, 0, 99, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 226, 0, 0, 0, 37, 0, 0, 0, 22, 0, 0, 0, 202, 0, 0, 0, 75, 0, 0, 0, 15, 0, 0, 0, 164, 0, 0, 0, 102, 0, 0, 0, 173, 0, 0, 0, 25, 0, 0, 0, 159, 0, 0, 0, 136, 0, 0, 0, -103, 0, 0, 0, 12, 0, 0, 0, 139, 0, 0, 0, 194, 0, 0, 0, 74, 0, 0, 0, 91, 0, 0, 0, 43, 0, 0, 0, 109, 0, 0, 0, 149, 0, 0, 0, 175, 0, 0, 0, 25, 0, 0, 0, 139, 0, 0, 0, 157, 0, 0, 0, 182, 0, 0, 0, 204, 0, 0, 0, 96, 0, 0, 0, 180, 0, 0, 0, 114, 0, 0, 0, 79, 0, 0, 0, 23, 0, 0, 0, 105, 0, 0, 0, 90, 0, 0, 0, 74, 0, 0, 0, 104, 0, 0, 0, 52, 0, 0, 0, 171, 0, 0, 0, 161, 0, 0, 0, 69, 0, 0, 0, 50, 0, 0, 0, 60, 0, 0, 0, 131, 0, 0, 0, 135, 0, 0, 0, 114, 0, 0, 0, 48, 0, 0, 0, 84, 0, 0, 0, 119, 0, 0, 0, 104, 0, 0, 0, -174, 0, 0, 0, 251, 0, 0, 0, 181, 0, 0, 0, 139, 0, 0, 0, 34, 0, 0, 0, 94, 0, 0, 0, 241, 0, 0, 0, 185, 0, 0, 0, 135, 0, 0, 0, 53, 0, 0, 0, 197, 0, 0, 0, 187, 0, 0, 0, 185, 0, 0, 0, 207, 0, 0, 0, 245, 0, 0, 0, 214, 0, 0, 0, 205, 0, 0, 0, 213, 0, 0, 0, 12, 0, 0, 0, 124, 0, 0, 0, 14, 0, 0, 0, 230, 0, 0, 0, 144, 0, 0, 0, 52, 0, 0, 0, 251, 0, 0, 0, 81, 0, 0, 0, 66, 0, 0, 0, 30, 0, 0, 0, 109, 0, 0, 0, 172, 0, 0, 0, 154, 0, 0, 0, 70, 0, 0, 0, 196, 0, 0, 0, 151, 0, 0, 0, 41, 0, 0, 0, 50, 0, 0, 0, 191, 0, 0, -0, 69, 0, 0, 0, 102, 0, 0, 0, 158, 0, 0, 0, 198, 0, 0, 0, 36, 0, 0, 0, 192, 0, 0, 0, 237, 0, 0, 0, 165, 0, 0, 0, 93, 0, 0, 0, 136, 0, 0, 0, 212, 0, 0, 0, 240, 0, 0, 0, 115, 0, 0, 0, 151, 0, 0, 0, 123, 0, 0, 0, 234, 0, 0, 0, 127, 0, 0, 0, 66, 0, 0, 0, 255, 0, 0, 0, 33, 0, 0, 0, 160, 0, 0, 0, 155, 0, 0, 0, 47, 0, 0, 0, 154, 0, 0, 0, 253, 0, 0, 0, 83, 0, 0, 0, 87, 0, 0, 0, 7, 0, 0, 0, 132, 0, 0, 0, 72, 0, 0, 0, 136, 0, 0, 0, 157, 0, 0, 0, 82, 0, 0, 0, 198, 0, 0, 0, 150, 0, 0, 0, 72, 0, 0, 0, 52, 0, -0, 0, 42, 0, 0, 0, 6, 0, 0, 0, 175, 0, 0, 0, 148, 0, 0, 0, 61, 0, 0, 0, 244, 0, 0, 0, 26, 0, 0, 0, 207, 0, 0, 0, 242, 0, 0, 0, 192, 0, 0, 0, 33, 0, 0, 0, 194, 0, 0, 0, 66, 0, 0, 0, 94, 0, 0, 0, 200, 0, 0, 0, 47, 0, 0, 0, 53, 0, 0, 0, 162, 0, 0, 0, 62, 0, 0, 0, 41, 0, 0, 0, 250, 0, 0, 0, 12, 0, 0, 0, 132, 0, 0, 0, 229, 0, 0, 0, 137, 0, 0, 0, 114, 0, 0, 0, 124, 0, 0, 0, 6, 0, 0, 0, 50, 0, 0, 0, 101, 0, 0, 0, 3, 0, 0, 0, 229, 0, 0, 0, 137, 0, 0, 0, 166, 0, 0, 0, 110, 0, 0, 0, 179, 0, 0, 0, 91, 0, 0, -0, 142, 0, 0, 0, 202, 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 34, 0, 0, 0, 86, 0, 0, 0, 139, 0, 0, 0, 93, 0, 0, 0, 20, 0, 0, 0, 75, 0, 0, 0, 77, 0, 0, 0, 249, 0, 0, 0, 190, 0, 0, 0, 181, 0, 0, 0, 245, 0, 0, 0, 230, 0, 0, 0, 92, 0, 0, 0, 123, 0, 0, 0, 139, 0, 0, 0, 244, 0, 0, 0, 19, 0, 0, 0, 17, 0, 0, 0, 52, 0, 0, 0, 7, 0, 0, 0, 198, 0, 0, 0, 34, 0, 0, 0, 21, 0, 0, 0, 226, 0, 0, 0, 156, 0, 0, 0, 96, 0, 0, 0, 162, 0, 0, 0, 25, 0, 0, 0, 217, 0, 0, 0, 39, 0, 0, 0, 174, 0, 0, 0, 55, 0, 0, 0, 78, 0, 0, 0, -166, 0, 0, 0, 201, 0, 0, 0, 128, 0, 0, 0, 166, 0, 0, 0, 145, 0, 0, 0, 143, 0, 0, 0, 18, 0, 0, 0, 73, 0, 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 71, 0, 0, 0, 209, 0, 0, 0, 215, 0, 0, 0, 40, 0, 0, 0, 34, 0, 0, 0, 99, 0, 0, 0, 57, 0, 0, 0, 232, 0, 0, 0, 226, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 242, 0, 0, 0, 158, 0, 0, 0, 30, 0, 0, 0, 153, 0, 0, 0, 57, 0, 0, 0, 149, 0, 0, 0, 4, 0, 0, 0, 189, 0, 0, 0, 30, 0, 0, 0, 103, 0, 0, 0, 123, 0, 0, 0, 178, 0, 0, 0, 38, 0, 0, 0, 172, 0, 0, 0, 230, 0, 0, 0, 170, -0, 0, 0, 226, 0, 0, 0, 70, 0, 0, 0, 213, 0, 0, 0, 228, 0, 0, 0, 232, 0, 0, 0, 134, 0, 0, 0, 189, 0, 0, 0, 171, 0, 0, 0, 124, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 100, 0, 0, 0, 110, 0, 0, 0, 155, 0, 0, 0, 53, 0, -0, 0, 113, 0, 0, 0, 120, 0, 0, 0, 206, 0, 0, 0, 51, 0, 0, 0, 3, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 54, 0, 0, 0, 241, 0, 0, 0, 115, 0, 0, 0, 155, 0, 0, 0, 185, 0, 0, 0, 21, 0, 0, 0, 139, 0, 0, 0, 44, 0, 0, 0, 105, 0, 0, 0, 207, 0, 0, 0, 77, 0, 0, 0, 237, 0, 0, 0, 79, 0, 0, 0, 77, 0, 0, 0, 87, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 130, 0, 0, 0, 164, 0, 0, 0, 77, 0, 0, 0, 101, 0, 0, 0, 110, 0, 0, 0, 10, 0, 0, 0, 164, 0, 0, 0, 89, 0, 0, 0, 7, 0, 0, 0, 23, 0, 0, 0, 242, 0, 0, 0, 107, 0, 0, 0, 74, 0, 0, 0, -31, 0, 0, 0, 110, 0, 0, 0, 246, 0, 0, 0, 181, 0, 0, 0, 188, 0, 0, 0, 98, 0, 0, 0, 228, 0, 0, 0, 182, 0, 0, 0, 218, 0, 0, 0, 162, 0, 0, 0, 147, 0, 0, 0, 188, 0, 0, 0, 41, 0, 0, 0, 5, 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 115, 0, 0, 0, 70, 0, 0, 0, 3, 0, 0, 0, 22, 0, 0, 0, 64, 0, 0, 0, 49, 0, 0, 0, 76, 0, 0, 0, 115, 0, 0, 0, 109, 0, 0, 0, 21, 0, 0, 0, 189, 0, 0, 0, 161, 0, 0, 0, 77, 0, 0, 0, 92, 0, 0, 0, 19, 0, 0, 0, 11, 0, 0, 0, 36, 0, 0, 0, 6, 0, 0, 0, 152, 0, 0, 0, 120, 0, 0, 0, 28, 0, 0, 0, 91, -0, 0, 0, 235, 0, 0, 0, 31, 0, 0, 0, 24, 0, 0, 0, 84, 0, 0, 0, 67, 0, 0, 0, 217, 0, 0, 0, 85, 0, 0, 0, 102, 0, 0, 0, 218, 0, 0, 0, 41, 0, 0, 0, 33, 0, 0, 0, 232, 0, 0, 0, 184, 0, 0, 0, 60, 0, 0, 0, 66, 0, 0, 0, 34, 0, 0, 0, 180, 0, 0, 0, 205, 0, 0, 0, 8, 0, 0, 0, 111, 0, 0, 0, 21, 0, 0, 0, 35, 0, 0, 0, 26, 0, 0, 0, 11, 0, 0, 0, 34, 0, 0, 0, 237, 0, 0, 0, 209, 0, 0, 0, 241, 0, 0, 0, 167, 0, 0, 0, 199, 0, 0, 0, 115, 0, 0, 0, 69, 0, 0, 0, 243, 0, 0, 0, 158, 0, 0, 0, 206, 0, 0, 0, 118, 0, 0, 0, 183, 0, -0, 0, 246, 0, 0, 0, 57, 0, 0, 0, 182, 0, 0, 0, 142, 0, 0, 0, 121, 0, 0, 0, 190, 0, 0, 0, 233, 0, 0, 0, 155, 0, 0, 0, 207, 0, 0, 0, 125, 0, 0, 0, 98, 0, 0, 0, 146, 0, 0, 0, 91, 0, 0, 0, 252, 0, 0, 0, 114, 0, 0, 0, 253, 0, 0, 0, 186, 0, 0, 0, 241, 0, 0, 0, 253, 0, 0, 0, 166, 0, 0, 0, 124, 0, 0, 0, 149, 0, 0, 0, 227, 0, 0, 0, 97, 0, 0, 0, 63, 0, 0, 0, 233, 0, 0, 0, 3, 0, 0, 0, 212, 0, 0, 0, 43, 0, 0, 0, 212, 0, 0, 0, 32, 0, 0, 0, 217, 0, 0, 0, 219, 0, 0, 0, 77, 0, 0, 0, 50, 0, 0, 0, 62, 0, 0, 0, 245, -0, 0, 0, 17, 0, 0, 0, 100, 0, 0, 0, 227, 0, 0, 0, 180, 0, 0, 0, 190, 0, 0, 0, 50, 0, 0, 0, 134, 0, 0, 0, 23, 0, 0, 0, 144, 0, 0, 0, 231, 0, 0, 0, 201, 0, 0, 0, 31, 0, 0, 0, 16, 0, 0, 0, 165, 0, 0, 0, 106, 0, 0, 0, 45, 0, 0, 0, 57, 0, 0, 0, 208, 0, 0, 0, 59, 0, 0, 0, 196, 0, 0, 0, 166, 0, 0, 0, 233, 0, 0, 0, 89, 0, 0, 0, 19, 0, 0, 0, 218, 0, 0, 0, 26, 0, 0, 0, 230, 0, 0, 0, 160, 0, 0, 0, 185, 0, 0, 0, 60, 0, 0, 0, 80, 0, 0, 0, 184, 0, 0, 0, 64, 0, 0, 0, 124, 0, 0, 0, 21, 0, 0, 0, 54, 0, 0, 0, 90, -0, 0, 0, 66, 0, 0, 0, 180, 0, 0, 0, 11, 0, 0, 0, 50, 0, 0, 0, 171, 0, 0, 0, 220, 0, 0, 0, 4, 0, 0, 0, 81, 0, 0, 0, 85, 0, 0, 0, 33, 0, 0, 0, 30, 0, 0, 0, 11, 0, 0, 0, 117, 0, 0, 0, 153, 0, 0, 0, 137, 0, 0, 0, 115, 0, 0, 0, 53, 0, 0, 0, 58, 0, 0, 0, 145, 0, 0, 0, 43, 0, 0, 0, 254, 0, 0, 0, 231, 0, 0, 0, 73, 0, 0, 0, 234, 0, 0, 0, 118, 0, 0, 0, 193, 0, 0, 0, 249, 0, 0, 0, 70, 0, 0, 0, 185, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 35, 0, 0, 0, 4, 0, 0, 0, 252, 0, 0, 0, 90, 0, 0, 0, 30, 0, 0, 0, 29, 0, 0, 0, -116, 0, 0, 0, 88, 0, 0, 0, 149, 0, 0, 0, 166, 0, 0, 0, 143, 0, 0, 0, 123, 0, 0, 0, 151, 0, 0, 0, 62, 0, 0, 0, 23, 0, 0, 0, 59, 0, 0, 0, 121, 0, 0, 0, 45, 0, 0, 0, 166, 0, 0, 0, 87, 0, 0, 0, 239, 0, 0, 0, 69, 0, 0, 0, 2, 0, 0, 0, 11, 0, 0, 0, 77, 0, 0, 0, 110, 0, 0, 0, 158, 0, 0, 0, 147, 0, 0, 0, 141, 0, 0, 0, 47, 0, 0, 0, 217, 0, 0, 0, 157, 0, 0, 0, 219, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 215, 0, 0, 0, 86, 0, 0, 0, 151, 0, 0, 0, 88, 0, 0, 0, 145, 0, 0, 0, 222, 0, 0, 0, 9, 0, 0, 0, 79, 0, 0, 0, 159, 0, 0, 0, 190, 0, 0, 0, 99, 0, 0, 0, 176, 0, 0, 0, 131, 0, 0, 0, 134, 0, 0, 0, 67, 0, 0, 0, 93, 0, 0, 0, 188, 0, 0, 0, 224, 0, 0, 0, 243, 0, 0, 0, 192, 0, 0, 0, 117, 0, 0, 0, 191, 0, 0, 0, 139, 0, 0, 0, 142, 0, 0, 0, 170, 0, 0, 0, 247, -0, 0, 0, 139, 0, 0, 0, 100, 0, 0, 0, 110, 0, 0, 0, 176, 0, 0, 0, 99, 0, 0, 0, 22, 0, 0, 0, 174, 0, 0, 0, 139, 0, 0, 0, 224, 0, 0, 0, 155, 0, 0, 0, 36, 0, 0, 0, 104, 0, 0, 0, 92, 0, 0, 0, 68, 0, 0, 0, 194, 0, 0, 0, 208, 0, 0, 0, 8, 0, 0, 0, 183, 0, 0, 0, 123, 0, 0, 0, 98, 0, 0, 0, 253, 0, 0, 0, 127, 0, 0, 0, 216, 0, 0, 0, 212, 0, 0, 0, 183, 0, 0, 0, 80, 0, 0, 0, 253, 0, 0, 0, 44, 0, 0, 0, 27, 0, 0, 0, 191, 0, 0, 0, 65, 0, 0, 0, 149, 0, 0, 0, 217, 0, 0, 0, 142, 0, 0, 0, 216, 0, 0, 0, 23, 0, 0, 0, 27, -0, 0, 0, 134, 0, 0, 0, 85, 0, 0, 0, 55, 0, 0, 0, 142, 0, 0, 0, 195, 0, 0, 0, 56, 0, 0, 0, 72, 0, 0, 0, 20, 0, 0, 0, 181, 0, 0, 0, 151, 0, 0, 0, 210, 0, 0, 0, 167, 0, 0, 0, 84, 0, 0, 0, 69, 0, 0, 0, 241, 0, 0, 0, 53, 0, 0, 0, 68, 0, 0, 0, 56, 0, 0, 0, 158, 0, 0, 0, 241, 0, 0, 0, 27, 0, 0, 0, 182, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 150, 0, 0, 0, 238, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 44, 0, 0, 0, 11, 0, 0, 0, 234, 0, 0, 0, 218, 0, 0, 0, 153, 0, 0, 0, 158, 0, 0, 0, 25, 0, 0, -0, 131, 0, 0, 0, 102, 0, 0, 0, 109, 0, 0, 0, 233, 0, 0, 0, 118, 0, 0, 0, 135, 0, 0, 0, 80, 0, 0, 0, 209, 0, 0, 0, 253, 0, 0, 0, 60, 0, 0, 0, 96, 0, 0, 0, 135, 0, 0, 0, 198, 0, 0, 0, 65, 0, 0, 0, 217, 0, 0, 0, 142, 0, 0, 0, 219, 0, 0, 0, 94, 0, 0, 0, 222, 0, 0, 0, 170, 0, 0, 0, 154, 0, 0, 0, 211, 0, 0, 0, 40, 0, 0, 0, 218, 0, 0, 0, 149, 0, 0, 0, 234, 0, 0, 0, 71, 0, 0, 0, 208, 0, 0, 0, 128, 0, 0, 0, 186, 0, 0, 0, 25, 0, 0, 0, 174, 0, 0, 0, 29, 0, 0, 0, 169, 0, 0, 0, 121, 0, 0, 0, 246, 0, 0, 0, 63, -0, 0, 0, 172, 0, 0, 0, 93, 0, 0, 0, 111, 0, 0, 0, 150, 0, 0, 0, 31, 0, 0, 0, 42, 0, 0, 0, 206, 0, 0, 0, 41, 0, 0, 0, 178, 0, 0, 0, 255, 0, 0, 0, 55, 0, 0, 0, 241, 0, 0, 0, 148, 0, 0, 0, 143, 0, 0, 0, 12, 0, 0, 0, 181, 0, 0, 0, 40, 0, 0, 0, 186, 0, 0, 0, 154, 0, 0, 0, 33, 0, 0, 0, 246, 0, 0, 0, 102, 0, 0, 0, 2, 0, 0, 0, 251, 0, 0, 0, 84, 0, 0, 0, 184, 0, 0, 0, 5, 0, 0, 0, 243, 0, 0, 0, 129, 0, 0, 0, 82, 0, 0, 0, 105, 0, 0, 0, 52, 0, 0, 0, 70, 0, 0, 0, 157, 0, 0, 0, 134, 0, 0, 0, 118, 0, 0, 0, 143, -0, 0, 0, 215, 0, 0, 0, 248, 0, 0, 0, 106, 0, 0, 0, 102, 0, 0, 0, 255, 0, 0, 0, 230, 0, 0, 0, 167, 0, 0, 0, 144, 0, 0, 0, 247, 0, 0, 0, 94, 0, 0, 0, 205, 0, 0, 0, 106, 0, 0, 0, 155, 0, 0, 0, 85, 0, 0, 0, 252, 0, 0, 0, 157, 0, 0, 0, 72, 0, 0, 0, 189, 0, 0, 0, 170, 0, 0, 0, 19, 0, 0, 0, 230, 0, 0, 0, 205, 0, 0, 0, 69, 0, 0, 0, 74, 0, 0, 0, 164, 0, 0, 0, 89, 0, 0, 0, 10, 0, 0, 0, 100, 0, 0, 0, 177, 0, 0, 0, 152, 0, 0, 0, 214, 0, 0, 0, 52, 0, 0, 0, 19, 0, 0, 0, 4, 0, 0, 0, 230, 0, 0, 0, 151, 0, 0, 0, -148, 0, 0, 0, 6, 0, 0, 0, 203, 0, 0, 0, 212, 0, 0, 0, 78, 0, 0, 0, 187, 0, 0, 0, 150, 0, 0, 0, 205, 0, 0, 0, 209, 0, 0, 0, 87, 0, 0, 0, 209, 0, 0, 0, 227, 0, 0, 0, 6, 0, 0, 0, 122, 0, 0, 0, 108, 0, 0, 0, 69, 0, 0, 0, 39, 0, 0, 0, 196, 0, 0, 0, 147, 0, 0, 0, 127, 0, 0, 0, 125, 0, 0, 0, 124, 0, 0, 0, 98, 0, 0, 0, 80, 0, 0, 0, 56, 0, 0, 0, 58, 0, 0, 0, 107, 0, 0, 0, 181, 0, 0, 0, 136, 0, 0, 0, 198, 0, 0, 0, 217, 0, 0, 0, 241, 0, 0, 0, 120, 0, 0, 0, 25, 0, 0, 0, 185, 0, 0, 0, 57, 0, 0, 0, 147, 0, 0, -0, 61, 0, 0, 0, 201, 0, 0, 0, 224, 0, 0, 0, 156, 0, 0, 0, 60, 0, 0, 0, 206, 0, 0, 0, 245, 0, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 234, 0, 0, 0, 35, 0, 0, 0, 125, 0, 0, 0, 86, 0, 0, 0, 44, 0, 0, 0, 226, 0, 0, 0, 89, 0, 0, 0, 14, 0, 0, 0, 133, -0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 136, 0, 0, 0, 90, 0, 0, 0, 116, 0, 0, 0, 30, 0, 0, 0, 75, 0, 0, 0, 239, 0, 0, 0, 19, 0, 0, 0, 218, 0, 0, 0, 76, 0, 0, 0, 255, 0, 0, 0, 131, 0, 0, 0, 69, 0, 0, 0, 133, 0, 0, 0, 63, 0, 0, 0, 8, 0, 0, 0, 149, 0, 0, 0, 44, 0, 0, 0, 32, 0, 0, 0, 19, 0, 0, 0, 31, 0, 0, 0, 72, 0, 0, 0, 95, 0, 0, 0, 39, 0, 0, 0, 144, 0, 0, 0, 92, 0, 0, 0, 2, 0, 0, 0, 66, 0, 0, 0, 173, 0, 0, 0, 120, 0, 0, 0, 71, 0, 0, 0, 92, 0, 0, 0, 181, 0, 0, 0, 126, 0, 0, 0, 8, 0, 0, 0, 133, 0, 0, 0, 0, -0, 0, 0, 250, 0, 0, 0, 127, 0, 0, 0, 253, 0, 0, 0, 253, 0, 0, 0, 231, 0, 0, 0, 9, 0, 0, 0, 17, 0, 0, 0, 242, 0, 0, 0, 126, 0, 0, 0, 27, 0, 0, 0, 56, 0, 0, 0, 108, 0, 0, 0, 53, 0, 0, 0, 109, 0, 0, 0, 51, 0, 0, 0, 102, 0, 0, 0, 147, 0, 0, 0, 3, 0, 0, 0, 54, 0, 0, 0, 129, 0, 0, 0, 172, 0, 0, 0, 228, 0, 0, 0, 32, 0, 0, 0, 9, 0, 0, 0, 53, 0, 0, 0, 76, 0, 0, 0, 69, 0, 0, 0, 178, 0, 0, 0, 30, 0, 0, 0, 76, 0, 0, 0, 20, 0, 0, 0, 33, 0, 0, 0, 230, 0, 0, 0, 233, 0, 0, 0, 138, 0, 0, 0, 123, 0, 0, 0, 141, 0, -0, 0, 254, 0, 0, 0, 30, 0, 0, 0, 198, 0, 0, 0, 62, 0, 0, 0, 193, 0, 0, 0, 53, 0, 0, 0, 250, 0, 0, 0, 231, 0, 0, 0, 112, 0, 0, 0, 78, 0, 0, 0, 29, 0, 0, 0, 97, 0, 0, 0, 46, 0, 0, 0, 194, 0, 0, 0, 221, 0, 0, 0, 149, 0, 0, 0, 87, 0, 0, 0, 209, 0, 0, 0, 171, 0, 0, 0, 128, 0, 0, 0, 232, 0, 0, 0, 99, 0, 0, 0, 23, 0, 0, 0, 181, 0, 0, 0, 72, 0, 0, 0, 228, 0, 0, 0, 138, 0, 0, 0, 17, 0, 0, 0, 158, 0, 0, 0, 114, 0, 0, 0, 190, 0, 0, 0, 133, 0, 0, 0, 141, 0, 0, 0, 81, 0, 0, 0, 10, 0, 0, 0, 242, 0, 0, 0, 159, -0, 0, 0, 224, 0, 0, 0, 28, 0, 0, 0, 169, 0, 0, 0, 7, 0, 0, 0, 40, 0, 0, 0, 123, 0, 0, 0, 187, 0, 0, 0, 113, 0, 0, 0, 20, 0, 0, 0, 94, 0, 0, 0, 38, 0, 0, 0, 140, 0, 0, 0, 61, 0, 0, 0, 200, 0, 0, 0, 233, 0, 0, 0, 124, 0, 0, 0, 211, 0, 0, 0, 214, 0, 0, 0, 209, 0, 0, 0, 47, 0, 0, 0, 7, 0, 0, 0, 109, 0, 0, 0, 230, 0, 0, 0, 223, 0, 0, 0, 251, 0, 0, 0, 121, 0, 0, 0, 214, 0, 0, 0, 153, 0, 0, 0, 89, 0, 0, 0, 150, 0, 0, 0, 72, 0, 0, 0, 64, 0, 0, 0, 15, 0, 0, 0, 58, 0, 0, 0, 123, 0, 0, 0, 178, 0, 0, 0, 160, -0, 0, 0, 114, 0, 0, 0, 78, 0, 0, 0, 59, 0, 0, 0, 105, 0, 0, 0, 200, 0, 0, 0, 67, 0, 0, 0, 117, 0, 0, 0, 81, 0, 0, 0, 108, 0, 0, 0, 121, 0, 0, 0, 86, 0, 0, 0, 228, 0, 0, 0, 203, 0, 0, 0, 247, 0, 0, 0, 166, 0, 0, 0, 81, 0, 0, 0, 194, 0, 0, 0, 44, 0, 0, 0, 66, 0, 0, 0, 11, 0, 0, 0, 212, 0, 0, 0, 130, 0, 0, 0, 32, 0, 0, 0, 28, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 102, 0, 0, 0, 215, 0, 0, 0, 191, 0, 0, 0, 4, 0, 0, 0, 86, 0, 0, 0, 252, 0, 0, 0, 2, 0, 0, 0, 36, 0, 0, 0, 232, 0, 0, 0, 183, 0, 0, 0, 96, 0, 0, -0, 174, 0, 0, 0, 71, 0, 0, 0, 128, 0, 0, 0, 252, 0, 0, 0, 229, 0, 0, 0, 35, 0, 0, 0, 231, 0, 0, 0, 194, 0, 0, 0, 201, 0, 0, 0, 133, 0, 0, 0, 230, 0, 0, 0, 152, 0, 0, 0, 160, 0, 0, 0, 41, 0, 0, 0, 78, 0, 0, 0, 225, 0, 0, 0, 132, 0, 0, 0, 57, 0, 0, 0, 45, 0, 0, 0, 149, 0, 0, 0, 44, 0, 0, 0, 243, 0, 0, 0, 69, 0, 0, 0, 60, 0, 0, 0, 255, 0, 0, 0, 175, 0, 0, 0, 39, 0, 0, 0, 76, 0, 0, 0, 107, 0, 0, 0, 166, 0, 0, 0, 245, 0, 0, 0, 75, 0, 0, 0, 17, 0, 0, 0, 189, 0, 0, 0, 186, 0, 0, 0, 91, 0, 0, 0, 158, 0, -0, 0, 196, 0, 0, 0, 164, 0, 0, 0, 81, 0, 0, 0, 30, 0, 0, 0, 190, 0, 0, 0, 208, 0, 0, 0, 144, 0, 0, 0, 58, 0, 0, 0, 156, 0, 0, 0, 194, 0, 0, 0, 38, 0, 0, 0, 182, 0, 0, 0, 30, 0, 0, 0, 241, 0, 0, 0, 149, 0, 0, 0, 125, 0, 0, 0, 200, 0, 0, 0, 109, 0, 0, 0, 82, 0, 0, 0, 230, 0, 0, 0, 153, 0, 0, 0, 44, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 224, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0, 180, 0, 0, 0, 209, 0, 0, 0, 239, 0, 0, 0, 252, 0, 0, 0, 105, 0, 0, 0, 162, 0, 0, 0, 191, 0, 0, 0, 143, 0, 0, 0, 114, 0, 0, 0, 44, 0, 0, 0, 149, 0, 0, 0, 246, 0, 0, 0, 228, 0, 0, 0, 110, 0, 0, 0, 125, 0, 0, 0, 144, 0, 0, 0, 247, 0, 0, 0, 87, 0, 0, 0, 129, 0, 0, 0, 160, 0, 0, 0, 247, 0, 0, 0, 218, 0, 0, 0, 239, 0, 0, 0, 51, 0, 0, 0, 7, 0, 0, 0, 227, 0, 0, 0, 107, -0, 0, 0, 120, 0, 0, 0, 54, 0, 0, 0, 39, 0, 0, 0, 62, 0, 0, 0, 198, 0, 0, 0, 18, 0, 0, 0, 7, 0, 0, 0, 171, 0, 0, 0, 78, 0, 0, 0, 190, 0, 0, 0, 105, 0, 0, 0, 157, 0, 0, 0, 179, 0, 0, 0, 190, 0, 0, 0, 8, 0, 0, 0, 124, 0, 0, 0, 42, 0, 0, 0, 71, 0, 0, 0, 8, 0, 0, 0, 253, 0, 0, 0, 212, 0, 0, 0, 205, 0, 0, 0, 14, 0, 0, 0, 39, 0, 0, 0, 52, 0, 0, 0, 91, 0, 0, 0, 152, 0, 0, 0, 52, 0, 0, 0, 47, 0, 0, 0, 119, 0, 0, 0, 95, 0, 0, 0, 58, 0, 0, 0, 101, 0, 0, 0, 19, 0, 0, 0, 170, 0, 0, 0, 46, 0, 0, 0, 76, 0, 0, 0, -240, 0, 0, 0, 34, 0, 0, 0, 184, 0, 0, 0, 108, 0, 0, 0, 179, 0, 0, 0, 25, 0, 0, 0, 77, 0, 0, 0, 235, 0, 0, 0, 107, 0, 0, 0, 208, 0, 0, 0, 164, 0, 0, 0, 198, 0, 0, 0, 156, 0, 0, 0, 221, 0, 0, 0, 200, 0, 0, 0, 91, 0, 0, 0, 129, 0, 0, 0, 87, 0, 0, 0, 137, 0, 0, 0, 223, 0, 0, 0, 51, 0, 0, 0, 169, 0, 0, 0, 104, 0, 0, 0, 73, 0, 0, 0, 128, 0, 0, 0, 228, 0, 0, 0, 254, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 144, 0, 0, 0, 48, 0, 0, 0, 233, 0, 0, 0, 211, 0, 0, 0, 96, 0, 0, 0, 48, 0, 0, 0, 49, 0, 0, 0, -194, 0, 0, 0, 114, 0, 0, 0, 137, 0, 0, 0, 122, 0, 0, 0, 54, 0, 0, 0, 165, 0, 0, 0, 189, 0, 0, 0, 57, 0, 0, 0, 131, 0, 0, 0, 133, 0, 0, 0, 80, 0, 0, 0, 161, 0, 0, 0, 93, 0, 0, 0, 108, 0, 0, 0, 65, 0, 0, 0, 29, 0, 0, 0, 181, 0, 0, 0, 44, 0, 0, 0, 7, 0, 0, 0, 64, 0, 0, 0, 119, 0, 0, 0, 11, 0, 0, 0, 80, 0, 0, 0, 100, 0, 0, 0, 52, 0, 0, 0, 236, 0, 0, 0, 192, 0, 0, 0, 158, 0, 0, 0, 68, 0, 0, 0, 65, 0, 0, 0, 175, 0, 0, 0, 160, 0, 0, 0, 54, 0, 0, 0, 5, 0, 0, 0, 109, 0, 0, 0, 234, 0, 0, 0, 48, 0, 0, 0, 37, -0, 0, 0, 70, 0, 0, 0, 53, 0, 0, 0, 36, 0, 0, 0, 157, 0, 0, 0, 134, 0, 0, 0, 189, 0, 0, 0, 149, 0, 0, 0, 241, 0, 0, 0, 106, 0, 0, 0, 70, 0, 0, 0, 215, 0, 0, 0, 148, 0, 0, 0, 84, 0, 0, 0, 249, 0, 0, 0, 59, 0, 0, 0, 189, 0, 0, 0, 93, 0, 0, 0, 119, 0, 0, 0, 91, 0, 0, 0, 226, 0, 0, 0, 55, 0, 0, 0, 199, 0, 0, 0, 225, 0, 0, 0, 124, 0, 0, 0, 19, 0, 0, 0, 140, 0, 0, 0, 159, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 42, 0, 0, 0, 206, 0, 0, 0, 66, 0, 0, 0, 163, 0, 0, 0, 185, 0, 0, 0, 42, 0, 0, 0, 153, 0, 0, 0, 168, -0, 0, 0, 192, 0, 0, 0, 216, 0, 0, 0, 60, 0, 0, 0, 134, 0, 0, 0, 176, 0, 0, 0, 251, 0, 0, 0, 233, 0, 0, 0, 118, 0, 0, 0, 119, 0, 0, 0, 247, 0, 0, 0, 245, 0, 0, 0, 86, 0, 0, 0, 223, 0, 0, 0, 179, 0, 0, 0, 70, 0, 0, 0, 17, 0, 0, 0, 110, 0, 0, 0, 19, 0, 0, 0, 183, 0, 0, 0, 40, 0, 0, 0, 78, 0, 0, 0, 86, 0, 0, 0, 221, 0, 0, 0, 241, 0, 0, 0, 172, 0, 0, 0, 173, 0, 0, 0, 88, 0, 0, 0, 195, 0, 0, 0, 248, 0, 0, 0, 136, 0, 0, 0, 148, 0, 0, 0, 94, 0, 0, 0, 6, 0, 0, 0, 152, 0, 0, 0, 161, 0, 0, 0, 228, 0, 0, 0, -106, 0, 0, 0, 251, 0, 0, 0, 10, 0, 0, 0, 73, 0, 0, 0, 93, 0, 0, 0, 138, 0, 0, 0, 254, 0, 0, 0, 119, 0, 0, 0, 70, 0, 0, 0, 2, 0, 0, 0, 245, 0, 0, 0, 165, 0, 0, 0, 175, 0, 0, 0, 197, 0, 0, 0, 117, 0, 0, 0, 109, 0, 0, 0, 186, 0, 0, 0, 69, 0, 0, 0, 53, 0, 0, 0, 10, 0, 0, 0, 254, 0, 0, 0, 201, 0, 0, 0, 172, 0, 0, 0, 34, 0, 0, 0, 145, 0, 0, 0, 141, 0, 0, 0, 33, 0, 0, 0, 149, 0, 0, 0, 51, 0, 0, 0, 3, 0, 0, 0, 192, 0, 0, 0, 138, 0, 0, 0, 22, 0, 0, 0, 243, 0, 0, 0, 57, 0, 0, 0, 224, 0, 0, 0, 1, 0, 0, 0, 15, -0, 0, 0, 83, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 117, 0, 0, 0, 55, 0, 0, 0, 31, 0, 0, 0, 52, 0, 0, 0, 78, 0, 0, 0, 169, 0, 0, 0, 29, 0, 0, 0, 104, 0, 0, 0, 103, 0, 0, 0, 248, 0, 0, 0, 73, 0, 0, 0, 152, 0, 0, 0, 150, 0, 0, 0, 252, 0, 0, 0, -76, 0, 0, 0, 101, 0, 0, 0, 151, 0, 0, 0, 247, 0, 0, 0, 2, 0, 0, 0, 74, 0, 0, 0, 82, 0, 0, 0, 108, 0, 0, 0, 1, 0, 0, 0, 189, 0, 0, 0, 72, 0, 0, 0, 187, 0, 0, 0, 27, 0, 0, 0, 237, 0, 0, 0, 164, 0, 0, 0, 226, 0, 0, 0, 83, 0, 0, 0, 89, 0, 0, 0, 213, 0, 0, 0, 155, 0, 0, 0, 90, 0, 0, 0, 162, 0, 0, 0, 144, 0, 0, 0, 211, 0, 0, 0, 184, 0, 0, 0, 55, 0, 0, 0, 76, 0, 0, 0, 85, 0, 0, 0, 130, 0, 0, 0, 40, 0, 0, 0, 8, 0, 0, 0, 15, 0, 0, 0, 127, 0, 0, 0, 170, 0, 0, 0, 129, 0, 0, 0, 101, 0, 0, 0, 224, 0, 0, 0, 12, -0, 0, 0, 82, 0, 0, 0, 201, 0, 0, 0, 163, 0, 0, 0, 50, 0, 0, 0, 39, 0, 0, 0, 100, 0, 0, 0, 218, 0, 0, 0, 253, 0, 0, 0, 52, 0, 0, 0, 35, 0, 0, 0, 90, 0, 0, 0, 181, 0, 0, 0, 176, 0, 0, 0, 12, 0, 0, 0, 77, 0, 0, 0, 179, 0, 0, 0, 123, 0, 0, 0, 35, 0, 0, 0, 200, 0, 0, 0, 31, 0, 0, 0, 138, 0, 0, 0, 57, 0, 0, 0, 102, 0, 0, 0, 230, 0, 0, 0, 186, 0, 0, 0, 76, 0, 0, 0, 16, 0, 0, 0, 55, 0, 0, 0, 202, 0, 0, 0, 156, 0, 0, 0, 124, 0, 0, 0, 5, 0, 0, 0, 158, 0, 0, 0, 255, 0, 0, 0, 192, 0, 0, 0, 248, 0, 0, 0, 142, -0, 0, 0, 177, 0, 0, 0, 143, 0, 0, 0, 111, 0, 0, 0, 103, 0, 0, 0, 24, 0, 0, 0, 38, 0, 0, 0, 75, 0, 0, 0, 65, 0, 0, 0, 19, 0, 0, 0, 84, 0, 0, 0, 35, 0, 0, 0, 26, 0, 0, 0, 164, 0, 0, 0, 78, 0, 0, 0, 169, 0, 0, 0, 139, 0, 0, 0, 30, 0, 0, 0, 75, 0, 0, 0, 252, 0, 0, 0, 21, 0, 0, 0, 36, 0, 0, 0, 187, 0, 0, 0, 126, 0, 0, 0, 203, 0, 0, 0, 182, 0, 0, 0, 30, 0, 0, 0, 27, 0, 0, 0, 245, 0, 0, 0, 242, 0, 0, 0, 200, 0, 0, 0, 86, 0, 0, 0, 236, 0, 0, 0, 50, 0, 0, 0, 162, 0, 0, 0, 96, 0, 0, 0, 91, 0, 0, 0, 160, 0, -0, 0, 42, 0, 0, 0, 164, 0, 0, 0, 41, 0, 0, 0, 71, 0, 0, 0, 134, 0, 0, 0, 46, 0, 0, 0, 146, 0, 0, 0, 79, 0, 0, 0, 17, 0, 0, 0, 79, 0, 0, 0, 243, 0, 0, 0, 178, 0, 0, 0, 92, 0, 0, 0, 213, 0, 0, 0, 62, 0, 0, 0, 166, 0, 0, 0, 185, 0, 0, 0, 200, 0, 0, 0, 226, 0, 0, 0, 51, 0, 0, 0, 17, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 143, 0, 0, 0, 176, 0, 0, 0, 155, 0, 0, 0, 199, 0, 0, 0, 165, 0, 0, 0, 255, 0, 0, 0, 131, 0, 0, 0, 15, 0, 0, 0, 30, 0, 0, 0, 40, 0, 0, 0, 29, 0, 0, 0, 41, 0, 0, 0, 122, 0, 0, 0, 161, 0, 0, -0, 236, 0, 0, 0, 142, 0, 0, 0, 181, 0, 0, 0, 173, 0, 0, 0, 234, 0, 0, 0, 2, 0, 0, 0, 104, 0, 0, 0, 96, 0, 0, 0, 116, 0, 0, 0, 41, 0, 0, 0, 28, 0, 0, 0, 165, 0, 0, 0, 207, 0, 0, 0, 200, 0, 0, 0, 59, 0, 0, 0, 125, 0, 0, 0, 139, 0, 0, 0, 43, 0, 0, 0, 124, 0, 0, 0, 173, 0, 0, 0, 164, 0, 0, 0, 64, 0, 0, 0, 23, 0, 0, 0, 81, 0, 0, 0, 89, 0, 0, 0, 124, 0, 0, 0, 46, 0, 0, 0, 93, 0, 0, 0, 10, 0, 0, 0, 108, 0, 0, 0, 79, 0, 0, 0, 188, 0, 0, 0, 62, 0, 0, 0, 50, 0, 0, 0, 231, 0, 0, 0, 74, 0, 0, 0, 26, 0, 0, 0, -19, 0, 0, 0, 193, 0, 0, 0, 73, 0, 0, 0, 56, 0, 0, 0, 191, 0, 0, 0, 247, 0, 0, 0, 194, 0, 0, 0, 211, 0, 0, 0, 143, 0, 0, 0, 107, 0, 0, 0, 173, 0, 0, 0, 82, 0, 0, 0, 247, 0, 0, 0, 207, 0, 0, 0, 188, 0, 0, 0, 39, 0, 0, 0, 203, 0, 0, 0, 64, 0, 0, 0, 103, 0, 0, 0, 118, 0, 0, 0, 205, 0, 0, 0, 109, 0, 0, 0, 86, 0, 0, 0, 229, 0, 0, 0, 176, 0, 0, 0, 39, 0, 0, 0, 173, 0, 0, 0, 190, 0, 0, 0, 155, 0, 0, 0, 242, 0, 0, 0, 181, 0, 0, 0, 99, 0, 0, 0, 222, 0, 0, 0, 58, 0, 0, 0, 35, 0, 0, 0, 149, 0, 0, 0, 183, 0, -0, 0, 10, 0, 0, 0, 126, 0, 0, 0, 243, 0, 0, 0, 158, 0, 0, 0, 69, 0, 0, 0, 111, 0, 0, 0, 25, 0, 0, 0, 57, 0, 0, 0, 117, 0, 0, 0, 143, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 15, 0, 0, 0, 192, 0, 0, 0, 159, 0, 0, 0, 241, 0, 0, 0, 233, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 136, 0, 0, 0, 170, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0, 134, 0, 0, 0, 148, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 62, 0, 0, 0, 26, 0, 0, 0, 181, 0, 0, 0, 204, 0, 0, 0, 187, 0, 0, 0, 224, 0, 0, 0, 156, 0, 0, 0, 213, 0, 0, 0, 156, 0, 0, 0, 109, 0, 0, 0, 186, 0, 0, 0, 88, 0, 0, 0, 114, 0, 0, 0, 141, 0, 0, 0, 251, 0, 0, 0, 34, 0, 0, 0, 123, 0, 0, 0, 159, 0, 0, 0, 124, 0, 0, 0, 148, 0, 0, 0, 48, 0, 0, 0, 179, 0, 0, 0, 81, 0, 0, 0, 33, 0, 0, 0, 246, 0, 0, 0, 116, 0, 0, 0, 61, 0, 0, 0, 242, 0, -0, 0, 175, 0, 0, 0, 208, 0, 0, 0, 30, 0, 0, 0, 3, 0, 0, 0, 124, 0, 0, 0, 35, 0, 0, 0, 107, 0, 0, 0, 201, 0, 0, 0, 252, 0, 0, 0, 37, 0, 0, 0, 112, 0, 0, 0, 144, 0, 0, 0, 220, 0, 0, 0, 154, 0, 0, 0, 164, 0, 0, 0, 251, 0, 0, 0, 73, 0, 0, 0, 252, 0, 0, 0, 61, 0, 0, 0, 10, 0, 0, 0, 53, 0, 0, 0, 56, 0, 0, 0, 111, 0, 0, 0, 228, 0, 0, 0, 126, 0, 0, 0, 80, 0, 0, 0, 1, 0, 0, 0, 42, 0, 0, 0, 214, 0, 0, 0, 227, 0, 0, 0, 150, 0, 0, 0, 97, 0, 0, 0, 58, 0, 0, 0, 253, 0, 0, 0, 239, 0, 0, 0, 155, 0, 0, 0, 31, 0, -0, 0, 144, 0, 0, 0, 164, 0, 0, 0, 36, 0, 0, 0, 20, 0, 0, 0, 91, 0, 0, 0, 200, 0, 0, 0, 222, 0, 0, 0, 80, 0, 0, 0, 177, 0, 0, 0, 29, 0, 0, 0, 175, 0, 0, 0, 232, 0, 0, 0, 85, 0, 0, 0, 138, 0, 0, 0, 135, 0, 0, 0, 13, 0, 0, 0, 254, 0, 0, 0, 170, 0, 0, 0, 59, 0, 0, 0, 130, 0, 0, 0, 44, 0, 0, 0, 141, 0, 0, 0, 123, 0, 0, 0, 133, 0, 0, 0, 12, 0, 0, 0, 175, 0, 0, 0, 248, 0, 0, 0, 131, 0, 0, 0, 68, 0, 0, 0, 73, 0, 0, 0, 217, 0, 0, 0, 69, 0, 0, 0, 207, 0, 0, 0, 247, 0, 0, 0, 72, 0, 0, 0, 217, 0, 0, 0, 83, 0, -0, 0, 180, 0, 0, 0, 241, 0, 0, 0, 101, 0, 0, 0, 160, 0, 0, 0, 225, 0, 0, 0, 195, 0, 0, 0, 179, 0, 0, 0, 21, 0, 0, 0, 237, 0, 0, 0, 137, 0, 0, 0, 155, 0, 0, 0, 79, 0, 0, 0, 98, 0, 0, 0, 179, 0, 0, 0, 87, 0, 0, 0, 165, 0, 0, 0, 69, 0, 0, 0, 28, 0, 0, 0, 143, 0, 0, 0, 18, 0, 0, 0, 234, 0, 0, 0, 175, 0, 0, 0, 209, 0, 0, 0, 31, 0, 0, 0, 121, 0, 0, 0, 16, 0, 0, 0, 11, 0, 0, 0, 246, 0, 0, 0, 163, 0, 0, 0, 123, 0, 0, 0, 234, 0, 0, 0, 172, 0, 0, 0, 139, 0, 0, 0, 87, 0, 0, 0, 50, 0, 0, 0, 98, 0, 0, 0, 231, -0, 0, 0, 6, 0, 0, 0, 18, 0, 0, 0, 81, 0, 0, 0, 160, 0, 0, 0, 59, 0, 0, 0, 67, 0, 0, 0, 94, 0, 0, 0, 164, 0, 0, 0, 32, 0, 0, 0, 120, 0, 0, 0, 49, 0, 0, 0, 206, 0, 0, 0, 13, 0, 0, 0, 132, 0, 0, 0, 124, 0, 0, 0, 194, 0, 0, 0, 166, 0, 0, 0, 145, 0, 0, 0, 35, 0, 0, 0, 206, 0, 0, 0, 189, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 206, 0, 0, 0, 213, 0, 0, 0, 117, 0, 0, 0, 48, 0, 0, 0, 34, 0, 0, 0, 230, 0, 0, 0, 249, 0, 0, 0, 67, 0, 0, 0, 98, 0, 0, 0, 13, 0, 0, 0, 247, 0, 0, 0, 117, 0, 0, 0, 157, 0, 0, 0, 127, -0, 0, 0, 140, 0, 0, 0, 255, 0, 0, 0, 125, 0, 0, 0, 228, 0, 0, 0, 114, 0, 0, 0, 172, 0, 0, 0, 159, 0, 0, 0, 28, 0, 0, 0, 136, 0, 0, 0, 193, 0, 0, 0, 153, 0, 0, 0, 208, 0, 0, 0, 60, 0, 0, 0, 28, 0, 0, 0, 93, 0, 0, 0, 180, 0, 0, 0, 239, 0, 0, 0, 19, 0, 0, 0, 15, 0, 0, 0, 144, 0, 0, 0, 185, 0, 0, 0, 54, 0, 0, 0, 47, 0, 0, 0, 149, 0, 0, 0, 149, 0, 0, 0, 198, 0, 0, 0, 220, 0, 0, 0, 222, 0, 0, 0, 10, 0, 0, 0, 81, 0, 0, 0, 226, 0, 0, 0, 141, 0, 0, 0, 243, 0, 0, 0, 188, 0, 0, 0, 81, 0, 0, 0, 236, 0, 0, 0, -223, 0, 0, 0, 177, 0, 0, 0, 162, 0, 0, 0, 95, 0, 0, 0, 46, 0, 0, 0, 104, 0, 0, 0, 161, 0, 0, 0, 35, 0, 0, 0, 125, 0, 0, 0, 155, 0, 0, 0, 64, 0, 0, 0, 105, 0, 0, 0, 133, 0, 0, 0, 123, 0, 0, 0, 66, 0, 0, 0, 191, 0, 0, 0, 144, 0, 0, 0, 75, 0, 0, 0, 214, 0, 0, 0, 64, 0, 0, 0, 47, 0, 0, 0, 215, 0, 0, 0, 82, 0, 0, 0, 82, 0, 0, 0, 178, 0, 0, 0, 33, 0, 0, 0, 222, 0, 0, 0, 100, 0, 0, 0, 189, 0, 0, 0, 136, 0, 0, 0, 195, 0, 0, 0, 109, 0, 0, 0, 165, 0, 0, 0, 250, 0, 0, 0, 129, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, 0, 253, 0, 0, 0, 71, 0, 0, 0, 123, 0, 0, 0, 138, 0, 0, 0, 102, 0, 0, 0, 158, 0, 0, 0, 121, 0, 0, 0, 46, 0, 0, 0, 100, 0, 0, 0, 130, 0, 0, 0, 239, 0, 0, 0, 247, 0, 0, 0, 33, 0, 0, 0, 236, 0, 0, 0, 246, 0, 0, 0, 216, 0, 0, 0, 134, 0, -0, 0, 9, 0, 0, 0, 49, 0, 0, 0, 124, 0, 0, 0, 221, 0, 0, 0, 3, 0, 0, 0, 106, 0, 0, 0, 88, 0, 0, 0, 160, 0, 0, 0, 119, 0, 0, 0, 183, 0, 0, 0, 155, 0, 0, 0, 140, 0, 0, 0, 135, 0, 0, 0, 31, 0, 0, 0, 85, 0, 0, 0, 71, 0, 0, 0, 228, 0, 0, 0, 168, 0, 0, 0, 61, 0, 0, 0, 85, 0, 0, 0, 33, 0, 0, 0, 52, 0, 0, 0, 171, 0, 0, 0, 29, 0, 0, 0, 174, 0, 0, 0, 224, 0, 0, 0, 244, 0, 0, 0, 234, 0, 0, 0, 219, 0, 0, 0, 197, 0, 0, 0, 185, 0, 0, 0, 88, 0, 0, 0, 191, 0, 0, 0, 196, 0, 0, 0, 42, 0, 0, 0, 137, 0, 0, 0, 49, 0, -0, 0, 26, 0, 0, 0, 244, 0, 0, 0, 45, 0, 0, 0, 225, 0, 0, 0, 202, 0, 0, 0, 55, 0, 0, 0, 153, 0, 0, 0, 71, 0, 0, 0, 89, 0, 0, 0, 199, 0, 0, 0, 202, 0, 0, 0, 99, 0, 0, 0, 193, 0, 0, 0, 73, 0, 0, 0, 169, 0, 0, 0, 53, 0, 0, 0, 69, 0, 0, 0, 85, 0, 0, 0, 126, 0, 0, 0, 218, 0, 0, 0, 100, 0, 0, 0, 50, 0, 0, 0, 7, 0, 0, 0, 80, 0, 0, 0, 247, 0, 0, 0, 50, 0, 0, 0, 172, 0, 0, 0, 222, 0, 0, 0, 117, 0, 0, 0]).concat([88, 0, 0, 0, 155, 0, 0, 0, 17, 0, 0, 0, 178, 0, 0, 0, 58, 0, 0, 0, 31, 0, 0, 0, 245, 0, 0, 0, 247, -0, 0, 0, 121, 0, 0, 0, 4, 0, 0, 0, 230, 0, 0, 0, 8, 0, 0, 0, 70, 0, 0, 0, 250, 0, 0, 0, 34, 0, 0, 0, 75, 0, 0, 0, 250, 0, 0, 0, 225, 0, 0, 0, 254, 0, 0, 0, 150, 0, 0, 0, 252, 0, 0, 0, 103, 0, 0, 0, 186, 0, 0, 0, 103, 0, 0, 0, 151, 0, 0, 0, 196, 0, 0, 0, 231, 0, 0, 0, 27, 0, 0, 0, 134, 0, 0, 0, 144, 0, 0, 0, 95, 0, 0, 0, 238, 0, 0, 0, 244, 0, 0, 0, 91, 0, 0, 0, 17, 0, 0, 0, 178, 0, 0, 0, 205, 0, 0, 0, 173, 0, 0, 0, 238, 0, 0, 0, 194, 0, 0, 0, 72, 0, 0, 0, 108, 0, 0, 0, 43, 0, 0, 0, 27, 0, 0, 0, 227, -0, 0, 0, 57, 0, 0, 0, 98, 0, 0, 0, 180, 0, 0, 0, 79, 0, 0, 0, 49, 0, 0, 0, 4, 0, 0, 0, 201, 0, 0, 0, 218, 0, 0, 0, 213, 0, 0, 0, 115, 0, 0, 0, 81, 0, 0, 0, 87, 0, 0, 0, 197, 0, 0, 0, 184, 0, 0, 0, 243, 0, 0, 0, 163, 0, 0, 0, 67, 0, 0, 0, 112, 0, 0, 0, 228, 0, 0, 0, 97, 0, 0, 0, 129, 0, 0, 0, 132, 0, 0, 0, 226, 0, 0, 0, 187, 0, 0, 0, 191, 0, 0, 0, 79, 0, 0, 0, 158, 0, 0, 0, 164, 0, 0, 0, 94, 0, 0, 0, 116, 0, 0, 0, 6, 0, 0, 0, 41, 0, 0, 0, 172, 0, 0, 0, 255, 0, 0, 0, 39, 0, 0, 0, 224, 0, 0, 0, 89, -0, 0, 0, 190, 0, 0, 0, 57, 0, 0, 0, 156, 0, 0, 0, 13, 0, 0, 0, 131, 0, 0, 0, 215, 0, 0, 0, 16, 0, 0, 0, 11, 0, 0, 0, 21, 0, 0, 0, 183, 0, 0, 0, 225, 0, 0, 0, 194, 0, 0, 0, 44, 0, 0, 0, 48, 0, 0, 0, 115, 0, 0, 0, 128, 0, 0, 0, 58, 0, 0, 0, 125, 0, 0, 0, 93, 0, 0, 0, 171, 0, 0, 0, 88, 0, 0, 0, 107, 0, 0, 0, 193, 0, 0, 0, 240, 0, 0, 0, 244, 0, 0, 0, 34, 0, 0, 0, 254, 0, 0, 0, 127, 0, 0, 0, 251, 0, 0, 0, 53, 0, 0, 0, 125, 0, 0, 0, 198, 0, 0, 0, 1, 0, 0, 0, 35, 0, 0, 0, 40, 0, 0, 0, 196, 0, 0, 0, 2, 0, -0, 0, 172, 0, 0, 0, 31, 0, 0, 0, 66, 0, 0, 0, 180, 0, 0, 0, 157, 0, 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, 165, 0, 0, 0, 238, 0, 0, 0, 202, 0, 0, 0, 218, 0, 0, 0, 151, 0, 0, 0, 9, 0, 0, 0, 65, 0, 0, 0, 119, 0, 0, 0, 135, 0, 0, 0, 93, 0, 0, 0, 123, 0, 0, 0, 135, 0, 0, 0, 120, 0, 0, 0, 245, 0, 0, 0, 251, 0, 0, 0, 144, 0, 0, 0, 45, 0, 0, 0, 129, 0, 0, 0, 25, 0, 0, 0, 158, 0, 0, 0, 47, 0, 0, 0, 109, 0, 0, 0, 133, 0, 0, 0, 136, 0, 0, 0, 140, 0, 0, 0, 64, 0, 0, 0, 92, 0, 0, 0, 119, 0, 0, 0, 65, -0, 0, 0, 77, 0, 0, 0, 1, 0, 0, 0, 25, 0, 0, 0, 118, 0, 0, 0, 96, 0, 0, 0, 232, 0, 0, 0, 76, 0, 0, 0, 72, 0, 0, 0, 228, 0, 0, 0, 51, 0, 0, 0, 131, 0, 0, 0, 50, 0, 0, 0, 108, 0, 0, 0, 180, 0, 0, 0, 65, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 16, -0, 0, 0, 194, 0, 0, 0, 9, 0, 0, 0, 79, 0, 0, 0, 110, 0, 0, 0, 244, 0, 0, 0, 210, 0, 0, 0, 223, 0, 0, 0, 126, 0, 0, 0, 202, 0, 0, 0, 123, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 186, 0, 0, 0, 163, 0, 0, 0, 182, 0, 0, 0, 218, 0, 0, 0, 103, 0, 0, 0, 51, 0, 0, 0, 212, 0, 0, 0, 135, 0, 0, 0, 54, 0, 0, 0, 75, 0, 0, 0, 17, 0, 0, 0, 32, 0, 0, 0, 5, 0, 0, 0, 166, 0, 0, 0, 41, 0, 0, 0, 193, 0, 0, 0, 135, 0, 0, 0, 23, 0, 0, 0, 246, 0, 0, 0, 150, 0, 0, 0, 202, 0, 0, 0, 47, 0, 0, 0, 218, 0, 0, 0, 56, 0, 0, 0, 167, -0, 0, 0, 27, 0, 0, 0, 252, 0, 0, 0, 202, 0, 0, 0, 125, 0, 0, 0, 254, 0, 0, 0, 8, 0, 0, 0, 137, 0, 0, 0, 226, 0, 0, 0, 71, 0, 0, 0, 43, 0, 0, 0, 106, 0, 0, 0, 93, 0, 0, 0, 75, 0, 0, 0, 250, 0, 0, 0, 161, 0, 0, 0, 180, 0, 0, 0, 222, 0, 0, 0, 182, 0, 0, 0, 194, 0, 0, 0, 49, 0, 0, 0, 81, 0, 0, 0, 245, 0, 0, 0, 224, 0, 0, 0, 164, 0, 0, 0, 11, 0, 0, 0, 92, 0, 0, 0, 229, 0, 0, 0, 198, 0, 0, 0, 4, 0, 0, 0, 142, 0, 0, 0, 43, 0, 0, 0, 87, 0, 0, 0, 190, 0, 0, 0, 56, 0, 0, 0, 133, 0, 0, 0, 35, 0, 0, 0, 203, -0, 0, 0, 183, 0, 0, 0, 190, 0, 0, 0, 79, 0, 0, 0, 169, 0, 0, 0, 211, 0, 0, 0, 110, 0, 0, 0, 18, 0, 0, 0, 170, 0, 0, 0, 213, 0, 0, 0, 178, 0, 0, 0, 46, 0, 0, 0, 147, 0, 0, 0, 41, 0, 0, 0, 154, 0, 0, 0, 74, 0, 0, 0, 136, 0, 0, 0, 24, 0, 0, 0, 67, 0, 0, 0, 245, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 252, 0, 0, 0, 219, 0, 0, 0, 162, 0, 0, 0, 89, 0, 0, 0, 33, 0, 0, 0, 141, 0, 0, 0, 189, 0, 0, 0, 126, 0, 0, 0, 51, 0, 0, 0, 174, 0, 0, 0, 47, 0, 0, 0, 135, 0, 0, 0, 26, 0, 0, 0, 208, 0, 0, 0, 151, 0, 0, 0, 199, -0, 0, 0, 13, 0, 0, 0, 77, 0, 0, 0, 99, 0, 0, 0, 1, 0, 0, 0, 239, 0, 0, 0, 5, 0, 0, 0, 132, 0, 0, 0, 236, 0, 0, 0, 64, 0, 0, 0, 221, 0, 0, 0, 168, 0, 0, 0, 10, 0, 0, 0, 79, 0, 0, 0, 112, 0, 0, 0, 11, 0, 0, 0, 65, 0, 0, 0, 105, 0, 0, 0, 1, 0, 0, 0, 103, 0, 0, 0, 92, 0, 0, 0, 211, 0, 0, 0, 138, 0, 0, 0, 197, 0, 0, 0, 207, 0, 0, 0, 63, 0, 0, 0, 209, 0, 0, 0, 87, 0, 0, 0, 209, 0, 0, 0, 103, 0, 0, 0, 62, 0, 0, 0, 1, 0, 0, 0, 57, 0, 0, 0, 181, 0, 0, 0, 203, 0, 0, 0, 129, 0, 0, 0, 86, 0, 0, 0, 150, 0, 0, -0, 38, 0, 0, 0, 182, 0, 0, 0, 194, 0, 0, 0, 231, 0, 0, 0, 92, 0, 0, 0, 251, 0, 0, 0, 99, 0, 0, 0, 151, 0, 0, 0, 88, 0, 0, 0, 6, 0, 0, 0, 12, 0, 0, 0, 14, 0, 0, 0, 243, 0, 0, 0, 186, 0, 0, 0, 240, 0, 0, 0, 229, 0, 0, 0, 186, 0, 0, 0, 178, 0, 0, 0, 87, 0, 0, 0, 119, 0, 0, 0, 198, 0, 0, 0, 32, 0, 0, 0, 155, 0, 0, 0, 137, 0, 0, 0, 36, 0, 0, 0, 190, 0, 0, 0, 242, 0, 0, 0, 156, 0, 0, 0, 138, 0, 0, 0, 186, 0, 0, 0, 105, 0, 0, 0, 193, 0, 0, 0, 241, 0, 0, 0, 176, 0, 0, 0, 79, 0, 0, 0, 42, 0, 0, 0, 5, 0, 0, -0, 154, 0, 0, 0, 238, 0, 0, 0, 16, 0, 0, 0, 126, 0, 0, 0, 54, 0, 0, 0, 63, 0, 0, 0, 38, 0, 0, 0, 233, 0, 0, 0, 64, 0, 0, 0, 233, 0, 0, 0, 3, 0, 0, 0, 173, 0, 0, 0, 6, 0, 0, 0, 105, 0, 0, 0, 145, 0, 0, 0, 224, 0, 0, 0, 209, 0, 0, 0, 137, 0, 0, 0, 96, 0, 0, 0, 132, 0, 0, 0, 121, 0, 0, 0, 222, 0, 0, 0, 39, 0, 0, 0, 109, 0, 0, 0, 230, 0, 0, 0, 118, 0, 0, 0, 189, 0, 0, 0, 234, 0, 0, 0, 230, 0, 0, 0, 174, 0, 0, 0, 72, 0, 0, 0, 195, 0, 0, 0, 103, 0, 0, 0, 192, 0, 0, 0, 87, 0, 0, 0, 205, 0, 0, 0, 47, 0, -0, 0, 127, 0, 0, 0, 193, 0, 0, 0, 220, 0, 0, 0, 185, 0, 0, 0, 199, 0, 0, 0, 188, 0, 0, 0, 134, 0, 0, 0, 61, 0, 0, 0, 85, 0, 0, 0, 75, 0, 0, 0, 40, 0, 0, 0, 122, 0, 0, 0, 251, 0, 0, 0, 77, 0, 0, 0, 199, 0, 0, 0, 248, 0, 0, 0, 188, 0, 0, 0, 103, 0, 0, 0, 42, 0, 0, 0, 96, 0, 0, 0, 77, 0, 0, 0, 143, 0, 0, 0, 7, 0, 0, 0, 11, 0, 0, 0, 26, 0, 0, 0, 23, 0, 0, 0, 191, 0, 0, 0, 250, 0, 0, 0, 172, 0, 0, 0, 167, 0, 0, 0, 61, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 63, 0, 0, 0, 237, 0, 0, 0, 94, 0, 0, 0, 24, 0, 0, 0, 120, 0, 0, 0, 63, 0, 0, 0, 35, 0, 0, 0, 44, 0, 0, 0, 13, 0, 0, 0, 140, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 251, 0, 0, 0, 233, 0, 0, 0, 142, 0, 0, 0, 214, 0, 0, 0, 209, 0, 0, 0, 54, 0, 0, 0, 88, 0, 0, 0, 87, 0, 0, 0, 158, -0, 0, 0, 174, 0, 0, 0, 75, 0, 0, 0, 92, 0, 0, 0, 11, 0, 0, 0, 7, 0, 0, 0, 188, 0, 0, 0, 107, 0, 0, 0, 85, 0, 0, 0, 43, 0, 0, 0, 111, 0, 0, 0, 77, 0, 0, 0, 23, 0, 0, 0, 215, 0, 0, 0, 225, 0, 0, 0, 132, 0, 0, 0, 217, 0, 0, 0, 120, 0, 0, 0, 177, 0, 0, 0, 144, 0, 0, 0, 253, 0, 0, 0, 46, 0, 0, 0, 179, 0, 0, 0, 181, 0, 0, 0, 25, 0, 0, 0, 63, 0, 0, 0, 27, 0, 0, 0, 250, 0, 0, 0, 192, 0, 0, 0, 104, 0, 0, 0, 179, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 137, 0, 0, 0, 189, 0, 0, 0, 126, 0, 0, 0, 128, -0, 0, 0, 50, 0, 0, 0, 19, 0, 0, 0, 160, 0, 0, 0, 123, 0, 0, 0, 26, 0, 0, 0, 111, 0, 0, 0, 64, 0, 0, 0, 175, 0, 0, 0, 68, 0, 0, 0, 68, 0, 0, 0, 176, 0, 0, 0, 67, 0, 0, 0, 143, 0, 0, 0, 13, 0, 0, 0, 208, 0, 0, 0, 30, 0, 0, 0, 196, 0, 0, 0, 11, 0, 0, 0, 25, 0, 0, 0, 93, 0, 0, 0, 142, 0, 0, 0, 254, 0, 0, 0, 193, 0, 0, 0, 243, 0, 0, 0, 197, 0, 0, 0, 92, 0, 0, 0, 145, 0, 0, 0, 248, 0, 0, 0, 4, 0, 0, 0, 78, 0, 0, 0, 190, 0, 0, 0, 144, 0, 0, 0, 180, 0, 0, 0, 71, 0, 0, 0, 92, 0, 0, 0, 63, 0, 0, 0, 176, 0, -0, 0, 59, 0, 0, 0, 44, 0, 0, 0, 243, 0, 0, 0, 254, 0, 0, 0, 50, 0, 0, 0, 113, 0, 0, 0, 7, 0, 0, 0, 63, 0, 0, 0, 170, 0, 0, 0, 186, 0, 0, 0, 69, 0, 0, 0, 96, 0, 0, 0, 168, 0, 0, 0, 141, 0, 0, 0, 234, 0, 0, 0, 84, 0, 0, 0, 203, 0, 0, 0, 57, 0, 0, 0, 16, 0, 0, 0, 180, 0, 0, 0, 242, 0, 0, 0, 139, 0, 0, 0, 210, 0, 0, 0, 20, 0, 0, 0, 130, 0, 0, 0, 66, 0, 0, 0, 7, 0, 0, 0, 142, 0, 0, 0, 233, 0, 0, 0, 124, 0, 0, 0, 83, 0, 0, 0, 176, 0, 0, 0, 174, 0, 0, 0, 193, 0, 0, 0, 141, 0, 0, 0, 201, 0, 0, 0, 143, 0, -0, 0, 185, 0, 0, 0, 122, 0, 0, 0, 119, 0, 0, 0, 239, 0, 0, 0, 186, 0, 0, 0, 121, 0, 0, 0, 160, 0, 0, 0, 60, 0, 0, 0, 168, 0, 0, 0, 245, 0, 0, 0, 106, 0, 0, 0, 226, 0, 0, 0, 63, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, 0, 75, 0, 0, 0, 69, 0, 0, 0, 36, 0, 0, 0, 123, 0, 0, 0, 67, 0, 0, 0, 120, 0, 0, 0, 85, 0, 0, 0, 29, 0, 0, 0, 43, 0, 0, 0, 30, 0, 0, 0, 1, 0, 0, 0, 184, 0, 0, 0, 214, 0, 0, 0, 22, 0, 0, 0, 103, 0, 0, 0, 160, 0, 0, 0, 21, 0, 0, 0, 185, 0, 0, 0, 225, 0, 0, 0, 88, 0, 0, 0, 164, 0, 0, -0, 167, 0, 0, 0, 49, 0, 0, 0, 55, 0, 0, 0, 119, 0, 0, 0, 47, 0, 0, 0, 139, 0, 0, 0, 18, 0, 0, 0, 159, 0, 0, 0, 244, 0, 0, 0, 63, 0, 0, 0, 199, 0, 0, 0, 54, 0, 0, 0, 102, 0, 0, 0, 210, 0, 0, 0, 168, 0, 0, 0, 86, 0, 0, 0, 247, 0, 0, 0, 127, 0, 0, 0, 116, 0, 0, 0, 198, 0, 0, 0, 65, 0, 0, 0, 93, 0, 0, 0, 248, 0, 0, 0, 180, 0, 0, 0, 168, 0, 0, 0, 48, 0, 0, 0, 221, 0, 0, 0, 204, 0, 0, 0, 56, 0, 0, 0, 165, 0, 0, 0, 211, 0, 0, 0, 202, 0, 0, 0, 216, 0, 0, 0, 209, 0, 0, 0, 248, 0, 0, 0, 178, 0, 0, 0, 49, 0, -0, 0, 145, 0, 0, 0, 212, 0, 0, 0, 114, 0, 0, 0, 5, 0, 0, 0, 87, 0, 0, 0, 74, 0, 0, 0, 59, 0, 0, 0, 130, 0, 0, 0, 74, 0, 0, 0, 198, 0, 0, 0, 104, 0, 0, 0, 32, 0, 0, 0, 226, 0, 0, 0, 24, 0, 0, 0, 65, 0, 0, 0, 97, 0, 0, 0, 25, 0, 0, 0, 212, 0, 0, 0, 141, 0, 0, 0, 71, 0, 0, 0, 41, 0, 0, 0, 18, 0, 0, 0, 101, 0, 0, 0, 176, 0, 0, 0, 17, 0, 0, 0, 120, 0, 0, 0, 71, 0, 0, 0, 181, 0, 0, 0, 203, 0, 0, 0, 163, 0, 0, 0, 165, 0, 0, 0, 250, 0, 0, 0, 5, 0, 0, 0, 133, 0, 0, 0, 84, 0, 0, 0, 169, 0, 0, 0, 51, 0, 0, -0, 151, 0, 0, 0, 141, 0, 0, 0, 43, 0, 0, 0, 194, 0, 0, 0, 254, 0, 0, 0, 153, 0, 0, 0, 53, 0, 0, 0, 40, 0, 0, 0, 229, 0, 0, 0, 235, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 239, 0, 0, 0, 216, 0, 0, 0, 244, 0, 0, 0, -252, 0, 0, 0, 179, 0, 0, 0, 160, 0, 0, 0, 96, 0, 0, 0, 80, 0, 0, 0, 6, 0, 0, 0, 43, 0, 0, 0, 41, 0, 0, 0, 82, 0, 0, 0, 112, 0, 0, 0, 21, 0, 0, 0, 11, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 248, 0, 0, 0, 95, 0, 0, 0, 121, 0, 0, 0, 24, 0, 0, 0, 204, 0, 0, 0, 255, 0, 0, 0, 137, 0, 0, 0, 153, 0, 0, 0, 132, 0, 0, 0, 161, 0, 0, 0, 174, 0, 0, 0, 19, 0, 0, 0, 68, 0, 0, 0, 31, 0, 0, 0, 184, 0, 0, 0, 194, 0, 0, 0, 1, 0, 0, 0, 193, 0, 0, 0, 48, 0, 0, 0, 25, 0, 0, 0, 85, 0, 0, 0, 5, 0, 0, 0, 96, 0, 0, 0, 16, 0, -0, 0, 164, 0, 0, 0, 108, 0, 0, 0, 45, 0, 0, 0, 103, 0, 0, 0, 112, 0, 0, 0, 229, 0, 0, 0, 37, 0, 0, 0, 27, 0, 0, 0, 242, 0, 0, 0, 191, 0, 0, 0, 221, 0, 0, 0, 251, 0, 0, 0, 112, 0, 0, 0, 43, 0, 0, 0, 161, 0, 0, 0, 140, 0, 0, 0, 156, 0, 0, 0, 148, 0, 0, 0, 132, 0, 0, 0, 8, 0, 0, 0, 231, 0, 0, 0, 196, 0, 0, 0, 67, 0, 0, 0, 77, 0, 0, 0, 201, 0, 0, 0, 43, 0, 0, 0, 105, 0, 0, 0, 93, 0, 0, 0, 29, 0, 0, 0, 60, 0, 0, 0, 175, 0, 0, 0, 187, 0, 0, 0, 67, 0, 0, 0, 56, 0, 0, 0, 78, 0, 0, 0, 152, 0, 0, 0, 61, 0, -0, 0, 237, 0, 0, 0, 13, 0, 0, 0, 33, 0, 0, 0, 3, 0, 0, 0, 253, 0, 0, 0, 240, 0, 0, 0, 153, 0, 0, 0, 71, 0, 0, 0, 4, 0, 0, 0, 176, 0, 0, 0, 152, 0, 0, 0, 105, 0, 0, 0, 85, 0, 0, 0, 114, 0, 0, 0, 15, 0, 0, 0, 94, 0, 0, 0, 223, 0, 0, 0, 21, 0, 0, 0, 83, 0, 0, 0, 59, 0, 0, 0, 134, 0, 0, 0, 128, 0, 0, 0, 176, 0, 0, 0, 241, 0, 0, 0, 112, 0, 0, 0, 104, 0, 0, 0, 143, 0, 0, 0, 102, 0, 0, 0, 124, 0, 0, 0, 14, 0, 0, 0, 73, 0, 0, 0, 26, 0, 0, 0, 216, 0, 0, 0, 107, 0, 0, 0, 254, 0, 0, 0, 78, 0, 0, 0, 239, 0, -0, 0, 202, 0, 0, 0, 71, 0, 0, 0, 212, 0, 0, 0, 3, 0, 0, 0, 193, 0, 0, 0, 55, 0, 0, 0, 80, 0, 0, 0, 156, 0, 0, 0, 193, 0, 0, 0, 22, 0, 0, 0, 205, 0, 0, 0, 36, 0, 0, 0, 198, 0, 0, 0, 62, 0, 0, 0, 12, 0, 0, 0, 130, 0, 0, 0, 155, 0, 0, 0, 145, 0, 0, 0, 43, 0, 0, 0, 97, 0, 0, 0, 74, 0, 0, 0, 178, 0, 0, 0, 15, 0, 0, 0, 136, 0, 0, 0, 85, 0, 0, 0, 95, 0, 0, 0, 90, 0, 0, 0, 87, 0, 0, 0, 255, 0, 0, 0, 229, 0, 0, 0, 116, 0, 0, 0, 11, 0, 0, 0, 19, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 107, 0, 0, 0, -207, 0, 0, 0, 210, 0, 0, 0, 21, 0, 0, 0, 3, 0, 0, 0, 44, 0, 0, 0, 220, 0, 0, 0, 255, 0, 0, 0, 21, 0, 0, 0, 97, 0, 0, 0, 47, 0, 0, 0, 74, 0, 0, 0, 47, 0, 0, 0, 98, 0, 0, 0, 242, 0, 0, 0, 4, 0, 0, 0, 47, 0, 0, 0, 181, 0, 0, 0, 12, 0, 0, 0, 183, 0, 0, 0, 30, 0, 0, 0, 63, 0, 0, 0, 116, 0, 0, 0, 26, 0, 0, 0, 15, 0, 0, 0, 215, 0, 0, 0, 234, 0, 0, 0, 205, 0, 0, 0, 217, 0, 0, 0, 125, 0, 0, 0, 246, 0, 0, 0, 18, 0, 0, 0, 14, 0, 0, 0, 47, 0, 0, 0, 219, 0, 0, 0, 90, 0, 0, 0, 59, 0, 0, 0, 22, 0, 0, 0, 27, 0, -0, 0, 55, 0, 0, 0, 71, 0, 0, 0, 227, 0, 0, 0, 245, 0, 0, 0, 158, 0, 0, 0, 234, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0, 231, 0, 0, 0, 130, 0, 0, 0, 54, 0, 0, 0, 244, 0, 0, 0, 31, 0, 0, 0, 129, 0, 0, 0, 71, 0, 0, 0, 146, 0, 0, 0, 75, 0, 0, 0, 105, 0, 0, 0, 14, 0, 0, 0, 17, 0, 0, 0, 140, 0, 0, 0, 93, 0, 0, 0, 83, 0, 0, 0, 91, 0, 0, 0, 129, 0, 0, 0, 39, 0, 0, 0, 8, 0, 0, 0, 188, 0, 0, 0, 160, 0, 0, 0, 174, 0, 0, 0, 37, 0, 0, 0, 105, 0, 0, 0, 50, 0, 0, 0, 161, 0, 0, 0, 5, 0, 0, 0, 17, 0, 0, 0, 66, 0, 0, 0, -0, 0, 0, 0, 210, 0, 0, 0, 89, 0, 0, 0, 172, 0, 0, 0, 77, 0, 0, 0, 98, 0, 0, 0, 139, 0, 0, 0, 19, 0, 0, 0, 226, 0, 0, 0, 80, 0, 0, 0, 93, 0, 0, 0, 160, 0, 0, 0, 157, 0, 0, 0, 155, 0, 0, 0, 253, 0, 0, 0, 187, 0, 0, 0, 18, 0, 0, 0, 65, 0, 0, 0, 117, 0, 0, 0, 65, 0, 0, 0, 158, 0, 0, 0, 204, 0, 0, 0, 220, 0, 0, 0, 199, 0, 0, 0, 220, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 227, 0, 0, 0, 56, 0, 0, 0, 6, 0, 0, 0, 70, 0, 0, 0, 112, 0, 0, 0, 130, 0, 0, 0, 94, 0, 0, 0, 40, 0, 0, 0, 73, 0, 0, 0, 121, 0, 0, 0, 255, 0, 0, 0, 37, 0, 0, 0, 210, 0, 0, 0, 78, 0, 0, 0, 41, 0, 0, 0, 141, 0, 0, 0, 6, 0, 0, 0, 176, 0, 0, 0, 35, 0, 0, 0, 174, 0, 0, 0, 155, 0, 0, 0, 102, 0, 0, 0, 228, 0, 0, 0, 125, 0, 0, 0, 192, 0, 0, 0, 112, 0, 0, 0, 145, 0, 0, 0, 163, -0, 0, 0, 252, 0, 0, 0, 236, 0, 0, 0, 78, 0, 0, 0, 98, 0, 0, 0, 18, 0, 0, 0, 55, 0, 0, 0, 106, 0, 0, 0, 48, 0, 0, 0, 246, 0, 0, 0, 30, 0, 0, 0, 251, 0, 0, 0, 20, 0, 0, 0, 92, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0, 183, 0, 0, 0, 129, 0, 0, 0, 106, 0, 0, 0, 231, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 172, 0, 0, 0, 170, 0, 0, 0, 56, 0, 0, 0, 70, 0, 0, 0, 226, 0, 0, 0, 115, 0, 0, 0, 234, 0, 0, 0, 75, 0, 0, 0, 7, 0, 0, 0, 129, 0, 0, 0, 67, 0, 0, 0, 124, 0, 0, 0, 158, 0, 0, 0, 94, 0, 0, 0, 252, 0, 0, 0, 249, 0, 0, -0, 33, 0, 0, 0, 79, 0, 0, 0, 46, 0, 0, 0, 118, 0, 0, 0, 155, 0, 0, 0, 31, 0, 0, 0, 40, 0, 0, 0, 96, 0, 0, 0, 119, 0, 0, 0, 67, 0, 0, 0, 50, 0, 0, 0, 157, 0, 0, 0, 190, 0, 0, 0, 23, 0, 0, 0, 48, 0, 0, 0, 42, 0, 0, 0, 198, 0, 0, 0, 24, 0, 0, 0, 146, 0, 0, 0, 102, 0, 0, 0, 98, 0, 0, 0, 48, 0, 0, 0, 152, 0, 0, 0, 64, 0, 0, 0, 17, 0, 0, 0, 166, 0, 0, 0, 127, 0, 0, 0, 24, 0, 0, 0, 132, 0, 0, 0, 40, 0, 0, 0, 63, 0, 0, 0, 171, 0, 0, 0, 211, 0, 0, 0, 244, 0, 0, 0, 138, 0, 0, 0, 118, 0, 0, 0, 161, 0, 0, 0, -60, 0, 0, 0, 202, 0, 0, 0, 45, 0, 0, 0, 73, 0, 0, 0, 195, 0, 0, 0, 234, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 0, 133, 0, 0, 0, 23, 0, 0, 0, 42, 0, 0, 0, 195, 0, 0, 0, 108, 0, 0, 0, 8, 0, 0, 0, 253, 0, 0, 0, 87, 0, 0, 0, 159, 0, 0, 0, 61, 0, 0, 0, 95, 0, 0, 0, 223, 0, 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 81, 0, 0, 0, 96, 0, 0, 0, 27, 0, 0, 0, 6, 0, 0, 0, 79, 0, 0, 0, 138, 0, 0, 0, 33, 0, 0, 0, 186, 0, 0, 0, 56, 0, 0, 0, 168, 0, 0, 0, 186, 0, 0, 0, 214, 0, 0, 0, 64, 0, 0, -0, 246, 0, 0, 0, 233, 0, 0, 0, 155, 0, 0, 0, 118, 0, 0, 0, 77, 0, 0, 0, 86, 0, 0, 0, 33, 0, 0, 0, 91, 0, 0, 0, 10, 0, 0, 0, 155, 0, 0, 0, 46, 0, 0, 0, 79, 0, 0, 0, 61, 0, 0, 0, 129, 0, 0, 0, 50, 0, 0, 0, 8, 0, 0, 0, 159, 0, 0, 0, 151, 0, 0, 0, 91, 0, 0, 0, 229, 0, 0, 0, 68, 0, 0, 0, 236, 0, 0, 0, 6, 0, 0, 0, 157, 0, 0, 0, 144, 0, 0, 0, 121, 0, 0, 0, 159, 0, 0, 0, 211, 0, 0, 0, 224, 0, 0, 0, 121, 0, 0, 0, 175, 0, 0, 0, 143, 0, 0, 0, 16, 0, 0, 0, 253, 0, 0, 0, 221, 0, 0, 0, 4, 0, 0, 0, 174, 0, 0, 0, -39, 0, 0, 0, 151, 0, 0, 0, 70, 0, 0, 0, 51, 0, 0, 0, 121, 0, 0, 0, 234, 0, 0, 0, 184, 0, 0, 0, 78, 0, 0, 0, 202, 0, 0, 0, 90, 0, 0, 0, 89, 0, 0, 0, 87, 0, 0, 0, 225, 0, 0, 0, 14, 0, 0, 0, 26, 0, 0, 0, 218, 0, 0, 0, 243, 0, 0, 0, 165, 0, 0, 0, 65, 0, 0, 0, 67, 0, 0, 0, 40, 0, 0, 0, 252, 0, 0, 0, 126, 0, 0, 0, 231, 0, 0, 0, 113, 0, 0, 0, 234, 0, 0, 0, 198, 0, 0, 0, 59, 0, 0, 0, 89, 0, 0, 0, 204, 0, 0, 0, 46, 0, 0, 0, 211, 0, 0, 0, 64, 0, 0, 0, 236, 0, 0, 0, 179, 0, 0, 0, 19, 0, 0, 0, 111, 0, 0, 0, -68, 0, 0, 0, 205, 0, 0, 0, 19, 0, 0, 0, 178, 0, 0, 0, 55, 0, 0, 0, 242, 0, 0, 0, 110, 0, 0, 0, 217, 0, 0, 0, 28, 0, 0, 0, 227, 0, 0, 0, 219, 0, 0, 0, 96, 0, 0, 0, 205, 0, 0, 0, 92, 0, 0, 0, 74, 0, 0, 0, 24, 0, 0, 0, 15, 0, 0, 0, 239, 0, 0, 0, 115, 0, 0, 0, 54, 0, 0, 0, 113, 0, 0, 0, 140, 0, 0, 0, 246, 0, 0, 0, 17, 0, 0, 0, 180, 0, 0, 0, 216, 0, 0, 0, 206, 0, 0, 0, 23, 0, 0, 0, 94, 0, 0, 0, 79, 0, 0, 0, 38, 0, 0, 0, 119, 0, 0, 0, 151, 0, 0, 0, 95, 0, 0, 0, 203, 0, 0, 0, 239, 0, 0, 0, 145, 0, 0, 0, -235, 0, 0, 0, 106, 0, 0, 0, 98, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 74, 0, 0, 0, 162, 0, 0, 0, 151, 0, 0, 0, 8, 0, 0, 0, 129, 0, 0, 0, 45, 0, 0, 0, 131, 0, 0, 0, 196, 0, 0, 0, 204, 0, 0, 0, 240, 0, 0, 0, 131, 0, 0, 0, 126, 0, 0, 0, 236, -0, 0, 0, 13, 0, 0, 0, 149, 0, 0, 0, 76, 0, 0, 0, 91, 0, 0, 0, 251, 0, 0, 0, 250, 0, 0, 0, 152, 0, 0, 0, 128, 0, 0, 0, 74, 0, 0, 0, 102, 0, 0, 0, 86, 0, 0, 0, 12, 0, 0, 0, 81, 0, 0, 0, 179, 0, 0, 0, 242, 0, 0, 0, 4, 0, 0, 0, 93, 0, 0, 0, 39, 0, 0, 0, 59, 0, 0, 0, 185, 0, 0, 0, 184, 0, 0, 0, 6, 0, 0, 0, 90, 0, 0, 0, 46, 0, 0, 0, 254, 0, 0, 0, 195, 0, 0, 0, 130, 0, 0, 0, 55, 0, 0, 0, 156, 0, 0, 0, 163, 0, 0, 0, 17, 0, 0, 0, 31, 0, 0, 0, 156, 0, 0, 0, 166, 0, 0, 0, 218, 0, 0, 0, 99, 0, 0, 0, 72, 0, 0, -0, 155, 0, 0, 0, 173, 0, 0, 0, 222, 0, 0, 0, 45, 0, 0, 0, 166, 0, 0, 0, 188, 0, 0, 0, 110, 0, 0, 0, 50, 0, 0, 0, 218, 0, 0, 0, 39, 0, 0, 0, 101, 0, 0, 0, 221, 0, 0, 0, 87, 0, 0, 0, 132, 0, 0, 0, 79, 0, 0, 0, 55, 0, 0, 0, 49, 0, 0, 0, 125, 0, 0, 0, 46, 0, 0, 0, 188, 0, 0, 0, 173, 0, 0, 0, 135, 0, 0, 0, 7, 0, 0, 0, 42, 0, 0, 0, 107, 0, 0, 0, 55, 0, 0, 0, 252, 0, 0, 0, 95, 0, 0, 0, 235, 0, 0, 0, 78, 0, 0, 0, 117, 0, 0, 0, 53, 0, 0, 0, 166, 0, 0, 0, 222, 0, 0, 0, 171, 0, 0, 0, 10, 0, 0, 0, 25, 0, 0, -0, 58, 0, 0, 0, 183, 0, 0, 0, 177, 0, 0, 0, 239, 0, 0, 0, 146, 0, 0, 0, 106, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 178, 0, 0, 0, 148, 0, 0, 0, 109, 0, 0, 0, 57, 0, 0, 0, 96, 0, 0, 0, 172, 0, 0, 0, 238, 0, 0, 0, 231, 0, 0, 0, 129, 0, 0, 0, 26, 0, 0, 0, 59, 0, 0, 0, 118, 0, 0, 0, 135, 0, 0, 0, 92, 0, 0, 0, 5, 0, 0, 0, 148, 0, 0, 0, 42, 0, 0, 0, 69, 0, 0, 0, 185, 0, 0, 0, 128, 0, 0, 0, 233, 0, 0, 0, 34, 0, 0, 0, 177, 0, 0, 0, 7, 0, 0, 0, 203, 0, 0, 0, 64, 0, 0, 0, 158, 0, 0, 0, 112, 0, 0, -0, 73, 0, 0, 0, 109, 0, 0, 0, 18, 0, 0, 0, 253, 0, 0, 0, 24, 0, 0, 0, 120, 0, 0, 0, 132, 0, 0, 0, 168, 0, 0, 0, 76, 0, 0, 0, 125, 0, 0, 0, 110, 0, 0, 0, 89, 0, 0, 0, 166, 0, 0, 0, 229, 0, 0, 0, 116, 0, 0, 0, 241, 0, 0, 0, 25, 0, 0, 0, 166, 0, 0, 0, 132, 0, 0, 0, 46, 0, 0, 0, 81, 0, 0, 0, 193, 0, 0, 0, 41, 0, 0, 0, 19, 0, 0, 0, 242, 0, 0, 0, 20, 0, 0, 0, 107, 0, 0, 0, 93, 0, 0, 0, 83, 0, 0, 0, 81, 0, 0, 0, 247, 0, 0, 0, 239, 0, 0, 0, 191, 0, 0, 0, 1, 0, 0, 0, 34, 0, 0, 0, 164, 0, 0, 0, 75, 0, 0, 0, -98, 0, 0, 0, 76, 0, 0, 0, 230, 0, 0, 0, 253, 0, 0, 0, 114, 0, 0, 0, 7, 0, 0, 0, 242, 0, 0, 0, 129, 0, 0, 0, 252, 0, 0, 0, 242, 0, 0, 0, 189, 0, 0, 0, 18, 0, 0, 0, 124, 0, 0, 0, 104, 0, 0, 0, 118, 0, 0, 0, 42, 0, 0, 0, 186, 0, 0, 0, 245, 0, 0, 0, 101, 0, 0, 0, 177, 0, 0, 0, 31, 0, 0, 0, 23, 0, 0, 0, 10, 0, 0, 0, 56, 0, 0, 0, 176, 0, 0, 0, 191, 0, 0, 0, 192, 0, 0, 0, 248, 0, 0, 0, 244, 0, 0, 0, 42, 0, 0, 0, 85, 0, 0, 0, 96, 0, 0, 0, 85, 0, 0, 0, 91, 0, 0, 0, 228, 0, 0, 0, 29, 0, 0, 0, 113, 0, 0, 0, -76, 0, 0, 0, 157, 0, 0, 0, 91, 0, 0, 0, 159, 0, 0, 0, 112, 0, 0, 0, 166, 0, 0, 0, 133, 0, 0, 0, 154, 0, 0, 0, 44, 0, 0, 0, 160, 0, 0, 0, 226, 0, 0, 0, 50, 0, 0, 0, 72, 0, 0, 0, 206, 0, 0, 0, 158, 0, 0, 0, 42, 0, 0, 0, 165, 0, 0, 0, 7, 0, 0, 0, 59, 0, 0, 0, 199, 0, 0, 0, 108, 0, 0, 0, 134, 0, 0, 0, 119, 0, 0, 0, 222, 0, 0, 0, 60, 0, 0, 0, 247, 0, 0, 0, 24, 0, 0, 0, 122, 0, 0, 0, 150, 0, 0, 0, 126, 0, 0, 0, 67, 0, 0, 0, 87, 0, 0, 0, 169, 0, 0, 0, 85, 0, 0, 0, 252, 0, 0, 0, 78, 0, 0, 0, 182, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 242, 0, 0, 0, 228, 0, 0, 0, 215, 0, 0, 0, 82, 0, 0, 0, 211, 0, 0, 0, 211, 0, 0, 0, 182, 0, 0, 0, 133, 0, 0, 0, 246, 0, 0, 0, 113, 0, 0, 0, 199, 0, 0, 0, 68, 0, 0, 0, 63, 0, 0, 0, 127, 0, 0, 0, 215, 0, 0, 0, 179, 0, 0, 0, 242, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 202, 0, 0, 0, 167, 0, 0, 0, 85, 0, 0, 0, 123, 0, 0, 0, 121, 0, 0, 0, 243, 0, 0, 0, 202, 0, 0, 0, 90, 0, 0, 0, 101, 0, 0, 0, 246, 0, 0, 0, 237, 0, 0, 0, 80, 0, 0, 0, 20, 0, 0, 0, 123, 0, 0, 0, 228, 0, 0, 0, 196, 0, 0, 0, 42, 0, 0, 0, 101, 0, 0, 0, 158, 0, 0, 0, 226, 0, 0, 0, 249, 0, 0, 0, 202, 0, 0, 0, 167, 0, 0, 0, 34, 0, 0, 0, 38, 0, 0, 0, 83, 0, 0, 0, 203, 0, 0, 0, 33, 0, 0, 0, 91, 0, 0, 0, 167, 0, 0, 0, 49, 0, 0, 0, 144, 0, 0, 0, 215, 0, 0, 0, -197, 0, 0, 0, 38, 0, 0, 0, 8, 0, 0, 0, 189, 0, 0, 0, 176, 0, 0, 0, 83, 0, 0, 0, 99, 0, 0, 0, 88, 0, 0, 0, 195, 0, 0, 0, 49, 0, 0, 0, 94, 0, 0, 0, 117, 0, 0, 0, 70, 0, 0, 0, 21, 0, 0, 0, 145, 0, 0, 0, 166, 0, 0, 0, 248, 0, 0, 0, 47, 0, 0, 0, 26, 0, 0, 0, 8, 0, 0, 0, 101, 0, 0, 0, 136, 0, 0, 0, 47, 0, 0, 0, 152, 0, 0, 0, 4, 0, 0, 0, 241, 0, 0, 0, 124, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 129, 0, 0, 0, 33, 0, 0, 0, 97, 0, 0, 0, 9, 0, 0, 0, 246, 0, 0, 0, 78, 0, 0, 0, 241, 0, 0, 0, 146, 0, -0, 0, 238, 0, 0, 0, 99, 0, 0, 0, 97, 0, 0, 0, 115, 0, 0, 0, 135, 0, 0, 0, 199, 0, 0, 0, 84, 0, 0, 0, 14, 0, 0, 0, 66, 0, 0, 0, 75, 0, 0, 0, 201, 0, 0, 0, 71, 0, 0, 0, 209, 0, 0, 0, 184, 0, 0, 0, 126, 0, 0, 0, 145, 0, 0, 0, 117, 0, 0, 0, 55, 0, 0, 0, 153, 0, 0, 0, 40, 0, 0, 0, 184, 0, 0, 0, 221, 0, 0, 0, 127, 0, 0, 0, 80, 0, 0, 0, 137, 0, 0, 0, 143, 0, 0, 0, 192, 0, 0, 0, 190, 0, 0, 0, 93, 0, 0, 0, 214, 0, 0, 0, 159, 0, 0, 0, 160, 0, 0, 0, 240, 0, 0, 0, 157, 0, 0, 0, 129, 0, 0, 0, 206, 0, 0, 0, 58, -0, 0, 0, 123, 0, 0, 0, 152, 0, 0, 0, 88, 0, 0, 0, 187, 0, 0, 0, 215, 0, 0, 0, 120, 0, 0, 0, 200, 0, 0, 0, 63, 0, 0, 0, 19, 0, 0, 0, 241, 0, 0, 0, 116, 0, 0, 0, 25, 0, 0, 0, 223, 0, 0, 0, 248, 0, 0, 0, 152, 0, 0, 0, 137, 0, 0, 0, 93, 0, 0, 0, 250, 0, 0, 0, 95, 0, 0, 0, 158, 0, 0, 0, 53, 0, 0, 0, 133, 0, 0, 0, 148, 0, 0, 0, 71, 0, 0, 0, 31, 0, 0, 0, 144, 0, 0, 0, 21, 0, 0, 0, 38, 0, 0, 0, 208, 0, 0, 0, 132, 0, 0, 0, 237, 0, 0, 0, 138, 0, 0, 0, 128, 0, 0, 0, 247, 0, 0, 0, 99, 0, 0, 0, 66, 0, 0, 0, 134, -0, 0, 0, 39, 0, 0, 0, 215, 0, 0, 0, 244, 0, 0, 0, 117, 0, 0, 0, 88, 0, 0, 0, 220, 0, 0, 0, 156, 0, 0, 0, 192, 0, 0, 0, 34, 0, 0, 0, 126, 0, 0, 0, 32, 0, 0, 0, 53, 0, 0, 0, 253, 0, 0, 0, 31, 0, 0, 0, 104, 0, 0, 0, 14, 0, 0, 0, 111, 0, 0, 0, 151, 0, 0, 0, 186, 0, 0, 0, 112, 0, 0, 0, 187, 0, 0, 0, 163, 0, 0, 0, 14, 0, 0, 0, 229, 0, 0, 0, 11, 0, 0, 0, 18, 0, 0, 0, 244, 0, 0, 0, 162, 0, 0, 0, 220, 0, 0, 0, 71, 0, 0, 0, 248, 0, 0, 0, 230, 0, 0, 0, 208, 0, 0, 0, 35, 0, 0, 0, 108, 0, 0, 0, 51, 0, 0, 0, 168, -0, 0, 0, 153, 0, 0, 0, 70, 0, 0, 0, 110, 0, 0, 0, 15, 0, 0, 0, 68, 0, 0, 0, 186, 0, 0, 0, 118, 0, 0, 0, 72, 0, 0, 0, 15, 0, 0, 0, 163, 0, 0, 0, 42, 0, 0, 0, 97, 0, 0, 0, 55, 0, 0, 0, 226, 0, 0, 0, 89, 0, 0, 0, 18, 0, 0, 0, 14, 0, 0, 0, 39, 0, 0, 0, 186, 0, 0, 0, 100, 0, 0, 0, 67, 0, 0, 0, 174, 0, 0, 0, 192, 0, 0, 0, 66, 0, 0, 0, 105, 0, 0, 0, 121, 0, 0, 0, 164, 0, 0, 0, 30, 0, 0, 0, 41, 0, 0, 0, 139, 0, 0, 0, 21, 0, 0, 0, 235, 0, 0, 0, 248, 0, 0, 0, 175, 0, 0, 0, 212, 0, 0, 0, 162, 0, 0, 0, 104, -0, 0, 0, 51, 0, 0, 0, 181, 0, 0, 0, 122, 0, 0, 0, 36, 0, 0, 0, 44, 0, 0, 0, 25, 0, 0, 0, 51, 0, 0, 0, 221, 0, 0, 0, 27, 0, 0, 0, 171, 0, 0, 0, 236, 0, 0, 0, 1, 0, 0, 0, 176, 0, 0, 0, 35, 0, 0, 0, 248, 0, 0, 0, 66, 0, 0, 0, 43, 0, 0, 0, 6, 0, 0, 0, 136, 0, 0, 0, 234, 0, 0, 0, 61, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 120, 0, 0, 0, 69, 0, 0, 0, 77, 0, 0, 0, 56, 0, 0, 0, 237, 0, 0, 0, 46, 0, 0, 0, 46, 0, 0, 0, 68, 0, 0, 0, 73, 0, 0, 0, 237, 0, 0, 0, 203, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 104, 0, 0, 0, 232, 0, 0, 0, 65, 0, 0, 0, 143, 0, 0, 0, 145, 0, 0, 0, 248, 0, 0, 0, 17, 0, 0, 0, 19, 0, 0, 0, 144, 0, 0, 0, 46, 0, 0, 0, 167, 0, 0, 0, 171, 0, 0, 0, 48, 0, 0, 0, 239, 0, 0, 0, 173, 0, 0, 0, 160, 0, 0, 0, 97, 0, 0, 0, 0, -0, 0, 0, 136, 0, 0, 0, 239, 0, 0, 0, 219, 0, 0, 0, 206, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0, 187, 0, 0, 0, 98, 0, 0, 0, 200, 0, 0, 0, 86, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 63, 0, 0, 0, 96, 0, 0, 0, 193, 0, 0, 0, 130, 0, 0, 0, 45, 0, 0, 0, 163, 0, 0, 0, 40, 0, 0, 0, 88, 0, 0, 0, 36, 0, 0, 0, 158, 0, 0, 0, 159, 0, 0, 0, 227, 0, 0, 0, 112, 0, 0, 0, 204, 0, 0, 0, 9, 0, 0, 0, 78, 0, 0, 0, 26, 0, 0, 0, 63, 0, 0, 0, 17, 0, 0, 0, 17, 0, 0, 0, 21, 0, 0, 0, 7, 0, 0, 0, 60, 0, 0, 0, 164, 0, 0, -0, 65, 0, 0, 0, 224, 0, 0, 0, 101, 0, 0, 0, 163, 0, 0, 0, 10, 0, 0, 0, 65, 0, 0, 0, 109, 0, 0, 0, 17, 0, 0, 0, 49, 0, 0, 0, 64, 0, 0, 0, 1, 0, 0, 0, 82, 0, 0, 0, 86, 0, 0, 0, 148, 0, 0, 0, 91, 0, 0, 0, 40, 0, 0, 0, 138, 0, 0, 0, 170, 0, 0, 0, 82, 0, 0, 0, 238, 0, 0, 0, 216, 0, 0, 0, 10, 0, 0, 0, 5, 0, 0, 0, 141, 0, 0, 0, 205, 0, 0, 0, 181, 0, 0, 0, 170, 0, 0, 0, 46, 0, 0, 0, 56, 0, 0, 0, 170, 0, 0, 0, 183, 0, 0, 0, 135, 0, 0, 0, 247, 0, 0, 0, 43, 0, 0, 0, 251, 0, 0, 0, 4, 0, 0, 0, 203, 0, 0, 0, 132, -0, 0, 0, 61, 0, 0, 0, 84, 0, 0, 0, 32, 0, 0, 0, 239, 0, 0, 0, 89, 0, 0, 0, 222, 0, 0, 0, 164, 0, 0, 0, 43, 0, 0, 0, 147, 0, 0, 0, 110, 0, 0, 0, 46, 0, 0, 0, 236, 0, 0, 0, 66, 0, 0, 0, 154, 0, 0, 0, 212, 0, 0, 0, 45, 0, 0, 0, 244, 0, 0, 0, 70, 0, 0, 0, 88, 0, 0, 0, 39, 0, 0, 0, 43, 0, 0, 0, 24, 0, 0, 0, 143, 0, 0, 0, 131, 0, 0, 0, 61, 0, 0, 0, 105, 0, 0, 0, 158, 0, 0, 0, 212, 0, 0, 0, 62, 0, 0, 0, 182, 0, 0, 0, 197, 0, 0, 0, 253, 0, 0, 0, 88, 0, 0, 0, 3, 0, 0, 0, 51, 0, 0, 0, 137, 0, 0, 0, 201, 0, -0, 0, 99, 0, 0, 0, 98, 0, 0, 0, 28, 0, 0, 0, 23, 0, 0, 0, 180, 0, 0, 0, 96, 0, 0, 0, 196, 0, 0, 0, 38, 0, 0, 0, 104, 0, 0, 0, 9, 0, 0, 0, 195, 0, 0, 0, 46, 0, 0, 0, 55, 0, 0, 0, 15, 0, 0, 0, 123, 0, 0, 0, 180, 0, 0, 0, 156, 0, 0, 0, 182, 0, 0, 0, 249, 0, 0, 0, 251, 0, 0, 0, 212, 0, 0, 0, 81, 0, 0, 0, 120, 0, 0, 0, 200, 0, 0, 0, 99, 0, 0, 0, 234, 0, 0, 0, 119, 0, 0, 0, 71, 0, 0, 0, 7, 0, 0, 0, 50, 0, 0, 0, 180, 0, 0, 0, 24, 0, 0, 0, 71, 0, 0, 0, 121, 0, 0, 0, 203, 0, 0, 0, 212, 0, 0, 0, 90, 0, 0, -0, 7, 0, 0, 0, 20, 0, 0, 0, 15, 0, 0, 0, 160, 0, 0, 0, 213, 0, 0, 0, 172, 0, 0, 0, 208, 0, 0, 0, 65, 0, 0, 0, 64, 0, 0, 0, 171, 0, 0, 0, 97, 0, 0, 0, 35, 0, 0, 0, 229, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 111, 0, 0, 0, 247, 0, 0, 0, 168, 0, 0, 0, 212, 0, 0, 0, 118, 0, 0, 0, 239, 0, 0, 0, 231, 0, 0, 0, 69, 0, 0, 0, 108, 0, 0, 0, 161, 0, 0, 0, 94, 0, 0, 0, 96, 0, 0, 0, 79, 0, 0, 0, 251, 0, 0, 0, 225, 0, 0, 0, 112, 0, 0, 0, 106, 0, 0, 0, 31, 0, 0, 0, 85, 0, 0, 0, 79, 0, 0, 0, 9, 0, 0, 0, 180, 0, 0, 0, -149, 0, 0, 0, 51, 0, 0, 0, 54, 0, 0, 0, 198, 0, 0, 0, 129, 0, 0, 0, 1, 0, 0, 0, 24, 0, 0, 0, 6, 0, 0, 0, 37, 0, 0, 0, 39, 0, 0, 0, 164, 0, 0, 0, 180, 0, 0, 0, 36, 0, 0, 0, 164, 0, 0, 0, 134, 0, 0, 0, 3, 0, 0, 0, 76, 0, 0, 0, 172, 0, 0, 0, 2, 0, 0, 0, 119, 0, 0, 0, 56, 0, 0, 0, 222, 0, 0, 0, 215, 0, 0, 0, 96, 0, 0, 0, 72, 0, 0, 0, 7, 0, 0, 0, 240, 0, 0, 0, 116, 0, 0, 0, 168, 0, 0, 0, 255, 0, 0, 0, 84, 0, 0, 0, 229, 0, 0, 0, 48, 0, 0, 0, 67, 0, 0, 0, 255, 0, 0, 0, 119, 0, 0, 0, 251, 0, 0, 0, 33, 0, -0, 0, 7, 0, 0, 0, 255, 0, 0, 0, 178, 0, 0, 0, 7, 0, 0, 0, 107, 0, 0, 0, 228, 0, 0, 0, 229, 0, 0, 0, 48, 0, 0, 0, 252, 0, 0, 0, 25, 0, 0, 0, 108, 0, 0, 0, 163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 197, 0, 0, 0, 44, 0, 0, 0, 172, 0, 0, 0, -211, 0, 0, 0, 131, 0, 0, 0, 130, 0, 0, 0, 124, 0, 0, 0, 41, 0, 0, 0, 247, 0, 0, 0, 5, 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 31, 0, 0, 0, 134, 0, 0, 0, 85, 0, 0, 0, 244, 0, 0, 0, 214, 0, 0, 0, 47, 0, 0, 0, 12, 0, 0, 0, 153, 0, 0, 0, 208, 0, 0, 0, 101, 0, 0, 0, 155, 0, 0, 0, 107, 0, 0, 0, 70, 0, 0, 0, 13, 0, 0, 0, 67, 0, 0, 0, 248, 0, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 30, 0, 0, 0, 127, 0, 0, 0, 180, 0, 0, 0, 116, 0, 0, 0, 126, 0, 0, 0, 177, 0, 0, 0, 137, 0, 0, 0, 79, 0, 0, 0, 24, 0, 0, 0, -90, 0, 0, 0, 171, 0, 0, 0, 100, 0, 0, 0, 6, 0, 0, 0, 223, 0, 0, 0, 69, 0, 0, 0, 135, 0, 0, 0, 224, 0, 0, 0, 106, 0, 0, 0, 198, 0, 0, 0, 240, 0, 0, 0, 14, 0, 0, 0, 201, 0, 0, 0, 36, 0, 0, 0, 53, 0, 0, 0, 56, 0, 0, 0, 234, 0, 0, 0, 48, 0, 0, 0, 84, 0, 0, 0, 180, 0, 0, 0, 196, 0, 0, 0, 82, 0, 0, 0, 84, 0, 0, 0, 233, 0, 0, 0, 159, 0, 0, 0, 220, 0, 0, 0, 63, 0, 0, 0, 193, 0, 0, 0, 137, 0, 0, 0, 68, 0, 0, 0, 116, 0, 0, 0, 39, 0, 0, 0, 228, 0, 0, 0, 193, 0, 0, 0, 144, 0, 0, 0, 255, 0, 0, 0, 74, 0, 0, 0, -167, 0, 0, 0, 60, 0, 0, 0, 238, 0, 0, 0, 205, 0, 0, 0, 244, 0, 0, 0, 29, 0, 0, 0]).concat([37, 0, 0, 0, 148, 0, 0, 0, 127, 0, 0, 0, 99, 0, 0, 0, 22, 0, 0, 0, 72, 0, 0, 0, 188, 0, 0, 0, 100, 0, 0, 0, 254, 0, 0, 0, 149, 0, 0, 0, 196, 0, 0, 0, 12, 0, 0, 0, 139, 0, 0, 0, 25, 0, 0, 0, 117, 0, 0, 0, 110, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 94, 0, 0, 0, 106, 0, 0, 0, 111, 0, 0, 0, 26, 0, 0, 0, 140, 0, 0, 0, 227, 0, 0, 0, 211, 0, 0, 0, 40, 0, 0, 0, 242, 0, 0, 0, 224, 0, 0, 0, 185, 0, 0, 0, 122, 0, 0, 0, 67, -0, 0, 0, 105, 0, 0, 0, 230, 0, 0, 0, 211, 0, 0, 0, 192, 0, 0, 0, 254, 0, 0, 0, 126, 0, 0, 0, 151, 0, 0, 0, 171, 0, 0, 0, 108, 0, 0, 0, 123, 0, 0, 0, 142, 0, 0, 0, 19, 0, 0, 0, 66, 0, 0, 0, 212, 0, 0, 0, 202, 0, 0, 0, 112, 0, 0, 0, 61, 0, 0, 0, 171, 0, 0, 0, 251, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 204, 0, 0, 0, 119, 0, 0, 0, 34, 0, 0, 0, 248, 0, 0, 0, 120, 0, 0, 0, 85, 0, 0, 0, 174, 0, 0, 0, 98, 0, 0, 0, 53, 0, 0, 0, 251, 0, 0, 0, 154, 0, 0, 0, 198, 0, 0, 0, 3, 0, 0, 0, 228, -0, 0, 0, 12, 0, 0, 0, 238, 0, 0, 0, 171, 0, 0, 0, 199, 0, 0, 0, 192, 0, 0, 0, 137, 0, 0, 0, 135, 0, 0, 0, 84, 0, 0, 0, 50, 0, 0, 0, 173, 0, 0, 0, 174, 0, 0, 0, 133, 0, 0, 0, 88, 0, 0, 0, 67, 0, 0, 0, 184, 0, 0, 0, 177, 0, 0, 0, 230, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 120, 0, 0, 0, 136, 0, 0, 0, 86, 0, 0, 0, 219, 0, 0, 0, 156, 0, 0, 0, 252, 0, 0, 0, 121, 0, 0, 0, 246, 0, 0, 0, 249, 0, 0, 0, 65, 0, 0, 0, 95, 0, 0, 0, 183, 0, 0, 0, 188, 0, 0, 0, 17, 0, 0, 0, 249, 0, 0, 0, 32, 0, 0, 0, 54, -0, 0, 0, 28, 0, 0, 0, 83, 0, 0, 0, 43, 0, 0, 0, 90, 0, 0, 0, 32, 0, 0, 0, 91, 0, 0, 0, 161, 0, 0, 0, 165, 0, 0, 0, 68, 0, 0, 0, 145, 0, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 99, 0, 0, 0, 18, 0, 0, 0, 100, 0, 0, 0, 184, 0, 0, 0, 85, 0, 0, 0, 246, 0, 0, 0, 222, 0, 0, 0, 44, 0, 0, 0, 219, 0, 0, 0, 71, 0, 0, 0, 184, 0, 0, 0, 198, 0, 0, 0, 10, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 147, 0, 0, 0, 216, 0, 0, 0, 245, 0, 0, 0, 245, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 10, 0, 0, 0, 214, 0, 0, 0, 27, 0, 0, -0, 154, 0, 0, 0, 108, 0, 0, 0, 229, 0, 0, 0, 70, 0, 0, 0, 234, 0, 0, 0, 112, 0, 0, 0, 150, 0, 0, 0, 141, 0, 0, 0, 78, 0, 0, 0, 42, 0, 0, 0, 82, 0, 0, 0, 33, 0, 0, 0, 38, 0, 0, 0, 75, 0, 0, 0, 177, 0, 0, 0, 187, 0, 0, 0, 15, 0, 0, 0, 124, 0, 0, 0, 169, 0, 0, 0, 155, 0, 0, 0, 4, 0, 0, 0, 187, 0, 0, 0, 81, 0, 0, 0, 8, 0, 0, 0, 241, 0, 0, 0, 154, 0, 0, 0, 164, 0, 0, 0, 118, 0, 0, 0, 124, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 148, 0, 0, 0, 247, 0, 0, 0, 64, 0, 0, 0, 208, 0, 0, 0, 215, 0, 0, 0, 235, 0, 0, 0, 169, 0, 0, 0, 130, 0, 0, 0, 54, 0, 0, 0, 213, 0, 0, 0, 21, 0, 0, 0, 185, 0, 0, 0, 51, 0, 0, 0, 122, 0, 0, 0, 191, 0, 0, 0, 138, 0, 0, 0, 242, 0, 0, 0, 99, 0, 0, 0, 170, 0, 0, 0, 55, 0, 0, 0, 245, 0, 0, 0, 89, 0, 0, 0, 172, 0, 0, 0, -189, 0, 0, 0, 187, 0, 0, 0, 50, 0, 0, 0, 54, 0, 0, 0, 190, 0, 0, 0, 115, 0, 0, 0, 153, 0, 0, 0, 56, 0, 0, 0, 44, 0, 0, 0, 179, 0, 0, 0, 218, 0, 0, 0, 122, 0, 0, 0, 216, 0, 0, 0, 61, 0, 0, 0, 153, 0, 0, 0, 202, 0, 0, 0, 210, 0, 0, 0, 244, 0, 0, 0, 218, 0, 0, 0, 153, 0, 0, 0, 142, 0, 0, 0, 79, 0, 0, 0, 152, 0, 0, 0, 183, 0, 0, 0, 244, 0, 0, 0, 174, 0, 0, 0, 62, 0, 0, 0, 159, 0, 0, 0, 142, 0, 0, 0, 53, 0, 0, 0, 96, 0, 0, 0, 164, 0, 0, 0, 51, 0, 0, 0, 117, 0, 0, 0, 164, 0, 0, 0, 4, 0, 0, 0, 147, 0, 0, -0, 177, 0, 0, 0, 107, 0, 0, 0, 77, 0, 0, 0, 151, 0, 0, 0, 157, 0, 0, 0, 168, 0, 0, 0, 205, 0, 0, 0, 151, 0, 0, 0, 123, 0, 0, 0, 157, 0, 0, 0, 185, 0, 0, 0, 231, 0, 0, 0, 165, 0, 0, 0, 239, 0, 0, 0, 253, 0, 0, 0, 168, 0, 0, 0, 66, 0, 0, 0, 107, 0, 0, 0, 195, 0, 0, 0, 98, 0, 0, 0, 100, 0, 0, 0, 125, 0, 0, 0, 165, 0, 0, 0, 27, 0, 0, 0, 201, 0, 0, 0, 158, 0, 0, 0, 210, 0, 0, 0, 69, 0, 0, 0, 185, 0, 0, 0, 238, 0, 0, 0, 3, 0, 0, 0, 176, 0, 0, 0, 191, 0, 0, 0, 192, 0, 0, 0, 104, 0, 0, 0, 237, 0, 0, 0, 183, -0, 0, 0, 132, 0, 0, 0, 44, 0, 0, 0, 246, 0, 0, 0, 211, 0, 0, 0, 161, 0, 0, 0, 107, 0, 0, 0, 36, 0, 0, 0, 109, 0, 0, 0, 135, 0, 0, 0, 86, 0, 0, 0, 151, 0, 0, 0, 89, 0, 0, 0, 121, 0, 0, 0, 98, 0, 0, 0, 159, 0, 0, 0, 172, 0, 0, 0, 237, 0, 0, 0, 243, 0, 0, 0, 201, 0, 0, 0, 137, 0, 0, 0, 33, 0, 0, 0, 46, 0, 0, 0, 4, 0, 0, 0, 179, 0, 0, 0, 204, 0, 0, 0, 47, 0, 0, 0, 190, 0, 0, 0, 214, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, 57, 0, 0, 0, 97, 0, 0, 0, 5, 0, 0, 0, 237, 0, 0, 0, 37, 0, 0, 0, 137, 0, 0, 0, 139, -0, 0, 0, 93, 0, 0, 0, 27, 0, 0, 0, 203, 0, 0, 0, 12, 0, 0, 0, 85, 0, 0, 0, 244, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 70, 0, 0, 0, 232, 0, 0, 0, 30, 0, 0, 0, 198, 0, 0, 0, 131, 0, 0, 0, 200, 0, 0, 0, 90, 0, 0, 0, 118, 0, 0, 0, 219, 0, 0, 0, 204, 0, 0, 0, 25, 0, 0, 0, 122, 0, 0, 0, 204, 0, 0, 0, 103, 0, 0, 0, 70, 0, 0, 0, 11, 0, 0, 0, 83, 0, 0, 0, 207, 0, 0, 0, 194, 0, 0, 0, 161, 0, 0, 0, 173, 0, 0, 0, 106, 0, 0, 0, 243, 0, 0, 0, 205, 0, 0, 0, 143, 0, 0, 0, 201, 0, 0, 0, 222, 0, 0, 0, 28, -0, 0, 0, 248, 0, 0, 0, 108, 0, 0, 0, 143, 0, 0, 0, 248, 0, 0, 0, 118, 0, 0, 0, 66, 0, 0, 0, 231, 0, 0, 0, 254, 0, 0, 0, 178, 0, 0, 0, 114, 0, 0, 0, 33, 0, 0, 0, 10, 0, 0, 0, 102, 0, 0, 0, 116, 0, 0, 0, 143, 0, 0, 0, 183, 0, 0, 0, 235, 0, 0, 0, 228, 0, 0, 0, 111, 0, 0, 0, 1, 0, 0, 0, 34, 0, 0, 0, 140, 0, 0, 0, 107, 0, 0, 0, 190, 0, 0, 0, 252, 0, 0, 0, 77, 0, 0, 0, 112, 0, 0, 0, 98, 0, 0, 0, 110, 0, 0, 0, 82, 0, 0, 0, 119, 0, 0, 0, 153, 0, 0, 0, 136, 0, 0, 0, 126, 0, 0, 0, 123, 0, 0, 0, 87, 0, 0, 0, -122, 0, 0, 0, 13, 0, 0, 0, 254, 0, 0, 0, 220, 0, 0, 0, 114, 0, 0, 0, 146, 0, 0, 0, 241, 0, 0, 0, 104, 0, 0, 0, 29, 0, 0, 0, 151, 0, 0, 0, 215, 0, 0, 0, 124, 0, 0, 0, 141, 0, 0, 0, 83, 0, 0, 0, 16, 0, 0, 0, 55, 0, 0, 0, 83, 0, 0, 0, 136, 0, 0, 0, 119, 0, 0, 0, 2, 0, 0, 0, 202, 0, 0, 0, 39, 0, 0, 0, 168, 0, 0, 0, 229, 0, 0, 0, 69, 0, 0, 0, 226, 0, 0, 0, 168, 0, 0, 0, 72, 0, 0, 0, 42, 0, 0, 0, 171, 0, 0, 0, 24, 0, 0, 0, 202, 0, 0, 0, 234, 0, 0, 0, 45, 0, 0, 0, 42, 0, 0, 0, 84, 0, 0, 0, 23, 0, 0, 0, -55, 0, 0, 0, 50, 0, 0, 0, 9, 0, 0, 0, 220, 0, 0, 0, 224, 0, 0, 0, 74, 0, 0, 0, 183, 0, 0, 0, 125, 0, 0, 0, 130, 0, 0, 0, 16, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 100, 0, 0, 0, 30, 0, 0, 0, 20, 0, 0, 0, 10, 0, 0, 0, 87, 0, 0, 0, 212, 0, -0, 0, 218, 0, 0, 0, 92, 0, 0, 0, 150, 0, 0, 0, 155, 0, 0, 0, 1, 0, 0, 0, 76, 0, 0, 0, 103, 0, 0, 0, 191, 0, 0, 0, 139, 0, 0, 0, 48, 0, 0, 0, 254, 0, 0, 0, 8, 0, 0, 0, 219, 0, 0, 0, 13, 0, 0, 0, 213, 0, 0, 0, 168, 0, 0, 0, 215, 0, 0, 0, 9, 0, 0, 0, 17, 0, 0, 0, 133, 0, 0, 0, 162, 0, 0, 0, 211, 0, 0, 0, 69, 0, 0, 0, 251, 0, 0, 0, 126, 0, 0, 0, 218, 0, 0, 0, 140, 0, 0, 0, 194, 0, 0, 0, 208, 0, 0, 0, 172, 0, 0, 0, 24, 0, 0, 0, 232, 0, 0, 0, 82, 0, 0, 0, 54, 0, 0, 0, 212, 0, 0, 0, 33, 0, 0, 0, 163, 0, -0, 0, 221, 0, 0, 0, 87, 0, 0, 0, 34, 0, 0, 0, 121, 0, 0, 0, 183, 0, 0, 0, 248, 0, 0, 0, 113, 0, 0, 0, 157, 0, 0, 0, 198, 0, 0, 0, 145, 0, 0, 0, 112, 0, 0, 0, 134, 0, 0, 0, 86, 0, 0, 0, 191, 0, 0, 0, 161, 0, 0, 0, 17, 0, 0, 0, 139, 0, 0, 0, 25, 0, 0, 0, 225, 0, 0, 0, 15, 0, 0, 0, 24, 0, 0, 0, 50, 0, 0, 0, 152, 0, 0, 0, 44, 0, 0, 0, 143, 0, 0, 0, 145, 0, 0, 0, 174, 0, 0, 0, 18, 0, 0, 0, 240, 0, 0, 0, 140, 0, 0, 0, 234, 0, 0, 0, 243, 0, 0, 0, 60, 0, 0, 0, 185, 0, 0, 0, 93, 0, 0, 0, 228, 0, 0, 0, 105, -0, 0, 0, 237, 0, 0, 0, 178, 0, 0, 0, 71, 0, 0, 0, 24, 0, 0, 0, 189, 0, 0, 0, 206, 0, 0, 0, 22, 0, 0, 0, 82, 0, 0, 0, 92, 0, 0, 0, 35, 0, 0, 0, 226, 0, 0, 0, 165, 0, 0, 0, 37, 0, 0, 0, 82, 0, 0, 0, 93, 0, 0, 0, 185, 0, 0, 0, 177, 0, 0, 0, 231, 0, 0, 0, 93, 0, 0, 0, 78, 0, 0, 0, 188, 0, 0, 0, 238, 0, 0, 0, 187, 0, 0, 0, 64, 0, 0, 0, 129, 0, 0, 0, 119, 0, 0, 0, 130, 0, 0, 0, 25, 0, 0, 0, 171, 0, 0, 0, 181, 0, 0, 0, 198, 0, 0, 0, 238, 0, 0, 0, 171, 0, 0, 0, 91, 0, 0, 0, 107, 0, 0, 0, 99, 0, 0, 0, 146, -0, 0, 0, 138, 0, 0, 0, 52, 0, 0, 0, 141, 0, 0, 0, 205, 0, 0, 0, 238, 0, 0, 0, 79, 0, 0, 0, 73, 0, 0, 0, 229, 0, 0, 0, 201, 0, 0, 0, 126, 0, 0, 0, 33, 0, 0, 0, 172, 0, 0, 0, 139, 0, 0, 0, 34, 0, 0, 0, 205, 0, 0, 0, 195, 0, 0, 0, 154, 0, 0, 0, 233, 0, 0, 0, 94, 0, 0, 0, 120, 0, 0, 0, 189, 0, 0, 0, 222, 0, 0, 0, 186, 0, 0, 0, 173, 0, 0, 0, 171, 0, 0, 0, 191, 0, 0, 0, 117, 0, 0, 0, 65, 0, 0, 0, 9, 0, 0, 0, 197, 0, 0, 0, 88, 0, 0, 0, 164, 0, 0, 0, 125, 0, 0, 0, 146, 0, 0, 0, 176, 0, 0, 0, 127, 0, 0, 0, -242, 0, 0, 0, 161, 0, 0, 0, 209, 0, 0, 0, 192, 0, 0, 0, 179, 0, 0, 0, 109, 0, 0, 0, 98, 0, 0, 0, 79, 0, 0, 0, 208, 0, 0, 0, 117, 0, 0, 0, 119, 0, 0, 0, 186, 0, 0, 0, 118, 0, 0, 0, 119, 0, 0, 0, 215, 0, 0, 0, 184, 0, 0, 0, 216, 0, 0, 0, 146, 0, 0, 0, 111, 0, 0, 0, 152, 0, 0, 0, 52, 0, 0, 0, 61, 0, 0, 0, 214, 0, 0, 0, 78, 0, 0, 0, 28, 0, 0, 0, 15, 0, 0, 0, 240, 0, 0, 0, 143, 0, 0, 0, 46, 0, 0, 0, 241, 0, 0, 0, 179, 0, 0, 0, 189, 0, 0, 0, 177, 0, 0, 0, 185, 0, 0, 0, 236, 0, 0, 0, 153, 0, 0, 0, 180, -0, 0, 0, 7, 0, 0, 0, 96, 0, 0, 0, 87, 0, 0, 0, 46, 0, 0, 0, 154, 0, 0, 0, 114, 0, 0, 0, 29, 0, 0, 0, 107, 0, 0, 0, 110, 0, 0, 0, 88, 0, 0, 0, 51, 0, 0, 0, 36, 0, 0, 0, 140, 0, 0, 0, 72, 0, 0, 0, 57, 0, 0, 0, 70, 0, 0, 0, 142, 0, 0, 0, 137, 0, 0, 0, 106, 0, 0, 0, 136, 0, 0, 0, 81, 0, 0, 0, 35, 0, 0, 0, 98, 0, 0, 0, 181, 0, 0, 0, 50, 0, 0, 0, 9, 0, 0, 0, 54, 0, 0, 0, 227, 0, 0, 0, 87, 0, 0, 0, 245, 0, 0, 0, 152, 0, 0, 0, 222, 0, 0, 0, 111, 0, 0, 0, 139, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, -74, 0, 0, 0, 249, 0, 0, 0, 91, 0, 0, 0, 135, 0, 0, 0, 105, 0, 0, 0, 82, 0, 0, 0, 229, 0, 0, 0, 91, 0, 0, 0, 209, 0, 0, 0, 177, 0, 0, 0, 229, 0, 0, 0, 37, 0, 0, 0, 37, 0, 0, 0, 224, 0, 0, 0, 156, 0, 0, 0, 194, 0, 0, 0, 19, 0, 0, 0, 68, 0, 0, 0, 232, 0, 0, 0, 185, 0, 0, 0, 10, 0, 0, 0, 112, 0, 0, 0, 173, 0, 0, 0, 189, 0, 0, 0, 15, 0, 0, 0, 81, 0, 0, 0, 148, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 220, 0, 0, 0, 171, 0, 0, 0, 169, 0, 0, 0, 37, 0, 0, 0, 45, 0, 0, 0, 172, 0, 0, 0, 95, 0, 0, 0, 3, 0, 0, 0, 51, 0, 0, 0, 8, 0, 0, 0, 231, 0, 0, 0, 126, 0, 0, 0, 254, 0, 0, 0, 149, 0, 0, 0, 54, 0, 0, 0, 60, 0, 0, 0, 91, 0, 0, 0, 58, 0, 0, 0, 211, 0, 0, 0, 5, 0, 0, 0, 130, 0, 0, 0, 28, 0, 0, 0, 149, 0, 0, 0, 45, 0, 0, 0, 216, 0, 0, 0, 119, 0, -0, 0, 126, 0, 0, 0, 2, 0, 0, 0, 217, 0, 0, 0, 91, 0, 0, 0, 112, 0, 0, 0, 194, 0, 0, 0, 254, 0, 0, 0, 27, 0, 0, 0, 12, 0, 0, 0, 103, 0, 0, 0, 205, 0, 0, 0, 214, 0, 0, 0, 224, 0, 0, 0, 81, 0, 0, 0, 142, 0, 0, 0, 44, 0, 0, 0, 224, 0, 0, 0, 121, 0, 0, 0, 136, 0, 0, 0, 240, 0, 0, 0, 207, 0, 0, 0, 65, 0, 0, 0, 74, 0, 0, 0, 173, 0, 0, 0, 35, 0, 0, 0, 212, 0, 0, 0, 70, 0, 0, 0, 202, 0, 0, 0, 148, 0, 0, 0, 161, 0, 0, 0, 195, 0, 0, 0, 235, 0, 0, 0, 40, 0, 0, 0, 6, 0, 0, 0, 250, 0, 0, 0, 23, 0, 0, 0, 20, 0, -0, 0, 123, 0, 0, 0, 170, 0, 0, 0, 112, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, 251, 0, 0, 0, 245, 0, 0, 0, 191, 0, 0, 0, 128, 0, 0, 0, 197, 0, 0, 0, 207, 0, 0, 0, 8, 0, 0, 0, 122, 0, 0, 0, 221, 0, 0, 0, 161, 0, 0, 0, 244, 0, 0, 0, 157, 0, 0, 0, 84, 0, 0, 0, 80, 0, 0, 0, 83, 0, 0, 0, 35, 0, 0, 0, 119, 0, 0, 0, 35, 0, 0, 0, 245, 0, 0, 0, 52, 0, 0, 0, 165, 0, 0, 0, 34, 0, 0, 0, 209, 0, 0, 0, 13, 0, 0, 0, 150, 0, 0, 0, 46, 0, 0, 0, 71, 0, 0, 0, 204, 0, 0, 0, 183, 0, 0, 0, 50, 0, 0, 0, 137, 0, 0, 0, 87, 0, -0, 0, 208, 0, 0, 0, 152, 0, 0, 0, 117, 0, 0, 0, 228, 0, 0, 0, 55, 0, 0, 0, 153, 0, 0, 0, 169, 0, 0, 0, 232, 0, 0, 0, 186, 0, 0, 0, 237, 0, 0, 0, 186, 0, 0, 0, 235, 0, 0, 0, 199, 0, 0, 0, 79, 0, 0, 0, 21, 0, 0, 0, 118, 0, 0, 0, 7, 0, 0, 0, 12, 0, 0, 0, 76, 0, 0, 0, 239, 0, 0, 0, 159, 0, 0, 0, 82, 0, 0, 0, 252, 0, 0, 0, 4, 0, 0, 0, 93, 0, 0, 0, 88, 0, 0, 0, 16, 0, 0, 0, 206, 0, 0, 0, 130, 0, 0, 0, 240, 0, 0, 0, 143, 0, 0, 0, 121, 0, 0, 0, 2, 0, 0, 0, 168, 0, 0, 0, 209, 0, 0, 0, 218, 0, 0, 0, 20, 0, -0, 0, 9, 0, 0, 0, 72, 0, 0, 0, 238, 0, 0, 0, 138, 0, 0, 0, 64, 0, 0, 0, 152, 0, 0, 0, 118, 0, 0, 0, 96, 0, 0, 0, 84, 0, 0, 0, 90, 0, 0, 0, 222, 0, 0, 0, 3, 0, 0, 0, 36, 0, 0, 0, 245, 0, 0, 0, 230, 0, 0, 0, 47, 0, 0, 0, 225, 0, 0, 0, 3, 0, 0, 0, 191, 0, 0, 0, 104, 0, 0, 0, 130, 0, 0, 0, 127, 0, 0, 0, 100, 0, 0, 0, 233, 0, 0, 0, 40, 0, 0, 0, 199, 0, 0, 0, 164, 0, 0, 0, 207, 0, 0, 0, 42, 0, 0, 0, 249, 0, 0, 0, 144, 0, 0, 0, 100, 0, 0, 0, 114, 0, 0, 0, 44, 0, 0, 0, 139, 0, 0, 0, 235, 0, 0, 0, 236, 0, -0, 0, 160, 0, 0, 0, 242, 0, 0, 0, 125, 0, 0, 0, 53, 0, 0, 0, 181, 0, 0, 0, 144, 0, 0, 0, 77, 0, 0, 0, 127, 0, 0, 0, 91, 0, 0, 0, 74, 0, 0, 0, 73, 0, 0, 0, 228, 0, 0, 0, 184, 0, 0, 0, 59, 0, 0, 0, 200, 0, 0, 0, 161, 0, 0, 0, 47, 0, 0, 0, 139, 0, 0, 0, 197, 0, 0, 0, 204, 0, 0, 0, 61, 0, 0, 0, 105, 0, 0, 0, 166, 0, 0, 0, 161, 0, 0, 0, 24, 0, 0, 0, 68, 0, 0, 0, 188, 0, 0, 0, 77, 0, 0, 0, 119, 0, 0, 0, 55, 0, 0, 0, 199, 0, 0, 0, 134, 0, 0, 0, 236, 0, 0, 0, 12, 0, 0, 0, 201, 0, 0, 0, 214, 0, 0, 0, 68, -0, 0, 0, 169, 0, 0, 0, 35, 0, 0, 0, 39, 0, 0, 0, 185, 0, 0, 0, 3, 0, 0, 0, 52, 0, 0, 0, 167, 0, 0, 0, 10, 0, 0, 0, 213, 0, 0, 0, 199, 0, 0, 0, 52, 0, 0, 0, 55, 0, 0, 0, 249, 0, 0, 0, 126, 0, 0, 0, 62, 0, 0, 0, 102, 0, 0, 0, 238, 0, 0, 0, 249, 0, 0, 0, 153, 0, 0, 0, 40, 0, 0, 0, 255, 0, 0, 0, 173, 0, 0, 0, 17, 0, 0, 0, 216, 0, 0, 0, 226, 0, 0, 0, 102, 0, 0, 0, 197, 0, 0, 0, 205, 0, 0, 0, 15, 0, 0, 0, 13, 0, 0, 0, 11, 0, 0, 0, 106, 0, 0, 0, 252, 0, 0, 0, 124, 0, 0, 0, 36, 0, 0, 0, 168, 0, 0, 0, 79, -0, 0, 0, 168, 0, 0, 0, 94, 0, 0, 0, 128, 0, 0, 0, 69, 0, 0, 0, 139, 0, 0, 0, 108, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0, 30, 0, 0, 0, 236, 0, 0, 0, 247, 0, 0, 0, 141, 0, 0, 0, 119, 0, 0, 0, 242, 0, 0, 0, 234, 0, 0, 0, 219, 0, 0, 0, 96, 0, -0, 0, 3, 0, 0, 0, 33, 0, 0, 0, 192, 0, 0, 0, 255, 0, 0, 0, 94, 0, 0, 0, 103, 0, 0, 0, 195, 0, 0, 0, 113, 0, 0, 0, 11, 0, 0, 0, 33, 0, 0, 0, 180, 0, 0, 0, 65, 0, 0, 0, 160, 0, 0, 0, 104, 0, 0, 0, 56, 0, 0, 0, 198, 0, 0, 0, 1, 0, 0, 0, 163, 0, 0, 0, 211, 0, 0, 0, 81, 0, 0, 0, 60, 0, 0, 0, 60, 0, 0, 0, 146, 0, 0, 0, 248, 0, 0, 0, 214, 0, 0, 0, 75, 0, 0, 0, 239, 0, 0, 0, 66, 0, 0, 0, 19, 0, 0, 0, 178, 0, 0, 0, 74, 0, 0, 0, 196, 0, 0, 0, 46, 0, 0, 0, 114, 0, 0, 0, 63, 0, 0, 0, 201, 0, 0, 0, 17, 0, 0, -0, 189, 0, 0, 0, 116, 0, 0, 0, 2, 0, 0, 0, 14, 0, 0, 0, 245, 0, 0, 0, 19, 0, 0, 0, 157, 0, 0, 0, 131, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 213, 0, 0, 0, 84, 0, 0, 0, 222, 0, 0, 0, 196, 0, 0, 0, 30, 0, 0, 0, 22, 0, 0, 0, 108, 0, 0, 0, 39, 0, 0, 0, 82, 0, 0, 0, 228, 0, 0, 0, 99, 0, 0, 0, 170, 0, 0, 0, 148, 0, 0, 0, 230, 0, 0, 0, 195, 0, 0, 0, 40, 0, 0, 0, 156, 0, 0, 0, 198, 0, 0, 0, 86, 0, 0, 0, 172, 0, 0, 0, 250, 0, 0, 0, 182, 0, 0, 0, 189, 0, 0, 0, 226, 0, 0, 0, 204, 0, 0, 0, 118, 0, 0, 0, 198, 0, -0, 0, 39, 0, 0, 0, 39, 0, 0, 0, 162, 0, 0, 0, 142, 0, 0, 0, 120, 0, 0, 0, 43, 0, 0, 0, 132, 0, 0, 0, 114, 0, 0, 0, 16, 0, 0, 0, 189, 0, 0, 0, 78, 0, 0, 0, 42, 0, 0, 0, 234, 0, 0, 0, 167, 0, 0, 0, 35, 0, 0, 0, 239, 0, 0, 0, 4, 0, 0, 0, 97, 0, 0, 0, 128, 0, 0, 0, 80, 0, 0, 0, 201, 0, 0, 0, 110, 0, 0, 0, 165, 0, 0, 0, 150, 0, 0, 0, 209, 0, 0, 0, 209, 0, 0, 0, 200, 0, 0, 0, 195, 0, 0, 0, 24, 0, 0, 0, 215, 0, 0, 0, 45, 0, 0, 0, 253, 0, 0, 0, 38, 0, 0, 0, 189, 0, 0, 0, 203, 0, 0, 0, 123, 0, 0, 0, 146, -0, 0, 0, 81, 0, 0, 0, 14, 0, 0, 0, 74, 0, 0, 0, 101, 0, 0, 0, 87, 0, 0, 0, 184, 0, 0, 0, 73, 0, 0, 0, 171, 0, 0, 0, 85, 0, 0, 0, 54, 0, 0, 0, 195, 0, 0, 0, 236, 0, 0, 0, 99, 0, 0, 0, 85, 0, 0, 0, 17, 0, 0, 0, 85, 0, 0, 0, 246, 0, 0, 0, 165, 0, 0, 0, 199, 0, 0, 0, 1, 0, 0, 0, 95, 0, 0, 0, 254, 0, 0, 0, 121, 0, 0, 0, 216, 0, 0, 0, 10, 0, 0, 0, 247, 0, 0, 0, 3, 0, 0, 0, 216, 0, 0, 0, 152, 0, 0, 0, 153, 0, 0, 0, 245, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 107, 0, 0, 0, 102, 0, 0, 0, 40, 0, 0, -0, 245, 0, 0, 0, 37, 0, 0, 0, 122, 0, 0, 0, 141, 0, 0, 0, 161, 0, 0, 0, 93, 0, 0, 0, 112, 0, 0, 0, 93, 0, 0, 0, 81, 0, 0, 0, 39, 0, 0, 0, 238, 0, 0, 0, 48, 0, 0, 0, 101, 0, 0, 0, 86, 0, 0, 0, 149, 0, 0, 0, 70, 0, 0, 0, 222, 0, 0, 0, 189, 0, 0, 0, 3, 0, 0, 0, 117, 0, 0, 0, 180, 0, 0, 0, 87, 0, 0, 0, 89, 0, 0, 0, 137, 0, 0, 0, 235, 0, 0, 0, 2, 0, 0, 0, 158, 0, 0, 0, 204, 0, 0, 0, 137, 0, 0, 0, 25, 0, 0, 0, 167, 0, 0, 0, 203, 0, 0, 0, 23, 0, 0, 0, 103, 0, 0, 0, 106, 0, 0, 0, 235, 0, 0, 0, 252, 0, 0, -0, 154, 0, 0, 0, 154, 0, 0, 0, 16, 0, 0, 0, 206, 0, 0, 0, 219, 0, 0, 0, 58, 0, 0, 0, 28, 0, 0, 0, 60, 0, 0, 0, 106, 0, 0, 0, 157, 0, 0, 0, 234, 0, 0, 0, 70, 0, 0, 0, 188, 0, 0, 0, 69, 0, 0, 0, 73, 0, 0, 0, 172, 0, 0, 0, 227, 0, 0, 0, 65, 0, 0, 0, 18, 0, 0, 0, 124, 0, 0, 0, 240, 0, 0, 0, 247, 0, 0, 0, 79, 0, 0, 0, 249, 0, 0, 0, 247, 0, 0, 0, 255, 0, 0, 0, 44, 0, 0, 0, 137, 0, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, 49, 0, 0, 0, 84, 0, 0, 0, 26, 0, 0, 0, 70, 0, 0, 0, 202, 0, 0, 0, 230, 0, 0, 0, 198, 0, 0, 0, -203, 0, 0, 0, 226, 0, 0, 0, 195, 0, 0, 0, 193, 0, 0, 0, 139, 0, 0, 0, 117, 0, 0, 0, 129, 0, 0, 0, 190, 0, 0, 0, 238, 0, 0, 0, 248, 0, 0, 0, 163, 0, 0, 0, 17, 0, 0, 0, 28, 0, 0, 0, 37, 0, 0, 0, 163, 0, 0, 0, 167, 0, 0, 0, 53, 0, 0, 0, 81, 0, 0, 0, 85, 0, 0, 0, 226, 0, 0, 0, 37, 0, 0, 0, 170, 0, 0, 0, 226, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 72, 0, 0, 0, 16, 0, 0, 0, 159, 0, 0, 0, 138, 0, 0, 0, 9, 0, 0, 0, 118, 0, 0, 0, 250, 0, 0, 0, 240, 0, 0, 0, 122, 0, 0, 0, 176, 0, 0, 0, 112, 0, 0, 0, 247, 0, 0, 0, 131, 0, 0, 0, 128, 0, 0, 0, 82, 0, 0, 0, 132, 0, 0, 0, 43, 0, 0, 0, 38, 0, 0, 0, 162, 0, 0, 0, 196, 0, 0, 0, 93, 0, 0, 0, 79, 0, 0, 0, 186, 0, 0, 0, 177, 0, 0, 0, 200, 0, 0, 0, 64, 0, 0, 0, 13, 0, 0, 0, 120, 0, 0, 0, 151, 0, 0, 0, -196, 0, 0, 0, 96, 0, 0, 0, 212, 0, 0, 0, 177, 0, 0, 0, 108, 0, 0, 0, 8, 0, 0, 0, 199, 0, 0, 0, 64, 0, 0, 0, 56, 0, 0, 0, 115, 0, 0, 0, 95, 0, 0, 0, 11, 0, 0, 0, 243, 0, 0, 0, 118, 0, 0, 0, 93, 0, 0, 0, 178, 0, 0, 0, 165, 0, 0, 0, 47, 0, 0, 0, 87, 0, 0, 0, 87, 0, 0, 0, 7, 0, 0, 0, 237, 0, 0, 0, 8, 0, 0, 0, 162, 0, 0, 0, 108, 0, 0, 0, 79, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 181, 0, 0, 0, 14, 0, 0, 0, 238, 0, 0, 0, 68, 0, 0, 0, 250, 0, 0, 0, 34, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 166, 0, 0, -0, 4, 0, 0, 0, 25, 0, 0, 0, 86, 0, 0, 0, 101, 0, 0, 0, 49, 0, 0, 0, 127, 0, 0, 0, 139, 0, 0, 0, 235, 0, 0, 0, 13, 0, 0, 0, 225, 0, 0, 0, 71, 0, 0, 0, 137, 0, 0, 0, 151, 0, 0, 0, 22, 0, 0, 0, 83, 0, 0, 0, 250, 0, 0, 0, 129, 0, 0, 0, 167, 0, 0, 0, 170, 0, 0, 0, 178, 0, 0, 0, 191, 0, 0, 0, 103, 0, 0, 0, 235, 0, 0, 0, 114, 0, 0, 0, 96, 0, 0, 0, 129, 0, 0, 0, 13, 0, 0, 0, 72, 0, 0, 0, 126, 0, 0, 0, 19, 0, 0, 0, 51, 0, 0, 0, 205, 0, 0, 0, 168, 0, 0, 0, 132, 0, 0, 0, 86, 0, 0, 0, 30, 0, 0, 0, 103, 0, 0, -0, 175, 0, 0, 0, 107, 0, 0, 0, 67, 0, 0, 0, 172, 0, 0, 0, 23, 0, 0, 0, 175, 0, 0, 0, 22, 0, 0, 0, 192, 0, 0, 0, 82, 0, 0, 0, 153, 0, 0, 0, 73, 0, 0, 0, 91, 0, 0, 0, 135, 0, 0, 0, 115, 0, 0, 0, 126, 0, 0, 0, 181, 0, 0, 0, 67, 0, 0, 0, 218, 0, 0, 0, 107, 0, 0, 0, 29, 0, 0, 0, 15, 0, 0, 0, 45, 0, 0, 0, 85, 0, 0, 0, 233, 0, 0, 0, 88, 0, 0, 0, 31, 0, 0, 0, 255, 0, 0, 0, 132, 0, 0, 0, 63, 0, 0, 0, 147, 0, 0, 0, 28, 0, 0, 0, 203, 0, 0, 0, 225, 0, 0, 0, 48, 0, 0, 0, 105, 0, 0, 0, 165, 0, 0, 0, 117, 0, 0, -0, 25, 0, 0, 0, 126, 0, 0, 0, 20, 0, 0, 0, 95, 0, 0, 0, 248, 0, 0, 0, 252, 0, 0, 0, 9, 0, 0, 0, 221, 0, 0, 0, 168, 0, 0, 0, 120, 0, 0, 0, 157, 0, 0, 0, 202, 0, 0, 0, 89, 0, 0, 0, 139, 0, 0, 0, 209, 0, 0, 0, 48, 0, 0, 0, 1, 0, 0, 0, 19, 0, 0, 0, 255, 0, 0, 0, 118, 0, 0, 0, 3, 0, 0, 0, 197, 0, 0, 0, 75, 0, 0, 0, 137, 0, 0, 0, 153, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 112, 0, 0, 0, 156, 0, 0, 0, 213, 0, 0, 0, 217, 0, 0, 0, 17, 0, 0, 0, 137, 0, 0, 0, 90, 0, 0, 0, 70, 0, 0, 0, 254, 0, 0, 0, -239, 0, 0, 0, 220, 0, 0, 0, 217, 0, 0, 0, 85, 0, 0, 0, 43, 0, 0, 0, 69, 0, 0, 0, 167, 0, 0, 0, 176, 0, 0, 0, 45, 0, 0, 0, 251, 0, 0, 0, 36, 0, 0, 0, 194, 0, 0, 0, 41, 0, 0, 0, 56, 0, 0, 0, 6, 0, 0, 0, 248, 0, 0, 0, 11, 0, 0, 0, 172, 0, 0, 0, 130, 0, 0, 0, 196, 0, 0, 0, 151, 0, 0, 0, 43, 0, 0, 0, 144, 0, 0, 0, 224, 0, 0, 0, 247, 0, 0, 0, 168, 0, 0, 0, 171, 0, 0, 0, 108, 0, 0, 0, 8, 0, 0, 0, 128, 0, 0, 0, 102, 0, 0, 0, 144, 0, 0, 0, 70, 0, 0, 0, 247, 0, 0, 0, 38, 0, 0, 0, 45, 0, 0, 0, 248, 0, 0, 0, -241, 0, 0, 0, 196, 0, 0, 0, 107, 0, 0, 0, 74, 0, 0, 0, 130, 0, 0, 0, 152, 0, 0, 0, 142, 0, 0, 0, 55, 0, 0, 0, 142, 0, 0, 0, 180, 0, 0, 0, 238, 0, 0, 0, 184, 0, 0, 0, 212, 0, 0, 0, 63, 0, 0, 0, 178, 0, 0, 0, 27, 0, 0, 0, 224, 0, 0, 0, 10, 0, 0, 0, 61, 0, 0, 0, 117, 0, 0, 0, 52, 0, 0, 0, 40, 0, 0, 0, 162, 0, 0, 0, 142, 0, 0, 0, 196, 0, 0, 0, 146, 0, 0, 0, 123, 0, 0, 0, 254, 0, 0, 0, 96, 0, 0, 0, 110, 0, 0, 0, 109, 0, 0, 0, 184, 0, 0, 0, 49, 0, 0, 0, 29, 0, 0, 0, 98, 0, 0, 0, 13, 0, 0, 0, 120, 0, 0, -0, 20, 0, 0, 0, 66, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 168, 0, 0, 0, 216, 0, 0, 0, 4, 0, 0, 0, 155, 0, 0, 0, 115, 0, 0, 0, 201, 0, 0, 0, 201, 0, 0, 0, 220, 0, 0, 0, 13, 0, 0, 0, 115, 0, 0, 0, 191, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 115, -0, 0, 0, 255, 0, 0, 0, 24, 0, 0, 0, 31, 0, 0, 0, 156, 0, 0, 0, 81, 0, 0, 0, 170, 0, 0, 0, 198, 0, 0, 0, 241, 0, 0, 0, 131, 0, 0, 0, 37, 0, 0, 0, 253, 0, 0, 0, 171, 0, 0, 0, 163, 0, 0, 0, 17, 0, 0, 0, 211, 0, 0, 0, 1, 0, 0, 0, 36, 0, 0, 0, 77, 0, 0, 0, 227, 0, 0, 0, 126, 0, 0, 0, 56, 0, 0, 0, 98, 0, 0, 0, 94, 0, 0, 0, 100, 0, 0, 0, 187, 0, 0, 0, 43, 0, 0, 0, 83, 0, 0, 0, 181, 0, 0, 0, 3, 0, 0, 0, 104, 0, 0, 0, 196, 0, 0, 0, 242, 0, 0, 0, 43, 0, 0, 0, 90, 0, 0, 0, 3, 0, 0, 0, 50, 0, 0, 0, 153, 0, 0, -0, 74, 0, 0, 0, 65, 0, 0, 0, 154, 0, 0, 0, 225, 0, 0, 0, 26, 0, 0, 0, 174, 0, 0, 0, 140, 0, 0, 0, 72, 0, 0, 0, 243, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0, 101, 0, 0, 0, 232, 0, 0, 0, 221, 0, 0, 0, 173, 0, 0, 0, 58, 0, 0, 0, 140, 0, 0, 0, 234, 0, 0, 0, 244, 0, 0, 0, 179, 0, 0, 0, 178, 0, 0, 0, 229, 0, 0, 0, 115, 0, 0, 0, 242, 0, 0, 0, 237, 0, 0, 0, 139, 0, 0, 0, 191, 0, 0, 0, 237, 0, 0, 0, 177, 0, 0, 0, 12, 0, 0, 0, 12, 0, 0, 0, 251, 0, 0, 0, 43, 0, 0, 0, 241, 0, 0, 0, 1, 0, 0, 0, 72, 0, 0, 0, 232, 0, -0, 0, 38, 0, 0, 0, 3, 0, 0, 0, 142, 0, 0, 0, 39, 0, 0, 0, 77, 0, 0, 0, 150, 0, 0, 0, 114, 0, 0, 0, 200, 0, 0, 0, 9, 0, 0, 0, 59, 0, 0, 0, 96, 0, 0, 0, 201, 0, 0, 0, 38, 0, 0, 0, 77, 0, 0, 0, 124, 0, 0, 0, 242, 0, 0, 0, 156, 0, 0, 0, 212, 0, 0, 0, 161, 0, 0, 0, 59, 0, 0, 0, 38, 0, 0, 0, 194, 0, 0, 0, 4, 0, 0, 0, 51, 0, 0, 0, 68, 0, 0, 0, 118, 0, 0, 0, 60, 0, 0, 0, 2, 0, 0, 0, 187, 0, 0, 0, 17, 0, 0, 0, 66, 0, 0, 0, 12, 0, 0, 0, 34, 0, 0, 0, 183, 0, 0, 0, 198, 0, 0, 0, 225, 0, 0, 0, 172, 0, 0, 0, 180, -0, 0, 0, 14, 0, 0, 0, 111, 0, 0, 0, 133, 0, 0, 0, 231, 0, 0, 0, 239, 0, 0, 0, 222, 0, 0, 0, 103, 0, 0, 0, 48, 0, 0, 0, 252, 0, 0, 0, 191, 0, 0, 0, 90, 0, 0, 0, 224, 0, 0, 0, 123, 0, 0, 0, 122, 0, 0, 0, 42, 0, 0, 0, 84, 0, 0, 0, 107, 0, 0, 0, 93, 0, 0, 0, 98, 0, 0, 0, 133, 0, 0, 0, 161, 0, 0, 0, 248, 0, 0, 0, 22, 0, 0, 0, 136, 0, 0, 0, 236, 0, 0, 0, 97, 0, 0, 0, 185, 0, 0, 0, 150, 0, 0, 0, 181, 0, 0, 0, 239, 0, 0, 0, 45, 0, 0, 0, 67, 0, 0, 0, 77, 0, 0, 0, 124, 0, 0, 0, 49, 0, 0, 0, 51, 0, 0, 0, 204, -0, 0, 0, 228, 0, 0, 0, 207, 0, 0, 0, 108, 0, 0, 0, 255, 0, 0, 0, 128, 0, 0, 0, 71, 0, 0, 0, 119, 0, 0, 0, 209, 0, 0, 0, 216, 0, 0, 0, 233, 0, 0, 0, 105, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 0, 127, 0, 0, 0, 32, 0, 0, 0, 87, 0, 0, 0, 29, 0, 0, 0, 29, 0, 0, 0, 79, 0, 0, 0, 8, 0, 0, 0, 39, 0, 0, 0, 200, 0, 0, 0, 53, 0, 0, 0, 87, 0, 0, 0, 64, 0, 0, 0, 198, 0, 0, 0, 33, 0, 0, 0, 12, 0, 0, 0, 210, 0, 0, 0, 142, 0, 0, 0, 155, 0, 0, 0, 250, 0, 0, 0, 66, 0, 0, 0, 142, 0, 0, 0, 223, 0, 0, 0, 143, 0, 0, 0, 199, -0, 0, 0, 134, 0, 0, 0, 249, 0, 0, 0, 164, 0, 0, 0, 202, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, 33, 0, 0, 0, 191, 0, 0, 0, 236, 0, 0, 0, 87, 0, 0, 0, 98, 0, 0, 0, 48, 0, 0, 0, 88, 0, 0, 0, 140, 0, 0, 0, 13, 0, 0, 0, 53, 0, 0, 0, 219, 0, 0, 0, 93, 0, 0, 0, 139, 0, 0, 0, 106, 0, 0, 0, 160, 0, 0, 0, 90, 0, 0, 0, 193, 0, 0, 0, 88, 0, 0, 0, 124, 0, 0, 0, 13, 0, 0, 0, 32, 0, 0, 0, 221, 0, 0, 0, 17, 0, 0, 0, 38, 0, 0, 0, 95, 0, 0, 0, 137, 0, 0, 0, 59, 0, 0, 0, 151, 0, 0, 0, 88, 0, 0, 0, 248, 0, -0, 0, 139, 0, 0, 0, 227, 0, 0, 0, 223, 0, 0, 0, 50, 0, 0, 0, 226, 0, 0, 0, 252, 0, 0, 0, 216, 0, 0, 0, 103, 0, 0, 0, 242, 0, 0, 0, 165, 0, 0, 0, 55, 0, 0, 0, 30, 0, 0, 0, 109, 0, 0, 0, 236, 0, 0, 0, 124, 0, 0, 0, 39, 0, 0, 0, 32, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 233, 0, 0, 0, 192, 0, 0, 0, 250, 0, 0, 0, 149, 0, 0, 0, 69, 0, 0, 0, 35, 0, 0, 0, 150, 0, 0, 0, 241, 0, 0, 0, 44, 0, 0, 0, 121, 0, 0, 0, 37, 0, 0, 0, 20, 0, 0, 0, 206, 0, 0, 0, 64, 0, 0, 0, 20, 0, 0, 0, 68, 0, 0, 0, 44, 0, 0, 0, 54, 0, 0, 0, 80, 0, 0, 0, 217, 0, 0, 0, 99, 0, 0, 0, 86, 0, 0, 0, 183, 0, 0, 0, 86, 0, 0, 0, 59, 0, 0, 0, 158, 0, 0, 0, 167, 0, 0, 0, 239, 0, 0, 0, 137, 0, 0, 0, 187, 0, 0, 0, 14, 0, 0, 0, 206, 0, 0, 0, 127, 0, 0, 0, 220, 0, 0, 0, 10, 0, 0, -0, 204, 0, 0, 0, 130, 0, 0, 0, 28, 0, 0, 0, 10, 0, 0, 0, 120, 0, 0, 0, 113, 0, 0, 0, 232, 0, 0, 0, 116, 0, 0, 0, 141, 0, 0, 0, 1, 0, 0, 0, 48, 0, 0, 0, 15, 0, 0, 0, 167, 0, 0, 0, 17, 0, 0, 0, 76, 0, 0, 0, 223, 0, 0, 0, 56, 0, 0, 0, 215, 0, 0, 0, 167, 0, 0, 0, 13, 0, 0, 0, 248, 0, 0, 0, 72, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 123, 0, 0, 0, 95, 0, 0, 0, 14, 0, 0, 0, 37, 0, 0, 0, 131, 0, 0, 0, 230, 0, 0, 0, 148, 0, 0, 0, 123, 0, 0, 0, 129, 0, 0, 0, 178, 0, 0, 0, 145, 0, 0, 0, 174, 0, 0, -0, 14, 0, 0, 0, 5, 0, 0, 0, 201, 0, 0, 0, 163, 0, 0, 0, 104, 0, 0, 0, 45, 0, 0, 0, 217, 0, 0, 0, 136, 0, 0, 0, 37, 0, 0, 0, 25, 0, 0, 0, 42, 0, 0, 0, 97, 0, 0, 0, 97, 0, 0, 0, 33, 0, 0, 0, 151, 0, 0, 0, 21, 0, 0, 0, 161, 0, 0, 0, 53, 0, 0, 0, 165, 0, 0, 0, 70, 0, 0, 0, 200, 0, 0, 0, 162, 0, 0, 0, 14, 0, 0, 0, 27, 0, 0, 0, 3, 0, 0, 0, 13, 0, 0, 0, 139, 0, 0, 0, 90, 0, 0, 0, 27, 0, 0, 0, 151, 0, 0, 0, 75, 0, 0, 0, 242, 0, 0, 0, 22, 0, 0, 0, 49, 0, 0, 0, 61, 0, 0, 0, 31, 0, 0, 0, 51, 0, 0, 0, 160, 0, -0, 0, 80, 0, 0, 0, 58, 0, 0, 0, 24, 0, 0, 0, 190, 0, 0, 0, 19, 0, 0, 0, 161, 0, 0, 0, 118, 0, 0, 0, 193, 0, 0, 0, 186, 0, 0, 0, 27, 0, 0, 0, 241, 0, 0, 0, 5, 0, 0, 0, 123, 0, 0, 0, 51, 0, 0, 0, 168, 0, 0, 0, 130, 0, 0, 0, 59, 0, 0, 0, 186, 0, 0, 0, 54, 0, 0, 0, 123, 0, 0, 0, 109, 0, 0, 0, 169, 0, 0, 0, 234, 0, 0, 0, 20, 0, 0, 0, 18, 0, 0, 0, 197, 0, 0, 0, 250, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 155, 0, 0, 0, 153, 0, 0, 0, 204, 0, 0, 0, 86, 0, 0, 0, 2, 0, 0, 0, 233, 0, 0, 0, 160, 0, -0, 0, 38, 0, 0, 0, 64, 0, 0, 0, 102, 0, 0, 0, 140, 0, 0, 0, 196, 0, 0, 0, 248, 0, 0, 0, 133, 0, 0, 0, 51, 0, 0, 0, 104, 0, 0, 0, 231, 0, 0, 0, 3, 0, 0, 0, 32, 0, 0, 0, 80, 0, 0, 0, 91, 0, 0, 0, 255, 0, 0, 0, 169, 0, 0, 0, 178, 0, 0, 0, 241, 0, 0, 0, 241, 0, 0, 0, 120, 0, 0, 0, 207, 0, 0, 0, 20, 0, 0, 0, 164, 0, 0, 0, 169, 0, 0, 0, 252, 0, 0, 0, 9, 0, 0, 0, 70, 0, 0, 0, 148, 0, 0, 0, 84, 0, 0, 0, 101, 0, 0, 0, 13, 0, 0, 0, 156, 0, 0, 0, 95, 0, 0, 0, 114, 0, 0, 0, 33, 0, 0, 0, 226, 0, 0, 0, 151, 0, -0, 0, 165, 0, 0, 0, 45, 0, 0, 0, 129, 0, 0, 0, 206, 0, 0, 0, 74, 0, 0, 0, 95, 0, 0, 0, 121, 0, 0, 0, 61, 0, 0, 0, 95, 0, 0, 0, 92, 0, 0, 0, 210, 0, 0, 0, 188, 0, 0, 0, 125, 0, 0, 0, 119, 0, 0, 0, 14, 0, 0, 0, 42, 0, 0, 0, 109, 0, 0, 0, 34, 0, 0, 0, 69, 0, 0, 0, 132, 0, 0, 0, 6, 0, 0, 0, 196, 0, 0, 0, 221, 0, 0, 0, 198, 0, 0, 0, 166, 0, 0, 0, 198, 0, 0, 0, 215, 0, 0, 0, 73, 0, 0, 0, 173, 0, 0, 0, 109, 0, 0, 0, 135, 0, 0, 0, 145, 0, 0, 0, 14, 0, 0, 0, 58, 0, 0, 0, 103, 0, 0, 0, 29, 0, 0, 0, 44, 0, -0, 0, 29, 0, 0, 0, 86, 0, 0, 0, 254, 0, 0, 0, 122, 0, 0, 0, 116, 0, 0, 0, 207, 0, 0, 0, 212, 0, 0, 0, 210, 0, 0, 0, 229, 0, 0, 0, 25, 0, 0, 0, 222, 0, 0, 0, 208, 0, 0, 0, 219, 0, 0, 0, 112, 0, 0, 0, 35, 0, 0, 0, 105, 0, 0, 0, 230, 0, 0, 0, 109, 0, 0, 0, 236, 0, 0, 0, 236, 0, 0, 0, 204, 0, 0, 0, 9, 0, 0, 0, 51, 0, 0, 0, 106, 0, 0, 0, 119, 0, 0, 0, 220, 0, 0, 0, 107, 0, 0, 0, 34, 0, 0, 0, 118, 0, 0, 0, 93, 0, 0, 0, 146, 0, 0, 0, 9, 0, 0, 0, 172, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 21, 0, 0, 0, 23, 0, 0, 0, 235, 0, 0, 0, 211, 0, 0, 0, 219, 0, 0, 0, 18, 0, 0, 0, 94, 0, 0, 0, 1, 0, 0, 0, 240, 0, 0, 0, 145, 0, 0, 0, 171, 0, 0, 0, 44, 0, 0, 0, 65, 0, 0, 0, 206, 0, 0, 0, 172, 0, 0, 0, 237, 0, 0, 0, 27, 0, 0, 0, 75, 0, 0, 0, 45, 0, 0, 0, -188, 0, 0, 0, 219, 0, 0, 0, 23, 0, 0, 0, 102, 0, 0, 0, 137, 0, 0, 0, 70, 0, 0, 0, 173, 0, 0, 0, 75, 0, 0, 0, 30, 0, 0, 0, 111, 0, 0, 0, 11, 0, 0, 0, 20, 0, 0, 0, 17, 0, 0, 0, 206, 0, 0, 0, 191, 0, 0, 0, 182, 0, 0, 0, 119, 0, 0, 0, 45, 0, 0, 0, 72, 0, 0, 0, 34, 0, 0, 0, 24, 0, 0, 0, 79, 0, 0, 0, 163, 0, 0, 0, 93, 0, 0, 0, 74, 0, 0, 0, 176, 0, 0, 0, 112, 0, 0, 0, 18, 0, 0, 0, 62, 0, 0, 0, 84, 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 14, 0, 0, 0, 43, 0, 0, 0, 39, 0, 0, 0, 220, 0, 0, 0, 83, 0, 0, 0, 255, -0, 0, 0, 202, 0, 0, 0, 140, 0, 0, 0, 89, 0, 0, 0, 179, 0, 0, 0, 78, 0, 0, 0, 68, 0, 0, 0, 7, 0, 0, 0, 118, 0, 0, 0, 97, 0, 0, 0, 15, 0, 0, 0, 102, 0, 0, 0, 178, 0, 0, 0, 33, 0, 0, 0, 57, 0, 0, 0, 126, 0, 0, 0, 192, 0, 0, 0, 236, 0, 0, 0, 69, 0, 0, 0, 40, 0, 0, 0, 130, 0, 0, 0, 161, 0, 0, 0, 41, 0, 0, 0, 50, 0, 0, 0, 68, 0, 0, 0, 53, 0, 0, 0, 19, 0, 0, 0]).concat([94, 0, 0, 0, 97, 0, 0, 0, 94, 0, 0, 0, 84, 0, 0, 0, 203, 0, 0, 0, 124, 0, 0, 0, 239, 0, 0, 0, 246, 0, 0, 0, 65, 0, 0, 0, 207, 0, 0, 0, -159, 0, 0, 0, 10, 0, 0, 0, 221, 0, 0, 0, 249, 0, 0, 0, 218, 0, 0, 0, 132, 0, 0, 0, 195, 0, 0, 0, 230, 0, 0, 0, 138, 0, 0, 0, 159, 0, 0, 0, 36, 0, 0, 0, 210, 0, 0, 0, 150, 0, 0, 0, 93, 0, 0, 0, 57, 0, 0, 0, 111, 0, 0, 0, 88, 0, 0, 0, 140, 0, 0, 0, 193, 0, 0, 0, 86, 0, 0, 0, 147, 0, 0, 0, 171, 0, 0, 0, 181, 0, 0, 0, 121, 0, 0, 0, 59, 0, 0, 0, 210, 0, 0, 0, 168, 0, 0, 0, 115, 0, 0, 0, 22, 0, 0, 0, 237, 0, 0, 0, 250, 0, 0, 0, 180, 0, 0, 0, 47, 0, 0, 0, 115, 0, 0, 0, 139, 0, 0, 0, 177, 0, 0, 0, 149, 0, -0, 0, 229, 0, 0, 0, 146, 0, 0, 0, 80, 0, 0, 0, 53, 0, 0, 0, 17, 0, 0, 0, 118, 0, 0, 0, 172, 0, 0, 0, 244, 0, 0, 0, 77, 0, 0, 0, 36, 0, 0, 0, 195, 0, 0, 0, 50, 0, 0, 0, 230, 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 44, 0, 0, 0, 135, 0, 0, 0, 196, 0, 0, 0, 241, 0, 0, 0, 86, 0, 0, 0, 196, 0, 0, 0, 117, 0, 0, 0, 36, 0, 0, 0, 122, 0, 0, 0, 86, 0, 0, 0, 133, 0, 0, 0, 90, 0, 0, 0, 58, 0, 0, 0, 19, 0, 0, 0, 13, 0, 0, 0, 22, 0, 0, 0, 172, 0, 0, 0, 60, 0, 0, 0, 74, 0, 0, 0, 88, 0, 0, 0, 134, 0, 0, 0, 58, 0, 0, -0, 70, 0, 0, 0, 127, 0, 0, 0, 108, 0, 0, 0, 163, 0, 0, 0, 82, 0, 0, 0, 110, 0, 0, 0, 55, 0, 0, 0, 228, 0, 0, 0, 150, 0, 0, 0, 156, 0, 0, 0, 233, 0, 0, 0, 92, 0, 0, 0, 102, 0, 0, 0, 65, 0, 0, 0, 103, 0, 0, 0, 228, 0, 0, 0, 251, 0, 0, 0, 121, 0, 0, 0, 12, 0, 0, 0, 5, 0, 0, 0, 246, 0, 0, 0, 100, 0, 0, 0, 213, 0, 0, 0, 124, 0, 0, 0, 40, 0, 0, 0, 193, 0, 0, 0, 225, 0, 0, 0, 84, 0, 0, 0, 115, 0, 0, 0, 242, 0, 0, 0, 191, 0, 0, 0, 118, 0, 0, 0, 116, 0, 0, 0, 25, 0, 0, 0, 25, 0, 0, 0, 27, 0, 0, 0, 228, 0, -0, 0, 185, 0, 0, 0, 168, 0, 0, 0, 70, 0, 0, 0, 101, 0, 0, 0, 115, 0, 0, 0, 243, 0, 0, 0, 119, 0, 0, 0, 155, 0, 0, 0, 41, 0, 0, 0, 116, 0, 0, 0, 91, 0, 0, 0, 198, 0, 0, 0, 137, 0, 0, 0, 108, 0, 0, 0, 44, 0, 0, 0, 124, 0, 0, 0, 248, 0, 0, 0, 179, 0, 0, 0, 15, 0, 0, 0, 247, 0, 0, 0, 213, 0, 0, 0, 233, 0, 0, 0, 116, 0, 0, 0, 93, 0, 0, 0, 184, 0, 0, 0, 37, 0, 0, 0, 22, 0, 0, 0, 181, 0, 0, 0, 48, 0, 0, 0, 188, 0, 0, 0, 132, 0, 0, 0, 197, 0, 0, 0, 240, 0, 0, 0, 173, 0, 0, 0, 202, 0, 0, 0, 18, 0, 0, 0, 40, -0, 0, 0, 188, 0, 0, 0, 157, 0, 0, 0, 212, 0, 0, 0, 250, 0, 0, 0, 130, 0, 0, 0, 230, 0, 0, 0, 227, 0, 0, 0, 191, 0, 0, 0, 162, 0, 0, 0, 21, 0, 0, 0, 44, 0, 0, 0, 212, 0, 0, 0, 52, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 177, 0, 0, 0, 70, 0, -0, 0, 186, 0, 0, 0, 14, 0, 0, 0, 49, 0, 0, 0, 165, 0, 0, 0, 103, 0, 0, 0, 108, 0, 0, 0, 127, 0, 0, 0, 214, 0, 0, 0, 217, 0, 0, 0, 39, 0, 0, 0, 133, 0, 0, 0, 15, 0, 0, 0, 121, 0, 0, 0, 20, 0, 0, 0, 200, 0, 0, 0, 108, 0, 0, 0, 47, 0, 0, 0, 95, 0, 0, 0, 91, 0, 0, 0, 156, 0, 0, 0, 53, 0, 0, 0, 61, 0, 0, 0, 56, 0, 0, 0, 134, 0, 0, 0, 119, 0, 0, 0, 101, 0, 0, 0, 85, 0, 0, 0, 106, 0, 0, 0, 123, 0, 0, 0, 211, 0, 0, 0, 176, 0, 0, 0, 58, 0, 0, 0, 102, 0, 0, 0, 96, 0, 0, 0, 27, 0, 0, 0, 67, 0, 0, 0, 241, 0, -0, 0, 38, 0, 0, 0, 88, 0, 0, 0, 153, 0, 0, 0, 9, 0, 0, 0, 143, 0, 0, 0, 45, 0, 0, 0, 163, 0, 0, 0, 20, 0, 0, 0, 113, 0, 0, 0, 133, 0, 0, 0, 219, 0, 0, 0, 237, 0, 0, 0, 246, 0, 0, 0, 38, 0, 0, 0, 213, 0, 0, 0, 97, 0, 0, 0, 154, 0, 0, 0, 115, 0, 0, 0, 172, 0, 0, 0, 14, 0, 0, 0, 234, 0, 0, 0, 172, 0, 0, 0, 183, 0, 0, 0, 12, 0, 0, 0, 94, 0, 0, 0, 244, 0, 0, 0, 229, 0, 0, 0, 23, 0, 0, 0, 14, 0, 0, 0, 16, 0, 0, 0, 159, 0, 0, 0, 231, 0, 0, 0, 67, 0, 0, 0, 95, 0, 0, 0, 103, 0, 0, 0, 92, 0, 0, 0, 172, 0, -0, 0, 75, 0, 0, 0, 229, 0, 0, 0, 20, 0, 0, 0, 65, 0, 0, 0, 210, 0, 0, 0, 191, 0, 0, 0, 72, 0, 0, 0, 245, 0, 0, 0, 20, 0, 0, 0, 176, 0, 0, 0, 113, 0, 0, 0, 198, 0, 0, 0, 97, 0, 0, 0, 193, 0, 0, 0, 178, 0, 0, 0, 112, 0, 0, 0, 88, 0, 0, 0, 210, 0, 0, 0, 90, 0, 0, 0, 45, 0, 0, 0, 186, 0, 0, 0, 22, 0, 0, 0, 7, 0, 0, 0, 146, 0, 0, 0, 148, 0, 0, 0, 220, 0, 0, 0, 189, 0, 0, 0, 80, 0, 0, 0, 43, 0, 0, 0, 201, 0, 0, 0, 127, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 97, 0, 0, 0, 237, 0, 0, 0, 248, 0, 0, -0, 67, 0, 0, 0, 237, 0, 0, 0, 245, 0, 0, 0, 249, 0, 0, 0, 64, 0, 0, 0, 96, 0, 0, 0, 178, 0, 0, 0, 176, 0, 0, 0, 130, 0, 0, 0, 203, 0, 0, 0, 237, 0, 0, 0, 117, 0, 0, 0, 199, 0, 0, 0, 101, 0, 0, 0, 128, 0, 0, 0, 186, 0, 0, 0, 13, 0, 0, 0, 9, 0, 0, 0, 64, 0, 0, 0, 167, 0, 0, 0, 57, 0, 0, 0, 166, 0, 0, 0, 103, 0, 0, 0, 52, 0, 0, 0, 126, 0, 0, 0, 102, 0, 0, 0, 190, 0, 0, 0, 86, 0, 0, 0, 251, 0, 0, 0, 83, 0, 0, 0, 120, 0, 0, 0, 196, 0, 0, 0, 70, 0, 0, 0, 232, 0, 0, 0, 237, 0, 0, 0, 104, 0, 0, 0, 108, 0, -0, 0, 127, 0, 0, 0, 206, 0, 0, 0, 232, 0, 0, 0, 159, 0, 0, 0, 206, 0, 0, 0, 162, 0, 0, 0, 100, 0, 0, 0, 88, 0, 0, 0, 83, 0, 0, 0, 232, 0, 0, 0, 193, 0, 0, 0, 169, 0, 0, 0, 194, 0, 0, 0, 123, 0, 0, 0, 89, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 226, 0, 0, 0, 67, 0, 0, 0, 115, 0, 0, 0, 43, 0, 0, 0, 172, 0, 0, 0, 45, 0, 0, 0, 193, 0, 0, 0, 137, 0, 0, 0, 59, 0, 0, 0, 21, 0, 0, 0, 226, 0, 0, 0, 213, 0, 0, 0, 192, 0, 0, 0, 151, 0, 0, 0, 138, 0, 0, 0, 253, 0, 0, 0, 111, 0, 0, 0, 54, 0, 0, 0, 51, 0, 0, 0, 183, -0, 0, 0, 185, 0, 0, 0, 195, 0, 0, 0, 136, 0, 0, 0, 9, 0, 0, 0, 208, 0, 0, 0, 182, 0, 0, 0, 86, 0, 0, 0, 48, 0, 0, 0, 92, 0, 0, 0, 174, 0, 0, 0, 179, 0, 0, 0, 117, 0, 0, 0, 68, 0, 0, 0, 164, 0, 0, 0, 131, 0, 0, 0, 81, 0, 0, 0, 110, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 239, 0, 0, 0, 69, 0, 0, 0, 118, 0, 0, 0, 230, 0, 0, 0, 245, 0, 0, 0, 162, 0, 0, 0, 13, 0, 0, 0, 212, 0, 0, 0, 22, 0, 0, 0, 59, 0, 0, 0, 88, 0, 0, 0, 47, 0, 0, 0, 242, 0, 0, 0, 47, 0, 0, 0, 54, 0, 0, 0, 24, 0, 0, 0, 63, 0, 0, 0, 253, 0, -0, 0, 47, 0, 0, 0, 224, 0, 0, 0, 155, 0, 0, 0, 30, 0, 0, 0, 140, 0, 0, 0, 197, 0, 0, 0, 24, 0, 0, 0, 169, 0, 0, 0, 202, 0, 0, 0, 212, 0, 0, 0, 43, 0, 0, 0, 53, 0, 0, 0, 182, 0, 0, 0, 149, 0, 0, 0, 10, 0, 0, 0, 159, 0, 0, 0, 126, 0, 0, 0, 251, 0, 0, 0, 196, 0, 0, 0, 239, 0, 0, 0, 136, 0, 0, 0, 123, 0, 0, 0, 35, 0, 0, 0, 67, 0, 0, 0, 236, 0, 0, 0, 47, 0, 0, 0, 13, 0, 0, 0, 15, 0, 0, 0, 122, 0, 0, 0, 252, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 210, 0, 0, 0, 218, 0, 0, 0, 199, 0, 0, 0, 68, 0, 0, 0, 214, 0, 0, 0, 122, 0, 0, 0, 219, 0, 0, 0, 38, 0, 0, 0, 125, 0, 0, 0, 29, 0, 0, 0, 184, 0, 0, 0, 225, 0, 0, 0, 222, 0, 0, 0, 157, 0, 0, 0, 122, 0, 0, 0, 125, 0, 0, 0, 23, 0, 0, 0, 126, 0, 0, 0, 28, 0, 0, 0, 55, 0, 0, 0, 4, 0, 0, 0, 141, 0, 0, -0, 45, 0, 0, 0, 124, 0, 0, 0, 94, 0, 0, 0, 24, 0, 0, 0, 56, 0, 0, 0, 30, 0, 0, 0, 175, 0, 0, 0, 199, 0, 0, 0, 27, 0, 0, 0, 51, 0, 0, 0, 72, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 246, 0, 0, 0, 242, 0, 0, 0, 202, 0, 0, 0, 15, 0, 0, 0, 39, 0, 0, 0, 27, 0, 0, 0, 99, 0, 0, 0, 18, 0, 0, 0, 126, 0, 0, 0, 2, 0, 0, 0, 29, 0, 0, 0, 73, 0, 0, 0, 192, 0, 0, 0, 93, 0, 0, 0, 121, 0, 0, 0, 135, 0, 0, 0, 239, 0, 0, 0, 94, 0, 0, 0, 122, 0, 0, 0, 47, 0, 0, 0, 31, 0, 0, 0, 102, 0, 0, 0, 85, 0, 0, 0, 216, 0, -0, 0, 9, 0, 0, 0, 217, 0, 0, 0, 97, 0, 0, 0, 84, 0, 0, 0, 131, 0, 0, 0, 2, 0, 0, 0, 24, 0, 0, 0, 130, 0, 0, 0, 147, 0, 0, 0, 153, 0, 0, 0, 7, 0, 0, 0, 208, 0, 0, 0, 167, 0, 0, 0, 218, 0, 0, 0, 216, 0, 0, 0, 117, 0, 0, 0, 137, 0, 0, 0, 250, 0, 0, 0, 242, 0, 0, 0, 217, 0, 0, 0, 163, 0, 0, 0, 184, 0, 0, 0, 107, 0, 0, 0, 90, 0, 0, 0, 53, 0, 0, 0, 40, 0, 0, 0, 210, 0, 0, 0, 107, 0, 0, 0, 89, 0, 0, 0, 194, 0, 0, 0, 248, 0, 0, 0, 69, 0, 0, 0, 226, 0, 0, 0, 188, 0, 0, 0, 6, 0, 0, 0, 101, 0, 0, 0, 192, 0, -0, 0, 163, 0, 0, 0, 136, 0, 0, 0, 81, 0, 0, 0, 149, 0, 0, 0, 252, 0, 0, 0, 150, 0, 0, 0, 148, 0, 0, 0, 120, 0, 0, 0, 232, 0, 0, 0, 13, 0, 0, 0, 139, 0, 0, 0, 65, 0, 0, 0, 201, 0, 0, 0, 194, 0, 0, 0, 88, 0, 0, 0, 72, 0, 0, 0, 117, 0, 0, 0, 16, 0, 0, 0, 47, 0, 0, 0, 205, 0, 0, 0, 42, 0, 0, 0, 201, 0, 0, 0, 160, 0, 0, 0, 109, 0, 0, 0, 15, 0, 0, 0, 221, 0, 0, 0, 156, 0, 0, 0, 152, 0, 0, 0, 38, 0, 0, 0, 61, 0, 0, 0, 47, 0, 0, 0, 102, 0, 0, 0, 41, 0, 0, 0, 27, 0, 0, 0, 4, 0, 0, 0, 137, 0, 0, 0, 189, 0, -0, 0, 126, 0, 0, 0, 238, 0, 0, 0, 110, 0, 0, 0, 221, 0, 0, 0, 183, 0, 0, 0, 14, 0, 0, 0, 239, 0, 0, 0, 176, 0, 0, 0, 12, 0, 0, 0, 180, 0, 0, 0, 252, 0, 0, 0, 127, 0, 0, 0, 194, 0, 0, 0, 201, 0, 0, 0, 58, 0, 0, 0, 60, 0, 0, 0, 100, 0, 0, 0, 239, 0, 0, 0, 69, 0, 0, 0, 68, 0, 0, 0, 175, 0, 0, 0, 138, 0, 0, 0, 144, 0, 0, 0, 101, 0, 0, 0, 118, 0, 0, 0, 161, 0, 0, 0, 76, 0, 0, 0, 112, 0, 0, 0, 75, 0, 0, 0, 14, 0, 0, 0, 160, 0, 0, 0, 131, 0, 0, 0, 112, 0, 0, 0, 19, 0, 0, 0, 164, 0, 0, 0, 175, 0, 0, 0, 184, -0, 0, 0, 56, 0, 0, 0, 25, 0, 0, 0, 34, 0, 0, 0, 101, 0, 0, 0, 9, 0, 0, 0, 180, 0, 0, 0, 2, 0, 0, 0, 79, 0, 0, 0, 6, 0, 0, 0, 248, 0, 0, 0, 23, 0, 0, 0, 206, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 218, 0, 0, 0, 80, 0, 0, 0, 124, 0, 0, 0, 138, 0, 0, 0, 209, 0, 0, 0, 78, 0, 0, 0, 247, 0, 0, 0, 212, 0, 0, 0, 22, 0, 0, 0, 108, 0, 0, 0, 78, 0, 0, 0, 149, 0, 0, 0, 157, 0, 0, 0, 93, 0, 0, 0, 15, 0, 0, 0, 145, 0, 0, 0, 43, 0, 0, 0, 82, 0, 0, 0, 254, 0, 0, 0, 92, 0, 0, 0, 52, 0, 0, 0, 229, 0, 0, 0, 48, 0, 0, 0, -230, 0, 0, 0, 164, 0, 0, 0, 59, 0, 0, 0, 243, 0, 0, 0, 243, 0, 0, 0, 52, 0, 0, 0, 8, 0, 0, 0, 169, 0, 0, 0, 74, 0, 0, 0, 160, 0, 0, 0, 181, 0, 0, 0, 110, 0, 0, 0, 179, 0, 0, 0, 9, 0, 0, 0, 10, 0, 0, 0, 38, 0, 0, 0, 217, 0, 0, 0, 94, 0, 0, 0, 163, 0, 0, 0, 15, 0, 0, 0, 235, 0, 0, 0, 162, 0, 0, 0, 243, 0, 0, 0, 32, 0, 0, 0, 59, 0, 0, 0, 55, 0, 0, 0, 212, 0, 0, 0, 228, 0, 0, 0, 158, 0, 0, 0, 206, 0, 0, 0, 6, 0, 0, 0, 61, 0, 0, 0, 83, 0, 0, 0, 237, 0, 0, 0, 174, 0, 0, 0, 43, 0, 0, 0, 235, 0, 0, 0, 182, -0, 0, 0, 36, 0, 0, 0, 10, 0, 0, 0, 17, 0, 0, 0, 163, 0, 0, 0, 15, 0, 0, 0, 214, 0, 0, 0, 127, 0, 0, 0, 164, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 159, 0, 0, 0, 44, 0, 0, 0, 252, 0, 0, 0, 214, 0, 0, 0, 178, 0, 0, 0, 30, 0, 0, 0, 46, 0, 0, -0, 82, 0, 0, 0, 122, 0, 0, 0, 6, 0, 0, 0, 135, 0, 0, 0, 45, 0, 0, 0, 134, 0, 0, 0, 114, 0, 0, 0, 43, 0, 0, 0, 109, 0, 0, 0, 144, 0, 0, 0, 119, 0, 0, 0, 70, 0, 0, 0, 67, 0, 0, 0, 181, 0, 0, 0, 122, 0, 0, 0, 248, 0, 0, 0, 96, 0, 0, 0, 125, 0, 0, 0, 145, 0, 0, 0, 96, 0, 0, 0, 91, 0, 0, 0, 157, 0, 0, 0, 158, 0, 0, 0, 7, 0, 0, 0, 151, 0, 0, 0, 135, 0, 0, 0, 199, 0, 0, 0, 4, 0, 0, 0, 28, 0, 0, 0, 56, 0, 0, 0, 1, 0, 0, 0, 57, 0, 0, 0, 88, 0, 0, 0, 199, 0, 0, 0, 133, 0, 0, 0, 163, 0, 0, 0, 252, 0, 0, 0, -100, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 37, 0, 0, 0, 162, 0, 0, 0, 191, 0, 0, 0, 80, 0, 0, 0, 148, 0, 0, 0, 202, 0, 0, 0, 38, 0, 0, 0, 49, 0, 0, 0, 69, 0, 0, 0, 10, 0, 0, 0, 36, 0, 0, 0, 210, 0, 0, 0, 81, 0, 0, 0, 41, 0, 0, 0, 81, 0, 0, 0, 22, 0, 0, 0, 77, 0, 0, 0, 74, 0, 0, 0, 215, 0, 0, 0, 152, 0, 0, 0, 113, 0, 0, 0, 87, 0, 0, 0, 172, 0, 0, 0, 125, 0, 0, 0, 139, 0, 0, 0, 55, 0, 0, 0, 189, 0, 0, 0, 99, 0, 0, 0, 255, 0, 0, 0, 135, 0, 0, 0, 177, 0, 0, 0, 73, 0, 0, 0, 149, 0, 0, 0, 32, 0, 0, 0, 124, -0, 0, 0, 207, 0, 0, 0, 124, 0, 0, 0, 89, 0, 0, 0, 196, 0, 0, 0, 145, 0, 0, 0, 156, 0, 0, 0, 239, 0, 0, 0, 208, 0, 0, 0, 219, 0, 0, 0, 96, 0, 0, 0, 9, 0, 0, 0, 157, 0, 0, 0, 70, 0, 0, 0, 203, 0, 0, 0, 120, 0, 0, 0, 148, 0, 0, 0, 144, 0, 0, 0, 228, 0, 0, 0, 69, 0, 0, 0, 179, 0, 0, 0, 246, 0, 0, 0, 217, 0, 0, 0, 246, 0, 0, 0, 87, 0, 0, 0, 116, 0, 0, 0, 213, 0, 0, 0, 248, 0, 0, 0, 131, 0, 0, 0, 79, 0, 0, 0, 57, 0, 0, 0, 201, 0, 0, 0, 189, 0, 0, 0, 136, 0, 0, 0, 194, 0, 0, 0, 87, 0, 0, 0, 33, 0, 0, 0, -31, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0, 104, 0, 0, 0, 248, 0, 0, 0, 199, 0, 0, 0, 33, 0, 0, 0, 95, 0, 0, 0, 11, 0, 0, 0, 42, 0, 0, 0, 54, 0, 0, 0, 104, 0, 0, 0, 252, 0, 0, 0, 95, 0, 0, 0, 182, 0, 0, 0, 79, 0, 0, 0, 165, 0, 0, 0, 227, 0, 0, 0, 157, 0, 0, 0, 36, 0, 0, 0, 47, 0, 0, 0, 192, 0, 0, 0, 147, 0, 0, 0, 97, 0, 0, 0, 207, 0, 0, 0, 248, 0, 0, 0, 10, 0, 0, 0, 237, 0, 0, 0, 225, 0, 0, 0, 219, 0, 0, 0, 39, 0, 0, 0, 236, 0, 0, 0, 14, 0, 0, 0, 20, 0, 0, 0, 50, 0, 0, 0, 95, 0, 0, 0, 142, 0, 0, 0, 161, -0, 0, 0, 98, 0, 0, 0, 65, 0, 0, 0, 22, 0, 0, 0, 149, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 206, 0, 0, 0, 149, 0, 0, 0, 91, 0, 0, 0, 14, 0, 0, 0, 87, 0, 0, 0, 199, 0, 0, 0, 185, 0, 0, 0, 98, 0, 0, 0, 181, 0, 0, 0, 40, 0, 0, 0, 202, 0, 0, 0, 17, 0, 0, 0, 236, 0, 0, 0, 180, 0, 0, 0, 70, 0, 0, 0, 6, 0, 0, 0, 115, 0, 0, 0, 38, 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 102, 0, 0, 0, 125, 0, 0, 0, 238, 0, 0, 0, 95, 0, 0, 0, 178, 0, 0, 0, 86, 0, 0, 0, 253, 0, 0, 0, 42, 0, 0, 0, 8, 0, 0, 0, 146, 0, 0, 0, 103, 0, 0, -0, 119, 0, 0, 0, 86, 0, 0, 0, 161, 0, 0, 0, 255, 0, 0, 0, 196, 0, 0, 0, 197, 0, 0, 0, 149, 0, 0, 0, 240, 0, 0, 0, 227, 0, 0, 0, 58, 0, 0, 0, 10, 0, 0, 0, 202, 0, 0, 0, 148, 0, 0, 0, 77, 0, 0, 0, 158, 0, 0, 0, 126, 0, 0, 0, 61, 0, 0, 0, 185, 0, 0, 0, 110, 0, 0, 0, 182, 0, 0, 0, 176, 0, 0, 0, 206, 0, 0, 0, 164, 0, 0, 0, 48, 0, 0, 0, 137, 0, 0, 0, 153, 0, 0, 0, 233, 0, 0, 0, 173, 0, 0, 0, 17, 0, 0, 0, 89, 0, 0, 0, 246, 0, 0, 0, 72, 0, 0, 0, 149, 0, 0, 0, 161, 0, 0, 0, 111, 0, 0, 0, 95, 0, 0, 0, 183, -0, 0, 0, 165, 0, 0, 0, 187, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 210, 0, 0, 0, 138, 0, 0, 0, 214, 0, 0, 0, 37, 0, 0, 0, 38, 0, 0, 0, 27, 0, 0, 0, 178, 0, 0, 0, 13, 0, 0, 0, 55, 0, 0, 0, 106, 0, 0, 0, 5, 0, 0, 0, 244, 0, 0, 0, 157, 0, 0, 0, 62, 0, 0, 0, 23, 0, 0, 0, 42, 0, 0, 0, 67, 0, 0, 0, 210, 0, 0, 0, 58, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 153, 0, 0, 0, 147, 0, 0, 0, 209, 0, 0, 0, 154, 0, 0, 0, 114, 0, 0, 0, 243, 0, 0, 0, 169, 0, 0, 0, 22, 0, 0, 0, 189, 0, 0, 0, 180, 0, 0, 0, 76, 0, 0, 0, 221, 0, 0, 0, 249, 0, 0, 0, 212, 0, 0, 0, 178, 0, 0, 0, 100, 0, 0, 0, 154, 0, 0, 0, 211, 0, 0, 0, 5, 0, 0, 0, 228, 0, 0, 0, 163, 0, 0, 0, 115, 0, 0, 0, 28, 0, 0, 0, 203, 0, 0, 0, 126, 0, 0, 0, 87, 0, 0, 0, 103, 0, 0, 0, 255, 0, 0, -0, 4, 0, 0, 0, 179, 0, 0, 0, 16, 0, 0, 0, 185, 0, 0, 0, 75, 0, 0, 0, 164, 0, 0, 0, 173, 0, 0, 0, 208, 0, 0, 0, 109, 0, 0, 0, 97, 0, 0, 0, 35, 0, 0, 0, 180, 0, 0, 0, 175, 0, 0, 0, 52, 0, 0, 0, 169, 0, 0, 0, 170, 0, 0, 0, 101, 0, 0, 0, 236, 0, 0, 0, 217, 0, 0, 0, 105, 0, 0, 0, 227, 0, 0, 0, 133, 0, 0, 0, 205, 0, 0, 0, 204, 0, 0, 0, 231, 0, 0, 0, 176, 0, 0, 0, 155, 0, 0, 0, 65, 0, 0, 0, 193, 0, 0, 0, 28, 0, 0, 0, 249, 0, 0, 0, 160, 0, 0, 0, 250, 0, 0, 0, 183, 0, 0, 0, 19, 0, 0, 0, 4, 0, 0, 0, 253, 0, -0, 0, 136, 0, 0, 0, 60, 0, 0, 0, 12, 0, 0, 0, 208, 0, 0, 0, 9, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 79, 0, 0, 0, 6, 0, 0, 0, 25, 0, 0, 0, 204, 0, 0, 0, 195, 0, 0, 0, 187, 0, 0, 0, 222, 0, 0, 0, 128, 0, 0, 0, 197, 0, 0, 0, 51, 0, 0, 0, 188, 0, 0, 0, 249, 0, 0, 0, 243, 0, 0, 0, 23, 0, 0, 0, 54, 0, 0, 0, 221, 0, 0, 0, 198, 0, 0, 0, 222, 0, 0, 0, 232, 0, 0, 0, 155, 0, 0, 0, 93, 0, 0, 0, 121, 0, 0, 0, 27, 0, 0, 0, 101, 0, 0, 0, 10, 0, 0, 0, 190, 0, 0, 0, 81, 0, 0, 0, 87, 0, 0, 0, 173, 0, 0, 0, 80, 0, 0, -0, 121, 0, 0, 0, 8, 0, 0, 0, 113, 0, 0, 0, 155, 0, 0, 0, 7, 0, 0, 0, 149, 0, 0, 0, 143, 0, 0, 0, 251, 0, 0, 0, 174, 0, 0, 0, 75, 0, 0, 0, 56, 0, 0, 0, 186, 0, 0, 0, 207, 0, 0, 0, 83, 0, 0, 0, 42, 0, 0, 0, 134, 0, 0, 0, 30, 0, 0, 0, 192, 0, 0, 0, 80, 0, 0, 0, 92, 0, 0, 0, 103, 0, 0, 0, 27, 0, 0, 0, 246, 0, 0, 0, 135, 0, 0, 0, 108, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, 102, 0, 0, 0, 85, 0, 0, 0, 237, 0, 0, 0, 74, 0, 0, 0, 237, 0, 0, 0, 141, 0, 0, 0, 225, 0, 0, 0, 102, 0, 0, 0, 24, 0, 0, 0, -178, 0, 0, 0, 20, 0, 0, 0, 116, 0, 0, 0, 141, 0, 0, 0, 253, 0, 0, 0, 26, 0, 0, 0, 54, 0, 0, 0, 15, 0, 0, 0, 38, 0, 0, 0, 92, 0, 0, 0, 139, 0, 0, 0, 137, 0, 0, 0, 243, 0, 0, 0, 171, 0, 0, 0, 242, 0, 0, 0, 243, 0, 0, 0, 36, 0, 0, 0, 103, 0, 0, 0, 253, 0, 0, 0, 112, 0, 0, 0, 253, 0, 0, 0, 78, 0, 0, 0, 42, 0, 0, 0, 193, 0, 0, 0, 58, 0, 0, 0, 202, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 236, 0, 0, 0, 116, 0, 0, 0, 103, 0, 0, 0, 239, 0, 0, 0, 97, 0, 0, 0, 224, 0, 0, 0, 40, 0, 0, 0, 208, 0, 0, -0, 150, 0, 0, 0, 244, 0, 0, 0, 72, 0, 0, 0, 222, 0, 0, 0, 129, 0, 0, 0, 227, 0, 0, 0, 239, 0, 0, 0, 220, 0, 0, 0, 170, 0, 0, 0, 125, 0, 0, 0, 243, 0, 0, 0, 182, 0, 0, 0, 85, 0, 0, 0, 166, 0, 0, 0, 101, 0, 0, 0, 235, 0, 0, 0, 203, 0, 0, 0, 197, 0, 0, 0, 112, 0, 0, 0, 145, 0, 0, 0, 49, 0, 0, 0, 16, 0, 0, 0, 147, 0, 0, 0, 13, 0, 0, 0, 200, 0, 0, 0, 208, 0, 0, 0, 239, 0, 0, 0, 98, 0, 0, 0, 232, 0, 0, 0, 111, 0, 0, 0, 130, 0, 0, 0, 227, 0, 0, 0, 105, 0, 0, 0, 61, 0, 0, 0, 145, 0, 0, 0, 127, 0, 0, 0, 49, -0, 0, 0, 225, 0, 0, 0, 38, 0, 0, 0, 53, 0, 0, 0, 60, 0, 0, 0, 74, 0, 0, 0, 47, 0, 0, 0, 171, 0, 0, 0, 196, 0, 0, 0, 154, 0, 0, 0, 94, 0, 0, 0, 171, 0, 0, 0, 27, 0, 0, 0, 181, 0, 0, 0, 229, 0, 0, 0, 43, 0, 0, 0, 195, 0, 0, 0, 14, 0, 0, 0, 41, 0, 0, 0, 176, 0, 0, 0, 208, 0, 0, 0, 115, 0, 0, 0, 230, 0, 0, 0, 79, 0, 0, 0, 100, 0, 0, 0, 242, 0, 0, 0, 188, 0, 0, 0, 228, 0, 0, 0, 228, 0, 0, 0, 225, 0, 0, 0, 154, 0, 0, 0, 82, 0, 0, 0, 51, 0, 0, 0, 47, 0, 0, 0, 189, 0, 0, 0, 204, 0, 0, 0, 3, 0, 0, 0, 238, -0, 0, 0, 138, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 219, 0, 0, 0, 13, 0, 0, 0, 34, 0, 0, 0, 61, 0, 0, 0, 181, 0, 0, 0, 20, 0, 0, 0, 117, 0, 0, 0, 49, 0, 0, 0, 240, 0, 0, 0, 129, 0, 0, 0, 226, 0, 0, -0, 185, 0, 0, 0, 55, 0, 0, 0, 162, 0, 0, 0, 169, 0, 0, 0, 132, 0, 0, 0, 17, 0, 0, 0, 154, 0, 0, 0, 7, 0, 0, 0, 181, 0, 0, 0, 83, 0, 0, 0, 137, 0, 0, 0, 120, 0, 0, 0, 169, 0, 0, 0, 48, 0, 0, 0, 39, 0, 0, 0, 161, 0, 0, 0, 241, 0, 0, 0, 78, 0, 0, 0, 92, 0, 0, 0, 46, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 251, 0, 0, 0, 77, 0, 0, 0, 220, 0, 0, 0, 203, 0, 0, 0, 23, 0, 0, 0, 53, 0, 0, 0, 64, 0, 0, 0, 255, 0, 0, 0, 183, 0, 0, 0, 140, 0, 0, 0, 254, 0, 0, 0, 74, 0, 0, 0, 228, 0, 0, 0, 78, 0, 0, 0, -153, 0, 0, 0, 78, 0, 0, 0, 168, 0, 0, 0, 116, 0, 0, 0, 84, 0, 0, 0, 93, 0, 0, 0, 92, 0, 0, 0, 150, 0, 0, 0, 163, 0, 0, 0, 18, 0, 0, 0, 85, 0, 0, 0, 54, 0, 0, 0, 49, 0, 0, 0, 23, 0, 0, 0, 92, 0, 0, 0, 206, 0, 0, 0, 36, 0, 0, 0, 239, 0, 0, 0, 123, 0, 0, 0, 134, 0, 0, 0, 242, 0, 0, 0, 15, 0, 0, 0, 119, 0, 0, 0, 232, 0, 0, 0, 92, 0, 0, 0, 125, 0, 0, 0, 135, 0, 0, 0, 56, 0, 0, 0, 45, 0, 0, 0, 239, 0, 0, 0, 175, 0, 0, 0, 242, 0, 0, 0, 140, 0, 0, 0, 114, 0, 0, 0, 46, 0, 0, 0, 235, 0, 0, 0, 182, 0, 0, 0, -85, 0, 0, 0, 75, 0, 0, 0, 110, 0, 0, 0, 241, 0, 0, 0, 78, 0, 0, 0, 138, 0, 0, 0, 14, 0, 0, 0, 154, 0, 0, 0, 108, 0, 0, 0, 76, 0, 0, 0, 37, 0, 0, 0, 234, 0, 0, 0, 134, 0, 0, 0, 194, 0, 0, 0, 209, 0, 0, 0, 79, 0, 0, 0, 183, 0, 0, 0, 62, 0, 0, 0, 168, 0, 0, 0, 92, 0, 0, 0, 141, 0, 0, 0, 102, 0, 0, 0, 129, 0, 0, 0, 37, 0, 0, 0, 237, 0, 0, 0, 197, 0, 0, 0, 76, 0, 0, 0, 5, 0, 0, 0, 185, 0, 0, 0, 216, 0, 0, 0, 214, 0, 0, 0, 112, 0, 0, 0, 190, 0, 0, 0, 115, 0, 0, 0, 130, 0, 0, 0, 232, 0, 0, 0, 161, 0, 0, -0, 229, 0, 0, 0, 30, 0, 0, 0, 113, 0, 0, 0, 213, 0, 0, 0, 38, 0, 0, 0, 78, 0, 0, 0, 109, 0, 0, 0, 195, 0, 0, 0, 167, 0, 0, 0, 79, 0, 0, 0, 34, 0, 0, 0, 69, 0, 0, 0, 38, 0, 0, 0, 162, 0, 0, 0, 126, 0, 0, 0, 22, 0, 0, 0, 247, 0, 0, 0, 247, 0, 0, 0, 99, 0, 0, 0, 220, 0, 0, 0, 134, 0, 0, 0, 1, 0, 0, 0, 42, 0, 0, 0, 113, 0, 0, 0, 56, 0, 0, 0, 92, 0, 0, 0, 51, 0, 0, 0, 195, 0, 0, 0, 206, 0, 0, 0, 48, 0, 0, 0, 255, 0, 0, 0, 249, 0, 0, 0, 44, 0, 0, 0, 145, 0, 0, 0, 113, 0, 0, 0, 138, 0, 0, 0, 114, 0, 0, -0, 140, 0, 0, 0, 68, 0, 0, 0, 9, 0, 0, 0, 40, 0, 0, 0, 213, 0, 0, 0, 35, 0, 0, 0, 201, 0, 0, 0, 143, 0, 0, 0, 243, 0, 0, 0, 132, 0, 0, 0, 69, 0, 0, 0, 198, 0, 0, 0, 154, 0, 0, 0, 94, 0, 0, 0, 255, 0, 0, 0, 210, 0, 0, 0, 199, 0, 0, 0, 87, 0, 0, 0, 147, 0, 0, 0, 163, 0, 0, 0, 193, 0, 0, 0, 105, 0, 0, 0, 221, 0, 0, 0, 98, 0, 0, 0, 15, 0, 0, 0, 218, 0, 0, 0, 92, 0, 0, 0, 48, 0, 0, 0, 89, 0, 0, 0, 93, 0, 0, 0, 233, 0, 0, 0, 76, 0, 0, 0, 146, 0, 0, 0, 126, 0, 0, 0, 80, 0, 0, 0, 39, 0, 0, 0, 114, 0, 0, -0, 215, 0, 0, 0, 12, 0, 0, 0, 214, 0, 0, 0, 105, 0, 0, 0, 150, 0, 0, 0, 129, 0, 0, 0, 53, 0, 0, 0, 132, 0, 0, 0, 148, 0, 0, 0, 53, 0, 0, 0, 139, 0, 0, 0, 108, 0, 0, 0, 170, 0, 0, 0, 98, 0, 0, 0, 134, 0, 0, 0, 110, 0, 0, 0, 28, 0, 0, 0, 21, 0, 0, 0, 243, 0, 0, 0, 108, 0, 0, 0, 179, 0, 0, 0, 255, 0, 0, 0, 101, 0, 0, 0, 27, 0, 0, 0, 162, 0, 0, 0, 155, 0, 0, 0, 89, 0, 0, 0, 226, 0, 0, 0, 169, 0, 0, 0, 101, 0, 0, 0, 136, 0, 0, 0, 196, 0, 0, 0, 80, 0, 0, 0, 250, 0, 0, 0, 187, 0, 0, 0, 59, 0, 0, 0, 110, -0, 0, 0, 95, 0, 0, 0, 68, 0, 0, 0, 1, 0, 0, 0, 202, 0, 0, 0, 151, 0, 0, 0, 212, 0, 0, 0, 221, 0, 0, 0, 246, 0, 0, 0, 205, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 229, 0, 0, 0, 151, 0, 0, 0, 103, 0, 0, 0, 43, 0, 0, 0, 140, 0, 0, 0, 102, 0, 0, 0, 15, 0, 0, 0, 53, 0, 0, 0, 155, 0, 0, 0, 245, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, 89, 0, 0, 0, 39, 0, 0, 0, 216, 0, 0, 0, 219, 0, 0, 0, 90, 0, 0, 0, 17, 0, 0, 0, 94, 0, 0, 0, 130, 0, 0, 0, 243, 0, 0, 0, 56, 0, 0, 0, 255, 0, 0, 0, 28, 0, 0, 0, 237, 0, 0, 0, 254, 0, 0, 0, 63, 0, 0, 0, 100, 0, 0, 0, 84, 0, 0, 0, 63, 0, 0, 0, 127, 0, 0, 0, 209, 0, 0, 0, 129, 0, 0, 0, 237, 0, 0, 0, 239, 0, 0, 0, 101, 0, 0, 0, 197, 0, 0, 0, 203, 0, 0, 0, 253, 0, 0, 0, 225, 0, 0, 0, 128, 0, 0, 0, 205, 0, 0, 0, 17, 0, -0, 0, 224, 0, 0, 0, 219, 0, 0, 0, 34, 0, 0, 0, 40, 0, 0, 0, 230, 0, 0, 0, 255, 0, 0, 0, 97, 0, 0, 0, 157, 0, 0, 0, 65, 0, 0, 0, 20, 0, 0, 0, 45, 0, 0, 0, 59, 0, 0, 0, 38, 0, 0, 0, 34, 0, 0, 0, 223, 0, 0, 0, 241, 0, 0, 0, 52, 0, 0, 0, 129, 0, 0, 0, 233, 0, 0, 0, 69, 0, 0, 0, 238, 0, 0, 0, 15, 0, 0, 0, 152, 0, 0, 0, 139, 0, 0, 0, 166, 0, 0, 0, 63, 0, 0, 0, 239, 0, 0, 0, 247, 0, 0, 0, 67, 0, 0, 0, 25, 0, 0, 0, 241, 0, 0, 0, 67, 0, 0, 0, 238, 0, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 0, 80, 0, 0, -0, 222, 0, 0, 0, 192, 0, 0, 0, 182, 0, 0, 0, 1, 0, 0, 0, 227, 0, 0, 0, 140, 0, 0, 0, 60, 0, 0, 0, 77, 0, 0, 0, 49, 0, 0, 0, 210, 0, 0, 0, 176, 0, 0, 0, 88, 0, 0, 0, 205, 0, 0, 0, 237, 0, 0, 0, 16, 0, 0, 0, 74, 0, 0, 0, 122, 0, 0, 0, 239, 0, 0, 0, 128, 0, 0, 0, 169, 0, 0, 0, 25, 0, 0, 0, 50, 0, 0, 0, 243, 0, 0, 0, 216, 0, 0, 0, 51, 0, 0, 0, 140, 0, 0, 0, 6, 0, 0, 0, 203, 0, 0, 0, 125, 0, 0, 0, 79, 0, 0, 0, 255, 0, 0, 0, 48, 0, 0, 0, 216, 0, 0, 0, 18, 0, 0, 0, 59, 0, 0, 0, 57, 0, 0, 0, 28, 0, 0, 0, -6, 0, 0, 0, 249, 0, 0, 0, 76, 0, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 113, 0, 0, 0, 181, 0, 0, 0, 22, 0, 0, 0, 148, 0, 0, 0, 103, 0, 0, 0, 223, 0, 0, 0, 238, 0, 0, 0, 17, 0, 0, 0, 222, 0, 0, 0, 164, 0, 0, 0, 29, 0, 0, 0, 136, 0, 0, 0, 147, 0, 0, 0, 53, 0, 0, 0, 169, 0, 0, 0, 50, 0, 0, 0, 16, 0, 0, 0, 233, 0, 0, 0, 195, 0, 0, 0, 188, 0, 0, 0, 123, 0, 0, 0, 92, 0, 0, 0, 252, 0, 0, 0, 178, 0, 0, 0, 249, 0, 0, 0, 201, 0, 0, 0, 47, 0, 0, 0, 229, 0, 0, 0, 186, 0, 0, 0, 58, 0, 0, 0, 11, 0, 0, 0, 171, 0, 0, 0, -100, 0, 0, 0, 56, 0, 0, 0, 111, 0, 0, 0, 91, 0, 0, 0, 75, 0, 0, 0, 147, 0, 0, 0, 218, 0, 0, 0, 100, 0, 0, 0, 236, 0, 0, 0, 77, 0, 0, 0, 61, 0, 0, 0, 160, 0, 0, 0, 245, 0, 0, 0, 187, 0, 0, 0, 186, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 96, 0, 0, 0, 188, 0, 0, 0, 69, 0, 0, 0, 31, 0, 0, 0, 35, 0, 0, 0, 162, 0, 0, 0, 59, 0, 0, 0, 112, 0, 0, 0, 118, 0, 0, 0, 230, 0, 0, 0, 151, 0, 0, 0, 153, 0, 0, 0, 79, 0, 0, 0, 119, 0, 0, 0, 84, 0, 0, 0, 103, 0, 0, 0, 48, 0, 0, 0, 154, 0, 0, 0, 231, 0, 0, 0, 102, 0, 0, 0, -214, 0, 0, 0, 205, 0, 0, 0, 46, 0, 0, 0, 81, 0, 0, 0, 36, 0, 0, 0, 44, 0, 0, 0, 66, 0, 0, 0, 74, 0, 0, 0, 17, 0, 0, 0, 254, 0, 0, 0, 111, 0, 0, 0, 126, 0, 0, 0, 135, 0, 0, 0, 192, 0, 0, 0, 177, 0, 0, 0, 240, 0, 0, 0, 163, 0, 0, 0, 111, 0, 0, 0, 12, 0, 0, 0, 147, 0, 0, 0, 169, 0, 0, 0, 10, 0, 0, 0, 114, 0, 0, 0, 239, 0, 0, 0, 92, 0, 0, 0, 190, 0, 0, 0, 101, 0, 0, 0, 53, 0, 0, 0, 167, 0, 0, 0, 106, 0, 0, 0, 78, 0, 0, 0, 44, 0, 0, 0, 191, 0, 0, 0, 33, 0, 0, 0, 35, 0, 0, 0, 232, 0, 0, 0, 47, 0, 0, 0, -151, 0, 0, 0, 199, 0, 0, 0, 62, 0, 0, 0, 200, 0, 0, 0, 23, 0, 0, 0, 172, 0, 0, 0, 30, 0, 0, 0, 123, 0, 0, 0, 239, 0, 0, 0, 33, 0, 0, 0, 229, 0, 0, 0, 64, 0, 0, 0, 204, 0, 0, 0, 30, 0, 0, 0, 220, 0, 0, 0, 214, 0, 0, 0, 189, 0, 0, 0, 151, 0, 0, 0, 122, 0, 0, 0, 124, 0, 0, 0, 117, 0, 0, 0, 134, 0, 0, 0, 122, 0, 0, 0, 37, 0, 0, 0, 90, 0, 0, 0, 110, 0, 0, 0, 124, 0, 0, 0, 229, 0, 0, 0, 81, 0, 0, 0, 60, 0, 0, 0, 27, 0, 0, 0, 91, 0, 0, 0, 130, 0, 0, 0, 154, 0, 0, 0, 7, 0, 0, 0, 96, 0, 0, 0, 161, 0, 0, 0, -25, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 136, 0, 0, 0, 166, 0, 0, 0, 171, 0, 0, 0, 143, 0, 0, 0, 227, 0, 0, 0, 58, 0, 0, 0, 73, 0, 0, 0, 248, 0, 0, 0, 254, 0, 0, 0, 52, 0, 0, 0, 231, 0, 0, 0, 106, 0, 0, 0, 178, 0, 0, 0, 254, 0, 0, 0, 64, -0, 0, 0, 38, 0, 0, 0, 116, 0, 0, 0, 87, 0, 0, 0, 76, 0, 0, 0, 246, 0, 0, 0, 212, 0, 0, 0, 153, 0, 0, 0, 206, 0, 0, 0, 93, 0, 0, 0, 123, 0, 0, 0, 47, 0, 0, 0, 103, 0, 0, 0, 214, 0, 0, 0, 90, 0, 0, 0, 228, 0, 0, 0, 78, 0, 0, 0, 92, 0, 0, 0, 130, 0, 0, 0, 179, 0, 0, 0, 189, 0, 0, 0, 85, 0, 0, 0, 37, 0, 0, 0, 246, 0, 0, 0, 106, 0, 0, 0, 147, 0, 0, 0, 164, 0, 0, 0, 2, 0, 0, 0, 198, 0, 0, 0, 125, 0, 0, 0, 92, 0, 0, 0, 177, 0, 0, 0, 43, 0, 0, 0, 91, 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 86, 0, 0, 0, 248, -0, 0, 0, 1, 0, 0, 0, 65, 0, 0, 0, 144, 0, 0, 0, 198, 0, 0, 0, 182, 0, 0, 0, 172, 0, 0, 0, 79, 0, 0, 0, 254, 0, 0, 0, 167, 0, 0, 0, 65, 0, 0, 0, 112, 0, 0, 0, 219, 0, 0, 0, 250, 0, 0, 0, 155, 0, 0, 0, 44, 0, 0, 0, 212, 0, 0, 0, 35, 0, 0, 0, 103, 0, 0, 0, 44, 0, 0, 0, 138, 0, 0, 0, 99, 0, 0, 0, 108, 0, 0, 0, 7, 0, 0, 0, 38, 0, 0, 0, 72, 0, 0, 0, 79, 0, 0, 0, 194, 0, 0, 0, 3, 0, 0, 0, 210, 0, 0, 0, 83, 0, 0, 0, 32, 0, 0, 0, 40, 0, 0, 0, 237, 0, 0, 0, 101, 0, 0, 0, 113, 0, 0, 0, 71, 0, 0, 0, 169, 0, -0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 18, 0, 0, 0, 188, 0, 0, 0, 40, 0, 0, 0, 51, 0, 0, 0, 57, 0, 0, 0, 192, 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 205, 0, 0, 0, 51, 0, 0, 0, 67, 0, 0, 0, 199, 0, 0, 0, 151, 0, 0, 0, 118, 0, 0, 0, 155, 0, 0, 0, 147, 0, 0, 0, 145, 0, 0, 0, 114, 0, 0, 0, 235, 0, 0, 0, 197, 0, 0, 0, 24, 0, 0, 0, 103, 0, 0, 0, 76, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 244, 0, 0, 0, 229, 0, 0, 0, 115, 0, 0, 0, 178, 0, 0, 0, 92, 0, 0, 0, 27, 0, 0, 0, 194, 0, 0, 0, 38, 0, 0, 0, 63, 0, 0, 0, 191, 0, -0, 0, 43, 0, 0, 0, 134, 0, 0, 0, 230, 0, 0, 0, 140, 0, 0, 0, 29, 0, 0, 0, 223, 0, 0, 0, 202, 0, 0, 0, 252, 0, 0, 0, 213, 0, 0, 0, 248, 0, 0, 0, 58, 0, 0, 0, 195, 0, 0, 0, 68, 0, 0, 0, 114, 0, 0, 0, 230, 0, 0, 0, 120, 0, 0, 0, 157, 0, 0, 0, 43, 0, 0, 0, 151, 0, 0, 0, 248, 0, 0, 0, 40, 0, 0, 0, 69, 0, 0, 0, 180, 0, 0, 0, 32, 0, 0, 0, 201, 0, 0, 0, 42, 0, 0, 0, 140, 0, 0, 0, 103, 0, 0, 0, 170, 0, 0, 0, 17, 0, 0, 0, 197, 0, 0, 0, 91, 0, 0, 0, 47, 0, 0, 0, 23, 0, 0, 0, 15, 0, 0, 0, 134, 0, 0, 0, 82, 0, -0, 0, 215, 0, 0, 0, 157, 0, 0, 0, 195, 0, 0, 0, 68, 0, 0, 0, 81, 0, 0, 0, 118, 0, 0, 0, 50, 0, 0, 0, 101, 0, 0, 0, 180, 0, 0, 0, 55, 0, 0, 0, 129, 0, 0, 0, 153, 0, 0, 0, 70, 0, 0, 0, 55, 0, 0, 0, 98, 0, 0, 0, 237, 0, 0, 0, 207, 0, 0, 0, 100, 0, 0, 0, 157, 0, 0, 0, 114, 0, 0, 0, 64, 0, 0, 0, 122, 0, 0, 0, 76, 0, 0, 0, 11, 0, 0, 0, 118, 0, 0, 0, 42, 0, 0, 0, 251, 0, 0, 0, 86, 0, 0, 0, 51, 0, 0, 0, 167, 0, 0, 0, 144, 0, 0, 0, 124, 0, 0, 0, 195, 0, 0, 0, 111, 0, 0, 0, 23, 0, 0, 0, 165, 0, 0, 0, 160, -0, 0, 0, 103, 0, 0, 0, 114, 0, 0, 0, 23, 0, 0, 0, 234, 0, 0, 0, 126, 0, 0, 0, 99, 0, 0, 0, 20, 0, 0, 0, 131, 0, 0, 0, 222, 0, 0, 0, 193, 0, 0, 0, 113, 0, 0, 0, 45, 0, 0, 0, 65, 0, 0, 0, 50, 0, 0, 0, 122, 0, 0, 0, 243, 0, 0, 0, 209, 0, 0, 0, 43, 0, 0, 0, 216, 0, 0, 0, 42, 0, 0, 0, 166, 0, 0, 0, 70, 0, 0, 0, 54, 0, 0, 0, 172, 0, 0, 0, 204, 0, 0, 0, 107, 0, 0, 0, 124, 0, 0, 0, 249, 0, 0, 0, 184, 0, 0, 0, 139, 0, 0, 0, 8, 0, 0, 0, 92, 0, 0, 0, 208, 0, 0, 0, 125, 0, 0, 0, 143, 0, 0, 0, 115, 0, 0, 0, 234, -0, 0, 0, 32, 0, 0, 0, 218, 0, 0, 0, 134, 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 199, 0, 0, 0, 173, 0, 0, 0, 115, 0, 0, 0, 77, 0, 0, 0, 233, 0, 0, 0, 232, 0, 0, 0, 169, 0, 0, 0, 218, 0, 0, 0, 31, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 221, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 156, 0, 0, 0, 178, 0, 0, 0, 97, 0, 0, 0, 10, 0, 0, 0, 152, 0, 0, 0, 42, 0, 0, 0, 165, 0, 0, 0, 215, 0, 0, 0, 238, 0, 0, 0, 169, 0, 0, 0, 172, 0, 0, 0, 101, 0, 0, 0, 203, 0, 0, 0, 10, 0, 0, 0, 30, 0, 0, 0, 226, 0, 0, 0, 190, 0, 0, 0, 220, 0, 0, 0, 133, 0, 0, 0, 89, 0, 0, 0, 15, 0, 0, 0, 156, 0, 0, 0, 166, 0, 0, 0, 87, 0, 0, 0, 52, 0, 0, 0, 165, 0, 0, 0, 135, 0, 0, 0, 235, 0, 0, 0, 123, 0, 0, 0, 30, 0, 0, 0, 12, 0, 0, 0, 60, 0, 0, 0, 47, 0, 0, 0, 189, 0, 0, 0, 132, 0, 0, 0, 99, 0, 0, -0, 13, 0, 0, 0, 181, 0, 0, 0, 160, 0, 0, 0, 240, 0, 0, 0, 75, 0, 0, 0, 158, 0, 0, 0, 147, 0, 0, 0, 198, 0, 0, 0, 52, 0, 0, 0, 154, 0, 0, 0, 52, 0, 0, 0, 255, 0, 0, 0, 115, 0, 0, 0, 25, 0, 0, 0, 47, 0, 0, 0, 110, 0, 0, 0, 84, 0, 0, 0, 69, 0, 0, 0, 44, 0, 0, 0, 146, 0, 0, 0, 49, 0, 0, 0, 118, 0, 0, 0, 52, 0, 0, 0, 241, 0, 0, 0, 178, 0, 0, 0, 38, 0, 0, 0, 232, 0, 0, 0, 116, 0, 0, 0, 10, 0, 0, 0, 103, 0, 0, 0, 144, 0, 0, 0, 109, 0, 0, 0, 12, 0, 0, 0, 76, 0, 0, 0, 204, 0, 0, 0, 192, 0, 0, 0, 230, 0, 0, -0, 189, 0, 0, 0, 167, 0, 0, 0, 94, 0, 0, 0, 85, 0, 0, 0, 140, 0, 0, 0, 205, 0, 0, 0, 88, 0, 0, 0, 155, 0, 0, 0, 17, 0, 0, 0, 162, 0, 0, 0, 187, 0, 0, 0]).concat([75, 0, 0, 0, 177, 0, 0, 0, 67, 0, 0, 0, 4, 0, 0, 0, 60, 0, 0, 0, 85, 0, 0, 0, 237, 0, 0, 0, 35, 0, 0, 0, 254, 0, 0, 0, 205, 0, 0, 0, 177, 0, 0, 0, 83, 0, 0, 0, 5, 0, 0, 0, 251, 0, 0, 0, 117, 0, 0, 0, 245, 0, 0, 0, 1, 0, 0, 0, 175, 0, 0, 0, 56, 0, 0, 0, 114, 0, 0, 0, 88, 0, 0, 0, 252, 0, 0, 0, 4, 0, 0, 0, 41, 0, 0, 0, 52, 0, 0, 0, 122, 0, -0, 0, 103, 0, 0, 0, 162, 0, 0, 0, 8, 0, 0, 0, 80, 0, 0, 0, 110, 0, 0, 0, 208, 0, 0, 0, 43, 0, 0, 0, 115, 0, 0, 0, 213, 0, 0, 0, 184, 0, 0, 0, 228, 0, 0, 0, 48, 0, 0, 0, 150, 0, 0, 0, 173, 0, 0, 0, 69, 0, 0, 0, 223, 0, 0, 0, 166, 0, 0, 0, 92, 0, 0, 0, 13, 0, 0, 0, 136, 0, 0, 0, 26, 0, 0, 0, 144, 0, 0, 0, 126, 0, 0, 0, 220, 0, 0, 0, 216, 0, 0, 0, 254, 0, 0, 0, 193, 0, 0, 0, 47, 0, 0, 0, 93, 0, 0, 0, 103, 0, 0, 0, 238, 0, 0, 0, 103, 0, 0, 0, 47, 0, 0, 0, 237, 0, 0, 0, 111, 0, 0, 0, 85, 0, 0, 0, 67, -0, 0, 0, 95, 0, 0, 0, 135, 0, 0, 0, 20, 0, 0, 0, 53, 0, 0, 0, 66, 0, 0, 0, 211, 0, 0, 0, 117, 0, 0, 0, 174, 0, 0, 0, 213, 0, 0, 0, 211, 0, 0, 0, 133, 0, 0, 0, 26, 0, 0, 0, 118, 0, 0, 0, 135, 0, 0, 0, 200, 0, 0, 0, 160, 0, 0, 0, 110, 0, 0, 0, 225, 0, 0, 0, 176, 0, 0, 0, 173, 0, 0, 0, 106, 0, 0, 0, 74, 0, 0, 0, 52, 0, 0, 0, 113, 0, 0, 0, 237, 0, 0, 0, 124, 0, 0, 0, 214, 0, 0, 0, 68, 0, 0, 0, 3, 0, 0, 0, 101, 0, 0, 0, 74, 0, 0, 0, 92, 0, 0, 0, 92, 0, 0, 0, 4, 0, 0, 0, 245, 0, 0, 0, 36, 0, 0, 0, 63, -0, 0, 0, 176, 0, 0, 0, 22, 0, 0, 0, 94, 0, 0, 0, 140, 0, 0, 0, 178, 0, 0, 0, 210, 0, 0, 0, 197, 0, 0, 0, 32, 0, 0, 0, 152, 0, 0, 0, 131, 0, 0, 0, 194, 0, 0, 0, 55, 0, 0, 0, 160, 0, 0, 0, 65, 0, 0, 0, 168, 0, 0, 0, 72, 0, 0, 0, 92, 0, 0, 0, 95, 0, 0, 0, 191, 0, 0, 0, 200, 0, 0, 0, 250, 0, 0, 0, 36, 0, 0, 0, 224, 0, 0, 0, 89, 0, 0, 0, 44, 0, 0, 0, 189, 0, 0, 0, 246, 0, 0, 0, 129, 0, 0, 0, 126, 0, 0, 0, 136, 0, 0, 0, 230, 0, 0, 0, 202, 0, 0, 0, 4, 0, 0, 0, 216, 0, 0, 0, 93, 0, 0, 0, 96, 0, 0, 0, 187, -0, 0, 0, 116, 0, 0, 0, 167, 0, 0, 0, 11, 0, 0, 0, 33, 0, 0, 0, 19, 0, 0, 0, 145, 0, 0, 0, 191, 0, 0, 0, 119, 0, 0, 0, 122, 0, 0, 0, 51, 0, 0, 0, 188, 0, 0, 0, 233, 0, 0, 0, 7, 0, 0, 0, 57, 0, 0, 0, 10, 0, 0, 0, 221, 0, 0, 0, 125, 0, 0, 0, 6, 0, 0, 0, 16, 0, 0, 0, 154, 0, 0, 0, 238, 0, 0, 0, 71, 0, 0, 0, 115, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 90, 0, 0, 0, 251, 0, 0, 0, 205, 0, 0, 0, 77, 0, 0, 0, 208, 0, 0, 0, 210, 0, 0, 0, 58, 0, 0, 0, 1, 0, 0, 0, 186, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 213, 0, 0, 0, 57, 0, 0, 0, 74, 0, 0, 0, 11, 0, 0, 0, 32, 0, 0, 0, 106, 0, 0, 0, 67, 0, 0, 0, 160, 0, 0, 0, 7, 0, 0, 0, 130, 0, 0, 0, 94, 0, 0, 0, 73, 0, 0, 0, 124, 0, 0, 0, 201, 0, 0, 0, 71, 0, 0, 0, 241, 0, 0, 0, 124, 0, 0, 0, 55, 0, 0, 0, 185, -0, 0, 0, 35, 0, 0, 0, 239, 0, 0, 0, 107, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 140, 0, 0, 0, 69, 0, 0, 0, 118, 0, 0, 0, 223, 0, 0, 0, 20, 0, 0, 0, 107, 0, 0, 0, 110, 0, 0, 0, 66, 0, 0, 0, 201, 0, 0, 0, 202, 0, 0, 0, 41, 0, 0, 0, 76, 0, 0, 0, 118, 0, 0, 0, 55, 0, 0, 0, 218, 0, 0, 0, 138, 0, 0, 0, 45, 0, 0, 0, 124, 0, 0, 0, 58, 0, 0, 0, 88, 0, 0, 0, 242, 0, 0, 0, 3, 0, 0, 0, 180, 0, 0, 0, 181, 0, 0, 0, 185, 0, 0, 0, 26, 0, 0, 0, 19, 0, 0, 0, 45, 0, 0, 0, 222, 0, 0, 0, 95, 0, 0, 0, 107, 0, 0, 0, 157, 0, -0, 0, 186, 0, 0, 0, 82, 0, 0, 0, 201, 0, 0, 0, 93, 0, 0, 0, 179, 0, 0, 0, 243, 0, 0, 0, 48, 0, 0, 0, 76, 0, 0, 0, 111, 0, 0, 0, 254, 0, 0, 0, 107, 0, 0, 0, 12, 0, 0, 0, 98, 0, 0, 0, 215, 0, 0, 0, 72, 0, 0, 0, 113, 0, 0, 0, 239, 0, 0, 0, 177, 0, 0, 0, 133, 0, 0, 0, 121, 0, 0, 0, 192, 0, 0, 0, 237, 0, 0, 0, 36, 0, 0, 0, 177, 0, 0, 0, 8, 0, 0, 0, 147, 0, 0, 0, 118, 0, 0, 0, 142, 0, 0, 0, 247, 0, 0, 0, 56, 0, 0, 0, 142, 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 128, 0, 0, 0, 64, 0, 0, 0, 175, 0, 0, 0, 144, -0, 0, 0, 100, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 136, 0, 0, 0, 218, 0, 0, 0, 193, 0, 0, 0, 152, 0, 0, 0, 68, 0, 0, 0, 60, 0, 0, 0, 83, 0, 0, 0, 78, 0, 0, 0, 219, 0, 0, 0, 75, 0, 0, 0, 185, 0, 0, 0, 18, 0, 0, 0, 95, 0, 0, 0, 205, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 239, 0, 0, 0, 117, 0, 0, 0, 231, 0, 0, 0, 177, 0, 0, 0, 58, 0, 0, 0, 229, 0, 0, 0, 7, 0, 0, 0, 250, 0, 0, 0, 202, 0, 0, 0, 101, 0, 0, 0, 123, 0, 0, 0, 114, 0, 0, 0, 16, 0, 0, 0, 100, 0, 0, 0, 127, 0, 0, 0, 61, 0, 0, 0, 129, 0, 0, 0, 240, 0, -0, 0, 235, 0, 0, 0, 22, 0, 0, 0, 253, 0, 0, 0, 88, 0, 0, 0, 51, 0, 0, 0, 141, 0, 0, 0, 124, 0, 0, 0, 26, 0, 0, 0, 251, 0, 0, 0, 32, 0, 0, 0, 44, 0, 0, 0, 138, 0, 0, 0, 238, 0, 0, 0, 144, 0, 0, 0, 187, 0, 0, 0, 51, 0, 0, 0, 109, 0, 0, 0, 69, 0, 0, 0, 233, 0, 0, 0, 142, 0, 0, 0, 153, 0, 0, 0, 133, 0, 0, 0, 225, 0, 0, 0, 8, 0, 0, 0, 31, 0, 0, 0, 197, 0, 0, 0, 241, 0, 0, 0, 181, 0, 0, 0, 70, 0, 0, 0, 228, 0, 0, 0, 231, 0, 0, 0, 67, 0, 0, 0, 75, 0, 0, 0, 160, 0, 0, 0, 63, 0, 0, 0, 43, 0, 0, 0, 6, 0, 0, -0, 186, 0, 0, 0, 23, 0, 0, 0, 174, 0, 0, 0, 61, 0, 0, 0, 230, 0, 0, 0, 206, 0, 0, 0, 189, 0, 0, 0, 184, 0, 0, 0, 237, 0, 0, 0, 116, 0, 0, 0, 17, 0, 0, 0, 53, 0, 0, 0, 236, 0, 0, 0, 150, 0, 0, 0, 254, 0, 0, 0, 49, 0, 0, 0, 227, 0, 0, 0, 14, 0, 0, 0, 122, 0, 0, 0, 78, 0, 0, 0, 201, 0, 0, 0, 29, 0, 0, 0, 203, 0, 0, 0, 32, 0, 0, 0, 224, 0, 0, 0, 103, 0, 0, 0, 233, 0, 0, 0, 123, 0, 0, 0, 219, 0, 0, 0, 150, 0, 0, 0, 92, 0, 0, 0, 176, 0, 0, 0, 50, 0, 0, 0, 208, 0, 0, 0, 89, 0, 0, 0, 49, 0, 0, 0, 144, 0, -0, 0, 220, 0, 0, 0, 146, 0, 0, 0, 151, 0, 0, 0, 172, 0, 0, 0, 9, 0, 0, 0, 56, 0, 0, 0, 49, 0, 0, 0, 15, 0, 0, 0, 126, 0, 0, 0, 214, 0, 0, 0, 93, 0, 0, 0, 208, 0, 0, 0, 6, 0, 0, 0, 182, 0, 0, 0, 31, 0, 0, 0, 234, 0, 0, 0, 240, 0, 0, 0, 91, 0, 0, 0, 7, 0, 0, 0, 129, 0, 0, 0, 159, 0, 0, 0, 199, 0, 0, 0, 222, 0, 0, 0, 107, 0, 0, 0, 65, 0, 0, 0, 34, 0, 0, 0, 53, 0, 0, 0, 20, 0, 0, 0, 103, 0, 0, 0, 119, 0, 0, 0, 62, 0, 0, 0, 144, 0, 0, 0, 129, 0, 0, 0, 176, 0, 0, 0, 217, 0, 0, 0, 133, 0, 0, 0, 76, 0, 0, -0, 202, 0, 0, 0, 155, 0, 0, 0, 63, 0, 0, 0, 4, 0, 0, 0, 89, 0, 0, 0, 214, 0, 0, 0, 170, 0, 0, 0, 23, 0, 0, 0, 195, 0, 0, 0, 136, 0, 0, 0, 52, 0, 0, 0, 55, 0, 0, 0, 186, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 182, 0, 0, 0, 105, 0, 0, 0, 200, -0, 0, 0, 129, 0, 0, 0, 149, 0, 0, 0, 148, 0, 0, 0, 51, 0, 0, 0, 146, 0, 0, 0, 52, 0, 0, 0, 233, 0, 0, 0, 60, 0, 0, 0, 132, 0, 0, 0, 13, 0, 0, 0, 61, 0, 0, 0, 90, 0, 0, 0, 55, 0, 0, 0, 156, 0, 0, 0, 34, 0, 0, 0, 160, 0, 0, 0, 170, 0, 0, 0, 101, 0, 0, 0, 206, 0, 0, 0, 180, 0, 0, 0, 194, 0, 0, 0, 45, 0, 0, 0, 102, 0, 0, 0, 103, 0, 0, 0, 2, 0, 0, 0, 255, 0, 0, 0, 116, 0, 0, 0, 16, 0, 0, 0, 34, 0, 0, 0, 176, 0, 0, 0, 213, 0, 0, 0, 230, 0, 0, 0, 199, 0, 0, 0, 239, 0, 0, 0, 177, 0, 0, 0, 167, 0, 0, 0, 19, -0, 0, 0, 218, 0, 0, 0, 96, 0, 0, 0, 180, 0, 0, 0, 128, 0, 0, 0, 193, 0, 0, 0, 66, 0, 0, 0, 125, 0, 0, 0, 16, 0, 0, 0, 112, 0, 0, 0, 151, 0, 0, 0, 4, 0, 0, 0, 77, 0, 0, 0, 218, 0, 0, 0, 35, 0, 0, 0, 137, 0, 0, 0, 194, 0, 0, 0, 14, 0, 0, 0, 104, 0, 0, 0, 203, 0, 0, 0, 222, 0, 0, 0, 224, 0, 0, 0, 155, 0, 0, 0, 41, 0, 0, 0, 51, 0, 0, 0, 254, 0, 0, 0, 66, 0, 0, 0, 42, 0, 0, 0, 54, 0, 0, 0, 43, 0, 0, 0, 46, 0, 0, 0, 54, 0, 0, 0, 100, 0, 0, 0, 92, 0, 0, 0, 139, 0, 0, 0, 204, 0, 0, 0, 129, 0, 0, 0, 106, -0, 0, 0, 21, 0, 0, 0, 8, 0, 0, 0, 161, 0, 0, 0, 39, 0, 0, 0, 232, 0, 0, 0, 87, 0, 0, 0, 229, 0, 0, 0, 120, 0, 0, 0, 142, 0, 0, 0, 242, 0, 0, 0, 88, 0, 0, 0, 25, 0, 0, 0, 18, 0, 0, 0, 66, 0, 0, 0, 174, 0, 0, 0, 196, 0, 0, 0, 99, 0, 0, 0, 62, 0, 0, 0, 120, 0, 0, 0, 150, 0, 0, 0, 156, 0, 0, 0, 167, 0, 0, 0, 202, 0, 0, 0, 128, 0, 0, 0, 174, 0, 0, 0, 2, 0, 0, 0, 133, 0, 0, 0, 177, 0, 0, 0, 124, 0, 0, 0, 4, 0, 0, 0, 92, 0, 0, 0, 193, 0, 0, 0, 91, 0, 0, 0, 38, 0, 0, 0, 193, 0, 0, 0, 186, 0, 0, 0, 237, 0, -0, 0, 165, 0, 0, 0, 89, 0, 0, 0, 112, 0, 0, 0, 133, 0, 0, 0, 140, 0, 0, 0, 140, 0, 0, 0, 232, 0, 0, 0, 135, 0, 0, 0, 172, 0, 0, 0, 106, 0, 0, 0, 40, 0, 0, 0, 153, 0, 0, 0, 53, 0, 0, 0, 159, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 40, 0, 0, 0, 190, 0, 0, 0, 135, 0, 0, 0, 218, 0, 0, 0, 128, 0, 0, 0, 40, 0, 0, 0, 56, 0, 0, 0, 222, 0, 0, 0, 159, 0, 0, 0, 205, 0, 0, 0, 228, 0, 0, 0, 227, 0, 0, 0, 98, 0, 0, 0, 251, 0, 0, 0, 46, 0, 0, 0, 70, 0, 0, 0, 141, 0, 0, 0, 1, 0, 0, 0, 179, 0, 0, 0, 6, 0, 0, 0, 81, 0, 0, -0, 212, 0, 0, 0, 25, 0, 0, 0, 59, 0, 0, 0, 17, 0, 0, 0, 250, 0, 0, 0, 226, 0, 0, 0, 173, 0, 0, 0, 30, 0, 0, 0, 160, 0, 0, 0, 32, 0, 0, 0, 153, 0, 0, 0, 105, 0, 0, 0, 10, 0, 0, 0, 174, 0, 0, 0, 163, 0, 0, 0, 112, 0, 0, 0, 78, 0, 0, 0, 100, 0, 0, 0, 128, 0, 0, 0, 183, 0, 0, 0, 133, 0, 0, 0, 156, 0, 0, 0, 135, 0, 0, 0, 84, 0, 0, 0, 67, 0, 0, 0, 67, 0, 0, 0, 85, 0, 0, 0, 128, 0, 0, 0, 109, 0, 0, 0, 141, 0, 0, 0, 124, 0, 0, 0, 169, 0, 0, 0, 100, 0, 0, 0, 202, 0, 0, 0, 108, 0, 0, 0, 46, 0, 0, 0, 33, 0, -0, 0, 216, 0, 0, 0, 200, 0, 0, 0, 108, 0, 0, 0, 145, 0, 0, 0, 74, 0, 0, 0, 7, 0, 0, 0, 173, 0, 0, 0, 8, 0, 0, 0, 117, 0, 0, 0, 193, 0, 0, 0, 79, 0, 0, 0, 164, 0, 0, 0, 178, 0, 0, 0, 195, 0, 0, 0, 111, 0, 0, 0, 70, 0, 0, 0, 62, 0, 0, 0, 177, 0, 0, 0, 206, 0, 0, 0, 82, 0, 0, 0, 171, 0, 0, 0, 103, 0, 0, 0, 9, 0, 0, 0, 84, 0, 0, 0, 72, 0, 0, 0, 107, 0, 0, 0, 108, 0, 0, 0, 215, 0, 0, 0, 29, 0, 0, 0, 113, 0, 0, 0, 118, 0, 0, 0, 203, 0, 0, 0, 255, 0, 0, 0, 221, 0, 0, 0, 49, 0, 0, 0, 54, 0, 0, 0, 136, 0, -0, 0, 250, 0, 0, 0, 253, 0, 0, 0, 240, 0, 0, 0, 54, 0, 0, 0, 111, 0, 0, 0, 7, 0, 0, 0, 116, 0, 0, 0, 136, 0, 0, 0, 80, 0, 0, 0, 208, 0, 0, 0, 149, 0, 0, 0, 56, 0, 0, 0, 74, 0, 0, 0, 72, 0, 0, 0, 46, 0, 0, 0, 7, 0, 0, 0, 100, 0, 0, 0, 151, 0, 0, 0, 17, 0, 0, 0, 118, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 39, 0, 0, 0, 77, 0, 0, 0, 142, 0, 0, 0, 37, 0, 0, 0, 154, 0, 0, 0, 155, 0, 0, 0, 28, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, 87, 0, 0, 0, 189, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 172, 0, 0, 0, 94, 0, 0, 0, 118, 0, 0, 0, 163, 0, 0, 0, 113, 0, 0, 0, 173, 0, 0, 0, 43, 0, 0, 0, 16, 0, 0, 0, 69, 0, 0, 0, 2, 0, 0, 0, 236, 0, 0, 0, 89, 0, 0, 0, 213, 0, 0, 0, 93, 0, 0, 0, 169, 0, 0, 0, 68, 0, 0, 0, 204, 0, 0, 0, 37, 0, 0, 0, 76, 0, 0, 0, 179, 0, -0, 0, 60, 0, 0, 0, 91, 0, 0, 0, 105, 0, 0, 0, 7, 0, 0, 0, 85, 0, 0, 0, 38, 0, 0, 0, 107, 0, 0, 0, 48, 0, 0, 0, 107, 0, 0, 0, 212, 0, 0, 0, 167, 0, 0, 0, 81, 0, 0, 0, 41, 0, 0, 0, 227, 0, 0, 0, 249, 0, 0, 0, 122, 0, 0, 0, 117, 0, 0, 0, 42, 0, 0, 0, 130, 0, 0, 0, 47, 0, 0, 0, 214, 0, 0, 0, 29, 0, 0, 0, 153, 0, 0, 0, 43, 0, 0, 0, 128, 0, 0, 0, 213, 0, 0, 0, 103, 0, 0, 0, 30, 0, 0, 0, 21, 0, 0, 0, 157, 0, 0, 0, 202, 0, 0, 0, 253, 0, 0, 0, 235, 0, 0, 0, 172, 0, 0, 0, 151, 0, 0, 0, 53, 0, 0, 0, 9, 0, 0, -0, 127, 0, 0, 0, 63, 0, 0, 0, 53, 0, 0, 0, 13, 0, 0, 0, 52, 0, 0, 0, 10, 0, 0, 0, 184, 0, 0, 0, 103, 0, 0, 0, 86, 0, 0, 0, 41, 0, 0, 0, 32, 0, 0, 0, 243, 0, 0, 0, 25, 0, 0, 0, 95, 0, 0, 0, 226, 0, 0, 0, 131, 0, 0, 0, 66, 0, 0, 0, 115, 0, 0, 0, 83, 0, 0, 0, 168, 0, 0, 0, 197, 0, 0, 0, 2, 0, 0, 0, 25, 0, 0, 0, 51, 0, 0, 0, 180, 0, 0, 0, 100, 0, 0, 0, 189, 0, 0, 0, 195, 0, 0, 0, 135, 0, 0, 0, 140, 0, 0, 0, 215, 0, 0, 0, 118, 0, 0, 0, 237, 0, 0, 0, 37, 0, 0, 0, 71, 0, 0, 0, 57, 0, 0, 0, 55, 0, 0, 0, -118, 0, 0, 0, 13, 0, 0, 0, 29, 0, 0, 0, 12, 0, 0, 0, 245, 0, 0, 0, 90, 0, 0, 0, 109, 0, 0, 0, 67, 0, 0, 0, 136, 0, 0, 0, 153, 0, 0, 0, 21, 0, 0, 0, 180, 0, 0, 0, 82, 0, 0, 0, 15, 0, 0, 0, 42, 0, 0, 0, 179, 0, 0, 0, 176, 0, 0, 0, 63, 0, 0, 0, 166, 0, 0, 0, 179, 0, 0, 0, 38, 0, 0, 0, 179, 0, 0, 0, 199, 0, 0, 0, 69, 0, 0, 0, 245, 0, 0, 0, 146, 0, 0, 0, 95, 0, 0, 0, 155, 0, 0, 0, 23, 0, 0, 0, 157, 0, 0, 0, 35, 0, 0, 0, 189, 0, 0, 0, 21, 0, 0, 0, 254, 0, 0, 0, 82, 0, 0, 0, 82, 0, 0, 0, 21, 0, 0, 0, 38, -0, 0, 0, 121, 0, 0, 0, 134, 0, 0, 0, 186, 0, 0, 0, 6, 0, 0, 0, 86, 0, 0, 0, 102, 0, 0, 0, 187, 0, 0, 0, 140, 0, 0, 0, 46, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 213, 0, 0, 0, 74, 0, 0, 0, 24, 0, 0, 0, 82, 0, 0, 0, 218, 0, 0, 0, 132, 0, 0, 0, 68, 0, 0, 0, 240, 0, 0, 0, 62, 0, 0, 0, 233, 0, 0, 0, 140, 0, 0, 0, 53, 0, 0, 0, 173, 0, 0, 0, 160, 0, 0, 0, 65, 0, 0, 0, 236, 0, 0, 0, 200, 0, 0, 0, 77, 0, 0, 0, 185, 0, 0, 0, 210, 0, 0, 0, 110, 0, 0, 0, 150, 0, 0, 0, 78, 0, 0, 0, 91, 0, 0, 0, 197, 0, 0, 0, 194, -0, 0, 0, 160, 0, 0, 0, 27, 0, 0, 0, 207, 0, 0, 0, 12, 0, 0, 0, 191, 0, 0, 0, 23, 0, 0, 0, 102, 0, 0, 0, 87, 0, 0, 0, 193, 0, 0, 0, 23, 0, 0, 0, 144, 0, 0, 0, 69, 0, 0, 0, 113, 0, 0, 0, 194, 0, 0, 0, 225, 0, 0, 0, 36, 0, 0, 0, 235, 0, 0, 0, 39, 0, 0, 0, 44, 0, 0, 0, 185, 0, 0, 0, 66, 0, 0, 0, 164, 0, 0, 0, 175, 0, 0, 0, 59, 0, 0, 0, 66, 0, 0, 0, 14, 0, 0, 0, 194, 0, 0, 0, 15, 0, 0, 0, 242, 0, 0, 0, 234, 0, 0, 0, 131, 0, 0, 0, 175, 0, 0, 0, 154, 0, 0, 0, 19, 0, 0, 0, 23, 0, 0, 0, 176, 0, 0, 0, 189, -0, 0, 0, 137, 0, 0, 0, 23, 0, 0, 0, 227, 0, 0, 0, 114, 0, 0, 0, 203, 0, 0, 0, 14, 0, 0, 0, 118, 0, 0, 0, 126, 0, 0, 0, 65, 0, 0, 0, 99, 0, 0, 0, 4, 0, 0, 0, 136, 0, 0, 0, 113, 0, 0, 0, 117, 0, 0, 0, 120, 0, 0, 0, 56, 0, 0, 0, 134, 0, 0, 0, 87, 0, 0, 0, 221, 0, 0, 0, 159, 0, 0, 0, 238, 0, 0, 0, 84, 0, 0, 0, 112, 0, 0, 0, 101, 0, 0, 0, 191, 0, 0, 0, 241, 0, 0, 0, 44, 0, 0, 0, 224, 0, 0, 0, 57, 0, 0, 0, 13, 0, 0, 0, 227, 0, 0, 0, 137, 0, 0, 0, 253, 0, 0, 0, 142, 0, 0, 0, 147, 0, 0, 0, 79, 0, 0, 0, 67, -0, 0, 0, 220, 0, 0, 0, 213, 0, 0, 0, 91, 0, 0, 0, 222, 0, 0, 0, 249, 0, 0, 0, 152, 0, 0, 0, 229, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 59, 0, 0, 0, 101, 0, 0, 0, 17, 0, 0, 0, 223, 0, 0, 0, 178, 0, 0, 0, 242, 0, 0, 0, 99, 0, 0, 0, 148, -0, 0, 0, 18, 0, 0, 0, 111, 0, 0, 0, 92, 0, 0, 0, 158, 0, 0, 0, 119, 0, 0, 0, 193, 0, 0, 0, 182, 0, 0, 0, 216, 0, 0, 0, 171, 0, 0, 0, 88, 0, 0, 0, 122, 0, 0, 0, 29, 0, 0, 0, 149, 0, 0, 0, 115, 0, 0, 0, 221, 0, 0, 0, 231, 0, 0, 0, 227, 0, 0, 0, 111, 0, 0, 0, 242, 0, 0, 0, 3, 0, 0, 0, 29, 0, 0, 0, 219, 0, 0, 0, 118, 0, 0, 0, 174, 0, 0, 0, 6, 0, 0, 0, 78, 0, 0, 0, 44, 0, 0, 0, 82, 0, 0, 0, 27, 0, 0, 0, 188, 0, 0, 0, 90, 0, 0, 0, 90, 0, 0, 0, 165, 0, 0, 0, 190, 0, 0, 0, 39, 0, 0, 0, 189, 0, 0, 0, 235, -0, 0, 0, 225, 0, 0, 0, 20, 0, 0, 0, 23, 0, 0, 0, 104, 0, 0, 0, 38, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 209, 0, 0, 0, 24, 0, 0, 0, 11, 0, 0, 0, 223, 0, 0, 0, 241, 0, 0, 0, 6, 0, 0, 0, 92, 0, 0, 0, 166, 0, 0, 0, 27, 0, 0, 0, 185, 0, 0, 0, 36, 0, 0, 0, 197, 0, 0, 0, 102, 0, 0, 0, 128, 0, 0, 0, 19, 0, 0, 0, 14, 0, 0, 0, 72, 0, 0, 0, 140, 0, 0, 0, 135, 0, 0, 0, 49, 0, 0, 0, 132, 0, 0, 0, 180, 0, 0, 0, 96, 0, 0, 0, 237, 0, 0, 0, 197, 0, 0, 0, 236, 0, 0, 0, 182, 0, 0, 0, 197, 0, 0, 0, 5, 0, 0, 0, 51, 0, 0, -0, 95, 0, 0, 0, 47, 0, 0, 0, 125, 0, 0, 0, 64, 0, 0, 0, 182, 0, 0, 0, 50, 0, 0, 0, 29, 0, 0, 0, 56, 0, 0, 0, 116, 0, 0, 0, 27, 0, 0, 0, 241, 0, 0, 0, 9, 0, 0, 0, 61, 0, 0, 0, 212, 0, 0, 0, 105, 0, 0, 0, 130, 0, 0, 0, 188, 0, 0, 0, 141, 0, 0, 0, 248, 0, 0, 0, 52, 0, 0, 0, 54, 0, 0, 0, 117, 0, 0, 0, 85, 0, 0, 0, 24, 0, 0, 0, 85, 0, 0, 0, 88, 0, 0, 0, 60, 0, 0, 0, 121, 0, 0, 0, 175, 0, 0, 0, 38, 0, 0, 0, 128, 0, 0, 0, 171, 0, 0, 0, 155, 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, 203, 0, 0, 0, -218, 0, 0, 0, 193, 0, 0, 0, 159, 0, 0, 0, 246, 0, 0, 0, 47, 0, 0, 0, 162, 0, 0, 0, 244, 0, 0, 0, 69, 0, 0, 0, 23, 0, 0, 0, 190, 0, 0, 0, 235, 0, 0, 0, 133, 0, 0, 0, 237, 0, 0, 0, 158, 0, 0, 0, 205, 0, 0, 0, 86, 0, 0, 0, 245, 0, 0, 0, 23, 0, 0, 0, 69, 0, 0, 0, 66, 0, 0, 0, 180, 0, 0, 0, 31, 0, 0, 0, 68, 0, 0, 0, 76, 0, 0, 0, 5, 0, 0, 0, 116, 0, 0, 0, 21, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 106, 0, 0, 0, 61, 0, 0, 0, 36, 0, 0, 0, 9, 0, 0, 0, 13, 0, 0, 0, 88, 0, 0, 0, 177, 0, 0, 0, 66, 0, -0, 0, 215, 0, 0, 0, 4, 0, 0, 0, 141, 0, 0, 0, 189, 0, 0, 0, 163, 0, 0, 0, 196, 0, 0, 0, 6, 0, 0, 0, 155, 0, 0, 0, 31, 0, 0, 0, 144, 0, 0, 0, 88, 0, 0, 0, 96, 0, 0, 0, 116, 0, 0, 0, 178, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0, 210, 0, 0, 0, 218, 0, 0, 0, 130, 0, 0, 0, 187, 0, 0, 0, 16, 0, 0, 0, 144, 0, 0, 0, 105, 0, 0, 0, 146, 0, 0, 0, 169, 0, 0, 0, 180, 0, 0, 0, 48, 0, 0, 0, 129, 0, 0, 0, 227, 0, 0, 0, 124, 0, 0, 0, 168, 0, 0, 0, 137, 0, 0, 0, 69, 0, 0, 0, 63, 0, 0, 0, 220, 0, 0, 0, 5, 0, -0, 0, 203, 0, 0, 0, 65, 0, 0, 0, 60, 0, 0, 0, 200, 0, 0, 0, 35, 0, 0, 0, 4, 0, 0, 0, 44, 0, 0, 0, 56, 0, 0, 0, 153, 0, 0, 0, 227, 0, 0, 0, 104, 0, 0, 0, 85, 0, 0, 0, 249, 0, 0, 0, 211, 0, 0, 0, 50, 0, 0, 0, 199, 0, 0, 0, 191, 0, 0, 0, 250, 0, 0, 0, 212, 0, 0, 0, 27, 0, 0, 0, 93, 0, 0, 0, 222, 0, 0, 0, 220, 0, 0, 0, 16, 0, 0, 0, 66, 0, 0, 0, 192, 0, 0, 0, 66, 0, 0, 0, 217, 0, 0, 0, 117, 0, 0, 0, 45, 0, 0, 0, 171, 0, 0, 0, 53, 0, 0, 0, 78, 0, 0, 0, 135, 0, 0, 0, 196, 0, 0, 0, 101, 0, 0, 0, 151, 0, -0, 0, 103, 0, 0, 0, 36, 0, 0, 0, 164, 0, 0, 0, 71, 0, 0, 0, 173, 0, 0, 0, 63, 0, 0, 0, 142, 0, 0, 0, 243, 0, 0, 0, 203, 0, 0, 0, 49, 0, 0, 0, 23, 0, 0, 0, 119, 0, 0, 0, 197, 0, 0, 0, 226, 0, 0, 0, 215, 0, 0, 0, 143, 0, 0, 0, 60, 0, 0, 0, 193, 0, 0, 0, 205, 0, 0, 0, 86, 0, 0, 0, 72, 0, 0, 0, 193, 0, 0, 0, 108, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 174, 0, 0, 0, 95, 0, 0, 0, 136, 0, 0, 0, 123, 0, 0, 0, 165, 0, 0, 0, 144, 0, 0, 0, 223, 0, 0, 0, 16, 0, 0, 0, 178, 0, 0, 0, 139, 0, 0, 0, 94, 0, 0, 0, 36, 0, 0, 0, 23, 0, 0, 0, 195, 0, 0, 0, 163, 0, 0, 0, 212, 0, 0, 0, 15, 0, 0, 0, 146, 0, 0, 0, 97, 0, 0, 0, 26, 0, 0, 0, 25, 0, 0, 0, 90, 0, 0, 0, 173, 0, 0, 0, 118, 0, 0, 0, 189, 0, 0, 0, 216, 0, 0, 0, 28, 0, 0, 0, 221, 0, 0, 0, 224, 0, -0, 0, 18, 0, 0, 0, 109, 0, 0, 0, 142, 0, 0, 0, 189, 0, 0, 0, 112, 0, 0, 0, 143, 0, 0, 0, 2, 0, 0, 0, 163, 0, 0, 0, 36, 0, 0, 0, 77, 0, 0, 0, 90, 0, 0, 0, 103, 0, 0, 0, 196, 0, 0, 0, 218, 0, 0, 0, 247, 0, 0, 0, 32, 0, 0, 0, 15, 0, 0, 0, 129, 0, 0, 0, 91, 0, 0, 0, 122, 0, 0, 0, 5, 0, 0, 0, 36, 0, 0, 0, 103, 0, 0, 0, 131, 0, 0, 0, 11, 0, 0, 0, 42, 0, 0, 0, 128, 0, 0, 0, 231, 0, 0, 0, 253, 0, 0, 0, 116, 0, 0, 0, 75, 0, 0, 0, 158, 0, 0, 0, 92, 0, 0, 0, 13, 0, 0, 0, 148, 0, 0, 0, 213, 0, 0, 0, 95, 0, 0, -0, 31, 0, 0, 0, 162, 0, 0, 0, 251, 0, 0, 0, 235, 0, 0, 0, 225, 0, 0, 0, 7, 0, 0, 0, 52, 0, 0, 0, 248, 0, 0, 0, 32, 0, 0, 0, 173, 0, 0, 0, 129, 0, 0, 0, 48, 0, 0, 0, 6, 0, 0, 0, 45, 0, 0, 0, 161, 0, 0, 0, 129, 0, 0, 0, 149, 0, 0, 0, 54, 0, 0, 0, 207, 0, 0, 0, 17, 0, 0, 0, 11, 0, 0, 0, 175, 0, 0, 0, 193, 0, 0, 0, 43, 0, 0, 0, 154, 0, 0, 0, 108, 0, 0, 0, 85, 0, 0, 0, 193, 0, 0, 0, 22, 0, 0, 0, 54, 0, 0, 0, 79, 0, 0, 0, 241, 0, 0, 0, 94, 0, 0, 0, 116, 0, 0, 0, 53, 0, 0, 0, 19, 0, 0, 0, 40, 0, 0, 0, 215, -0, 0, 0, 17, 0, 0, 0, 207, 0, 0, 0, 184, 0, 0, 0, 222, 0, 0, 0, 147, 0, 0, 0, 179, 0, 0, 0, 5, 0, 0, 0, 184, 0, 0, 0, 181, 0, 0, 0, 115, 0, 0, 0, 233, 0, 0, 0, 235, 0, 0, 0, 173, 0, 0, 0, 25, 0, 0, 0, 30, 0, 0, 0, 137, 0, 0, 0, 15, 0, 0, 0, 139, 0, 0, 0, 21, 0, 0, 0, 213, 0, 0, 0, 140, 0, 0, 0, 227, 0, 0, 0, 35, 0, 0, 0, 51, 0, 0, 0, 121, 0, 0, 0, 231, 0, 0, 0, 24, 0, 0, 0, 230, 0, 0, 0, 15, 0, 0, 0, 87, 0, 0, 0, 147, 0, 0, 0, 21, 0, 0, 0, 160, 0, 0, 0, 167, 0, 0, 0, 170, 0, 0, 0, 196, 0, 0, 0, 191, -0, 0, 0, 79, 0, 0, 0, 48, 0, 0, 0, 116, 0, 0, 0, 149, 0, 0, 0, 94, 0, 0, 0, 105, 0, 0, 0, 74, 0, 0, 0, 91, 0, 0, 0, 69, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 35, 0, 0, 0, 116, 0, 0, 0, 76, 0, 0, 0, 223, 0, 0, 0, 107, 0, 0, 0, 69, 0, 0, 0, 151, 0, 0, 0, 41, 0, 0, 0, 108, 0, 0, 0, 196, 0, 0, 0, 66, 0, 0, 0, 11, 0, 0, 0, 221, 0, 0, 0, 192, 0, 0, 0, 41, 0, 0, 0, 92, 0, 0, 0, 155, 0, 0, 0, 52, 0, 0, 0, 151, 0, 0, 0, 208, 0, 0, 0, 199, 0, 0, 0, 121, 0, 0, 0, 128, 0, 0, 0, 99, 0, 0, 0, 116, 0, -0, 0, 228, 0, 0, 0, 142, 0, 0, 0, 55, 0, 0, 0, 176, 0, 0, 0, 43, 0, 0, 0, 124, 0, 0, 0, 232, 0, 0, 0, 104, 0, 0, 0, 108, 0, 0, 0, 195, 0, 0, 0, 130, 0, 0, 0, 151, 0, 0, 0, 87, 0, 0, 0, 34, 0, 0, 0, 190, 0, 0, 0, 131, 0, 0, 0, 182, 0, 0, 0, 75, 0, 0, 0, 128, 0, 0, 0, 107, 0, 0, 0, 67, 0, 0, 0, 36, 0, 0, 0, 94, 0, 0, 0, 239, 0, 0, 0, 153, 0, 0, 0, 155, 0, 0, 0, 168, 0, 0, 0, 252, 0, 0, 0, 37, 0, 0, 0, 141, 0, 0, 0, 59, 0, 0, 0, 3, 0, 0, 0, 148, 0, 0, 0, 43, 0, 0, 0, 62, 0, 0, 0, 231, 0, 0, 0, 149, -0, 0, 0, 118, 0, 0, 0, 155, 0, 0, 0, 204, 0, 0, 0, 21, 0, 0, 0, 219, 0, 0, 0, 50, 0, 0, 0, 230, 0, 0, 0, 102, 0, 0, 0, 132, 0, 0, 0, 240, 0, 0, 0, 74, 0, 0, 0, 19, 0, 0, 0, 166, 0, 0, 0, 214, 0, 0, 0, 250, 0, 0, 0, 147, 0, 0, 0, 70, 0, 0, 0, 7, 0, 0, 0, 246, 0, 0, 0, 126, 0, 0, 0, 92, 0, 0, 0, 109, 0, 0, 0, 94, 0, 0, 0, 246, 0, 0, 0, 166, 0, 0, 0, 231, 0, 0, 0, 72, 0, 0, 0, 240, 0, 0, 0, 6, 0, 0, 0, 234, 0, 0, 0, 255, 0, 0, 0, 144, 0, 0, 0, 193, 0, 0, 0, 204, 0, 0, 0, 76, 0, 0, 0, 25, 0, 0, 0, 156, -0, 0, 0, 60, 0, 0, 0, 78, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 80, 0, 0, 0, 227, 0, 0, 0, 7, 0, 0, 0, 21, 0, 0, 0, 89, 0, 0, 0, 242, 0, 0, 0, 139, 0, 0, 0, 129, 0, 0, 0, 242, 0, 0, 0, 243, 0, 0, 0, 211, 0, 0, 0, 108, 0, 0, 0, 153, 0, 0, -0, 140, 0, 0, 0, 112, 0, 0, 0, 103, 0, 0, 0, 236, 0, 0, 0, 204, 0, 0, 0, 238, 0, 0, 0, 158, 0, 0, 0, 89, 0, 0, 0, 69, 0, 0, 0, 89, 0, 0, 0, 125, 0, 0, 0, 71, 0, 0, 0, 117, 0, 0, 0, 105, 0, 0, 0, 245, 0, 0, 0, 36, 0, 0, 0, 147, 0, 0, 0, 93, 0, 0, 0, 106, 0, 0, 0, 79, 0, 0, 0, 27, 0, 0, 0, 190, 0, 0, 0, 107, 0, 0, 0, 48, 0, 0, 0, 207, 0, 0, 0, 117, 0, 0, 0, 70, 0, 0, 0, 227, 0, 0, 0, 123, 0, 0, 0, 157, 0, 0, 0, 252, 0, 0, 0, 205, 0, 0, 0, 216, 0, 0, 0, 92, 0, 0, 0, 31, 0, 0, 0, 180, 0, 0, 0, 200, 0, -0, 0, 226, 0, 0, 0, 36, 0, 0, 0, 236, 0, 0, 0, 26, 0, 0, 0, 40, 0, 0, 0, 5, 0, 0, 0, 50, 0, 0, 0, 87, 0, 0, 0, 253, 0, 0, 0, 60, 0, 0, 0, 90, 0, 0, 0, 152, 0, 0, 0, 16, 0, 0, 0, 163, 0, 0, 0, 219, 0, 0, 0, 247, 0, 0, 0, 48, 0, 0, 0, 216, 0, 0, 0, 194, 0, 0, 0, 154, 0, 0, 0, 225, 0, 0, 0, 211, 0, 0, 0, 206, 0, 0, 0, 34, 0, 0, 0, 229, 0, 0, 0, 128, 0, 0, 0, 30, 0, 0, 0, 217, 0, 0, 0, 228, 0, 0, 0, 31, 0, 0, 0, 171, 0, 0, 0, 192, 0, 0, 0, 113, 0, 0, 0, 26, 0, 0, 0, 134, 0, 0, 0, 14, 0, 0, 0, 39, 0, -0, 0, 153, 0, 0, 0, 91, 0, 0, 0, 250, 0, 0, 0, 118, 0, 0, 0, 153, 0, 0, 0, 176, 0, 0, 0, 8, 0, 0, 0, 60, 0, 0, 0, 42, 0, 0, 0, 147, 0, 0, 0, 210, 0, 0, 0, 133, 0, 0, 0, 27, 0, 0, 0, 106, 0, 0, 0, 93, 0, 0, 0, 166, 0, 0, 0, 238, 0, 0, 0, 209, 0, 0, 0, 209, 0, 0, 0, 51, 0, 0, 0, 189, 0, 0, 0, 106, 0, 0, 0, 54, 0, 0, 0, 115, 0, 0, 0, 55, 0, 0, 0, 58, 0, 0, 0, 68, 0, 0, 0, 180, 0, 0, 0, 236, 0, 0, 0, 169, 0, 0, 0, 122, 0, 0, 0, 222, 0, 0, 0, 131, 0, 0, 0, 64, 0, 0, 0, 215, 0, 0, 0, 223, 0, 0, 0, 40, -0, 0, 0, 186, 0, 0, 0, 162, 0, 0, 0, 48, 0, 0, 0, 211, 0, 0, 0, 181, 0, 0, 0, 109, 0, 0, 0, 5, 0, 0, 0, 63, 0, 0, 0, 159, 0, 0, 0, 243, 0, 0, 0, 21, 0, 0, 0, 141, 0, 0, 0, 124, 0, 0, 0, 202, 0, 0, 0, 201, 0, 0, 0, 252, 0, 0, 0, 138, 0, 0, 0, 124, 0, 0, 0, 148, 0, 0, 0, 176, 0, 0, 0, 99, 0, 0, 0, 54, 0, 0, 0, 155, 0, 0, 0, 120, 0, 0, 0, 209, 0, 0, 0, 145, 0, 0, 0, 31, 0, 0, 0, 147, 0, 0, 0, 216, 0, 0, 0, 87, 0, 0, 0, 67, 0, 0, 0, 222, 0, 0, 0, 118, 0, 0, 0, 163, 0, 0, 0, 67, 0, 0, 0, 155, 0, 0, 0, -53, 0, 0, 0, 226, 0, 0, 0, 169, 0, 0, 0, 61, 0, 0, 0, 50, 0, 0, 0, 30, 0, 0, 0, 187, 0, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 112, 0, 0, 0, 233, 0, 0, 0, 69, 0, 0, 0, 47, 0, 0, 0, 143, 0, 0, 0, 112, 0, 0, 0, 127, 0, 0, 0, 8, 0, 0, 0, 126, 0, 0, 0, 83, 0, 0, 0, 196, 0, 0, 0, 122, 0, 0, 0, 191, 0, 0, 0, 247, 0, 0, 0, 225, 0, 0, 0, 164, 0, 0, 0, 106, 0, 0, 0, 216, 0, 0, 0, 172, 0, 0, 0, 100, 0, 0, 0, 27, 0, 0, 0, 17, 0, 0, 0, 178, 0, 0, 0, 235, 0, 0, 0, 71, 0, 0, 0, 70, 0, 0, 0, 24, 0, 0, 0, 62, 0, 0, 0, -31, 0, 0, 0, 153, 0, 0, 0, 12, 0, 0, 0, 204, 0, 0, 0, 241, 0, 0, 0, 44, 0, 0, 0, 224, 0, 0, 0, 231, 0, 0, 0, 143, 0, 0, 0, 224, 0, 0, 0, 1, 0, 0, 0, 126, 0, 0, 0, 101, 0, 0, 0, 184, 0, 0, 0, 12, 0, 0, 0, 208, 0, 0, 0, 251, 0, 0, 0, 200, 0, 0, 0, 185, 0, 0, 0, 144, 0, 0, 0, 152, 0, 0, 0, 51, 0, 0, 0, 97, 0, 0, 0, 59, 0, 0, 0, 216, 0, 0, 0, 39, 0, 0, 0, 160, 0, 0, 0, 190, 0, 0, 0, 114, 0, 0, 0, 58, 0, 0, 0, 80, 0, 0, 0, 75, 0, 0, 0, 116, 0, 0, 0, 171, 0, 0, 0, 1, 0, 0, 0, 200, 0, 0, 0, 147, 0, 0, 0, -197, 0, 0, 0, 228, 0, 0, 0, 199, 0, 0, 0, 8, 0, 0, 0, 108, 0, 0, 0, 180, 0, 0, 0, 202, 0, 0, 0, 238, 0, 0, 0, 235, 0, 0, 0, 142, 0, 0, 0, 215, 0, 0, 0, 78, 0, 0, 0, 38, 0, 0, 0, 198, 0, 0, 0, 29, 0, 0, 0, 226, 0, 0, 0, 113, 0, 0, 0, 175, 0, 0, 0, 137, 0, 0, 0, 160, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 11, 0, 0, 0, 228, 0, 0, 0, 222, 0, 0, 0, 219, 0, 0, 0, 168, 0, 0, 0, 250, 0, 0, 0, 130, 0, 0, 0, 116, 0, 0, 0, 6, 0, 0, 0, 82, 0, 0, 0, 109, 0, 0, 0, 8, 0, 0, 0, 82, 0, 0, 0, 138, 0, 0, 0, 255, 0, 0, 0, 98, 0, 0, 0, 197, 0, 0, 0, 106, 0, 0, 0, 68, 0, 0, 0, 15, 0, 0, 0, 81, 0, 0, 0, 140, 0, 0, 0, 31, 0, 0, 0, 110, 0, 0, 0, 182, 0, 0, 0, 198, 0, 0, 0, 44, 0, 0, 0, 129, 0, 0, 0, 211, 0, 0, 0, 118, 0, 0, 0, 70, 0, 0, 0, 244, 0, 0, 0, -41, 0, 0, 0, 116, 0, 0, 0, 46, 0, 0, 0, 128, 0, 0, 0, 167, 0, 0, 0, 26, 0, 0, 0, 143, 0, 0, 0, 246, 0, 0, 0, 189, 0, 0, 0, 214, 0, 0, 0, 142, 0, 0, 0, 191, 0, 0, 0, 193, 0, 0, 0, 149, 0, 0, 0, 42, 0, 0, 0, 235, 0, 0, 0, 160, 0, 0, 0, 127, 0, 0, 0, 69, 0, 0, 0, 160, 0, 0, 0, 80, 0, 0, 0, 20, 0, 0, 0, 5, 0, 0, 0, 177, 0, 0, 0, 87, 0, 0, 0, 76, 0, 0, 0, 116, 0, 0, 0, 183, 0, 0, 0, 226, 0, 0, 0, 137, 0, 0, 0, 125, 0, 0, 0, 7, 0, 0, 0, 238, 0, 0, 0, 167, 0, 0, 0, 173, 0, 0, 0, 183, 0, 0, 0, 9, 0, 0, 0, -11, 0, 0, 0, 73, 0, 0, 0, 78, 0, 0, 0, 191, 0, 0, 0, 202, 0, 0, 0, 229, 0, 0, 0, 33, 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 175, 0, 0, 0, 213, 0, 0, 0, 103, 0, 0, 0, 243, 0, 0, 0, 206, 0, 0, 0, 126, 0, 0, 0, 124, 0, 0, 0, 147, 0, 0, 0, 123, 0, 0, 0, 90, 0, 0, 0, 16, 0, 0, 0, 18, 0, 0, 0, 14, 0, 0, 0, 108, 0, 0, 0, 6, 0, 0, 0, 17, 0, 0, 0, 117, 0, 0, 0, 213, 0, 0, 0, 252, 0, 0, 0, 134, 0, 0, 0, 163, 0, 0, 0, 59, 0, 0, 0, 163, 0, 0, 0, 62, 0, 0, 0, 10, 0, 0, 0, 251, 0, 0, 0, 11, 0, 0, 0, 247, 0, 0, 0, -54, 0, 0, 0, 177, 0, 0, 0, 91, 0, 0, 0, 218, 0, 0, 0, 112, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 218, 0, 0, 0, 136, 0, 0, 0, 143, 0, 0, 0, 132, 0, 0, 0, 168, 0, 0, 0, 188, 0, 0, 0, 28, 0, 0, 0, 57, 0, 0, 0, 184, 0, 0, 0, 101, 0, 0, 0, 243, 0, 0, 0, 77, 0, 0, 0, 96, 0, 0, 0, 150, 0, 0, 0, 157, 0, 0, 0, 49, 0, 0, 0, 244, 0, 0, 0, 162, 0, 0, 0, 190, 0, 0, 0, 129, 0, 0, 0, 185, 0, 0, 0, 165, 0, 0, 0, 89, 0, 0, 0, 158, 0, 0, 0, 186, 0, 0, 0, 7, 0, 0, 0, 190, 0, 0, 0, 116, 0, 0, 0, 88, 0, 0, -0, 216, 0, 0, 0, 235, 0, 0, 0, 197, 0, 0, 0, 159, 0, 0, 0, 61, 0, 0, 0, 209, 0, 0, 0, 244, 0, 0, 0, 174, 0, 0, 0, 206, 0, 0, 0, 83, 0, 0, 0, 223, 0, 0, 0, 79, 0, 0, 0, 199, 0, 0, 0, 42, 0, 0, 0, 137, 0, 0, 0, 77, 0, 0, 0, 41, 0, 0, 0, 216, 0, 0, 0, 242, 0, 0, 0, 170, 0, 0, 0, 233, 0, 0, 0, 14, 0, 0, 0, 247, 0, 0, 0, 46, 0, 0, 0, 95, 0, 0, 0, 157, 0, 0, 0, 138, 0, 0, 0, 91, 0, 0, 0, 9, 0, 0, 0, 237, 0, 0, 0, 201, 0, 0, 0, 36, 0, 0, 0, 34, 0, 0, 0, 244, 0, 0, 0, 15, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, -0, 28, 0, 0, 0, 132, 0, 0, 0, 110, 0, 0, 0, 52, 0, 0, 0, 20, 0, 0, 0, 108, 0, 0, 0, 234, 0, 0, 0, 179, 0, 0, 0, 134, 0, 0, 0, 93, 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 152, 0, 0, 0, 97, 0, 0, 0, 232, 0, 0, 0, 106, 0, 0, 0, 210, 0, 0, 0, 129, 0, 0, 0, 73, 0, 0, 0, 37, 0, 0, 0, 213, 0, 0, 0, 91, 0, 0, 0, 24, 0, 0, 0, 199, 0, 0, 0, 53, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 164, 0, 0, 0, 70, 0, 0, 0, 173, 0, 0, 0, 24, 0, 0, 0, 13, 0, 0, 0, 201, 0, 0, 0, 95, 0, 0, 0, 24, 0, 0, 0, 145, 0, 0, 0, 59, 0, 0, 0, 180, -0, 0, 0, 192, 0, 0, 0, 96, 0, 0, 0, 89, 0, 0, 0, 141, 0, 0, 0, 102, 0, 0, 0, 3, 0, 0, 0, 27, 0, 0, 0, 121, 0, 0, 0, 83, 0, 0, 0, 110, 0, 0, 0, 36, 0, 0, 0, 174, 0, 0, 0, 87, 0, 0, 0, 217, 0, 0, 0, 88, 0, 0, 0, 9, 0, 0, 0, 133, 0, 0, 0, 72, 0, 0, 0, 162, 0, 0, 0, 211, 0, 0, 0, 181, 0, 0, 0, 226, 0, 0, 0, 77, 0, 0, 0, 17, 0, 0, 0, 130, 0, 0, 0, 230, 0, 0, 0, 134, 0, 0, 0, 60, 0, 0, 0, 233, 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 194, 0, 0, 0, 87, 0, 0, 0, 247, 0, 0, 0, 102, 0, 0, 0, 122, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 227, 0, 0, 0, 137, 0, 0, 0, 3, 0, 0, 0, 215, 0, 0, 0, 34, 0, 0, 0, 149, 0, 0, 0, 159, 0, 0, 0, 202, 0, 0, 0, 180, 0, 0, 0, 141, 0, 0, 0, 158, 0, 0, 0, 109, 0, 0, 0, 151, 0, 0, 0, 255, 0, 0, 0, 141, 0, 0, 0, 33, 0, 0, -0, 89, 0, 0, 0, 7, 0, 0, 0, 239, 0, 0, 0, 3, 0, 0, 0, 45, 0, 0, 0, 94, 0, 0, 0, 248, 0, 0, 0, 68, 0, 0, 0, 70, 0, 0, 0, 231, 0, 0, 0, 133, 0, 0, 0, 128, 0, 0, 0, 197, 0, 0, 0, 137, 0, 0, 0, 80, 0, 0, 0, 139, 0, 0, 0, 216, 0, 0, 0, 83, 0, 0, 0, 134, 0, 0, 0, 36, 0, 0, 0, 134, 0, 0, 0, 41, 0, 0, 0, 82, 0, 0, 0, 1, 0, 0, 0, 250, 0, 0, 0, 32, 0, 0, 0, 195, 0, 0, 0, 78, 0, 0, 0, 149, 0, 0, 0, 203, 0, 0, 0, 173, 0, 0, 0, 123, 0, 0, 0, 52, 0, 0, 0, 148, 0, 0, 0, 48, 0, 0, 0, 183, 0, 0, 0, 122, 0, 0, 0, -250, 0, 0, 0, 150, 0, 0, 0, 65, 0, 0, 0, 96, 0, 0, 0, 43, 0, 0, 0, 203, 0, 0, 0, 89, 0, 0, 0, 185, 0, 0, 0, 202, 0, 0, 0, 80, 0, 0, 0, 194, 0, 0, 0, 91, 0, 0, 0, 155, 0, 0, 0, 120, 0, 0, 0, 35, 0, 0, 0, 27, 0, 0, 0, 58, 0, 0, 0, 136, 0, 0, 0, 148, 0, 0, 0, 95, 0, 0, 0, 10, 0, 0, 0, 155, 0, 0, 0, 152, 0, 0, 0, 43, 0, 0, 0, 110, 0, 0, 0, 83, 0, 0, 0, 17, 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 198, 0, 0, 0]).concat([125, 0, 0, 0, 66, 0, 0, 0, 204, 0, 0, 0, 2, 0, 0, 0, 128, 0, 0, 0, 64, 0, 0, 0, 13, 0, -0, 0, 30, 0, 0, 0, 251, 0, 0, 0, 175, 0, 0, 0, 97, 0, 0, 0, 7, 0, 0, 0, 176, 0, 0, 0, 230, 0, 0, 0, 47, 0, 0, 0, 129, 0, 0, 0, 112, 0, 0, 0, 161, 0, 0, 0, 46, 0, 0, 0, 57, 0, 0, 0, 4, 0, 0, 0, 124, 0, 0, 0, 196, 0, 0, 0, 44, 0, 0, 0, 135, 0, 0, 0, 69, 0, 0, 0, 74, 0, 0, 0, 91, 0, 0, 0, 105, 0, 0, 0, 151, 0, 0, 0, 172, 0, 0, 0, 109, 0, 0, 0, 44, 0, 0, 0, 16, 0, 0, 0, 66, 0, 0, 0, 124, 0, 0, 0, 59, 0, 0, 0, 21, 0, 0, 0, 112, 0, 0, 0, 96, 0, 0, 0, 14, 0, 0, 0, 17, 0, 0, 0, 109, 0, 0, 0, 58, 0, 0, 0, -155, 0, 0, 0, 24, 0, 0, 0, 128, 0, 0, 0, 94, 0, 0, 0, 219, 0, 0, 0, 5, 0, 0, 0, 189, 0, 0, 0, 198, 0, 0, 0, 183, 0, 0, 0, 60, 0, 0, 0, 194, 0, 0, 0, 64, 0, 0, 0, 77, 0, 0, 0, 93, 0, 0, 0, 206, 0, 0, 0, 151, 0, 0, 0, 138, 0, 0, 0, 52, 0, 0, 0, 21, 0, 0, 0, 171, 0, 0, 0, 40, 0, 0, 0, 93, 0, 0, 0, 16, 0, 0, 0, 240, 0, 0, 0, 55, 0, 0, 0, 12, 0, 0, 0, 204, 0, 0, 0, 22, 0, 0, 0, 250, 0, 0, 0, 31, 0, 0, 0, 51, 0, 0, 0, 13, 0, 0, 0, 25, 0, 0, 0, 249, 0, 0, 0, 53, 0, 0, 0, 170, 0, 0, 0, 89, 0, 0, 0, 26, 0, -0, 0, 12, 0, 0, 0, 92, 0, 0, 0, 6, 0, 0, 0, 252, 0, 0, 0, 106, 0, 0, 0, 11, 0, 0, 0, 151, 0, 0, 0, 83, 0, 0, 0, 54, 0, 0, 0, 252, 0, 0, 0, 42, 0, 0, 0, 165, 0, 0, 0, 90, 0, 0, 0, 155, 0, 0, 0, 48, 0, 0, 0, 239, 0, 0, 0, 35, 0, 0, 0, 175, 0, 0, 0, 57, 0, 0, 0, 93, 0, 0, 0, 154, 0, 0, 0, 107, 0, 0, 0, 117, 0, 0, 0, 87, 0, 0, 0, 72, 0, 0, 0, 11, 0, 0, 0, 38, 0, 0, 0, 220, 0, 0, 0, 118, 0, 0, 0, 59, 0, 0, 0, 252, 0, 0, 0, 249, 0, 0, 0, 156, 0, 0, 0, 63, 0, 0, 0, 137, 0, 0, 0, 11, 0, 0, 0, 98, 0, 0, 0, -83, 0, 0, 0, 175, 0, 0, 0, 131, 0, 0, 0, 1, 0, 0, 0, 46, 0, 0, 0, 188, 0, 0, 0, 106, 0, 0, 0, 198, 0, 0, 0, 3, 0, 0, 0, 13, 0, 0, 0, 117, 0, 0, 0, 42, 0, 0, 0, 13, 0, 0, 0, 230, 0, 0, 0, 148, 0, 0, 0, 84, 0, 0, 0, 207, 0, 0, 0, 179, 0, 0, 0, 229, 0, 0, 0, 150, 0, 0, 0, 37, 0, 0, 0, 254, 0, 0, 0, 130, 0, 0, 0, 177, 0, 0, 0, 116, 0, 0, 0, 49, 0, 0, 0, 138, 0, 0, 0, 167, 0, 0, 0, 111, 0, 0, 0, 86, 0, 0, 0, 189, 0, 0, 0, 141, 0, 0, 0, 244, 0, 0, 0, 224, 0, 0, 0, 148, 0, 0, 0, 81, 0, 0, 0, 89, 0, 0, 0, -222, 0, 0, 0, 44, 0, 0, 0, 90, 0, 0, 0, 244, 0, 0, 0, 132, 0, 0, 0, 107, 0, 0, 0, 74, 0, 0, 0, 136, 0, 0, 0, 147, 0, 0, 0, 192, 0, 0, 0, 12, 0, 0, 0, 154, 0, 0, 0, 172, 0, 0, 0, 167, 0, 0, 0, 160, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 13, -0, 0, 0, 214, 0, 0, 0, 199, 0, 0, 0, 35, 0, 0, 0, 71, 0, 0, 0, 16, 0, 0, 0, 173, 0, 0, 0, 199, 0, 0, 0, 8, 0, 0, 0, 92, 0, 0, 0, 135, 0, 0, 0, 135, 0, 0, 0, 147, 0, 0, 0, 152, 0, 0, 0, 24, 0, 0, 0, 184, 0, 0, 0, 211, 0, 0, 0, 156, 0, 0, 0, 172, 0, 0, 0, 90, 0, 0, 0, 61, 0, 0, 0, 197, 0, 0, 0, 117, 0, 0, 0, 248, 0, 0, 0, 73, 0, 0, 0, 50, 0, 0, 0, 20, 0, 0, 0, 204, 0, 0, 0, 81, 0, 0, 0, 150, 0, 0, 0, 36, 0, 0, 0, 101, 0, 0, 0, 156, 0, 0, 0, 93, 0, 0, 0, 240, 0, 0, 0, 55, 0, 0, 0, 4, 0, 0, 0, 240, 0, -0, 0, 52, 0, 0, 0, 105, 0, 0, 0, 42, 0, 0, 0, 240, 0, 0, 0, 165, 0, 0, 0, 100, 0, 0, 0, 202, 0, 0, 0, 222, 0, 0, 0, 43, 0, 0, 0, 91, 0, 0, 0, 21, 0, 0, 0, 16, 0, 0, 0, 210, 0, 0, 0, 171, 0, 0, 0, 6, 0, 0, 0, 221, 0, 0, 0, 196, 0, 0, 0, 176, 0, 0, 0, 182, 0, 0, 0, 91, 0, 0, 0, 193, 0, 0, 0, 23, 0, 0, 0, 223, 0, 0, 0, 143, 0, 0, 0, 2, 0, 0, 0, 189, 0, 0, 0, 89, 0, 0, 0, 61, 0, 0, 0, 191, 0, 0, 0, 92, 0, 0, 0, 49, 0, 0, 0, 68, 0, 0, 0, 44, 0, 0, 0, 50, 0, 0, 0, 148, 0, 0, 0, 4, 0, 0, 0, 96, 0, 0, 0, -132, 0, 0, 0, 15, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 143, 0, 0, 0, 201, 0, 0, 0, 29, 0, 0, 0, 204, 0, 0, 0, 92, 0, 0, 0, 162, 0, 0, 0, 73, 0, 0, 0, 14, 0, 0, 0, 80, 0, 0, 0, 145, 0, 0, 0, 8, 0, 0, 0, 154, 0, 0, 0, 67, 0, 0, 0, 85, 0, 0, 0, 5, 0, 0, 0, 93, 0, 0, 0, 147, 0, 0, 0, 85, 0, 0, 0, 223, 0, 0, 0, 155, 0, 0, 0, 18, 0, 0, 0, 25, 0, 0, 0, 236, 0, 0, 0, 147, 0, 0, 0, 133, 0, 0, 0, 66, 0, 0, 0, 158, 0, 0, 0, 102, 0, 0, 0, 15, 0, 0, 0, 157, 0, 0, 0, 175, 0, 0, 0, 153, 0, 0, 0, 175, -0, 0, 0, 38, 0, 0, 0, 137, 0, 0, 0, 188, 0, 0, 0, 97, 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 206, 0, 0, 0, 75, 0, 0, 0, 244, 0, 0, 0, 51, 0, 0, 0, 149, 0, 0, 0, 201, 0, 0, 0, 53, 0, 0, 0, 88, 0, 0, 0, 18, 0, 0, 0, 85, 0, 0, 0, 249, 0, 0, 0, 218, 0, 0, 0, 203, 0, 0, 0, 68, 0, 0, 0, 167, 0, 0, 0, 220, 0, 0, 0, 87, 0, 0, 0, 226, 0, 0, 0, 249, 0, 0, 0, 154, 0, 0, 0, 230, 0, 0, 0, 7, 0, 0, 0, 35, 0, 0, 0, 96, 0, 0, 0, 84, 0, 0, 0, 167, 0, 0, 0, 57, 0, 0, 0, 165, 0, 0, 0, 155, 0, 0, 0, 132, 0, 0, 0, 86, -0, 0, 0, 110, 0, 0, 0, 170, 0, 0, 0, 139, 0, 0, 0, 143, 0, 0, 0, 176, 0, 0, 0, 44, 0, 0, 0, 135, 0, 0, 0, 175, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, 76, 0, 0, 0, 178, 0, 0, 0, 18, 0, 0, 0, 248, 0, 0, 0, 50, 0, 0, 0, 168, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 73, 0, 0, 0, 50, 0, 0, 0, 186, 0, 0, 0, 31, 0, 0, 0, 93, 0, 0, 0, 68, 0, 0, 0, 142, 0, 0, 0, 68, 0, 0, 0, 122, 0, 0, 0, 220, 0, 0, 0, 17, 0, 0, 0, 251, 0, 0, 0, 57, 0, 0, 0, 8, 0, 0, 0, 87, 0, 0, 0, 135, 0, 0, 0, 165, 0, -0, 0, 18, 0, 0, 0, 66, 0, 0, 0, 147, 0, 0, 0, 14, 0, 0, 0, 23, 0, 0, 0, 180, 0, 0, 0, 174, 0, 0, 0, 114, 0, 0, 0, 89, 0, 0, 0, 208, 0, 0, 0, 170, 0, 0, 0, 168, 0, 0, 0, 22, 0, 0, 0, 139, 0, 0, 0, 99, 0, 0, 0, 17, 0, 0, 0, 179, 0, 0, 0, 67, 0, 0, 0, 4, 0, 0, 0, 218, 0, 0, 0, 12, 0, 0, 0, 168, 0, 0, 0, 183, 0, 0, 0, 104, 0, 0, 0, 221, 0, 0, 0, 78, 0, 0, 0, 84, 0, 0, 0, 231, 0, 0, 0, 175, 0, 0, 0, 93, 0, 0, 0, 93, 0, 0, 0, 5, 0, 0, 0, 118, 0, 0, 0, 54, 0, 0, 0, 236, 0, 0, 0, 13, 0, 0, 0, 109, 0, 0, -0, 124, 0, 0, 0, 130, 0, 0, 0, 50, 0, 0, 0, 56, 0, 0, 0, 85, 0, 0, 0, 87, 0, 0, 0, 116, 0, 0, 0, 91, 0, 0, 0, 125, 0, 0, 0, 195, 0, 0, 0, 196, 0, 0, 0, 251, 0, 0, 0, 6, 0, 0, 0, 41, 0, 0, 0, 240, 0, 0, 0, 19, 0, 0, 0, 85, 0, 0, 0, 84, 0, 0, 0, 198, 0, 0, 0, 167, 0, 0, 0, 220, 0, 0, 0, 76, 0, 0, 0, 159, 0, 0, 0, 152, 0, 0, 0, 73, 0, 0, 0, 32, 0, 0, 0, 168, 0, 0, 0, 195, 0, 0, 0, 141, 0, 0, 0, 250, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 0, 0, 0, 71, 0, 0, 0, 157, 0, 0, 0, 233, 0, 0, 0, 37, 0, 0, 0, 213, 0, 0, 0, 227, 0, 0, 0, 71, 0, 0, 0, 120, 0, 0, 0, 223, 0, 0, 0, 133, 0, 0, 0, 167, 0, 0, 0, 133, 0, 0, 0, 94, 0, 0, 0, 122, 0, 0, 0, 76, 0, 0, 0, 95, 0, 0, 0, 121, 0, 0, 0, 26, 0, 0, 0, 243, 0, 0, 0, 162, 0, 0, 0, 178, 0, 0, 0, 40, 0, 0, 0, 160, -0, 0, 0, 156, 0, 0, 0, 221, 0, 0, 0, 48, 0, 0, 0, 64, 0, 0, 0, 212, 0, 0, 0, 56, 0, 0, 0, 189, 0, 0, 0, 40, 0, 0, 0, 252, 0, 0, 0, 187, 0, 0, 0, 213, 0, 0, 0, 120, 0, 0, 0, 109, 0, 0, 0, 29, 0, 0, 0, 212, 0, 0, 0, 153, 0, 0, 0, 180, 0, 0, 0, 170, 0, 0, 0, 68, 0, 0, 0, 68, 0, 0, 0, 122, 0, 0, 0, 27, 0, 0, 0, 216, 0, 0, 0, 254, 0, 0, 0, 180, 0, 0, 0, 153, 0, 0, 0, 185, 0, 0, 0, 204, 0, 0, 0, 231, 0, 0, 0, 196, 0, 0, 0, 211, 0, 0, 0, 58, 0, 0, 0, 115, 0, 0, 0, 131, 0, 0, 0, 65, 0, 0, 0, 92, 0, 0, 0, -64, 0, 0, 0, 215, 0, 0, 0, 45, 0, 0, 0, 85, 0, 0, 0, 38, 0, 0, 0, 225, 0, 0, 0, 123, 0, 0, 0, 95, 0, 0, 0, 229, 0, 0, 0, 220, 0, 0, 0, 63, 0, 0, 0, 125, 0, 0, 0, 161, 0, 0, 0, 167, 0, 0, 0, 38, 0, 0, 0, 68, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 192, 0, 0, 0, 143, 0, 0, 0, 125, 0, 0, 0, 241, 0, 0, 0, 181, 0, 0, 0, 17, 0, 0, 0, 71, 0, 0, 0, 123, 0, 0, 0, 25, 0, 0, 0, 212, 0, 0, 0, 117, 0, 0, 0, 111, 0, 0, 0, 30, 0, 0, 0, 165, 0, 0, 0, 39, 0, 0, 0, 254, 0, 0, 0, 200, 0, 0, 0, 14, 0, 0, 0, 211, 0, 0, 0, -17, 0, 0, 0, 61, 0, 0, 0, 171, 0, 0, 0, 239, 0, 0, 0, 44, 0, 0, 0, 237, 0, 0, 0, 177, 0, 0, 0, 61, 0, 0, 0, 124, 0, 0, 0, 50, 0, 0, 0, 129, 0, 0, 0, 107, 0, 0, 0, 254, 0, 0, 0, 248, 0, 0, 0, 28, 0, 0, 0, 60, 0, 0, 0, 123, 0, 0, 0, 192, 0, 0, 0, 97, 0, 0, 0, 223, 0, 0, 0, 184, 0, 0, 0, 117, 0, 0, 0, 118, 0, 0, 0, 127, 0, 0, 0, 170, 0, 0, 0, 216, 0, 0, 0, 147, 0, 0, 0, 175, 0, 0, 0, 61, 0, 0, 0, 232, 0, 0, 0, 61, 0, 0, 0, 253, 0, 0, 0, 91, 0, 0, 0, 78, 0, 0, 0, 141, 0, 0, 0, 182, 0, 0, 0, 126, 0, 0, -0, 130, 0, 0, 0, 155, 0, 0, 0, 239, 0, 0, 0, 206, 0, 0, 0, 4, 0, 0, 0, 105, 0, 0, 0, 81, 0, 0, 0, 82, 0, 0, 0, 255, 0, 0, 0, 239, 0, 0, 0, 160, 0, 0, 0, 82, 0, 0, 0, 181, 0, 0, 0, 121, 0, 0, 0, 23, 0, 0, 0, 94, 0, 0, 0, 47, 0, 0, 0, 222, 0, 0, 0, 214, 0, 0, 0, 60, 0, 0, 0, 45, 0, 0, 0, 160, 0, 0, 0, 67, 0, 0, 0, 180, 0, 0, 0, 11, 0, 0, 0, 25, 0, 0, 0, 192, 0, 0, 0, 97, 0, 0, 0, 72, 0, 0, 0, 72, 0, 0, 0, 23, 0, 0, 0, 244, 0, 0, 0, 158, 0, 0, 0, 24, 0, 0, 0, 81, 0, 0, 0, 45, 0, 0, 0, 234, 0, 0, 0, -47, 0, 0, 0, 242, 0, 0, 0, 242, 0, 0, 0, 224, 0, 0, 0, 163, 0, 0, 0, 20, 0, 0, 0, 183, 0, 0, 0, 139, 0, 0, 0, 58, 0, 0, 0, 48, 0, 0, 0, 245, 0, 0, 0, 129, 0, 0, 0, 193, 0, 0, 0, 93, 0, 0, 0, 113, 0, 0, 0, 57, 0, 0, 0, 98, 0, 0, 0, 85, 0, 0, 0, 31, 0, 0, 0, 96, 0, 0, 0, 90, 0, 0, 0, 229, 0, 0, 0, 137, 0, 0, 0, 138, 0, 0, 0, 118, 0, 0, 0, 108, 0, 0, 0, 219, 0, 0, 0, 77, 0, 0, 0, 10, 0, 0, 0, 91, 0, 0, 0, 114, 0, 0, 0, 157, 0, 0, 0, 89, 0, 0, 0, 110, 0, 0, 0, 99, 0, 0, 0, 99, 0, 0, 0, 24, 0, 0, 0, 124, -0, 0, 0, 227, 0, 0, 0, 250, 0, 0, 0, 226, 0, 0, 0, 219, 0, 0, 0, 161, 0, 0, 0, 141, 0, 0, 0, 244, 0, 0, 0, 165, 0, 0, 0, 215, 0, 0, 0, 22, 0, 0, 0, 178, 0, 0, 0, 208, 0, 0, 0, 179, 0, 0, 0, 63, 0, 0, 0, 57, 0, 0, 0, 206, 0, 0, 0, 96, 0, 0, 0, 9, 0, 0, 0, 108, 0, 0, 0, 245, 0, 0, 0, 118, 0, 0, 0, 23, 0, 0, 0, 36, 0, 0, 0, 128, 0, 0, 0, 58, 0, 0, 0, 150, 0, 0, 0, 199, 0, 0, 0, 148, 0, 0, 0, 46, 0, 0, 0, 247, 0, 0, 0, 107, 0, 0, 0, 239, 0, 0, 0, 181, 0, 0, 0, 5, 0, 0, 0, 150, 0, 0, 0, 239, 0, 0, 0, -211, 0, 0, 0, 123, 0, 0, 0, 81, 0, 0, 0, 218, 0, 0, 0, 5, 0, 0, 0, 68, 0, 0, 0, 103, 0, 0, 0, 188, 0, 0, 0, 7, 0, 0, 0, 33, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 0, 0, 0, 115, 0, 0, 0, 111, 0, 0, 0, 33, 0, 0, 0, 185, 0, 0, 0, 222, 0, 0, 0, 34, 0, -0, 0, 125, 0, 0, 0, 235, 0, 0, 0, 151, 0, 0, 0, 49, 0, 0, 0, 16, 0, 0, 0, 163, 0, 0, 0, 234, 0, 0, 0, 225, 0, 0, 0, 198, 0, 0, 0, 55, 0, 0, 0, 235, 0, 0, 0, 143, 0, 0, 0, 67, 0, 0, 0, 88, 0, 0, 0, 222, 0, 0, 0, 65, 0, 0, 0, 100, 0, 0, 0, 14, 0, 0, 0, 62, 0, 0, 0, 7, 0, 0, 0, 153, 0, 0, 0, 61, 0, 0, 0, 241, 0, 0, 0, 223, 0, 0, 0, 30, 0, 0, 0, 248, 0, 0, 0, 173, 0, 0, 0, 67, 0, 0, 0, 194, 0, 0, 0, 23, 0, 0, 0, 6, 0, 0, 0, 226, 0, 0, 0, 228, 0, 0, 0, 169, 0, 0, 0, 134, 0, 0, 0, 205, 0, 0, 0, 24, 0, -0, 0, 215, 0, 0, 0, 120, 0, 0, 0, 200, 0, 0, 0, 116, 0, 0, 0, 102, 0, 0, 0, 210, 0, 0, 0, 9, 0, 0, 0, 24, 0, 0, 0, 165, 0, 0, 0, 241, 0, 0, 0, 202, 0, 0, 0, 166, 0, 0, 0, 98, 0, 0, 0, 146, 0, 0, 0, 193, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 66, 0, 0, 0, 46, 0, 0, 0, 123, 0, 0, 0, 52, 0, 0, 0, 36, 0, 0, 0, 76, 0, 0, 0, 207, 0, 0, 0, 56, 0, 0, 0, 229, 0, 0, 0, 108, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 44, 0, 0, 0, 34, 0, 0, 0, 11, 0, 0, 0, 36, 0, 0, 0, 56, 0, 0, 0, 173, 0, 0, 0, 36, 0, 0, 0, -126, 0, 0, 0, 25, 0, 0, 0, 240, 0, 0, 0, 108, 0, 0, 0, 249, 0, 0, 0, 49, 0, 0, 0, 244, 0, 0, 0, 53, 0, 0, 0, 17, 0, 0, 0, 246, 0, 0, 0, 70, 0, 0, 0, 51, 0, 0, 0, 58, 0, 0, 0, 35, 0, 0, 0, 89, 0, 0, 0, 32, 0, 0, 0, 11, 0, 0, 0, 161, 0, 0, 0, 8, 0, 0, 0, 25, 0, 0, 0, 173, 0, 0, 0, 57, 0, 0, 0, 84, 0, 0, 0, 234, 0, 0, 0, 62, 0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, 182, 0, 0, 0, 226, 0, 0, 0, 210, 0, 0, 0, 188, 0, 0, 0, 77, 0, 0, 0, 252, 0, 0, 0, 156, 0, 0, 0, 240, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0, 34, 0, -0, 0, 63, 0, 0, 0, 185, 0, 0, 0, 210, 0, 0, 0, 17, 0, 0, 0, 134, 0, 0, 0, 144, 0, 0, 0, 85, 0, 0, 0, 206, 0, 0, 0, 60, 0, 0, 0, 196, 0, 0, 0, 11, 0, 0, 0, 75, 0, 0, 0, 98, 0, 0, 0, 153, 0, 0, 0, 55, 0, 0, 0, 132, 0, 0, 0, 63, 0, 0, 0, 116, 0, 0, 0, 162, 0, 0, 0, 249, 0, 0, 0, 206, 0, 0, 0, 226, 0, 0, 0, 11, 0, 0, 0, 15, 0, 0, 0, 42, 0, 0, 0, 61, 0, 0, 0, 163, 0, 0, 0, 227, 0, 0, 0, 219, 0, 0, 0, 90, 0, 0, 0, 157, 0, 0, 0, 147, 0, 0, 0, 204, 0, 0, 0, 165, 0, 0, 0, 239, 0, 0, 0, 130, 0, 0, 0, 145, -0, 0, 0, 29, 0, 0, 0, 230, 0, 0, 0, 108, 0, 0, 0, 104, 0, 0, 0, 163, 0, 0, 0, 100, 0, 0, 0, 23, 0, 0, 0, 155, 0, 0, 0, 139, 0, 0, 0, 200, 0, 0, 0, 58, 0, 0, 0, 97, 0, 0, 0, 230, 0, 0, 0, 157, 0, 0, 0, 198, 0, 0, 0, 237, 0, 0, 0, 123, 0, 0, 0, 3, 0, 0, 0, 82, 0, 0, 0, 38, 0, 0, 0, 157, 0, 0, 0, 58, 0, 0, 0, 179, 0, 0, 0, 19, 0, 0, 0, 204, 0, 0, 0, 138, 0, 0, 0, 253, 0, 0, 0, 44, 0, 0, 0, 26, 0, 0, 0, 29, 0, 0, 0, 237, 0, 0, 0, 19, 0, 0, 0, 208, 0, 0, 0, 85, 0, 0, 0, 87, 0, 0, 0, 14, 0, 0, 0, 26, 0, -0, 0, 234, 0, 0, 0, 191, 0, 0, 0, 253, 0, 0, 0, 74, 0, 0, 0, 60, 0, 0, 0, 142, 0, 0, 0, 236, 0, 0, 0, 41, 0, 0, 0, 126, 0, 0, 0, 119, 0, 0, 0, 119, 0, 0, 0, 18, 0, 0, 0, 153, 0, 0, 0, 215, 0, 0, 0, 132, 0, 0, 0, 249, 0, 0, 0, 85, 0, 0, 0, 127, 0, 0, 0, 241, 0, 0, 0, 139, 0, 0, 0, 180, 0, 0, 0, 210, 0, 0, 0, 149, 0, 0, 0, 163, 0, 0, 0, 141, 0, 0, 0, 240, 0, 0, 0, 138, 0, 0, 0, 167, 0, 0, 0, 235, 0, 0, 0, 130, 0, 0, 0, 75, 0, 0, 0, 44, 0, 0, 0, 40, 0, 0, 0, 244, 0, 0, 0, 58, 0, 0, 0, 246, 0, 0, 0, -222, 0, 0, 0, 10, 0, 0, 0, 224, 0, 0, 0, 65, 0, 0, 0, 68, 0, 0, 0, 35, 0, 0, 0, 248, 0, 0, 0, 63, 0, 0, 0, 3, 0, 0, 0, 100, 0, 0, 0, 159, 0, 0, 0, 195, 0, 0, 0, 85, 0, 0, 0, 76, 0, 0, 0, 198, 0, 0, 0, 193, 0, 0, 0, 148, 0, 0, 0, 28, 0, 0, 0, 36, 0, 0, 0, 93, 0, 0, 0, 95, 0, 0, 0, 146, 0, 0, 0, 69, 0, 0, 0, 150, 0, 0, 0, 87, 0, 0, 0, 55, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, 205, 0, 0, 0, 144, 0, 0, 0, 102, 0, 0, 0, 185, 0, 0, 0, 118, 0, 0, 0, 160, 0, 0, 0, 91, 0, 0, 0, 165, 0, 0, 0, 133, 0, 0, 0, 117, 0, 0, 0, 35, 0, 0, 0, 249, 0, 0, 0, 137, 0, 0, 0, 165, 0, 0, 0, 130, 0, 0, 0, 178, 0, 0, 0, 111, 0, 0, 0, 177, 0, 0, 0, 235, 0, 0, 0, 196, 0, 0, 0, 105, 0, 0, 0, 111, 0, 0, 0, 24, 0, 0, 0, 90, 0, 0, 0, 237, 0, 0, 0, 148, 0, 0, 0, 61, -0, 0, 0, 157, 0, 0, 0, 217, 0, 0, 0, 44, 0, 0, 0, 26, 0, 0, 0, 53, 0, 0, 0, 176, 0, 0, 0, 230, 0, 0, 0, 115, 0, 0, 0, 6, 0, 0, 0, 183, 0, 0, 0, 55, 0, 0, 0, 224, 0, 0, 0, 248, 0, 0, 0, 176, 0, 0, 0, 34, 0, 0, 0, 232, 0, 0, 0, 210, 0, 0, 0, 237, 0, 0, 0, 11, 0, 0, 0, 239, 0, 0, 0, 230, 0, 0, 0, 198, 0, 0, 0, 90, 0, 0, 0, 153, 0, 0, 0, 158, 0, 0, 0, 26, 0, 0, 0, 159, 0, 0, 0, 4, 0, 0, 0, 151, 0, 0, 0, 228, 0, 0, 0, 77, 0, 0, 0, 11, 0, 0, 0, 190, 0, 0, 0, 186, 0, 0, 0, 68, 0, 0, 0, 64, 0, 0, 0, 193, -0, 0, 0, 86, 0, 0, 0, 150, 0, 0, 0, 145, 0, 0, 0, 95, 0, 0, 0, 31, 0, 0, 0, 187, 0, 0, 0, 84, 0, 0, 0, 111, 0, 0, 0, 136, 0, 0, 0, 137, 0, 0, 0, 10, 0, 0, 0, 178, 0, 0, 0, 214, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 0, 106, 0, 0, 0, 130, 0, 0, 0, 238, 0, 0, 0, 20, 0, 0, 0, 170, 0, 0, 0, 118, 0, 0, 0, 48, 0, 0, 0, 101, 0, 0, 0, 15, 0, 0, 0, 103, 0, 0, 0, 57, 0, 0, 0, 166, 0, 0, 0, 81, 0, 0, 0, 124, 0, 0, 0, 73, 0, 0, 0, 36, 0, 0, 0, 53, 0, 0, 0, 163, 0, 0, 0, 120, 0, 0, 0, 209, 0, 0, 0, 17, 0, 0, 0, 15, -0, 0, 0, 117, 0, 0, 0, 211, 0, 0, 0, 112, 0, 0, 0, 70, 0, 0, 0, 219, 0, 0, 0, 32, 0, 0, 0, 81, 0, 0, 0, 203, 0, 0, 0, 146, 0, 0, 0, 128, 0, 0, 0, 84, 0, 0, 0, 16, 0, 0, 0, 116, 0, 0, 0, 54, 0, 0, 0, 134, 0, 0, 0, 169, 0, 0, 0, 215, 0, 0, 0, 163, 0, 0, 0, 8, 0, 0, 0, 120, 0, 0, 0, 241, 0, 0, 0, 1, 0, 0, 0, 41, 0, 0, 0, 248, 0, 0, 0, 128, 0, 0, 0, 59, 0, 0, 0, 219, 0, 0, 0, 167, 0, 0, 0, 157, 0, 0, 0, 157, 0, 0, 0, 191, 0, 0, 0, 160, 0, 0, 0, 204, 0, 0, 0, 237, 0, 0, 0, 83, 0, 0, 0, 162, 0, 0, 0, 162, -0, 0, 0, 25, 0, 0, 0, 57, 0, 0, 0, 72, 0, 0, 0, 131, 0, 0, 0, 25, 0, 0, 0, 55, 0, 0, 0, 88, 0, 0, 0, 209, 0, 0, 0, 4, 0, 0, 0, 40, 0, 0, 0, 64, 0, 0, 0, 247, 0, 0, 0, 138, 0, 0, 0, 194, 0, 0, 0, 8, 0, 0, 0, 183, 0, 0, 0, 165, 0, 0, 0, 66, 0, 0, 0, 207, 0, 0, 0, 83, 0, 0, 0, 76, 0, 0, 0, 167, 0, 0, 0, 187, 0, 0, 0, 246, 0, 0, 0, 142, 0, 0, 0, 173, 0, 0, 0, 221, 0, 0, 0, 247, 0, 0, 0, 144, 0, 0, 0, 221, 0, 0, 0, 95, 0, 0, 0, 147, 0, 0, 0, 137, 0, 0, 0, 174, 0, 0, 0, 4, 0, 0, 0, 55, 0, 0, 0, 230, 0, -0, 0, 154, 0, 0, 0, 183, 0, 0, 0, 232, 0, 0, 0, 192, 0, 0, 0, 223, 0, 0, 0, 22, 0, 0, 0, 42, 0, 0, 0, 191, 0, 0, 0, 196, 0, 0, 0, 58, 0, 0, 0, 60, 0, 0, 0, 65, 0, 0, 0, 213, 0, 0, 0, 137, 0, 0, 0, 114, 0, 0, 0, 90, 0, 0, 0, 31, 0, 0, 0, 150, 0, 0, 0, 255, 0, 0, 0, 52, 0, 0, 0, 44, 0, 0, 0, 19, 0, 0, 0, 33, 0, 0, 0, 203, 0, 0, 0, 10, 0, 0, 0, 137, 0, 0, 0, 133, 0, 0, 0, 190, 0, 0, 0, 179, 0, 0, 0, 112, 0, 0, 0, 158, 0, 0, 0, 30, 0, 0, 0, 222, 0, 0, 0, 151, 0, 0, 0, 175, 0, 0, 0, 150, 0, 0, 0, 48, -0, 0, 0, 247, 0, 0, 0, 72, 0, 0, 0, 137, 0, 0, 0, 64, 0, 0, 0, 141, 0, 0, 0, 7, 0, 0, 0, 241, 0, 0, 0, 37, 0, 0, 0, 240, 0, 0, 0, 48, 0, 0, 0, 88, 0, 0, 0, 30, 0, 0, 0, 212, 0, 0, 0, 147, 0, 0, 0, 87, 0, 0, 0, 226, 0, 0, 0, 23, 0, 0, 0, 231, 0, 0, 0, 157, 0, 0, 0, 171, 0, 0, 0, 60, 0, 0, 0, 85, 0, 0, 0, 3, 0, 0, 0, 130, 0, 0, 0, 47, 0, 0, 0, 43, 0, 0, 0, 219, 0, 0, 0, 86, 0, 0, 0, 30, 0, 0, 0, 48, 0, 0, 0, 46, 0, 0, 0, 36, 0, 0, 0, 71, 0, 0, 0, 110, 0, 0, 0, 230, 0, 0, 0, 255, 0, 0, 0, 51, 0, 0, -0, 36, 0, 0, 0, 44, 0, 0, 0, 117, 0, 0, 0, 81, 0, 0, 0, 212, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 6, 0, 0, 0, 217, 0, 0, 0, 161, 0, 0, 0, 93, 0, 0, 0, 225, 0, 0, 0, 244, 0, 0, 0, 209, 0, 0, 0, 30, 0, 0, 0, 60, 0, 0, 0, 154, 0, 0, 0, 198, -0, 0, 0, 41, 0, 0, 0, 43, 0, 0, 0, 19, 0, 0, 0, 19, 0, 0, 0, 120, 0, 0, 0, 192, 0, 0, 0, 216, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 45, 0, 0, 0, 158, 0, 0, 0, 169, 0, 0, 0, 201, 0, 0, 0, 121, 0, 0, 0, 87, 0, 0, 0, 171, 0, 0, 0, 36, 0, 0, 0, 145, 0, 0, 0, 146, 0, 0, 0, 25, 0, 0, 0, 105, 0, 0, 0, 251, 0, 0, 0, 161, 0, 0, 0, 156, 0, 0, 0, 166, 0, 0, 0, 117, 0, 0, 0, 73, 0, 0, 0, 125, 0, 0, 0, 96, 0, 0, 0, 115, 0, 0, 0, 64, 0, 0, 0, 66, 0, 0, 0, 196, 0, 0, 0, 19, 0, 0, 0, 10, 0, 0, 0, 149, 0, 0, 0, 121, -0, 0, 0, 30, 0, 0, 0, 4, 0, 0, 0, 131, 0, 0, 0, 148, 0, 0, 0, 153, 0, 0, 0, 155, 0, 0, 0, 30, 0, 0, 0, 12, 0, 0, 0, 232, 0, 0, 0, 31, 0, 0, 0, 84, 0, 0, 0, 239, 0, 0, 0, 203, 0, 0, 0, 192, 0, 0, 0, 82, 0, 0, 0, 20, 0, 0, 0, 137, 0, 0, 0, 115, 0, 0, 0, 161, 0, 0, 0, 55, 0, 0, 0, 135, 0, 0, 0, 106, 0, 0, 0, 122, 0, 0, 0, 207, 0, 0, 0, 29, 0, 0, 0, 217, 0, 0, 0, 46, 0, 0, 0, 26, 0, 0, 0, 103, 0, 0, 0, 237, 0, 0, 0, 116, 0, 0, 0, 192, 0, 0, 0, 240, 0, 0, 0, 156, 0, 0, 0, 51, 0, 0, 0, 221, 0, 0, 0, 223, -0, 0, 0, 8, 0, 0, 0, 191, 0, 0, 0, 123, 0, 0, 0, 209, 0, 0, 0, 102, 0, 0, 0, 218, 0, 0, 0, 230, 0, 0, 0, 201, 0, 0, 0, 73, 0, 0, 0, 8, 0, 0, 0, 233, 0, 0, 0, 221, 0, 0, 0, 94, 0, 0, 0, 85, 0, 0, 0, 176, 0, 0, 0, 10, 0, 0, 0, 222, 0, 0, 0, 33, 0, 0, 0, 76, 0, 0, 0, 90, 0, 0, 0, 46, 0, 0, 0, 212, 0, 0, 0, 128, 0, 0, 0, 58, 0, 0, 0, 87, 0, 0, 0, 146, 0, 0, 0, 122, 0, 0, 0, 241, 0, 0, 0, 196, 0, 0, 0, 44, 0, 0, 0, 64, 0, 0, 0, 175, 0, 0, 0, 47, 0, 0, 0, 201, 0, 0, 0, 146, 0, 0, 0, 3, 0, 0, 0, 229, 0, -0, 0, 90, 0, 0, 0, 188, 0, 0, 0, 220, 0, 0, 0, 244, 0, 0, 0, 9, 0, 0, 0, 243, 0, 0, 0, 225, 0, 0, 0, 43, 0, 0, 0, 124, 0, 0, 0, 5, 0, 0, 0, 134, 0, 0, 0, 128, 0, 0, 0, 147, 0, 0, 0, 74, 0, 0, 0, 173, 0, 0, 0, 180, 0, 0, 0, 143, 0, 0, 0, 126, 0, 0, 0, 153, 0, 0, 0, 12, 0, 0, 0, 253, 0, 0, 0, 205, 0, 0, 0, 239, 0, 0, 0, 209, 0, 0, 0, 255, 0, 0, 0, 44, 0, 0, 0, 105, 0, 0, 0, 52, 0, 0, 0, 19, 0, 0, 0, 65, 0, 0, 0, 100, 0, 0, 0, 207, 0, 0, 0, 59, 0, 0, 0, 208, 0, 0, 0, 144, 0, 0, 0, 9, 0, 0, 0, 30, 0, -0, 0, 157, 0, 0, 0, 69, 0, 0, 0, 214, 0, 0, 0, 128, 0, 0, 0, 230, 0, 0, 0, 69, 0, 0, 0, 170, 0, 0, 0, 244, 0, 0, 0, 21, 0, 0, 0, 170, 0, 0, 0, 92, 0, 0, 0, 52, 0, 0, 0, 135, 0, 0, 0, 153, 0, 0, 0, 162, 0, 0, 0, 140, 0, 0, 0, 38, 0, 0, 0, 132, 0, 0, 0, 98, 0, 0, 0, 125, 0, 0, 0, 182, 0, 0, 0, 41, 0, 0, 0, 192, 0, 0, 0, 82, 0, 0, 0, 234, 0, 0, 0, 245, 0, 0, 0, 129, 0, 0, 0, 24, 0, 0, 0, 15, 0, 0, 0, 53, 0, 0, 0, 169, 0, 0, 0, 14, 0, 0, 0, 231, 0, 0, 0, 32, 0, 0, 0, 114, 0, 0, 0, 124, 0, 0, 0, 109, -0, 0, 0, 148, 0, 0, 0, 95, 0, 0, 0, 82, 0, 0, 0, 68, 0, 0, 0, 84, 0, 0, 0, 227, 0, 0, 0, 241, 0, 0, 0, 178, 0, 0, 0, 176, 0, 0, 0, 54, 0, 0, 0, 70, 0, 0, 0, 15, 0, 0, 0, 174, 0, 0, 0, 146, 0, 0, 0, 232, 0, 0, 0, 112, 0, 0, 0, 157, 0, 0, 0, 110, 0, 0, 0, 121, 0, 0, 0, 177, 0, 0, 0, 173, 0, 0, 0, 55, 0, 0, 0, 169, 0, 0, 0, 95, 0, 0, 0, 192, 0, 0, 0, 222, 0, 0, 0, 3, 0, 0, 0, 21, 0, 0, 0, 85, 0, 0, 0, 55, 0, 0, 0, 198, 0, 0, 0, 28, 0, 0, 0, 39, 0, 0, 0, 28, 0, 0, 0, 109, 0, 0, 0, 20, 0, 0, 0, 79, 0, -0, 0, 202, 0, 0, 0, 164, 0, 0, 0, 196, 0, 0, 0, 136, 0, 0, 0, 37, 0, 0, 0, 70, 0, 0, 0, 57, 0, 0, 0, 252, 0, 0, 0, 90, 0, 0, 0, 229, 0, 0, 0, 254, 0, 0, 0, 41, 0, 0, 0, 17, 0, 0, 0, 105, 0, 0, 0, 245, 0, 0, 0, 114, 0, 0, 0, 132, 0, 0, 0, 77, 0, 0, 0, 120, 0, 0, 0, 159, 0, 0, 0, 148, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 0, 0, 0, 211, 0, 0, 0, 255, 0, 0, 0, 87, 0, 0, 0, 11, 0, 0, 0, 176, 0, 0, 0, 178, 0, 0, 0, 220, 0, 0, 0, 248, 0, 0, 0, 79, 0, 0, 0, 226, 0, 0, 0, 18, 0, 0, 0, 213, 0, 0, 0, 54, 0, 0, 0, 190, 0, 0, 0, 107, 0, 0, 0, 9, 0, 0, 0, 67, 0, 0, 0, 109, 0, 0, 0, 163, 0, 0, 0, 77, 0, 0, 0, 144, 0, 0, 0, 45, 0, 0, 0, 184, 0, 0, 0, 116, 0, 0, 0, 232, 0, 0, 0, 113, 0, 0, 0, 69, 0, 0, 0, 25, 0, 0, 0, 139, 0, 0, 0, 12, 0, 0, 0, 106, 0, -0, 0, 184, 0, 0, 0, 66, 0, 0, 0, 28, 0, 0, 0, 3, 0, 0, 0, 173, 0, 0, 0, 44, 0, 0, 0, 3, 0, 0, 0, 142, 0, 0, 0, 172, 0, 0, 0, 215, 0, 0, 0, 152, 0, 0, 0, 41, 0, 0, 0, 19, 0, 0, 0, 198, 0, 0, 0, 2, 0, 0, 0, 41, 0, 0, 0, 181, 0, 0, 0, 212, 0, 0, 0, 231, 0, 0, 0, 207, 0, 0, 0, 204, 0, 0, 0, 139, 0, 0, 0, 131, 0, 0, 0, 236, 0, 0, 0, 53, 0, 0, 0, 199, 0, 0, 0, 156, 0, 0, 0, 116, 0, 0, 0, 183, 0, 0, 0, 173, 0, 0, 0, 133, 0, 0, 0, 95, 0, 0, 0, 120, 0, 0, 0, 132, 0, 0, 0, 225, 0, 0, 0, 86, 0, 0, 0, 69, 0, -0, 0, 105, 0, 0, 0, 104, 0, 0, 0, 90, 0, 0, 0, 79, 0, 0, 0, 184, 0, 0, 0, 177, 0, 0, 0, 41, 0, 0, 0, 255, 0, 0, 0, 51, 0, 0, 0, 3, 0, 0, 0, 49, 0, 0, 0, 183, 0, 0, 0, 203, 0, 0, 0, 150, 0, 0, 0, 37, 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 65, 0, 0, 0, 152, 0, 0, 0, 26, 0, 0, 0, 187, 0, 0, 0, 3, 0, 0, 0, 86, 0, 0, 0, 242, 0, 0, 0, 178, 0, 0, 0, 145, 0, 0, 0, 52, 0, 0, 0, 44, 0, 0, 0, 108, 0, 0, 0, 247, 0, 0, 0, 102, 0, 0, 0, 164, 0, 0, 0, 98, 0, 0, 0, 107, 0, 0, 0, 57, 0, 0, 0, 179, 0, 0, 0, 186, 0, -0, 0, 101, 0, 0, 0, 211, 0, 0, 0, 28, 0, 0, 0, 248, 0, 0, 0, 17, 0, 0, 0, 170, 0, 0, 0, 190, 0, 0, 0, 220, 0, 0, 0, 128, 0, 0, 0, 89, 0, 0, 0, 135, 0, 0, 0, 245, 0, 0, 0, 123, 0, 0, 0, 229, 0, 0, 0, 227, 0, 0, 0, 179, 0, 0, 0, 62, 0, 0, 0, 57, 0, 0, 0, 218, 0, 0, 0, 190, 0, 0, 0, 136, 0, 0, 0, 9, 0, 0, 0, 139, 0, 0, 0, 241, 0, 0, 0, 160, 0, 0, 0, 245, 0, 0, 0, 220, 0, 0, 0, 41, 0, 0, 0, 180, 0, 0, 0, 226, 0, 0, 0, 7, 0, 0, 0, 198, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 137, 0, 0, 0, 23, -0, 0, 0, 81, 0, 0, 0, 212, 0, 0, 0, 187, 0, 0, 0, 212, 0, 0, 0, 34, 0, 0, 0, 234, 0, 0, 0, 126, 0, 0, 0, 125, 0, 0, 0, 124, 0, 0, 0, 36, 0, 0, 0, 234, 0, 0, 0, 242, 0, 0, 0, 232, 0, 0, 0, 34, 0, 0, 0, 18, 0, 0, 0, 149, 0, 0, 0, 6, 0, 0, 0, 218, 0, 0, 0, 124, 0, 0, 0, 164, 0, 0, 0, 12, 0, 0, 0, 244, 0, 0, 0, 186, 0, 0, 0, 110, 0, 0, 0, 225, 0, 0, 0, 137, 0, 0, 0, 181, 0, 0, 0, 89, 0, 0, 0, 202, 0, 0, 0, 241, 0, 0, 0, 192, 0, 0, 0, 41, 0, 0, 0, 54, 0, 0, 0, 9, 0, 0, 0, 68, 0, 0, 0, 226, 0, 0, 0, 127, -0, 0, 0, 209, 0, 0, 0, 99, 0, 0, 0, 21, 0, 0, 0, 153, 0, 0, 0, 234, 0, 0, 0, 37, 0, 0, 0, 207, 0, 0, 0, 12, 0, 0, 0, 157, 0, 0, 0, 192, 0, 0, 0, 68, 0, 0, 0, 111, 0, 0, 0, 29, 0, 0, 0, 134, 0, 0, 0, 78, 0, 0, 0, 207, 0, 0, 0, 247, 0, 0, 0, 55, 0, 0, 0, 16, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 18, 0, 0, 0, 251, 0, 0, 0, 25, 0, 0, 0, 251, 0, 0, 0, 224, 0, 0, 0, 237, 0, 0, 0, 16, 0, 0, 0, 200, 0, 0, 0, 226, 0, 0, 0, 245, 0, 0, 0, 117, 0, 0, 0, 177, 0, 0, 0, 51, 0, 0, 0, 192, 0, 0, 0, 150, 0, 0, 0, 13, -0, 0, 0, 251, 0, 0, 0, 21, 0, 0, 0, 108, 0, 0, 0, 13, 0, 0, 0, 7, 0, 0, 0, 95, 0, 0, 0, 5, 0, 0, 0, 105, 0, 0, 0, 62, 0, 0, 0, 71, 0, 0, 0, 151, 0, 0, 0, 44, 0, 0, 0, 175, 0, 0, 0, 82, 0, 0, 0, 124, 0, 0, 0, 120, 0, 0, 0, 131, 0, 0, 0, 173, 0, 0, 0, 27, 0, 0, 0, 57, 0, 0, 0, 130, 0, 0, 0, 47, 0, 0, 0, 2, 0, 0, 0, 111, 0, 0, 0, 71, 0, 0, 0, 219, 0, 0, 0, 42, 0, 0, 0, 176, 0, 0, 0, 225, 0, 0, 0, 145, 0, 0, 0, 153, 0, 0, 0, 85, 0, 0, 0, 184, 0, 0, 0, 153, 0, 0, 0, 58, 0, 0, 0, 160, 0, 0, 0, 68, 0, 0, -0, 17, 0, 0, 0, 81, 0, 0, 0, 163, 120, 89, 19, 202, 77, 235, 117, 171, 216, 65, 65, 77, 10, 112, 0, 152, 232, 121, 119, 121, 64, 199, 140, 115, 254, 111, 43, 238, 108, 3, 82, 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12, 15, 10, 5, 0, 14, 9, 4, 3, 13, 8, 7, 2, 12, 11, 6, 1, 1, 2, 3, 0, 6, 7, 4, 5, 11, 8, 9, 10, 12, 13, 14, 15, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3, 15, 11, 7, 3, 14, 10, 6, 2, 13, 9, 5, 1, 12, 8, 4, 0, 3, 3, 3, -3, 7, 7, 7, 7, 11, 11, 11, 11, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, -255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 26, 0, 0, 0, 213, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 96, 0, 0, 0, 45, 0, 0, 0, 86, 0, 0, 0, 201, 0, 0, 0, 178, 0, 0, 0, 167, 0, 0, 0, 37, 0, 0, 0, 149, 0, 0, 0, 96, 0, 0, 0, 199, 0, 0, 0, 44, 0, 0, 0, 105, 0, 0, 0, 92, 0, 0, 0, 220, 0, 0, 0, 214, 0, 0, 0, 253, 0, 0, 0, 49, 0, 0, 0, 226, -0, 0, 0, 164, 0, 0, 0, 192, 0, 0, 0, 254, 0, 0, 0, 83, 0, 0, 0, 110, 0, 0, 0, 205, 0, 0, 0, 211, 0, 0, 0, 54, 0, 0, 0, 105, 0, 0, 0, 33, 0, 0, 0, 88, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, -0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 221, 0, 0, 0, -183, 0, 0, 0, 165, 0, 0, 0, 179, 0, 0, 0, 138, 0, 0, 0, 222, 0, 0, 0, 109, 0, 0, 0, 245, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 119, 0, 0, 0, 128, 0, 0, 0, 159, 0, 0, 0, 240, 0, 0, 0, 32, 0, 0, 0, 125, 0, 0, 0, 227, 0, 0, 0, 171, 0, 0, 0, 100, 0, 0, 0, 142, 0, 0, 0, 78, 0, 0, 0, 234, 0, 0, 0, 102, 0, 0, 0, 101, 0, 0, 0, 118, 0, 0, 0, 139, 0, 0, 0, 215, 0, 0, 0, 15, 0, 0, 0, 95, 0, 0, 0, 135, 0, 0, 0, 103, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 97, 109, 98, 105, 103, 117, 111, 117, 115, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 46, 42, 115, 0, 0, 0, 0, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 80, 79, 83, 73, 88, 76, 89, 95, 67, 79, 82, 82, 69, 67, 84, 0, 115, 116, 100, 58, 58, 98, 97, 100, 95, 97, 108, 108, 111, 99, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 37, 115, 10, 0, 0, 0, 0, 0, 37, 115, 10, 0, 0, 0, 0, 0, 105, 110, 32, 117, 115, 101, 32, 98, 121, 116, 101, 115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, -0, 0, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0, 0, 0, 0, 58, 32, 0, 0, 0, 0, 0, 0, 58, 32, 0, 0, 0, 0, 0, 0, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, 115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, 109, 97, 120, 32, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, 115, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 120, 181, 1, 0, 6, 0, 0, 0, 10, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 181, 1, 0, 6, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 116, 57, 101, 120, 99, 101, 112, 116, 105, 111, 110, 0, 0, 0, 0, 83, 116, 57, 98, 97, 100, 95, 97, 108, 108, 111, 99, 0, 0, 0, 0, 83, 116, 50, 48, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 181, 1, 0, 0, 0, -0, 0, 64, 181, 1, 0, 112, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 181, 1, 0, 120, 181, 1, 0, 0, 0, 0, 0]), "i8", Na, 8); -var qb = xa(F(12, "i8", E), 8); -v(0 == qb % 8); -r._memset = rb; -r._memcpy = sb; -var tb = {crypto:m}; -function ub(a, b, c) { - c && e({message:"_randombytes count overflow"}); - G.set(tb.crypto.randomBytes(b), a); - return 0 -} -r._randombytes = ub; -var vb = 0; -function M(a) { - return B[vb >> 2] = a -} -var N = {L:1, ca:2, Bd:3, sc:4, I:5, za:6, Jb:7, Sc:8, $:9, Zb:10, ua:11, Ld:11, $a:12, Ya:13, kc:14, ed:15, Wb:16, va:17, Md:18, wa:19, gd:20, aa:21, A:22, Mc:23, Za:24, ld:25, Id:26, lc:27, ad:28, da:29, yd:30, Fc:31, rd:32, hc:33, ab:34, Wc:35, pc:36, $b:37, vc:38, wc:39, xc:40, Ec:41, Jd:42, Qc:43, uc:44, ec:45, Tc:46, Pb:50, Sb:51, Nd:52, Oc:53, Tb:54, Ub:55, fc:56, Vb:57, cd:60, Rc:61, Fd:62, bd:63, Xc:64, Yc:65, xd:66, Uc:67, Mb:68, Cd:69, ac:70, td:71, Hc:74, yc:75, ic:76, Rb:77, mc:79, md:80, -Qb:81, wd:82, zc:83, Ac:84, Dc:85, Cc:86, Bc:87, dd:88, Nc:89, ya:90, Ic:91, ba:92, nd:95, qd:96, dc:104, Pc:105, Nb:106, vd:107, jd:108, Zc:109, zd:110, cc:111, Kb:112, bc:113, Lc:114, Jc:115, Gd:116, nc:117, oc:118, rc:119, Ob:120, gc:121, Gc:122, ud:123, Ad:124, Lb:125, Kc:126, tc:127, fd:128, Hd:129, sd:130, Kd:131, jc:132, Dd:133, kd:134, Vc:135, $c:136, Yb:137, qc:138, od:139, Xb:140, hd:141, pd:142, Ed:143}, wb = {"0":"Success", 1:"Not super-user", 2:"No such file or directory", 3:"No such process", -4:"Interrupted system call", 5:"I/O error", 6:"No such device or address", 7:"Arg list too long", 8:"Exec format error", 9:"Bad file number", 10:"No children", 11:"No more processes", 12:"Not enough core", 13:"Permission denied", 14:"Bad address", 15:"Block device required", 16:"Mount device busy", 17:"File exists", 18:"Cross-device link", 19:"No such device", 20:"Not a directory", 21:"Is a directory", 22:"Invalid argument", 23:"Too many open files in system", 24:"Too many open files", 25:"Not a typewriter", -26:"Text file busy", 27:"File too large", 28:"No space left on device", 29:"Illegal seek", 30:"Read only file system", 31:"Too many links", 32:"Broken pipe", 33:"Math arg out of domain of func", 34:"Math result not representable", 35:"No message of desired type", 36:"Identifier removed", 37:"Channel number out of range", 38:"Level 2 not synchronized", 39:"Level 3 halted", 40:"Level 3 reset", 41:"Link number out of range", 42:"Protocol driver not attached", 43:"No CSI structure available", 44:"Level 2 halted", -45:"Deadlock condition", 46:"No record locks available", 50:"Invalid exchange", 51:"Invalid request descriptor", 52:"Exchange full", 53:"No anode", 54:"Invalid request code", 55:"Invalid slot", 56:"File locking deadlock error", 57:"Bad font file fmt", 60:"Device not a stream", 61:"No data (for no delay io)", 62:"Timer expired", 63:"Out of streams resources", 64:"Machine is not on the network", 65:"Package not installed", 66:"The object is remote", 67:"The link has been severed", 68:"Advertise error", -69:"Srmount error", 70:"Communication error on send", 71:"Protocol error", 74:"Multihop attempted", 75:"Inode is remote (not really error)", 76:"Cross mount point (not really error)", 77:"Trying to read unreadable message", 79:"Inappropriate file type or format", 80:"Given log. name not unique", 81:"f.d. invalid for this operation", 82:"Remote address changed", 83:"Can\t access a needed shared lib", 84:"Accessing a corrupted shared lib", 85:".lib section in a.out corrupted", 86:"Attempting to link in too many libs", -87:"Attempting to exec a shared library", 88:"Function not implemented", 89:"No more files", 90:"Directory not empty", 91:"File or path name too long", 92:"Too many symbolic links", 95:"Operation not supported on transport endpoint", 96:"Protocol family not supported", 104:"Connection reset by peer", 105:"No buffer space available", 106:"Address family not supported by protocol family", 107:"Protocol wrong type for socket", 108:"Socket operation on non-socket", 109:"Protocol not available", 110:"Can't send after socket shutdown", -111:"Connection refused", 112:"Address already in use", 113:"Connection aborted", 114:"Network is unreachable", 115:"Network interface is not configured", 116:"Connection timed out", 117:"Host is down", 118:"Host is unreachable", 119:"Connection already in progress", 120:"Socket already connected", 121:"Destination address required", 122:"Message too long", 123:"Unknown protocol", 124:"Socket type not supported", 125:"Address not available", 126:"ENETRESET", 127:"Socket is already connected", 128:"Socket is not connected", -129:"TOOMANYREFS", 130:"EPROCLIM", 131:"EUSERS", 132:"EDQUOT", 133:"ESTALE", 134:"Not supported", 135:"No medium (in tape drive)", 136:"No such host or network path", 137:"Filename exists with different case", 138:"EILSEQ", 139:"Value too large for defined data type", 140:"Operation canceled", 141:"State not recoverable", 142:"Previous owner died", 143:"Streams pipe error"}; -function xb(a, b, c) { - var d = O(a, {parent:l}).d, a = "/" === a ? "/" : yb(a)[2], f = zb(d, a); - f && e(new Q(f)); - d.l.Ta || e(new Q(N.L)); - return d.l.Ta(d, a, b, c) -} -function Ab(a, b) { - b = b & 4095 | 32768; - return xb(a, b, 0) -} -function Bb(a, b) { - b = b & 1023 | 16384; - return xb(a, b, 0) -} -function Cb(a, b, c) { - return xb(a, b | 8192, c) -} -function Db(a, b) { - var c = O(b, {parent:l}).d, d = "/" === b ? "/" : yb(b)[2], f = zb(c, d); - f && e(new Q(f)); - c.l.Wa || e(new Q(N.L)); - return c.l.Wa(c, d, a) -} -function Eb(a, b) { - var c; - c = "string" === typeof a ? O(a, {N:l}).d : a; - c.l.Y || e(new Q(N.L)); - c.l.Y(c, {mode:b & 4095 | c.mode & -4096, timestamp:Date.now()}) -} -function Fb(a, b) { - var c, a = Gb(a), d; - "string" === typeof b ? (d = Hb[b], "undefined" === typeof d && e(Error("Unknown file open mode: " + b))) : d = b; - b = d; - c = b & 512 ? c & 4095 | 32768 : 0; - var f; - try { - var g = O(a, {N:!(b & 65536)}); - f = g.d; - a = g.path - }catch(h) { - } - b & 512 && (f ? b & 2048 && e(new Q(N.va)) : f = xb(a, c, 0)); - f || e(new Q(N.ca)); - 8192 === (f.mode & 61440) && (b &= -1025); - f ? 40960 === (f.mode & 61440) ? c = N.ba : 16384 === (f.mode & 61440) && (0 !== (b & 3) || b & 1024) ? c = N.aa : (c = ["r", "w", "rw"][b & 3], b & 1024 && (c += "w"), c = Ib(f, c)) : c = N.ca; - c && e(new Q(c)); - b & 1024 && (c = f, c = "string" === typeof c ? O(c, {N:l}).d : c, c.l.Y || e(new Q(N.L)), 16384 === (c.mode & 61440) && e(new Q(N.aa)), 32768 !== (c.mode & 61440) && e(new Q(N.A)), (g = Ib(c, "w")) && e(new Q(g)), c.l.Y(c, {size:0, timestamp:Date.now()})); - var i = {path:a, d:f, M:b, seekable:l, position:0, e:f.e, Gb:[], error:n}, j; - a: { - f = k || 4096; - for(c = k || 1;c <= f;c++) { - if(!R[c]) { - j = c; - break a - } - } - e(new Q(N.Za)) - } - i.s = j; - Object.defineProperty(i, "object", {get:function() { - return i.d - }, set:function(a) { - i.d = a - }}); - Object.defineProperty(i, "isRead", {get:function() { - return 1 !== (i.M & 3) - }}); - Object.defineProperty(i, "isWrite", {get:function() { - return 0 !== (i.M & 3) - }}); - Object.defineProperty(i, "isAppend", {get:function() { - return i.M & 8 - }}); - R[j] = i; - i.e.open && i.e.open(i); - return i -} -function Jb(a) { - try { - a.e.close && a.e.close(a) - }catch(b) { - e(b) - }finally { - R[a.s] = m - } -} -function Kb(a, b, c, d, f) { - (0 > d || 0 > f) && e(new Q(N.A)); - 0 === (a.M & 3) && e(new Q(N.$)); - 16384 === (a.d.mode & 61440) && e(new Q(N.aa)); - a.e.write || e(new Q(N.A)); - var g = l; - "undefined" === typeof f ? (f = a.position, g = n) : a.seekable || e(new Q(N.da)); - a.M & 8 && ((!a.seekable || !a.e.na) && e(new Q(N.da)), a.e.na(a, 0, 2)); - b = a.e.write(a, b, c, d, f); - g || (a.position += b); - return b -} -function yb(a) { - return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1) -} -function Lb(a, b) { - for(var c = 0, d = a.length - 1;0 <= d;d--) { - var f = a[d]; - "." === f ? a.splice(d, 1) : ".." === f ? (a.splice(d, 1), c++) : c && (a.splice(d, 1), c--) - } - if(b) { - for(;c--;c) { - a.unshift("..") - } - } - return a -} -function Gb(a) { - var b = "/" === a.charAt(0), c = "/" === a.substr(-1), a = Lb(a.split("/").filter(function(a) { - return!!a - }), !b).join("/"); - !a && !b && (a = "."); - a && c && (a += "/"); - return(b ? "/" : "") + a -} -function S() { - var a = Array.prototype.slice.call(arguments, 0); - return Gb(a.filter(function(a) { - "string" !== typeof a && e(new TypeError("Arguments to path.join must be strings")); - return a - }).join("/")) -} -function Mb() { - for(var a = "", b = n, c = arguments.length - 1;-1 <= c && !b;c--) { - var d = 0 <= c ? arguments[c] : "/"; - "string" !== typeof d && e(new TypeError("Arguments to path.resolve must be strings")); - d && (a = d + "/" + a, b = "/" === d.charAt(0)) - } - a = Lb(a.split("/").filter(function(a) { - return!!a - }), !b).join("/"); - return(b ? "/" : "") + a || "." -} -var Nb = []; -function Ob(a, b) { - Nb[a] = {input:[], H:[], O:b}; - Pb[a] = {e:Qb} -} -var Qb = {open:function(a) { - Rb || (Rb = new pa); - var b = Nb[a.d.X]; - b || e(new Q(N.wa)); - a.q = b; - a.seekable = n -}, close:function(a) { - a.q.H.length && a.q.O.W(a.q, 10) -}, Q:function(a, b, c, d) { - (!a.q || !a.q.O.Na) && e(new Q(N.za)); - for(var f = 0, g = 0;g < d;g++) { - var h; - try { - h = a.q.O.Na(a.q) - }catch(i) { - e(new Q(N.I)) - } - h === k && 0 === f && e(new Q(N.ua)); - if(h === m || h === k) { - break - } - f++; - b[c + g] = h - } - f && (a.d.timestamp = Date.now()); - return f -}, write:function(a, b, c, d) { - (!a.q || !a.q.O.W) && e(new Q(N.za)); - for(var f = 0;f < d;f++) { - try { - a.q.O.W(a.q, b[c + f]) - }catch(g) { - e(new Q(N.I)) - } - } - d && (a.d.timestamp = Date.now()); - return f -}}, Rb, T = {z:function() { - return T.ka(m, "/", 16895, 0) -}, ka:function(a, b, c, d) { - (24576 === (c & 61440) || 4096 === (c & 61440)) && e(new Q(N.L)); - c = Sb(a, b, c, d); - c.l = T.l; - 16384 === (c.mode & 61440) ? (c.e = T.e, c.g = {}) : 32768 === (c.mode & 61440) ? (c.e = T.e, c.g = []) : 40960 === (c.mode & 61440) ? c.e = T.e : 8192 === (c.mode & 61440) && (c.e = Tb); - c.timestamp = Date.now(); - a && (a.g[b] = c); - return c -}, l:{ge:function(a) { - var b = {}; - b.ce = 8192 === (a.mode & 61440) ? a.id : 1; - b.je = a.id; - b.mode = a.mode; - b.pe = 1; - b.uid = 0; - b.he = 0; - b.X = a.X; - b.size = 16384 === (a.mode & 61440) ? 4096 : 32768 === (a.mode & 61440) ? a.g.length : 40960 === (a.mode & 61440) ? a.link.length : 0; - b.Yd = new Date(a.timestamp); - b.oe = new Date(a.timestamp); - b.ae = new Date(a.timestamp); - b.ib = 4096; - b.Zd = Math.ceil(b.size / b.ib); - return b -}, Y:function(a, b) { - b.mode !== k && (a.mode = b.mode); - b.timestamp !== k && (a.timestamp = b.timestamp); - if(b.size !== k) { - var c = a.g; - if(b.size < c.length) { - c.length = b.size - }else { - for(;b.size > c.length;) { - c.push(0) - } - } - } -}, tb:function() { - e(new Q(N.ca)) -}, Ta:function(a, b, c, d) { - return T.ka(a, b, c, d) -}, rename:function(a, b, c) { - if(16384 === (a.mode & 61440)) { - var d; - try { - d = Ub(b, c) - }catch(f) { - } - if(d) { - for(var g in d.g) { - e(new Q(N.ya)) - } - } - } - delete a.parent.g[a.name]; - a.name = c; - b.g[c] = a -}, ze:function(a, b) { - delete a.g[b] -}, ve:function(a, b) { - var c = Ub(a, b), d; - for(d in c.g) { - e(new Q(N.ya)) - } - delete a.g[b] -}, Wa:function(a, b, c) { - a = T.ka(a, b, 41471, 0); - a.link = c; - return a -}, Va:function(a) { - 40960 !== (a.mode & 61440) && e(new Q(N.A)); - return a.link -}}, e:{open:function(a) { - if(16384 === (a.d.mode & 61440)) { - var b = [".", ".."], c; - for(c in a.d.g) { - a.d.g.hasOwnProperty(c) && b.push(c) - } - a.lb = b - } -}, Q:function(a, b, c, d, f) { - a = a.d.g; - d = Math.min(a.length - f, d); - if(a.subarray) { - b.set(a.subarray(f, f + d), c) - }else { - for(var g = 0;g < d;g++) { - b[c + g] = a[f + g] - } - } - return d -}, write:function(a, b, c, d, f) { - for(var g = a.d.g;g.length < f;) { - g.push(0) - } - for(var h = 0;h < d;h++) { - g[f + h] = b[c + h] - } - a.d.timestamp = Date.now(); - return d -}, na:function(a, b, c) { - 1 === c ? b += a.position : 2 === c && 32768 === (a.d.mode & 61440) && (b += a.d.g.length); - 0 > b && e(new Q(N.A)); - a.Gb = []; - return a.position = b -}, ue:function(a) { - return a.lb -}, Wd:function(a, b, c) { - a = a.d.g; - for(b += c;b > a.length;) { - a.push(0) - } -}, ne:function(a, b, c, d, f, g, h) { - 32768 !== (a.d.mode & 61440) && e(new Q(N.wa)); - a = a.d.g; - if(h & 2) { - if(0 < f || f + d < a.length) { - a = a.subarray ? a.subarray(f, f + d) : Array.prototype.slice.call(a, f, f + d) - } - f = l; - (d = Oa(d)) || e(new Q(N.$a)); - b.set(a, d) - }else { - v(a.buffer === b || a.buffer === b.buffer), f = n, d = a.byteOffset - } - return{te:d, Xd:f} -}}}, Vb = F(1, "i32*", E), Wb = F(1, "i32*", E); -nb = F(1, "i32*", E); -var Xb = m, Pb = [m], R = [m], Yb = 1, Zb = [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], $b = l; -function Q(a) { - this.mb = a; - for(var b in N) { - if(N[b] === a) { - this.code = b; - break - } - } - this.message = wb[a] -} -function ac(a) { - a instanceof Q || e(a + " : " + Error().stack); - M(a.mb) -} -function bc(a, b) { - for(var c = 0, d = 0;d < b.length;d++) { - c = (c << 5) - c + b.charCodeAt(d) | 0 - } - return(a + c) % Zb.length -} -function Ub(a, b) { - var c = Ib(a, "x"); - c && e(new Q(c)); - for(c = Zb[bc(a.id, b)];c;c = c.wb) { - if(c.parent.id === a.id && c.name === b) { - return c - } - } - return a.l.tb(a, b) -} -function Sb(a, b, c, d) { - var f = {id:Yb++, name:b, mode:c, l:{}, e:{}, X:d, parent:m, z:m}; - a || (a = f); - f.parent = a; - f.z = a.z; - Object.defineProperty(f, "read", {get:function() { - return 365 === (f.mode & 365) - }, set:function(a) { - a ? f.mode |= 365 : f.mode &= -366 - }}); - Object.defineProperty(f, "write", {get:function() { - return 146 === (f.mode & 146) - }, set:function(a) { - a ? f.mode |= 146 : f.mode &= -147 - }}); - a = bc(f.parent.id, f.name); - f.wb = Zb[a]; - return Zb[a] = f -} -function O(a, b) { - a = Mb("/", a); - b = b || {pa:0}; - 8 < b.pa && e(new Q(N.ba)); - for(var c = Lb(a.split("/").filter(function(a) { - return!!a - }), n), d = Xb, f = "/", g = 0;g < c.length;g++) { - var h = g === c.length - 1; - if(h && b.parent) { - break - } - d = Ub(d, c[g]); - f = S(f, c[g]); - d.ub && (d = d.z.root); - if(!h || b.N) { - for(h = 0;40960 === (d.mode & 61440);) { - d = O(f, {N:n}).d; - d.l.Va || e(new Q(N.A)); - var d = d.l.Va(d), i = Mb; - var j = yb(f), f = j[0], j = j[1]; - !f && !j ? f = "." : (j && (j = j.substr(0, j.length - 1)), f += j); - f = i(f, d); - d = O(f, {pa:b.pa}).d; - 40 < h++ && e(new Q(N.ba)) - } - } - } - return{path:f, d:d} -} -function cc(a) { - for(var b;;) { - if(a === a.parent) { - return b ? S(a.z.Ua, b) : a.z.Ua - } - b = b ? S(a.name, b) : a.name; - a = a.parent - } -} -var Hb = {r:0, rs:8192, "r+":2, w:1537, wx:3585, xw:3585, "w+":1538, "wx+":3586, "xw+":3586, a:521, ax:2569, xa:2569, "a+":522, "ax+":2570, "xa+":2570}; -function Ib(a, b) { - return $b ? 0 : -1 !== b.indexOf("r") && !(a.mode & 292) || -1 !== b.indexOf("w") && !(a.mode & 146) || -1 !== b.indexOf("x") && !(a.mode & 73) ? N.Ya : 0 -} -function zb(a, b) { - try { - return Ub(a, b), N.va - }catch(c) { - } - return Ib(a, "wx") -} -var Tb = {open:function(a) { - a.e = Pb[a.d.X].e; - a.e.open && a.e.open(a) -}, na:function() { - e(new Q(N.da)) -}}, dc; -function ec(a, b) { - var c = 0; - a && (c |= 365); - b && (c |= 146); - return c -} -function fc(a, b, c, d, f) { - a = S("string" === typeof a ? a : cc(a), b); - d = ec(d, f); - f = Ab(a, d); - if(c) { - if("string" === typeof c) { - for(var b = Array(c.length), g = 0, h = c.length;g < h;++g) { - b[g] = c.charCodeAt(g) - } - c = b - } - Eb(a, d | 146); - b = Fb(a, "w"); - Kb(b, c, 0, c.length, 0); - Jb(b); - Eb(a, d) - } - return f -} -function gc(a, b, c, d) { - a = S("string" === typeof a ? a : cc(a), b); - gc.Sa || (gc.Sa = 64); - b = gc.Sa++ << 8 | 0; - Pb[b] = {e:{open:function(a) { - a.seekable = n - }, close:function() { - d && (d.buffer && d.buffer.length) && d(10) - }, Q:function(a, b, d, i) { - for(var j = 0, p = 0;p < i;p++) { - var z; - try { - z = c() - }catch(w) { - e(new Q(N.I)) - } - z === k && 0 === j && e(new Q(N.ua)); - if(z === m || z === k) { - break - } - j++; - b[d + p] = z - } - j && (a.d.timestamp = Date.now()); - return j - }, write:function(a, b, c, i) { - for(var j = 0;j < i;j++) { - try { - d(b[c + j]) - }catch(p) { - e(new Q(N.I)) - } - } - i && (a.d.timestamp = Date.now()); - return j - }}}; - return Cb(a, c && d ? 511 : c ? 219 : 365, b) -} -function hc(a, b, c) { - a = R[a]; - if(!a) { - return-1 - } - a.sender(G.subarray(b, b + c)); - return c -} -function ic(a, b, c) { - var d = R[a]; - if(!d) { - return M(N.$), -1 - } - if(d && "socket" in d) { - return hc(a, b, c) - } - try { - return Kb(d, A, b, c) - }catch(f) { - return ac(f), -1 - } -} -function jc(a, b, c, d) { - c *= b; - if(0 == c) { - return 0 - } - a = ic(d, a, c); - if(-1 == a) { - if(b = R[d]) { - b.error = l - } - return 0 - } - return Math.floor(a / b) -} -r._strlen = kc; -function lc(a) { - return 0 > a || 0 === a && -Infinity === 1 / a -} -function mc(a, b) { - function c(a) { - var c; - "double" === a ? c = Ja[b + f >> 3] : "i64" == a ? (c = [B[b + f >> 2], B[b + (f + 8) >> 2]], f += 8) : (a = "i32", c = B[b + f >> 2]); - f += Math.max(Math.max(la(a), ma), 8); - return c - } - for(var d = a, f = 0, g = [], h, i;;) { - var j = d; - h = A[d]; - if(0 === h) { - break - } - i = A[d + 1 | 0]; - if(37 == h) { - var p = n, z = n, w = n, C = n; - a:for(;;) { - switch(i) { - case 43: - p = l; - break; - case 45: - z = l; - break; - case 35: - w = l; - break; - case 48: - if(C) { - break a - }else { - C = l; - break - } - ; - default: - break a - } - d++; - i = A[d + 1 | 0] - } - var D = 0; - if(42 == i) { - D = c("i32"), d++, i = A[d + 1 | 0] - }else { - for(;48 <= i && 57 >= i;) { - D = 10 * D + (i - 48), d++, i = A[d + 1 | 0] - } - } - var L = n; - if(46 == i) { - var H = 0, L = l; - d++; - i = A[d + 1 | 0]; - if(42 == i) { - H = c("i32"), d++ - }else { - for(;;) { - i = A[d + 1 | 0]; - if(48 > i || 57 < i) { - break - } - H = 10 * H + (i - 48); - d++ - } - } - i = A[d + 1 | 0] - }else { - H = 6 - } - var y; - switch(String.fromCharCode(i)) { - case "h": - i = A[d + 2 | 0]; - 104 == i ? (d++, y = 1) : y = 2; - break; - case "l": - i = A[d + 2 | 0]; - 108 == i ? (d++, y = 8) : y = 4; - break; - case "L": - ; - case "q": - ; - case "j": - y = 8; - break; - case "z": - ; - case "t": - ; - case "I": - y = 4; - break; - default: - y = m - } - y && d++; - i = A[d + 1 | 0]; - switch(String.fromCharCode(i)) { - case "d": - ; - case "i": - ; - case "u": - ; - case "o": - ; - case "x": - ; - case "X": - ; - case "p": - j = 100 == i || 105 == i; - y = y || 4; - var P = h = c("i" + 8 * y), s; - 8 == y && (h = 117 == i ? +(h[0] >>> 0) + 4294967296 * +(h[1] >>> 0) : +(h[0] >>> 0) + 4294967296 * +(h[1] | 0)); - 4 >= y && (h = (j ? eb : db)(h & Math.pow(256, y) - 1, 8 * y)); - var ta = Math.abs(h), j = ""; - if(100 == i || 105 == i) { - s = 8 == y && nc ? nc.stringify(P[0], P[1], m) : eb(h, 8 * y).toString(10) - }else { - if(117 == i) { - s = 8 == y && nc ? nc.stringify(P[0], P[1], l) : db(h, 8 * y).toString(10), h = Math.abs(h) - }else { - if(111 == i) { - s = (w ? "0" : "") + ta.toString(8) - }else { - if(120 == i || 88 == i) { - j = w && 0 != h ? "0x" : ""; - if(8 == y && nc) { - if(P[1]) { - s = (P[1] >>> 0).toString(16); - for(w = (P[0] >>> 0).toString(16);8 > w.length;) { - w = "0" + w - } - s += w - }else { - s = (P[0] >>> 0).toString(16) - } - }else { - if(0 > h) { - h = -h; - s = (ta - 1).toString(16); - P = []; - for(w = 0;w < s.length;w++) { - P.push((15 - parseInt(s[w], 16)).toString(16)) - } - for(s = P.join("");s.length < 2 * y;) { - s = "f" + s - } - }else { - s = ta.toString(16) - } - } - 88 == i && (j = j.toUpperCase(), s = s.toUpperCase()) - }else { - 112 == i && (0 === ta ? s = "(nil)" : (j = "0x", s = ta.toString(16))) - } - } - } - } - if(L) { - for(;s.length < H;) { - s = "0" + s - } - } - for(p && (j = 0 > h ? "-" + j : "+" + j);j.length + s.length < D;) { - z ? s += " " : C ? s = "0" + s : j = " " + j - } - s = j + s; - s.split("").forEach(function(a) { - g.push(a.charCodeAt(0)) - }); - break; - case "f": - ; - case "F": - ; - case "e": - ; - case "E": - ; - case "g": - ; - case "G": - h = c("double"); - if(isNaN(h)) { - s = "nan", C = n - }else { - if(isFinite(h)) { - L = n; - y = Math.min(H, 20); - if(103 == i || 71 == i) { - L = l, H = H || 1, y = parseInt(h.toExponential(y).split("e")[1], 10), H > y && -4 <= y ? (i = (103 == i ? "f" : "F").charCodeAt(0), H -= y + 1) : (i = (103 == i ? "e" : "E").charCodeAt(0), H--), y = Math.min(H, 20) - } - if(101 == i || 69 == i) { - s = h.toExponential(y), /[eE][-+]\d$/.test(s) && (s = s.slice(0, -1) + "0" + s.slice(-1)) - }else { - if(102 == i || 70 == i) { - s = h.toFixed(y), 0 === h && lc(h) && (s = "-" + s) - } - } - j = s.split("e"); - if(L && !w) { - for(;1 < j[0].length && -1 != j[0].indexOf(".") && ("0" == j[0].slice(-1) || "." == j[0].slice(-1));) { - j[0] = j[0].slice(0, -1) - } - }else { - for(w && -1 == s.indexOf(".") && (j[0] += ".");H > y++;) { - j[0] += "0" - } - } - s = j[0] + (1 < j.length ? "e" + j[1] : ""); - 69 == i && (s = s.toUpperCase()); - p && 0 <= h && (s = "+" + s) - }else { - s = (0 > h ? "-" : "") + "inf", C = n - } - } - for(;s.length < D;) { - s = z ? s + " " : C && ("-" == s[0] || "+" == s[0]) ? s[0] + "0" + s.slice(1) : (C ? "0" : " ") + s - } - 97 > i && (s = s.toUpperCase()); - s.split("").forEach(function(a) { - g.push(a.charCodeAt(0)) - }); - break; - case "s": - C = (p = c("i8*")) ? kc(p) : 6; - L && (C = Math.min(C, H)); - if(!z) { - for(;C < D--;) { - g.push(32) - } - } - if(p) { - for(w = 0;w < C;w++) { - g.push(G[p++ | 0]) - } - }else { - g = g.concat(J("(null)".substr(0, C), l)) - } - if(z) { - for(;C < D--;) { - g.push(32) - } - } - break; - case "c": - for(z && g.push(c("i8"));0 < --D;) { - g.push(32) - } - z || g.push(c("i8")); - break; - case "n": - z = c("i32*"); - B[z >> 2] = g.length; - break; - case "%": - g.push(h); - break; - default: - for(w = j;w < d + 2;w++) { - g.push(A[w]) - } - } - d += 2 - }else { - g.push(h), d += 1 - } - } - return g -} -function oc(a, b, c) { - c = mc(b, c); - b = ja(); - a = jc(F(c, "i8", La), 1, c.length, a); - ka(b); - return a -} -function pc(a) { - pc.ia || (x = x + 4095 >> 12 << 12, pc.ia = l, v(ua), pc.hb = ua, ua = function() { - wa("cannot dynamically allocate, sbrk now has control") - }); - var b = x; - 0 != a && pc.hb(a); - return b -} -function U() { - return B[U.m >> 2] -} -function qc() { - return!!qc.ta -} -function rc(a) { - var b = n; - try { - a == __ZTIi && (b = l) - }catch(c) { - } - try { - a == __ZTIj && (b = l) - }catch(d) { - } - try { - a == __ZTIl && (b = l) - }catch(f) { - } - try { - a == __ZTIm && (b = l) - }catch(g) { - } - try { - a == __ZTIx && (b = l) - }catch(h) { - } - try { - a == __ZTIy && (b = l) - }catch(i) { - } - try { - a == __ZTIf && (b = l) - }catch(j) { - } - try { - a == __ZTId && (b = l) - }catch(p) { - } - try { - a == __ZTIe && (b = l) - }catch(z) { - } - try { - a == __ZTIc && (b = l) - }catch(w) { - } - try { - a == __ZTIa && (b = l) - }catch(C) { - } - try { - a == __ZTIh && (b = l) - }catch(D) { - } - try { - a == __ZTIs && (b = l) - }catch(L) { - } - try { - a == __ZTIt && (b = l) - }catch(H) { - } - return b -} -function sc(a, b, c) { - if(0 == c) { - return n - } - if(0 == b || b == a) { - return l - } - switch(rc(b) ? b : B[B[b >> 2] - 8 >> 2]) { - case 0: - return 0 == B[B[a >> 2] - 8 >> 2] ? sc(B[a + 8 >> 2], B[b + 8 >> 2], c) : n; - case 1: - return n; - case 2: - return sc(a, B[b + 8 >> 2], c); - default: - return n - } -} -function tc(a, b, c) { - if(!tc.sb) { - try { - B[__ZTVN10__cxxabiv119__pointer_type_infoE >> 2] = 0 - }catch(d) { - } - try { - B[pb >> 2] = 1 - }catch(f) { - } - try { - B[ob >> 2] = 2 - }catch(g) { - } - tc.sb = l - } - B[U.m >> 2] = a; - B[U.m + 4 >> 2] = b; - B[U.m + 8 >> 2] = c; - "uncaught_exception" in qc ? qc.ta++ : qc.ta = 1; - e(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.") -} -function uc(a) { - try { - return vc(a) - }catch(b) { - } -} -function wc() { - if(wc.Bb) { - wc.Bb = n - }else { - V.setThrew(0); - B[U.m + 4 >> 2] = 0; - var a = B[U.m >> 2], b = B[U.m + 8 >> 2]; - b && (na("vi", b, [a]), B[U.m + 8 >> 2] = 0); - a && (uc(a), B[U.m >> 2] = 0) - } -} -var xc = F(1, "i32*", E); -function yc(a) { - var b, c; - yc.ia ? (c = B[xc >> 2], b = B[c >> 2]) : (yc.ia = l, W.USER = "root", W.PATH = "/", W.PWD = "/", W.HOME = "/home/emscripten", W.LANG = "en_US.UTF-8", W._ = "./this.program", b = F(1024, "i8", E), c = F(256, "i8*", E), B[c >> 2] = b, B[xc >> 2] = c); - var d = [], f = 0, g; - for(g in a) { - if("string" === typeof a[g]) { - var h = g + "=" + a[g]; - d.push(h); - f += h.length - } - } - 1024 < f && e(Error("Environment size exceeded TOTAL_ENV_SIZE!")); - for(a = 0;a < d.length;a++) { - h = d[a]; - for(f = 0;f < h.length;f++) { - A[b + f | 0] = h.charCodeAt(f) - } - A[b + f | 0] = 0; - B[c + 4 * a >> 2] = b; - b += h.length + 1 - } - B[c + 4 * d.length >> 2] = 0 -} -var W = {}; -function zc(a) { - if(0 === a) { - return 0 - } - a = Fa(a); - if(!W.hasOwnProperty(a)) { - return 0 - } - zc.J && vc(zc.J); - zc.J = F(J(W[a]), "i8", Ka); - return zc.J -} -function Ac(a, b, c) { - if(a in wb) { - if(wb[a].length > c - 1) { - return M(N.ab) - } - a = wb[a]; - for(c = 0;c < a.length;c++) { - A[b + c | 0] = a.charCodeAt(c) - } - return A[b + c | 0] = 0 - } - return M(N.A) -} -function Bc(a) { - Bc.buffer || (Bc.buffer = Oa(256)); - Ac(a, Bc.buffer, 256); - return Bc.buffer -} -function Cc(a) { - r.exit(a) -} -function Dc(a, b) { - var c = db(a & 255); - A[Dc.J | 0] = c; - if(-1 == ic(b, Dc.J, 1)) { - if(c = R[b]) { - c.error = l - } - return-1 - } - return c -} -var Ec = n, Fc = n, Gc = n, Hc = n, Ic = k, Jc = k; -function Kc(a) { - return{jpg:"image/jpeg", jpeg:"image/jpeg", png:"image/png", bmp:"image/bmp", ogg:"audio/ogg", wav:"audio/wav", mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".") + 1)] -} -var Lc = []; -function Mc() { - var a = r.canvas; - Lc.forEach(function(b) { - b(a.width, a.height) - }) -} -function Nc() { - var a = r.canvas; - this.Ib = a.width; - this.Hb = a.height; - a.width = screen.width; - a.height = screen.height; - "undefined" != typeof SDL && (a = Qa[SDL.screen + 0 * ma >> 2], B[SDL.screen + 0 * ma >> 2] = a | 8388608); - Mc() -} -function Oc() { - var a = r.canvas; - a.width = this.Ib; - a.height = this.Hb; - "undefined" != typeof SDL && (a = Qa[SDL.screen + 0 * ma >> 2], B[SDL.screen + 0 * ma >> 2] = a & -8388609); - Mc() -} -var Pc, Qc, Rc, Sc; -r.RandomBytes = tb; -vb = ra(4); -B[vb >> 2] = 0; -var Xb = Sb(m, "/", 16895, 0), Tc = T, Uc = {type:Tc, se:{}, Ua:"/", root:m}, Vc; -Vc = O("/", {N:n}); -var Wc = Tc.z(Uc); -Wc.z = Uc; -Uc.root = Wc; -Vc && (Vc.d.z = Uc, Vc.d.ub = l, Xb = Uc.root); -Bb("/tmp", 511); -Bb("/dev", 511); -Pb[259] = {e:{Q:function() { - return 0 -}, write:function() { - return 0 -}}}; -Cb("/dev/null", 438, 259); -Ob(1280, {Na:function(a) { - if(!a.input.length) { - var b = m; - if(ca) { - if(process.Eb.be) { - return - } - b = process.Eb.Q() - }else { - "undefined" != typeof window && "function" == typeof window.prompt ? (b = window.prompt("Input: "), b !== m && (b += "\n")) : "function" == typeof readline && (b = readline(), b !== m && (b += "\n")) - } - if(!b) { - return m - } - a.input = J(b, l) - } - return a.input.shift() -}, W:function(a, b) { - b === m || 10 === b ? (r.print(a.H.join("")), a.H = []) : a.H.push(Rb.oa(b)) -}}); -Ob(1536, {W:function(a, b) { - b === m || 10 === b ? (r.printErr(a.H.join("")), a.H = []) : a.H.push(Rb.oa(b)) -}}); -Cb("/dev/tty", 438, 1280); -Cb("/dev/tty1", 438, 1536); -Bb("/dev/shm", 511); -Bb("/dev/shm/tmp", 511); -Xa.unshift({V:function() { - if(!r.noFSInit && !dc) { - v(!dc, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); - dc = l; - r.stdin = r.stdin; - r.stdout = r.stdout; - r.stderr = r.stderr; - r.stdin ? gc("/dev", "stdin", r.stdin) : Db("/dev/tty", "/dev/stdin"); - r.stdout ? gc("/dev", "stdout", m, r.stdout) : Db("/dev/tty", "/dev/stdout"); - r.stderr ? gc("/dev", "stderr", m, r.stderr) : Db("/dev/tty1", "/dev/stderr"); - var a = Fb("/dev/stdin", "r"); - B[Vb >> 2] = a.s; - v(1 === a.s, "invalid handle for stdin (" + a.s + ")"); - a = Fb("/dev/stdout", "w"); - B[Wb >> 2] = a.s; - v(2 === a.s, "invalid handle for stdout (" + a.s + ")"); - a = Fb("/dev/stderr", "w"); - B[nb >> 2] = a.s; - v(3 === a.s, "invalid handle for stderr (" + a.s + ")") - } -}}); -Ya.push({V:function() { - $b = n -}}); -Za.push({V:function() { - dc = n; - for(var a = 0;a < R.length;a++) { - var b = R[a]; - b && Jb(b) - } -}}); -r.FS_createFolder = function(a, b, c, d) { - a = S("string" === typeof a ? a : cc(a), b); - return Bb(a, ec(c, d)) -}; -r.FS_createPath = function(a, b) { - for(var a = "string" === typeof a ? a : cc(a), c = b.split("/").reverse();c.length;) { - var d = c.pop(); - if(d) { - var f = S(a, d); - try { - Bb(f, 511) - }catch(g) { - } - a = f - } - } - return f -}; -r.FS_createDataFile = fc; -r.FS_createPreloadedFile = function(a, b, c, d, f, g, h, i) { - function j() { - Gc = document.pointerLockElement === w || document.mozPointerLockElement === w || document.webkitPointerLockElement === w - } - function p(c) { - function j(c) { - i || fc(a, b, c, d, f); - g && g(); - jb("cp " + C) - } - var p = n; - r.preloadPlugins.forEach(function(a) { - !p && a.canHandle(C) && (a.handle(c, C, j, function() { - h && h(); - jb("cp " + C) - }), p = l) - }); - p || j(c) - } - r.preloadPlugins || (r.preloadPlugins = []); - if(!Pc && !ea) { - Pc = l; - try { - new Blob, Qc = l - }catch(z) { - Qc = n, console.log("warning: no blob constructor, cannot create blobs with mimetypes") - } - Rc = "undefined" != typeof MozBlobBuilder ? MozBlobBuilder : "undefined" != typeof WebKitBlobBuilder ? WebKitBlobBuilder : !Qc ? console.log("warning: no BlobBuilder") : m; - Sc = "undefined" != typeof window ? window.URL ? window.URL : window.webkitURL : console.log("warning: cannot create object URLs"); - r.preloadPlugins.push({canHandle:function(a) { - return!r.re && /\.(jpg|jpeg|png|bmp)$/i.test(a) - }, handle:function(a, b, c, d) { - var f = m; - if(Qc) { - try { - f = new Blob([a], {type:Kc(b)}), f.size !== a.length && (f = new Blob([(new Uint8Array(a)).buffer], {type:Kc(b)})) - }catch(g) { - var h = "Blob constructor present but fails: " + g + "; falling back to blob builder"; - oa || (oa = {}); - oa[h] || (oa[h] = 1, r.P(h)) - } - } - f || (f = new Rc, f.append((new Uint8Array(a)).buffer), f = f.getBlob()); - var i = Sc.createObjectURL(f), j = new Image; - j.onload = function() { - v(j.complete, "Image " + b + " could not be decoded"); - var d = document.createElement("canvas"); - d.width = j.width; - d.height = j.height; - d.getContext("2d").drawImage(j, 0, 0); - r.preloadedImages[b] = d; - Sc.revokeObjectURL(i); - c && c(a) - }; - j.onerror = function() { - console.log("Image " + i + " could not be decoded"); - d && d() - }; - j.src = i - }}); - r.preloadPlugins.push({canHandle:function(a) { - return!r.qe && a.substr(-4) in {".ogg":1, ".wav":1, ".mp3":1} - }, handle:function(a, b, c, d) { - function f(d) { - h || (h = l, r.preloadedAudios[b] = d, c && c(a)) - } - function g() { - h || (h = l, r.preloadedAudios[b] = new Audio, d && d()) - } - var h = n; - if(Qc) { - try { - var i = new Blob([a], {type:Kc(b)}) - }catch(j) { - return g() - } - var i = Sc.createObjectURL(i), p = new Audio; - p.addEventListener("canplaythrough", function() { - f(p) - }, n); - p.onerror = function() { - if(!h) { - console.log("warning: browser could not fully decode audio " + b + ", trying slower base64 approach"); - for(var c = "", d = 0, g = 0, i = 0;i < a.length;i++) { - d = d << 8 | a[i]; - for(g += 8;6 <= g;) { - var j = d >> g - 6 & 63, g = g - 6, c = c + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[j] - } - } - 2 == g ? (c += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d & 3) << 4], c += "==") : 4 == g && (c += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d & 15) << 2], c += "="); - p.src = "data:audio/x-" + b.substr(-3) + ";base64," + c; - f(p) - } - }; - p.src = i; - setTimeout(function() { - za || f(p) - }, 1E4) - }else { - return g() - } - }}); - var w = r.canvas; - w.qa = w.requestPointerLock || w.mozRequestPointerLock || w.webkitRequestPointerLock; - w.La = document.exitPointerLock || document.mozExitPointerLock || document.webkitExitPointerLock || aa(); - w.La = w.La.bind(document); - document.addEventListener("pointerlockchange", j, n); - document.addEventListener("mozpointerlockchange", j, n); - document.addEventListener("webkitpointerlockchange", j, n); - r.elementPointerLock && w.addEventListener("click", function(a) { - !Gc && w.qa && (w.qa(), a.preventDefault()) - }, n) - } - var C, D = S.apply(m, [a, b]); - "/" == D[0] && (D = D.substr(1)); - C = D; - ib("cp " + C); - if("string" == typeof c) { - var L = h, H = function() { - L ? L() : e('Loading data file "' + c + '" failed.') - }, y = new XMLHttpRequest; - y.open("GET", c, l); - y.responseType = "arraybuffer"; - y.onload = function() { - if(200 == y.status || 0 == y.status && y.response) { - var a = y.response; - v(a, 'Loading data file "' + c + '" failed (no arrayBuffer).'); - a = new Uint8Array(a); - p(a); - jb("al " + c) - }else { - H() - } - }; - y.onerror = H; - y.send(m); - ib("al " + c) - }else { - p(c) - } -}; -r.FS_createLazyFile = function(a, b, c, d, f) { - var g, h; - "undefined" !== typeof XMLHttpRequest ? (ea || e("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"), g = function() { - this.ma = n; - this.T = [] - }, g.prototype.get = function(a) { - if(!(a > this.length - 1 || 0 > a)) { - var b = a % this.S; - return this.pb(Math.floor(a / this.S))[b] - } - }, g.prototype.Cb = function(a) { - this.pb = a - }, g.prototype.Fa = function() { - var a = new XMLHttpRequest; - a.open("HEAD", c, n); - a.send(m); - 200 <= a.status && 300 > a.status || 304 === a.status || e(Error("Couldn't load " + c + ". Status: " + a.status)); - var b = Number(a.getResponseHeader("Content-length")), d, f = 1048576; - if(!((d = a.getResponseHeader("Accept-Ranges")) && "bytes" === d)) { - f = b - } - var g = this; - g.Cb(function(a) { - var d = a * f, h = (a + 1) * f - 1, h = Math.min(h, b - 1); - if("undefined" === typeof g.T[a]) { - var i = g.T; - d > h && e(Error("invalid range (" + d + ", " + h + ") or no bytes requested!")); - h > b - 1 && e(Error("only " + b + " bytes available! programmer error!")); - var j = new XMLHttpRequest; - j.open("GET", c, n); - b !== f && j.setRequestHeader("Range", "bytes=" + d + "-" + h); - "undefined" != typeof Uint8Array && (j.responseType = "arraybuffer"); - j.overrideMimeType && j.overrideMimeType("text/plain; charset=x-user-defined"); - j.send(m); - 200 <= j.status && 300 > j.status || 304 === j.status || e(Error("Couldn't load " + c + ". Status: " + j.status)); - d = j.response !== k ? new Uint8Array(j.response || []) : J(j.responseText || "", l); - i[a] = d - } - "undefined" === typeof g.T[a] && e(Error("doXHR failed!")); - return g.T[a] - }); - this.gb = b; - this.fb = f; - this.ma = l - }, g = new g, Object.defineProperty(g, "length", {get:function() { - this.ma || this.Fa(); - return this.gb - }}), Object.defineProperty(g, "chunkSize", {get:function() { - this.ma || this.Fa(); - return this.fb - }}), h = k) : (h = c, g = k); - var i, a = S("string" === typeof a ? a : cc(a), b); - i = Ab(a, ec(d, f)); - g ? i.g = g : h && (i.g = m, i.url = h); - var j = {}; - Object.keys(i.e).forEach(function(a) { - var b = i.e[a]; - j[a] = function() { - var a; - if(i.ke || i.le || i.link || i.g) { - a = l - }else { - a = l; - "undefined" !== typeof XMLHttpRequest && e(Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")); - if(r.read) { - try { - i.g = J(r.read(i.url), l) - }catch(c) { - a = n - } - }else { - e(Error("Cannot load without read() or XMLHttpRequest.")) - } - a || M(N.I) - } - a || e(new Q(N.I)); - return b.apply(m, arguments) - } - }); - j.Q = function(a, b, c, d, f) { - a = a.d.g; - d = Math.min(a.length - f, d); - if(a.slice) { - for(var g = 0;g < d;g++) { - b[c + g] = a[f + g] - } - }else { - for(g = 0;g < d;g++) { - b[c + g] = a.get(f + g) - } - } - return d - }; - i.e = j; - return i -}; -r.FS_createLink = function(a, b, c) { - a = S("string" === typeof a ? a : cc(a), b); - return Db(c, a) -}; -r.FS_createDevice = gc; -U.m = F(12, "void*", E); -yc(W); -Dc.J = F([0], "i8", E); -r.requestFullScreen = function(a, b) { - function c() { - Fc = n; - (document.webkitFullScreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.mozFullscreenElement || document.fullScreenElement || document.fullscreenElement) === d ? (d.Ga = document.cancelFullScreen || document.mozCancelFullScreen || document.webkitCancelFullScreen, d.Ga = d.Ga.bind(document), Ic && d.qa(), Fc = l, Jc && Nc()) : Jc && Oc(); - if(r.onFullScreen) { - r.onFullScreen(Fc) - } - } - Ic = a; - Jc = b; - "undefined" === typeof Ic && (Ic = l); - "undefined" === typeof Jc && (Jc = n); - var d = r.canvas; - Hc || (Hc = l, document.addEventListener("fullscreenchange", c, n), document.addEventListener("mozfullscreenchange", c, n), document.addEventListener("webkitfullscreenchange", c, n)); - d.Ab = d.requestFullScreen || d.mozRequestFullScreen || (d.webkitRequestFullScreen ? function() { - d.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT) - } : m); - d.Ab() -}; -r.requestAnimationFrame = function(a) { - window.requestAnimationFrame || (window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame || window.setTimeout); - window.requestAnimationFrame(a) -}; -r.pauseMainLoop = aa(); -r.resumeMainLoop = function() { - Ec && (Ec = n, m()) -}; -r.getUserMedia = function() { - window.Ma || (window.Ma = navigator.getUserMedia || navigator.mozGetUserMedia); - window.Ma(k) -}; -Sa = u = xa(sa); -Ta = Sa + 5242880; -Ua = x = xa(Ta); -v(Ua < va); -var Xc = F([8, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", 3), Yc = F([8, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, -2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, -0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0], "i8", 3), Zc = Math.min; -var V = (function(global,env,buffer) { -// EMSCRIPTEN_START_ASM - "use asm"; - var a = new global.Int8Array(buffer); - var b = new global.Int16Array(buffer); - var c = new global.Int32Array(buffer); - var d = new global.Uint8Array(buffer); - var e = new global.Uint16Array(buffer); - var f = new global.Uint32Array(buffer); - var g = new global.Float32Array(buffer); - var h = new global.Float64Array(buffer); - var i = env.STACKTOP | 0; - var j = env.STACK_MAX | 0; - var k = env.tempDoublePtr | 0; - var l = env.ABORT | 0; - var m = env.cttz_i8 | 0; - var n = env.ctlz_i8 | 0; - var o = env.__ZTVN10__cxxabiv120__si_class_type_infoE | 0; - var p = env._stderr | 0; - var q = env.__ZTVN10__cxxabiv117__class_type_infoE | 0; - var r = env.___progname | 0; - var s = +env.NaN; - var t = +env.Infinity; - var u = 0; - var v = 0; - var w = 0; - var x = 0; - var y = 0, z = 0, A = 0, B = 0, C = 0.0, D = 0, E = 0, F = 0, G = 0.0; - var H = 0; - var I = 0; - var J = 0; - var K = 0; - var L = 0; - var M = 0; - var N = 0; - var O = 0; - var P = 0; - var Q = 0; - var R = global.Math.floor; - var S = global.Math.abs; - var T = global.Math.sqrt; - var U = global.Math.pow; - var V = global.Math.cos; - var W = global.Math.sin; - var X = global.Math.tan; - var Y = global.Math.acos; - var Z = global.Math.asin; - var _ = global.Math.atan; - var $ = global.Math.atan2; - var aa = global.Math.exp; - var ab = global.Math.log; - var ac = global.Math.ceil; - var ad = global.Math.imul; - var ae = env.abort; - var af = env.assert; - var ag = env.asmPrintInt; - var ah = env.asmPrintFloat; - var ai = env.min; - var aj = env.invoke_vi; - var ak = env.invoke_vii; - var al = env.invoke_ii; - var am = env.invoke_viii; - var an = env.invoke_v; - var ao = env.invoke_iii; - var ap = env._strncmp; - var aq = env._llvm_va_end; - var ar = env._sysconf; - var as = env.___cxa_throw; - var at = env._randombytes; - var au = env._strerror; - var av = env._abort; - var aw = env._fprintf; - var ax = env._llvm_eh_exception; - var ay = env.___cxa_free_exception; - var az = env._fflush; - var aA = env.___buildEnvironment; - var aB = env.__reallyNegative; - var aC = env._strchr; - var aD = env._fputc; - var aE = env.___setErrNo; - var aF = env._fwrite; - var aG = env._send; - var aH = env._write; - var aI = env._exit; - var aJ = env.___cxa_find_matching_catch; - var aK = env.___cxa_allocate_exception; - var aL = env._isspace; - var aM = env.___cxa_is_number_type; - var aN = env.___resumeException; - var aO = env.__formatString; - var aP = env.___cxa_does_inherit; - var aQ = env._getenv; - var aR = env._vfprintf; - var aS = env.___cxa_begin_catch; - var aT = env.__ZSt18uncaught_exceptionv; - var aU = env._pwrite; - var aV = env.___cxa_call_unexpected; - var aW = env._sbrk; - var aX = env._strerror_r; - var aY = env.___errno_location; - var aZ = env.___gxx_personality_v0; - var a_ = env._time; - var a$ = env.__exit; - var a0 = env.___cxa_end_catch; -// EMSCRIPTEN_START_FUNCS -function a7(a) { - a = a | 0; - var b = 0; - b = i; - i = i + a | 0; - i = i + 7 >> 3 << 3; - return b | 0; -} -function a8() { - return i | 0; -} -function a9(a) { - a = a | 0; - i = a; -} -function ba(a, b) { - a = a | 0; - b = b | 0; - if ((u | 0) == 0) { - u = a; - v = b; - } -} -function bb(b) { - b = b | 0; - a[k] = a[b]; - a[k + 1 | 0] = a[b + 1 | 0]; - a[k + 2 | 0] = a[b + 2 | 0]; - a[k + 3 | 0] = a[b + 3 | 0]; -} -function bc(b) { - b = b | 0; - a[k] = a[b]; - a[k + 1 | 0] = a[b + 1 | 0]; - a[k + 2 | 0] = a[b + 2 | 0]; - a[k + 3 | 0] = a[b + 3 | 0]; - a[k + 4 | 0] = a[b + 4 | 0]; - a[k + 5 | 0] = a[b + 5 | 0]; - a[k + 6 | 0] = a[b + 6 | 0]; - a[k + 7 | 0] = a[b + 7 | 0]; -} -function bd(a) { - a = a | 0; - H = a; -} -function be(a) { - a = a | 0; - I = a; -} -function bf(a) { - a = a | 0; - J = a; -} -function bg(a) { - a = a | 0; - K = a; -} -function bh(a) { - a = a | 0; - L = a; -} -function bi(a) { - a = a | 0; - M = a; -} -function bj(a) { - a = a | 0; - N = a; -} -function bk(a) { - a = a | 0; - O = a; -} -function bl(a) { - a = a | 0; - P = a; -} -function bm(a) { - a = a | 0; - Q = a; -} -function bn() { - c[27996] = q + 8; - c[27998] = o + 8; - c[28002] = o + 8; -} -function bo(a, b) { - a = a | 0; - b = b | 0; - return a >>> ((32 - b | 0) >>> 0) | a << b | 0; -} -function bp(a, b) { - a = a | 0; - b = b | 0; - return a >>> ((32 - b | 0) >>> 0) | a << b | 0; -} -function bq(a) { - a = a | 0; - return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; -} -function br(b, c) { - b = b | 0; - c = c | 0; - a[b] = c & 255; - a[b + 1 | 0] = c >>> 8 & 255; - a[b + 2 | 0] = c >>> 16 & 255; - a[b + 3 | 0] = c >>> 24 & 255; - return; -} -function bs(a) { - a = a | 0; - return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; -} -function bt(b, c) { - b = b | 0; - c = c | 0; - a[b] = c & 255; - a[b + 1 | 0] = c >>> 8 & 255; - a[b + 2 | 0] = c >>> 16 & 255; - a[b + 3 | 0] = c >>> 24 & 255; - return; -} -function bu(b, c, d) { - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0; - e = i; - i = i + 640 | 0; - f = e | 0; - g = e + 128 | 0; - bR(c, d, 32, 0) | 0; - a[c] = a[c] & -8; - h = c + 31 | 0; - a[h] = a[h] & 63 | 64; - cV(f, c); - cR(g, f); - cJ(b, g); - g = 0; - while (1) { - a[c + g | 0] = a[d + g | 0] | 0; - f = g + 1 | 0; - if ((f | 0) < 32) { - g = f; - } else { - j = 0; - break; - } - } - do { - a[c + (j + 32) | 0] = a[b + j | 0] | 0; - j = j + 1 | 0; - } while ((j | 0) < 32); - i = e; - return 0; -} -function bv() { - return en(10) | 0; -} -function bw(b, c, d, e, f) { - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0; - g = i; - i = i + 32 | 0; - h = g | 0; - j = h | 0; - k = i; - i = i + 128 | 0; - fn(j | 0, 1280, 32) | 0; - l = k | 0; - m = fp(d << 3 | 0 >>> 29, e << 3 | d >>> 29, 512, 0) | 0; - n = H; - o = 0; - do { - a[k + o | 0] = a[f + o | 0] ^ 54; - o = o + 1 | 0; - } while ((o | 0) < 32); - fm(k + 32 | 0, 54, 32); - o = h | 0; - h = k | 0; - bS(o, h, 64, 0) | 0; - bS(o, c, d, e) | 0; - p = d & 63; - q = e & 0; - e = p; - do { - if ((p | 0) == 0 & (q | 0) == 0) { - a[k + e | 0] = -128; - r = fp(p, q, 1, 0) | 0; - s = r; - t = 18; - } else { - r = d & 63; - u = c + (d - r) | 0; - fn(l | 0, u | 0, r) | 0; - a[k + e | 0] = -128; - r = 0; - u = fp(p, q, 1, 0) | 0; - v = u; - if (q >>> 0 < r >>> 0 | q >>> 0 == r >>> 0 & p >>> 0 < 56 >>> 0) { - s = v; - t = 18; - break; - } - if (v >>> 0 < 120) { - v = d & 63; - fm(k + (v + 1) | 0, 0, 119 - v | 0); - } - a[k + 120 | 0] = (n >>> 24 | 0 << 8) & 255; - a[k + 121 | 0] = (n >>> 16 | 0 << 16) & 255; - a[k + 122 | 0] = (n >>> 8 | 0 << 24) & 255; - a[k + 123 | 0] = n & 255; - a[k + 124 | 0] = (m >>> 24 | n << 8) & 255; - a[k + 125 | 0] = (m >>> 16 | n << 16) & 255; - a[k + 126 | 0] = (m >>> 8 | n << 24) & 255; - a[k + 127 | 0] = m & 255; - v = 128; - r = 0; - bS(o, h, v, r) | 0; - w = 0; - } - } while (0); - if ((t | 0) == 18) { - if (s >>> 0 < 56) { - s = d & 63; - fm(k + (s + 1) | 0, 0, ((s + 2 | 0) >>> 0 > 56 ? s + 1 | 0 : 55) - s | 0); - } - a[k + 56 | 0] = (n >>> 24 | 0 << 8) & 255; - a[k + 57 | 0] = (n >>> 16 | 0 << 16) & 255; - a[k + 58 | 0] = (n >>> 8 | 0 << 24) & 255; - a[k + 59 | 0] = n & 255; - a[k + 60 | 0] = (m >>> 24 | n << 8) & 255; - a[k + 61 | 0] = (m >>> 16 | n << 16) & 255; - a[k + 62 | 0] = (m >>> 8 | n << 24) & 255; - a[k + 63 | 0] = m & 255; - m = 64; - n = 0; - bS(o, h, m, n) | 0; - w = 0; - } - do { - a[k + w | 0] = a[f + w | 0] ^ 92; - w = w + 1 | 0; - } while ((w | 0) < 32); - fm(k + 32 | 0, 92, 32); - w = k + 64 | 0; - fn(w | 0, j | 0, 32) | 0; - j = 0; - do { - a[b + j | 0] = a[1280 + j | 0] | 0; - j = j + 1 | 0; - } while ((j | 0) < 32); - fm(k + 96 | 0, 0, 32); - a[k + 96 | 0] = -128; - a[k + 126 | 0] = 3; - bS(b, h, 128, 0) | 0; - i = g; - return 0; -} -function bx(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 32 | 0; - g = f | 0; - bw(g, b, c, d, e) | 0; - e = em(a, g) | 0; - i = f; - return e | 0; -} -function by(b, c, d, e, f) { - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0; - g = i; - i = i + 64 | 0; - h = g | 0; - j = h | 0; - k = i; - i = i + 256 | 0; - l = k | 0; - fn(j | 0, 1216, 64) | 0; - m = fp(d, e, 128, 0) | 0; - n = H; - o = 0; - do { - a[k + o | 0] = a[f + o | 0] ^ 54; - o = o + 1 | 0; - } while ((o | 0) < 32); - fm(k + 32 | 0, 54, 96); - o = h | 0; - h = k | 0; - bV(o, h, 128, 0) | 0; - bV(o, c, d, e) | 0; - p = d & 127; - q = e & 0; - e = p; - do { - if ((p | 0) == 0 & (q | 0) == 0) { - a[k + e | 0] = -128; - r = fp(p, q, 1, 0) | 0; - s = r; - t = 34; - } else { - r = d & 127; - u = c + (d - r) | 0; - fn(l | 0, u | 0, r) | 0; - a[k + e | 0] = -128; - r = 0; - u = fp(p, q, 1, 0) | 0; - v = u; - if (q >>> 0 < r >>> 0 | q >>> 0 == r >>> 0 & p >>> 0 < 112 >>> 0) { - s = v; - t = 34; - break; - } - if (v >>> 0 < 247) { - v = d & 127; - fm(k + (v + 1) | 0, 0, 246 - v | 0); - } - a[k + 247 | 0] = (n >>> 29 | 0 << 3) & 255; - a[k + 248 | 0] = (n >>> 21 | 0 << 11) & 255; - a[k + 249 | 0] = (n >>> 13 | 0 << 19) & 255; - a[k + 250 | 0] = (n >>> 5 | 0 << 27) & 255; - a[k + 251 | 0] = (m >>> 29 | n << 3) & 255; - a[k + 252 | 0] = (m >>> 21 | n << 11) & 255; - a[k + 253 | 0] = (m >>> 13 | n << 19) & 255; - a[k + 254 | 0] = (m >>> 5 | n << 27) & 255; - a[k + 255 | 0] = (m << 3 | 0 >>> 29) & 255; - v = 256; - r = 0; - bV(o, h, v, r) | 0; - w = 0; - } - } while (0); - if ((t | 0) == 34) { - if (s >>> 0 < 119) { - s = d & 127; - fm(k + (s + 1) | 0, 0, ((s + 2 | 0) >>> 0 > 119 ? s + 1 | 0 : 118) - s | 0); - } - a[k + 119 | 0] = (n >>> 29 | 0 << 3) & 255; - a[k + 120 | 0] = (n >>> 21 | 0 << 11) & 255; - a[k + 121 | 0] = (n >>> 13 | 0 << 19) & 255; - a[k + 122 | 0] = (n >>> 5 | 0 << 27) & 255; - a[k + 123 | 0] = (m >>> 29 | n << 3) & 255; - a[k + 124 | 0] = (m >>> 21 | n << 11) & 255; - a[k + 125 | 0] = (m >>> 13 | n << 19) & 255; - a[k + 126 | 0] = (m >>> 5 | n << 27) & 255; - a[k + 127 | 0] = (m << 3 | 0 >>> 29) & 255; - m = 128; - n = 0; - bV(o, h, m, n) | 0; - w = 0; - } - do { - a[k + w | 0] = a[f + w | 0] ^ 92; - w = w + 1 | 0; - } while ((w | 0) < 32); - fm(k + 32 | 0, 92, 96); - w = k + 128 | 0; - fn(w | 0, j | 0, 64) | 0; - fn(j | 0, 1216, 64) | 0; - fm(k + 192 | 0, 0, 64); - a[k + 192 | 0] = -128; - a[k + 254 | 0] = 6; - bV(o, h, 256, 0) | 0; - fn(b | 0, j | 0, 32) | 0; - i = g; - return 0; -} -function bz(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 32 | 0; - g = f | 0; - by(g, b, c, d, e) | 0; - e = em(a, g) | 0; - i = f; - return e | 0; -} -function bA(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - return ci(a, b, c, d, e, f) | 0; -} -function bB(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - return cj(a, b, c, d, e, f) | 0; -} -function bC(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var d = 0, e = 0; - d = i; - i = i + 32 | 0; - e = d | 0; - b3(e, c, b) | 0; - b = bG(a, 112040, e, 136) | 0; - i = d; - return b | 0; -} -function bD(a, b, c, d, e, f, g) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, j = 0; - h = i; - i = i + 32 | 0; - j = h | 0; - bC(j, f, g) | 0; - g = bA(a, b, c, d, e, j) | 0; - i = h; - return g | 0; -} -function bE(a, b, c, d, e, f, g) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, j = 0; - h = i; - i = i + 32 | 0; - j = h | 0; - bC(j, f, g) | 0; - g = bB(a, b, c, d, e, j) | 0; - i = h; - return g | 0; -} -function bF(a, b) { - a = a | 0; - b = b | 0; - at(b | 0, 32, 0); - return b2(a, b) | 0; -} -function bG(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0; - e = bq(d) | 0; - f = bq(c) | 0; - g = bq(c + 4 | 0) | 0; - h = bq(c + 8 | 0) | 0; - i = bq(c + 12 | 0) | 0; - j = d + 4 | 0; - k = bq(j) | 0; - l = bq(b) | 0; - m = b + 4 | 0; - n = bq(m) | 0; - o = b + 8 | 0; - p = bq(o) | 0; - q = b + 12 | 0; - r = bq(q) | 0; - s = d + 8 | 0; - t = bq(s) | 0; - u = bq(c + 16 | 0) | 0; - v = bq(c + 20 | 0) | 0; - w = bq(c + 24 | 0) | 0; - x = bq(c + 28 | 0) | 0; - c = d + 12 | 0; - y = bq(c) | 0; - z = y; - A = x; - x = w; - w = v; - v = u; - u = t; - B = r; - C = p; - D = n; - E = l; - F = k; - G = i; - i = h; - h = g; - g = f; - f = e; - H = 20; - do { - I = (bo(f + w | 0, 7) | 0) ^ G; - J = (bo(I + f | 0, 9) | 0) ^ C; - K = (bo(J + I | 0, 13) | 0) ^ w; - L = (bo(K + J | 0, 18) | 0) ^ f; - M = (bo(g + F | 0, 7) | 0) ^ B; - N = (bo(M + F | 0, 9) | 0) ^ x; - O = (bo(N + M | 0, 13) | 0) ^ g; - P = (bo(O + N | 0, 18) | 0) ^ F; - Q = (bo(E + u | 0, 7) | 0) ^ A; - R = (bo(Q + u | 0, 9) | 0) ^ h; - S = (bo(R + Q | 0, 13) | 0) ^ E; - T = (bo(S + R | 0, 18) | 0) ^ u; - U = (bo(v + z | 0, 7) | 0) ^ i; - V = (bo(U + z | 0, 9) | 0) ^ D; - W = (bo(V + U | 0, 13) | 0) ^ v; - X = (bo(W + V | 0, 18) | 0) ^ z; - g = (bo(U + L | 0, 7) | 0) ^ O; - h = (bo(g + L | 0, 9) | 0) ^ R; - i = (bo(h + g | 0, 13) | 0) ^ U; - f = (bo(i + h | 0, 18) | 0) ^ L; - E = (bo(P + I | 0, 7) | 0) ^ S; - D = (bo(E + P | 0, 9) | 0) ^ V; - G = (bo(D + E | 0, 13) | 0) ^ I; - F = (bo(G + D | 0, 18) | 0) ^ P; - v = (bo(T + M | 0, 7) | 0) ^ W; - C = (bo(v + T | 0, 9) | 0) ^ J; - B = (bo(C + v | 0, 13) | 0) ^ M; - u = (bo(B + C | 0, 18) | 0) ^ T; - w = (bo(X + Q | 0, 7) | 0) ^ K; - x = (bo(w + X | 0, 9) | 0) ^ N; - A = (bo(x + w | 0, 13) | 0) ^ Q; - z = (bo(A + x | 0, 18) | 0) ^ X; - H = H - 2 | 0; - } while ((H | 0) > 0); - H = f + e - (bq(d) | 0) | 0; - d = F + k - (bq(j) | 0) | 0; - j = u + t - (bq(s) | 0) | 0; - s = z + y - (bq(c) | 0) | 0; - c = E + l - (bq(b) | 0) | 0; - b = D + n - (bq(m) | 0) | 0; - m = C + p - (bq(o) | 0) | 0; - o = B + r - (bq(q) | 0) | 0; - br(a, H); - br(a + 4 | 0, d); - br(a + 8 | 0, j); - br(a + 12 | 0, s); - br(a + 16 | 0, c); - br(a + 20 | 0, b); - br(a + 24 | 0, m); - br(a + 28 | 0, o); - return 0; -} -function bH(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0; - e = bs(d) | 0; - f = bs(c) | 0; - g = bs(c + 4 | 0) | 0; - h = bs(c + 8 | 0) | 0; - i = bs(c + 12 | 0) | 0; - j = bs(d + 4 | 0) | 0; - k = bs(b) | 0; - l = bs(b + 4 | 0) | 0; - m = bs(b + 8 | 0) | 0; - n = bs(b + 12 | 0) | 0; - b = bs(d + 8 | 0) | 0; - o = bs(c + 16 | 0) | 0; - p = bs(c + 20 | 0) | 0; - q = bs(c + 24 | 0) | 0; - r = bs(c + 28 | 0) | 0; - c = bs(d + 12 | 0) | 0; - d = c; - s = r; - t = q; - u = p; - v = o; - w = b; - x = n; - y = m; - z = l; - A = k; - B = j; - C = i; - D = h; - E = g; - F = f; - G = e; - H = 20; - do { - I = (bp(G + u | 0, 7) | 0) ^ C; - J = (bp(I + G | 0, 9) | 0) ^ y; - K = (bp(J + I | 0, 13) | 0) ^ u; - L = (bp(K + J | 0, 18) | 0) ^ G; - M = (bp(F + B | 0, 7) | 0) ^ x; - N = (bp(M + B | 0, 9) | 0) ^ t; - O = (bp(N + M | 0, 13) | 0) ^ F; - P = (bp(O + N | 0, 18) | 0) ^ B; - Q = (bp(A + w | 0, 7) | 0) ^ s; - R = (bp(Q + w | 0, 9) | 0) ^ E; - S = (bp(R + Q | 0, 13) | 0) ^ A; - T = (bp(S + R | 0, 18) | 0) ^ w; - U = (bp(v + d | 0, 7) | 0) ^ D; - V = (bp(U + d | 0, 9) | 0) ^ z; - W = (bp(V + U | 0, 13) | 0) ^ v; - X = (bp(W + V | 0, 18) | 0) ^ d; - F = (bp(U + L | 0, 7) | 0) ^ O; - E = (bp(F + L | 0, 9) | 0) ^ R; - D = (bp(E + F | 0, 13) | 0) ^ U; - G = (bp(D + E | 0, 18) | 0) ^ L; - A = (bp(P + I | 0, 7) | 0) ^ S; - z = (bp(A + P | 0, 9) | 0) ^ V; - C = (bp(z + A | 0, 13) | 0) ^ I; - B = (bp(C + z | 0, 18) | 0) ^ P; - v = (bp(T + M | 0, 7) | 0) ^ W; - y = (bp(v + T | 0, 9) | 0) ^ J; - x = (bp(y + v | 0, 13) | 0) ^ M; - w = (bp(x + y | 0, 18) | 0) ^ T; - u = (bp(X + Q | 0, 7) | 0) ^ K; - t = (bp(u + X | 0, 9) | 0) ^ N; - s = (bp(t + u | 0, 13) | 0) ^ Q; - d = (bp(s + t | 0, 18) | 0) ^ X; - H = H - 2 | 0; - } while ((H | 0) > 0); - bt(a, G + e | 0); - bt(a + 4 | 0, F + f | 0); - bt(a + 8 | 0, E + g | 0); - bt(a + 12 | 0, D + h | 0); - bt(a + 16 | 0, C + i | 0); - bt(a + 20 | 0, B + j | 0); - bt(a + 24 | 0, A + k | 0); - bt(a + 28 | 0, z + l | 0); - bt(a + 32 | 0, y + m | 0); - bt(a + 36 | 0, x + n | 0); - bt(a + 40 | 0, w + b | 0); - bt(a + 44 | 0, v + o | 0); - bt(a + 48 | 0, u + p | 0); - bt(a + 52 | 0, t + q | 0); - bt(a + 56 | 0, s + r | 0); - bt(a + 60 | 0, d + c | 0); - return 0; -} -function bI(a, b) { - a = a | 0; - b = b | 0; - return a >>> ((32 - b | 0) >>> 0) | a << b | 0; -} -function bJ(a, b) { - a = a | 0; - b = b | 0; - return a >>> ((32 - b | 0) >>> 0) | a << b | 0; -} -function bK(a) { - a = a | 0; - return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; -} -function bL(b, c) { - b = b | 0; - c = c | 0; - a[b] = c & 255; - a[b + 1 | 0] = c >>> 8 & 255; - a[b + 2 | 0] = c >>> 16 & 255; - a[b + 3 | 0] = c >>> 24 & 255; - return; -} -function bM(a) { - a = a | 0; - return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; -} -function bN(b, c) { - b = b | 0; - c = c | 0; - a[b] = c & 255; - a[b + 1 | 0] = c >>> 8 & 255; - a[b + 2 | 0] = c >>> 16 & 255; - a[b + 3 | 0] = c >>> 24 & 255; - return; -} -function bO(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0; - e = bK(d) | 0; - f = bK(c) | 0; - g = bK(c + 4 | 0) | 0; - h = bK(c + 8 | 0) | 0; - i = bK(c + 12 | 0) | 0; - j = bK(d + 4 | 0) | 0; - k = bK(b) | 0; - l = bK(b + 4 | 0) | 0; - m = bK(b + 8 | 0) | 0; - n = bK(b + 12 | 0) | 0; - b = bK(d + 8 | 0) | 0; - o = bK(c + 16 | 0) | 0; - p = bK(c + 20 | 0) | 0; - q = bK(c + 24 | 0) | 0; - r = bK(c + 28 | 0) | 0; - c = bK(d + 12 | 0) | 0; - d = c; - s = r; - t = q; - u = p; - v = o; - w = b; - x = n; - y = m; - z = l; - A = k; - B = j; - C = i; - D = h; - E = g; - F = f; - G = e; - H = 12; - do { - I = (bI(G + u | 0, 7) | 0) ^ C; - J = (bI(I + G | 0, 9) | 0) ^ y; - K = (bI(J + I | 0, 13) | 0) ^ u; - L = (bI(K + J | 0, 18) | 0) ^ G; - M = (bI(F + B | 0, 7) | 0) ^ x; - N = (bI(M + B | 0, 9) | 0) ^ t; - O = (bI(N + M | 0, 13) | 0) ^ F; - P = (bI(O + N | 0, 18) | 0) ^ B; - Q = (bI(A + w | 0, 7) | 0) ^ s; - R = (bI(Q + w | 0, 9) | 0) ^ E; - S = (bI(R + Q | 0, 13) | 0) ^ A; - T = (bI(S + R | 0, 18) | 0) ^ w; - U = (bI(v + d | 0, 7) | 0) ^ D; - V = (bI(U + d | 0, 9) | 0) ^ z; - W = (bI(V + U | 0, 13) | 0) ^ v; - X = (bI(W + V | 0, 18) | 0) ^ d; - F = (bI(U + L | 0, 7) | 0) ^ O; - E = (bI(F + L | 0, 9) | 0) ^ R; - D = (bI(E + F | 0, 13) | 0) ^ U; - G = (bI(D + E | 0, 18) | 0) ^ L; - A = (bI(P + I | 0, 7) | 0) ^ S; - z = (bI(A + P | 0, 9) | 0) ^ V; - C = (bI(z + A | 0, 13) | 0) ^ I; - B = (bI(C + z | 0, 18) | 0) ^ P; - v = (bI(T + M | 0, 7) | 0) ^ W; - y = (bI(v + T | 0, 9) | 0) ^ J; - x = (bI(y + v | 0, 13) | 0) ^ M; - w = (bI(x + y | 0, 18) | 0) ^ T; - u = (bI(X + Q | 0, 7) | 0) ^ K; - t = (bI(u + X | 0, 9) | 0) ^ N; - s = (bI(t + u | 0, 13) | 0) ^ Q; - d = (bI(s + t | 0, 18) | 0) ^ X; - H = H - 2 | 0; - } while ((H | 0) > 0); - bL(a, G + e | 0); - bL(a + 4 | 0, F + f | 0); - bL(a + 8 | 0, E + g | 0); - bL(a + 12 | 0, D + h | 0); - bL(a + 16 | 0, C + i | 0); - bL(a + 20 | 0, B + j | 0); - bL(a + 24 | 0, A + k | 0); - bL(a + 28 | 0, z + l | 0); - bL(a + 32 | 0, y + m | 0); - bL(a + 36 | 0, x + n | 0); - bL(a + 40 | 0, w + b | 0); - bL(a + 44 | 0, v + o | 0); - bL(a + 48 | 0, u + p | 0); - bL(a + 52 | 0, t + q | 0); - bL(a + 56 | 0, s + r | 0); - bL(a + 60 | 0, d + c | 0); - return 0; -} -function bP(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0; - e = bM(d) | 0; - f = bM(c) | 0; - g = bM(c + 4 | 0) | 0; - h = bM(c + 8 | 0) | 0; - i = bM(c + 12 | 0) | 0; - j = bM(d + 4 | 0) | 0; - k = bM(b) | 0; - l = bM(b + 4 | 0) | 0; - m = bM(b + 8 | 0) | 0; - n = bM(b + 12 | 0) | 0; - b = bM(d + 8 | 0) | 0; - o = bM(c + 16 | 0) | 0; - p = bM(c + 20 | 0) | 0; - q = bM(c + 24 | 0) | 0; - r = bM(c + 28 | 0) | 0; - c = bM(d + 12 | 0) | 0; - d = c; - s = r; - t = q; - u = p; - v = o; - w = b; - x = n; - y = m; - z = l; - A = k; - B = j; - C = i; - D = h; - E = g; - F = f; - G = e; - H = 8; - do { - I = (bJ(G + u | 0, 7) | 0) ^ C; - J = (bJ(I + G | 0, 9) | 0) ^ y; - K = (bJ(J + I | 0, 13) | 0) ^ u; - L = (bJ(K + J | 0, 18) | 0) ^ G; - M = (bJ(F + B | 0, 7) | 0) ^ x; - N = (bJ(M + B | 0, 9) | 0) ^ t; - O = (bJ(N + M | 0, 13) | 0) ^ F; - P = (bJ(O + N | 0, 18) | 0) ^ B; - Q = (bJ(A + w | 0, 7) | 0) ^ s; - R = (bJ(Q + w | 0, 9) | 0) ^ E; - S = (bJ(R + Q | 0, 13) | 0) ^ A; - T = (bJ(S + R | 0, 18) | 0) ^ w; - U = (bJ(v + d | 0, 7) | 0) ^ D; - V = (bJ(U + d | 0, 9) | 0) ^ z; - W = (bJ(V + U | 0, 13) | 0) ^ v; - X = (bJ(W + V | 0, 18) | 0) ^ d; - F = (bJ(U + L | 0, 7) | 0) ^ O; - E = (bJ(F + L | 0, 9) | 0) ^ R; - D = (bJ(E + F | 0, 13) | 0) ^ U; - G = (bJ(D + E | 0, 18) | 0) ^ L; - A = (bJ(P + I | 0, 7) | 0) ^ S; - z = (bJ(A + P | 0, 9) | 0) ^ V; - C = (bJ(z + A | 0, 13) | 0) ^ I; - B = (bJ(C + z | 0, 18) | 0) ^ P; - v = (bJ(T + M | 0, 7) | 0) ^ W; - y = (bJ(v + T | 0, 9) | 0) ^ J; - x = (bJ(y + v | 0, 13) | 0) ^ M; - w = (bJ(x + y | 0, 18) | 0) ^ T; - u = (bJ(X + Q | 0, 7) | 0) ^ K; - t = (bJ(u + X | 0, 9) | 0) ^ N; - s = (bJ(t + u | 0, 13) | 0) ^ Q; - d = (bJ(s + t | 0, 18) | 0) ^ X; - H = H - 2 | 0; - } while ((H | 0) > 0); - bN(a, G + e | 0); - bN(a + 4 | 0, F + f | 0); - bN(a + 8 | 0, E + g | 0); - bN(a + 12 | 0, D + h | 0); - bN(a + 16 | 0, C + i | 0); - bN(a + 20 | 0, B + j | 0); - bN(a + 24 | 0, A + k | 0); - bN(a + 28 | 0, z + l | 0); - bN(a + 32 | 0, y + m | 0); - bN(a + 36 | 0, x + n | 0); - bN(a + 40 | 0, w + b | 0); - bN(a + 44 | 0, v + o | 0); - bN(a + 48 | 0, u + p | 0); - bN(a + 52 | 0, t + q | 0); - bN(a + 56 | 0, s + r | 0); - bN(a + 60 | 0, d + c | 0); - return 0; -} -function bQ(b, c, d, e) { - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; - f = i; - i = i + 32 | 0; - g = f | 0; - h = g | 0; - j = i; - i = i + 128 | 0; - fn(h | 0, 1184, 32) | 0; - k = d << 3 | 0 >>> 29; - l = g | 0; - bS(l, c, d, e) | 0; - g = d & 63; - m = e & 0; - n = g; - do { - if ((g | 0) == 0 & (m | 0) == 0) { - a[j + n | 0] = -128; - o = fp(g, m, 1, 0) | 0; - p = o; - } else { - o = j | 0; - q = d & 63; - r = c + (d - q) | 0; - fn(o | 0, r | 0, q) | 0; - a[j + n | 0] = -128; - q = 0; - r = fp(g, m, 1, 0) | 0; - o = r; - if (m >>> 0 < q >>> 0 | m >>> 0 == q >>> 0 & g >>> 0 < 56 >>> 0) { - p = o; - break; - } - if (o >>> 0 < 120) { - o = d & 63; - fm(j + (o + 1) | 0, 0, 119 - o | 0); - } - a[j + 120 | 0] = (e >>> 21 | 0 << 11) & 255; - a[j + 121 | 0] = (e >>> 13 | 0 << 19) & 255; - a[j + 122 | 0] = (e >>> 5 | 0 << 27) & 255; - a[j + 123 | 0] = (d >>> 29 | e << 3) & 255; - a[j + 124 | 0] = (d >>> 21 | e << 11) & 255; - a[j + 125 | 0] = (d >>> 13 | e << 19) & 255; - a[j + 126 | 0] = (d >>> 5 | e << 27) & 255; - a[j + 127 | 0] = k & 255; - o = j | 0; - q = 128; - r = 0; - bS(l, o, q, r) | 0; - fn(b | 0, h | 0, 32) | 0; - i = f; - return 0; - } - } while (0); - if (p >>> 0 < 56) { - p = d & 63; - fm(j + (p + 1) | 0, 0, ((p + 2 | 0) >>> 0 > 56 ? p + 1 | 0 : 55) - p | 0); - } - a[j + 56 | 0] = (e >>> 21 | 0 << 11) & 255; - a[j + 57 | 0] = (e >>> 13 | 0 << 19) & 255; - a[j + 58 | 0] = (e >>> 5 | 0 << 27) & 255; - a[j + 59 | 0] = (d >>> 29 | e << 3) & 255; - a[j + 60 | 0] = (d >>> 21 | e << 11) & 255; - a[j + 61 | 0] = (d >>> 13 | e << 19) & 255; - a[j + 62 | 0] = (d >>> 5 | e << 27) & 255; - a[j + 63 | 0] = k & 255; - bS(l, j | 0, 64, 0) | 0; - fn(b | 0, h | 0, 32) | 0; - i = f; - return 0; -} -function bR(b, c, d, e) { - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; - f = i; - i = i + 64 | 0; - g = f | 0; - h = g | 0; - j = i; - i = i + 256 | 0; - fn(h | 0, 1120, 64) | 0; - k = g | 0; - bV(k, c, d, e) | 0; - g = d & 127; - l = e & 0; - m = g; - do { - if ((g | 0) == 0 & (l | 0) == 0) { - a[j + m | 0] = -128; - n = fp(g, l, 1, 0) | 0; - o = n; - } else { - n = j | 0; - p = d & 127; - q = c + (d - p) | 0; - fn(n | 0, q | 0, p) | 0; - a[j + m | 0] = -128; - p = 0; - q = fp(g, l, 1, 0) | 0; - n = q; - if (l >>> 0 < p >>> 0 | l >>> 0 == p >>> 0 & g >>> 0 < 112 >>> 0) { - o = n; - break; - } - if (n >>> 0 < 247) { - n = d & 127; - fm(j + (n + 1) | 0, 0, 246 - n | 0); - } - a[j + 247 | 0] = (e >>> 29 | 0 << 3) & 255; - a[j + 248 | 0] = (e >>> 21 | 0 << 11) & 255; - a[j + 249 | 0] = (e >>> 13 | 0 << 19) & 255; - a[j + 250 | 0] = (e >>> 5 | 0 << 27) & 255; - a[j + 251 | 0] = (d >>> 29 | e << 3) & 255; - a[j + 252 | 0] = (d >>> 21 | e << 11) & 255; - a[j + 253 | 0] = (d >>> 13 | e << 19) & 255; - a[j + 254 | 0] = (d >>> 5 | e << 27) & 255; - a[j + 255 | 0] = (d << 3 | 0 >>> 29) & 255; - n = j | 0; - p = 256; - q = 0; - bV(k, n, p, q) | 0; - fn(b | 0, h | 0, 64) | 0; - i = f; - return 0; - } - } while (0); - if (o >>> 0 < 119) { - o = d & 127; - fm(j + (o + 1) | 0, 0, ((o + 2 | 0) >>> 0 > 119 ? o + 1 | 0 : 118) - o | 0); - } - a[j + 119 | 0] = (e >>> 29 | 0 << 3) & 255; - a[j + 120 | 0] = (e >>> 21 | 0 << 11) & 255; - a[j + 121 | 0] = (e >>> 13 | 0 << 19) & 255; - a[j + 122 | 0] = (e >>> 5 | 0 << 27) & 255; - a[j + 123 | 0] = (d >>> 29 | e << 3) & 255; - a[j + 124 | 0] = (d >>> 21 | e << 11) & 255; - a[j + 125 | 0] = (d >>> 13 | e << 19) & 255; - a[j + 126 | 0] = (d >>> 5 | e << 27) & 255; - a[j + 127 | 0] = (d << 3 | 0 >>> 29) & 255; - bV(k, j | 0, 128, 0) | 0; - fn(b | 0, h | 0, 64) | 0; - i = f; - return 0; -} -function bS(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0; - e = bT(a) | 0; - f = a + 4 | 0; - g = bT(f) | 0; - h = a + 8 | 0; - i = bT(h) | 0; - j = a + 12 | 0; - k = bT(j) | 0; - l = a + 16 | 0; - m = bT(l) | 0; - n = a + 20 | 0; - o = bT(n) | 0; - p = a + 24 | 0; - q = bT(p) | 0; - r = a + 28 | 0; - s = bT(r) | 0; - t = 0; - if (d >>> 0 > t >>> 0 | d >>> 0 == t >>> 0 & c >>> 0 > 63 >>> 0) { - u = s; - v = q; - w = o; - x = m; - y = k; - z = i; - A = g; - B = e; - C = d; - D = c; - E = b; - } else { - F = s; - G = q; - I = o; - J = m; - K = k; - L = i; - M = g; - N = e; - bU(a, N); - bU(f, M); - bU(h, L); - bU(j, K); - bU(l, J); - bU(n, I); - bU(p, G); - bU(r, F); - return 0; - } - while (1) { - e = bT(E) | 0; - g = bT(E + 4 | 0) | 0; - i = bT(E + 8 | 0) | 0; - k = bT(E + 12 | 0) | 0; - m = bT(E + 16 | 0) | 0; - o = bT(E + 20 | 0) | 0; - q = bT(E + 24 | 0) | 0; - s = bT(E + 28 | 0) | 0; - b = bT(E + 32 | 0) | 0; - c = bT(E + 36 | 0) | 0; - d = bT(E + 40 | 0) | 0; - t = bT(E + 44 | 0) | 0; - O = bT(E + 48 | 0) | 0; - P = bT(E + 52 | 0) | 0; - Q = bT(E + 56 | 0) | 0; - R = bT(E + 60 | 0) | 0; - S = u + 1116352408 + (x & w ^ v & ~x) + ((x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)) + e | 0; - T = B & A; - U = S + y | 0; - V = ((B >>> 2 | B << 30) ^ (B >>> 13 | B << 19) ^ (B >>> 22 | B << 10)) + ((B ^ A) & z ^ T) + S | 0; - S = v + 1899447441 + g + (U & x ^ w & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - W = V & B; - X = S + z | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & A ^ T ^ W) + S | 0; - S = w - 1245643825 + i + (X & U ^ x & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = Y & V; - Z = S + A | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & B ^ W ^ T) + S | 0; - S = x - 373957723 + k + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = _ & Y; - $ = S + B | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + S | 0; - S = U + 961987163 + m + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = aa & _; - T = S + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + S | 0; - S = o + 1508970993 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = V & aa; - W = S + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ X) + S | 0; - S = q - 1841331548 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = Y & V; - U = S + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ X ^ Z) + S | 0; - S = s - 1424204075 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = _ & Y; - X = S + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ Z ^ $) + S | 0; - S = b - 670586216 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = aa & _; - Z = S + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ $ ^ T) + S | 0; - S = c + 310598401 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = V & aa; - $ = S + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ T ^ W) + S | 0; - S = d + 607225278 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = Y & V; - T = S + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ W ^ U) + S | 0; - S = t + 1426881987 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = _ & Y; - W = S + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ U ^ X) + S | 0; - S = O + 1925078388 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = aa & _; - U = S + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ X ^ Z) + S | 0; - S = P - 2132889090 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = V & aa; - X = S + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ Z ^ $) + S | 0; - S = Q - 1680079193 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = Y & V; - Z = S + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ $ ^ T) + S | 0; - S = R - 1046744716 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = _ & Y; - $ = S + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + S | 0; - S = ((g >>> 18 | g << 14) ^ g >>> 3 ^ (g >>> 7 | g << 25)) + e + c + ((Q >>> 19 | Q << 13) ^ Q >>> 10 ^ (Q >>> 17 | Q << 15)) | 0; - e = ((i >>> 18 | i << 14) ^ i >>> 3 ^ (i >>> 7 | i << 25)) + g + d + ((R >>> 19 | R << 13) ^ R >>> 10 ^ (R >>> 17 | R << 15)) | 0; - g = ((k >>> 18 | k << 14) ^ k >>> 3 ^ (k >>> 7 | k << 25)) + i + t + ((S >>> 19 | S << 13) ^ S >>> 10 ^ (S >>> 17 | S << 15)) | 0; - i = ((m >>> 18 | m << 14) ^ m >>> 3 ^ (m >>> 7 | m << 25)) + k + O + ((e >>> 19 | e << 13) ^ e >>> 10 ^ (e >>> 17 | e << 15)) | 0; - k = ((o >>> 18 | o << 14) ^ o >>> 3 ^ (o >>> 7 | o << 25)) + m + P + ((g >>> 19 | g << 13) ^ g >>> 10 ^ (g >>> 17 | g << 15)) | 0; - m = ((q >>> 18 | q << 14) ^ q >>> 3 ^ (q >>> 7 | q << 25)) + o + Q + ((i >>> 19 | i << 13) ^ i >>> 10 ^ (i >>> 17 | i << 15)) | 0; - o = ((s >>> 18 | s << 14) ^ s >>> 3 ^ (s >>> 7 | s << 25)) + q + R + ((k >>> 19 | k << 13) ^ k >>> 10 ^ (k >>> 17 | k << 15)) | 0; - q = ((b >>> 18 | b << 14) ^ b >>> 3 ^ (b >>> 7 | b << 25)) + s + S + ((m >>> 19 | m << 13) ^ m >>> 10 ^ (m >>> 17 | m << 15)) | 0; - s = ((c >>> 18 | c << 14) ^ c >>> 3 ^ (c >>> 7 | c << 25)) + b + e + ((o >>> 19 | o << 13) ^ o >>> 10 ^ (o >>> 17 | o << 15)) | 0; - b = ((d >>> 18 | d << 14) ^ d >>> 3 ^ (d >>> 7 | d << 25)) + c + g + ((q >>> 19 | q << 13) ^ q >>> 10 ^ (q >>> 17 | q << 15)) | 0; - c = ((t >>> 18 | t << 14) ^ t >>> 3 ^ (t >>> 7 | t << 25)) + d + i + ((s >>> 19 | s << 13) ^ s >>> 10 ^ (s >>> 17 | s << 15)) | 0; - d = ((O >>> 18 | O << 14) ^ O >>> 3 ^ (O >>> 7 | O << 25)) + t + k + ((b >>> 19 | b << 13) ^ b >>> 10 ^ (b >>> 17 | b << 15)) | 0; - t = ((P >>> 18 | P << 14) ^ P >>> 3 ^ (P >>> 7 | P << 25)) + O + m + ((c >>> 19 | c << 13) ^ c >>> 10 ^ (c >>> 17 | c << 15)) | 0; - O = ((Q >>> 18 | Q << 14) ^ Q >>> 3 ^ (Q >>> 7 | Q << 25)) + P + o + ((d >>> 19 | d << 13) ^ d >>> 10 ^ (d >>> 17 | d << 15)) | 0; - P = ((R >>> 18 | R << 14) ^ R >>> 3 ^ (R >>> 7 | R << 25)) + Q + q + ((t >>> 19 | t << 13) ^ t >>> 10 ^ (t >>> 17 | t << 15)) | 0; - Q = ((S >>> 18 | S << 14) ^ S >>> 3 ^ (S >>> 7 | S << 25)) + R + s + ((O >>> 19 | O << 13) ^ O >>> 10 ^ (O >>> 17 | O << 15)) | 0; - R = S - 459576895 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = aa & _; - T = R + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + R | 0; - R = e - 272742522 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = V & aa; - W = R + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ X) + R | 0; - R = g + 264347078 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = Y & V; - U = R + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ X ^ Z) + R | 0; - R = i + 604807628 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = _ & Y; - X = R + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ Z ^ $) + R | 0; - R = k + 770255983 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = aa & _; - Z = R + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ $ ^ T) + R | 0; - R = m + 1249150122 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = V & aa; - $ = R + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ T ^ W) + R | 0; - R = o + 1555081692 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = Y & V; - T = R + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ W ^ U) + R | 0; - R = q + 1996064986 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = _ & Y; - W = R + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ U ^ X) + R | 0; - R = s - 1740746414 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = aa & _; - U = R + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ X ^ Z) + R | 0; - R = b - 1473132947 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = V & aa; - X = R + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ Z ^ $) + R | 0; - R = c - 1341970488 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = Y & V; - Z = R + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ $ ^ T) + R | 0; - R = d - 1084653625 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = _ & Y; - $ = R + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + R | 0; - R = t - 958395405 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = aa & _; - T = R + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + R | 0; - R = O - 710438585 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = V & aa; - W = R + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ X) + R | 0; - R = P + 113926993 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = Y & V; - U = R + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ X ^ Z) + R | 0; - R = Q + 338241895 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = _ & Y; - X = R + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ Z ^ $) + R | 0; - R = ((e >>> 18 | e << 14) ^ e >>> 3 ^ (e >>> 7 | e << 25)) + S + b + ((P >>> 19 | P << 13) ^ P >>> 10 ^ (P >>> 17 | P << 15)) | 0; - S = ((g >>> 18 | g << 14) ^ g >>> 3 ^ (g >>> 7 | g << 25)) + e + c + ((Q >>> 19 | Q << 13) ^ Q >>> 10 ^ (Q >>> 17 | Q << 15)) | 0; - e = ((i >>> 18 | i << 14) ^ i >>> 3 ^ (i >>> 7 | i << 25)) + g + d + ((R >>> 19 | R << 13) ^ R >>> 10 ^ (R >>> 17 | R << 15)) | 0; - g = ((k >>> 18 | k << 14) ^ k >>> 3 ^ (k >>> 7 | k << 25)) + i + t + ((S >>> 19 | S << 13) ^ S >>> 10 ^ (S >>> 17 | S << 15)) | 0; - i = ((m >>> 18 | m << 14) ^ m >>> 3 ^ (m >>> 7 | m << 25)) + k + O + ((e >>> 19 | e << 13) ^ e >>> 10 ^ (e >>> 17 | e << 15)) | 0; - k = ((o >>> 18 | o << 14) ^ o >>> 3 ^ (o >>> 7 | o << 25)) + m + P + ((g >>> 19 | g << 13) ^ g >>> 10 ^ (g >>> 17 | g << 15)) | 0; - m = ((q >>> 18 | q << 14) ^ q >>> 3 ^ (q >>> 7 | q << 25)) + o + Q + ((i >>> 19 | i << 13) ^ i >>> 10 ^ (i >>> 17 | i << 15)) | 0; - o = ((s >>> 18 | s << 14) ^ s >>> 3 ^ (s >>> 7 | s << 25)) + q + R + ((k >>> 19 | k << 13) ^ k >>> 10 ^ (k >>> 17 | k << 15)) | 0; - q = ((b >>> 18 | b << 14) ^ b >>> 3 ^ (b >>> 7 | b << 25)) + s + S + ((m >>> 19 | m << 13) ^ m >>> 10 ^ (m >>> 17 | m << 15)) | 0; - s = ((c >>> 18 | c << 14) ^ c >>> 3 ^ (c >>> 7 | c << 25)) + b + e + ((o >>> 19 | o << 13) ^ o >>> 10 ^ (o >>> 17 | o << 15)) | 0; - b = ((d >>> 18 | d << 14) ^ d >>> 3 ^ (d >>> 7 | d << 25)) + c + g + ((q >>> 19 | q << 13) ^ q >>> 10 ^ (q >>> 17 | q << 15)) | 0; - c = ((t >>> 18 | t << 14) ^ t >>> 3 ^ (t >>> 7 | t << 25)) + d + i + ((s >>> 19 | s << 13) ^ s >>> 10 ^ (s >>> 17 | s << 15)) | 0; - d = ((O >>> 18 | O << 14) ^ O >>> 3 ^ (O >>> 7 | O << 25)) + t + k + ((b >>> 19 | b << 13) ^ b >>> 10 ^ (b >>> 17 | b << 15)) | 0; - t = ((P >>> 18 | P << 14) ^ P >>> 3 ^ (P >>> 7 | P << 25)) + O + m + ((c >>> 19 | c << 13) ^ c >>> 10 ^ (c >>> 17 | c << 15)) | 0; - O = ((Q >>> 18 | Q << 14) ^ Q >>> 3 ^ (Q >>> 7 | Q << 25)) + P + o + ((d >>> 19 | d << 13) ^ d >>> 10 ^ (d >>> 17 | d << 15)) | 0; - P = ((R >>> 18 | R << 14) ^ R >>> 3 ^ (R >>> 7 | R << 25)) + Q + q + ((t >>> 19 | t << 13) ^ t >>> 10 ^ (t >>> 17 | t << 15)) | 0; - Q = R + 666307205 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = aa & _; - Z = Q + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ $ ^ T) + Q | 0; - Q = S + 773529912 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = V & aa; - $ = Q + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ T ^ W) + Q | 0; - Q = e + 1294757372 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = Y & V; - T = Q + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ W ^ U) + Q | 0; - Q = g + 1396182291 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = _ & Y; - W = Q + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ U ^ X) + Q | 0; - Q = i + 1695183700 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = aa & _; - U = Q + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ X ^ Z) + Q | 0; - Q = k + 1986661051 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = V & aa; - X = Q + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ Z ^ $) + Q | 0; - Q = m - 2117940946 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = Y & V; - Z = Q + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ $ ^ T) + Q | 0; - Q = o - 1838011259 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = _ & Y; - $ = Q + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + Q | 0; - Q = q - 1564481375 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = aa & _; - T = Q + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + Q | 0; - Q = s - 1474664885 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = V & aa; - W = Q + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ X) + Q | 0; - Q = b - 1035236496 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = Y & V; - U = Q + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ X ^ Z) + Q | 0; - Q = c - 949202525 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = _ & Y; - X = Q + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ Z ^ $) + Q | 0; - Q = d - 778901479 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = aa & _; - Z = Q + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ $ ^ T) + Q | 0; - Q = t - 694614492 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = V & aa; - $ = Q + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ T ^ W) + Q | 0; - Q = O - 200395387 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = Y & V; - T = Q + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ W ^ U) + Q | 0; - Q = P + 275423344 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = _ & Y; - W = Q + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ U ^ X) + Q | 0; - Q = ((S >>> 18 | S << 14) ^ S >>> 3 ^ (S >>> 7 | S << 25)) + R + s + ((O >>> 19 | O << 13) ^ O >>> 10 ^ (O >>> 17 | O << 15)) | 0; - R = ((e >>> 18 | e << 14) ^ e >>> 3 ^ (e >>> 7 | e << 25)) + S + b + ((P >>> 19 | P << 13) ^ P >>> 10 ^ (P >>> 17 | P << 15)) | 0; - S = ((g >>> 18 | g << 14) ^ g >>> 3 ^ (g >>> 7 | g << 25)) + e + c + ((Q >>> 19 | Q << 13) ^ Q >>> 10 ^ (Q >>> 17 | Q << 15)) | 0; - e = ((i >>> 18 | i << 14) ^ i >>> 3 ^ (i >>> 7 | i << 25)) + g + d + ((R >>> 19 | R << 13) ^ R >>> 10 ^ (R >>> 17 | R << 15)) | 0; - g = ((k >>> 18 | k << 14) ^ k >>> 3 ^ (k >>> 7 | k << 25)) + i + t + ((S >>> 19 | S << 13) ^ S >>> 10 ^ (S >>> 17 | S << 15)) | 0; - i = ((m >>> 18 | m << 14) ^ m >>> 3 ^ (m >>> 7 | m << 25)) + k + O + ((e >>> 19 | e << 13) ^ e >>> 10 ^ (e >>> 17 | e << 15)) | 0; - k = ((o >>> 18 | o << 14) ^ o >>> 3 ^ (o >>> 7 | o << 25)) + m + P + ((g >>> 19 | g << 13) ^ g >>> 10 ^ (g >>> 17 | g << 15)) | 0; - m = ((q >>> 18 | q << 14) ^ q >>> 3 ^ (q >>> 7 | q << 25)) + o + Q + ((i >>> 19 | i << 13) ^ i >>> 10 ^ (i >>> 17 | i << 15)) | 0; - o = ((s >>> 18 | s << 14) ^ s >>> 3 ^ (s >>> 7 | s << 25)) + q + R + ((k >>> 19 | k << 13) ^ k >>> 10 ^ (k >>> 17 | k << 15)) | 0; - q = ((b >>> 18 | b << 14) ^ b >>> 3 ^ (b >>> 7 | b << 25)) + s + S + ((m >>> 19 | m << 13) ^ m >>> 10 ^ (m >>> 17 | m << 15)) | 0; - s = ((c >>> 18 | c << 14) ^ c >>> 3 ^ (c >>> 7 | c << 25)) + b + e + ((o >>> 19 | o << 13) ^ o >>> 10 ^ (o >>> 17 | o << 15)) | 0; - b = ((d >>> 18 | d << 14) ^ d >>> 3 ^ (d >>> 7 | d << 25)) + c + g + ((q >>> 19 | q << 13) ^ q >>> 10 ^ (q >>> 17 | q << 15)) | 0; - c = ((t >>> 18 | t << 14) ^ t >>> 3 ^ (t >>> 7 | t << 25)) + d + i + ((s >>> 19 | s << 13) ^ s >>> 10 ^ (s >>> 17 | s << 15)) | 0; - d = ((O >>> 18 | O << 14) ^ O >>> 3 ^ (O >>> 7 | O << 25)) + t + k + ((b >>> 19 | b << 13) ^ b >>> 10 ^ (b >>> 17 | b << 15)) | 0; - t = Q + 430227734 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = aa & _; - U = t + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ X ^ Z) + t | 0; - t = R + 506948616 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = V & aa; - R = t + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ Z ^ $) + t | 0; - t = S + 659060556 + T + (R & U ^ W & ~R) + ((R >>> 6 | R << 26) ^ (R >>> 11 | R << 21) ^ (R >>> 25 | R << 7)) | 0; - T = Y & V; - S = t + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ $ ^ T) + t | 0; - t = e + 883997877 + W + (S & R ^ U & ~S) + ((S >>> 6 | S << 26) ^ (S >>> 11 | S << 21) ^ (S >>> 25 | S << 7)) | 0; - W = _ & Y; - e = t + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + t | 0; - t = g + 958139571 + U + (e & S ^ R & ~e) + ((e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7)) | 0; - U = aa & _; - g = t + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + t | 0; - t = i + 1322822218 + R + (g & e ^ S & ~g) + ((g >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7)) | 0; - R = V & aa; - i = t + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ R) + t | 0; - t = k + 1537002063 + S + (i & g ^ e & ~i) + ((i >>> 6 | i << 26) ^ (i >>> 11 | i << 21) ^ (i >>> 25 | i << 7)) | 0; - S = Y & V; - k = t + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ R ^ S) + t | 0; - t = m + 1747873779 + e + (k & i ^ g & ~k) + ((k >>> 6 | k << 26) ^ (k >>> 11 | k << 21) ^ (k >>> 25 | k << 7)) | 0; - e = _ & Y; - R = t + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ S ^ e) + t | 0; - t = o + 1955562222 + g + (R & k ^ i & ~R) + ((R >>> 6 | R << 26) ^ (R >>> 11 | R << 21) ^ (R >>> 25 | R << 7)) | 0; - g = aa & _; - S = t + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ e ^ g) + t | 0; - t = q + 2024104815 + i + (S & R ^ k & ~S) + ((S >>> 6 | S << 26) ^ (S >>> 11 | S << 21) ^ (S >>> 25 | S << 7)) | 0; - i = V & aa; - q = t + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ g ^ i) + t | 0; - t = s - 2067236844 + k + (q & S ^ R & ~q) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) | 0; - k = Y & V; - s = t + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ i ^ k) + t | 0; - t = b - 1933114872 + R + (s & q ^ S & ~s) + ((s >>> 6 | s << 26) ^ (s >>> 11 | s << 21) ^ (s >>> 25 | s << 7)) | 0; - R = _ & Y; - b = t + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ k ^ R) + t | 0; - t = c - 1866530822 + S + (b & s ^ q & ~b) + ((b >>> 6 | b << 26) ^ (b >>> 11 | b << 21) ^ (b >>> 25 | b << 7)) | 0; - S = aa & _; - k = t + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ R ^ S) + t | 0; - t = d - 1538233109 + q + (k & b ^ s & ~k) + ((k >>> 6 | k << 26) ^ (k >>> 11 | k << 21) ^ (k >>> 25 | k << 7)) | 0; - q = V & aa; - R = t + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ S ^ q) + t | 0; - t = O - 1090935817 + ((P >>> 18 | P << 14) ^ P >>> 3 ^ (P >>> 7 | P << 25)) + m + ((c >>> 19 | c << 13) ^ c >>> 10 ^ (c >>> 17 | c << 15)) + s + (R & k ^ b & ~R) + ((R >>> 6 | R << 26) ^ (R >>> 11 | R << 21) ^ (R >>> 25 | R << 7)) | 0; - s = Y & V; - c = t + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ q ^ s) + t | 0; - t = P - 965641998 + ((Q >>> 18 | Q << 14) ^ Q >>> 3 ^ (Q >>> 7 | Q << 25)) + o + ((d >>> 19 | d << 13) ^ d >>> 10 ^ (d >>> 17 | d << 15)) + b + (c & R ^ k & ~c) + ((c >>> 6 | c << 26) ^ (c >>> 11 | c << 21) ^ (c >>> 25 | c << 7)) | 0; - b = (_ & (Y ^ V) ^ s) + B + ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + t | 0; - s = _ + A | 0; - _ = Y + z | 0; - Y = V + y | 0; - V = aa + x + t | 0; - t = c + w | 0; - c = R + v | 0; - R = k + u | 0; - k = fp(D, C, -64, -1) | 0; - aa = H; - d = 0; - if (aa >>> 0 > d >>> 0 | aa >>> 0 == d >>> 0 & k >>> 0 > 63 >>> 0) { - u = R; - v = c; - w = t; - x = V; - y = Y; - z = _; - A = s; - B = b; - C = aa; - D = k; - E = E + 64 | 0; - } else { - F = R; - G = c; - I = t; - J = V; - K = Y; - L = _; - M = s; - N = b; - break; - } - } - bU(a, N); - bU(f, M); - bU(h, L); - bU(j, K); - bU(l, J); - bU(n, I); - bU(p, G); - bU(r, F); - return 0; -} -function bT(a) { - a = a | 0; - return (d[a + 2 | 0] | 0) << 8 | (d[a + 3 | 0] | 0) | (d[a + 1 | 0] | 0) << 16 | (d[a] | 0) << 24 | 0; -} -function bU(b, c) { - b = b | 0; - c = c | 0; - a[b + 3 | 0] = c & 255; - a[b + 2 | 0] = c >>> 8 & 255; - a[b + 1 | 0] = c >>> 16 & 255; - a[b] = c >>> 24 & 255; - return; -} -function bV(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, ar = 0, as = 0, at = 0, au = 0, av = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0, aJ = 0, aK = 0, aL = 0, aM = 0, aN = 0, aO = 0, aP = 0, aQ = 0; - e = bW(a) | 0; - f = H; - g = a + 8 | 0; - h = bW(g) | 0; - i = H; - j = a + 16 | 0; - k = bW(j) | 0; - l = H; - m = a + 24 | 0; - n = bW(m) | 0; - o = H; - p = a + 32 | 0; - q = bW(p) | 0; - r = H; - s = a + 40 | 0; - t = bW(s) | 0; - u = H; - v = a + 48 | 0; - w = bW(v) | 0; - x = H; - y = a + 56 | 0; - z = bW(y) | 0; - A = H; - B = 0; - if (d >>> 0 > B >>> 0 | d >>> 0 == B >>> 0 & c >>> 0 > 127 >>> 0) { - C = A; - D = z; - E = x; - F = w; - G = u; - I = t; - J = r; - K = q; - L = o; - M = n; - N = l; - O = k; - P = i; - Q = h; - R = f; - S = e; - T = d; - U = c; - V = b; - } else { - W = A; - X = z; - Y = x; - Z = w; - _ = u; - $ = t; - aa = r; - ab = q; - ac = o; - ad = n; - ae = l; - af = k; - ag = i; - ah = h; - ai = f; - aj = e; - bX(a, aj, ai); - bX(g, ah, ag); - bX(j, af, ae); - bX(m, ad, ac); - bX(p, ab, aa); - bX(s, $, _); - bX(v, Z, Y); - bX(y, X, W); - return 0; - } - while (1) { - e = bW(V) | 0; - f = H; - h = bW(V + 8 | 0) | 0; - i = H; - k = bW(V + 16 | 0) | 0; - l = H; - n = bW(V + 24 | 0) | 0; - o = H; - q = bW(V + 32 | 0) | 0; - r = H; - t = bW(V + 40 | 0) | 0; - u = H; - w = bW(V + 48 | 0) | 0; - x = H; - z = bW(V + 56 | 0) | 0; - A = H; - b = bW(V + 64 | 0) | 0; - c = H; - d = bW(V + 72 | 0) | 0; - B = H; - ak = bW(V + 80 | 0) | 0; - al = H; - am = bW(V + 88 | 0) | 0; - an = H; - ao = bW(V + 96 | 0) | 0; - ap = H; - aq = bW(V + 104 | 0) | 0; - ar = H; - as = bW(V + 112 | 0) | 0; - at = H; - au = bW(V + 120 | 0) | 0; - av = H; - aw = fp(D, C, -685199838, 1116352408) | 0; - ax = fp(aw, H, K & I ^ F & ~K, J & G ^ E & ~J) | 0; - aw = fp(ax, H, (K >>> 14 | J << 18 | (0 << 18 | 0 >>> 14)) ^ (K >>> 18 | J << 14 | (0 << 14 | 0 >>> 18)) ^ (J >>> 9 | 0 << 23 | (K << 23 | 0 >>> 9)), (J >>> 14 | 0 << 18 | (K << 18 | 0 >>> 14)) ^ (J >>> 18 | 0 << 14 | (K << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (J << 23 | K >>> 9))) | 0; - ax = fp(aw, H, e, f) | 0; - aw = H; - ay = S & Q; - az = R & P; - aA = fp((S >>> 28 | R << 4 | (0 << 4 | 0 >>> 28)) ^ (R >>> 2 | 0 << 30 | (S << 30 | 0 >>> 2)) ^ (R >>> 7 | 0 << 25 | (S << 25 | 0 >>> 7)), (R >>> 28 | 0 << 4 | (S << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (R << 30 | S >>> 2)) ^ (0 >>> 7 | 0 << 25 | (R << 25 | S >>> 7)), (S ^ Q) & O ^ ay, (R ^ P) & N ^ az) | 0; - aB = H; - aC = fp(ax, aw, M, L) | 0; - aD = H; - aE = fp(aA, aB, ax, aw) | 0; - aw = H; - ax = fp(F, E, 602891725, 1899447441) | 0; - aB = fp(ax, H, h, i) | 0; - ax = fp(aB, H, aC & K ^ I & ~aC, aD & J ^ G & ~aD) | 0; - aB = fp(ax, H, (aC >>> 14 | aD << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aD << 14 | (0 << 14 | 0 >>> 18)) ^ (aD >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aD >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aD >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aD << 23 | aC >>> 9))) | 0; - ax = H; - aA = aE & S; - aF = aw & R; - aG = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & Q ^ ay ^ aA, aw & P ^ az ^ aF) | 0; - az = H; - ay = fp(aB, ax, O, N) | 0; - aH = H; - aI = fp(aG, az, aB, ax) | 0; - ax = H; - aB = fp(I, G, -330482897, -1245643825) | 0; - az = fp(aB, H, k, l) | 0; - aB = fp(az, H, ay & aC ^ K & ~ay, aH & aD ^ J & ~aH) | 0; - az = fp(aB, H, (ay >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | ay >>> 9))) | 0; - aB = H; - aG = aI & aE; - aJ = ax & aw; - aK = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & S ^ aA ^ aG, ax & R ^ aF ^ aJ) | 0; - aF = H; - aA = fp(az, aB, Q, P) | 0; - aL = H; - aM = fp(aK, aF, az, aB) | 0; - aB = H; - az = fp(K, J, -2121671748, -373957723) | 0; - aF = fp(az, H, n, o) | 0; - az = fp(aF, H, aA & ay ^ aC & ~aA, aL & aH ^ aD & ~aL) | 0; - aF = fp(az, H, (aA >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aA >>> 9))) | 0; - az = H; - aK = aM & aI; - aN = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aG ^ aK, aB & aw ^ aJ ^ aN) | 0; - aJ = H; - aG = fp(aF, az, S, R) | 0; - aP = H; - aQ = fp(aO, aJ, aF, az) | 0; - az = H; - aF = fp(aC, aD, -213338824, 961987163) | 0; - aD = fp(aF, H, q, r) | 0; - aF = fp(aD, H, aG & aA ^ ay & ~aG, aP & aL ^ aH & ~aP) | 0; - aD = fp(aF, H, (aG >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aG >>> 9))) | 0; - aF = H; - aC = aQ & aM; - aJ = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aK ^ aC, az & ax ^ aN ^ aJ) | 0; - aN = H; - aK = fp(aD, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, aN, aD, aF) | 0; - aF = H; - aD = fp(t, u, -1241133031, 1508970993) | 0; - aN = fp(aD, H, ay, aH) | 0; - aH = fp(aN, H, aK & aG ^ aA & ~aK, aw & aP ^ aL & ~aw) | 0; - aN = fp(aH, H, (aK >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aK >>> 9))) | 0; - aH = H; - ay = aE & aQ; - aD = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aC ^ ay, aF & aB ^ aJ ^ aD) | 0; - aJ = H; - aC = fp(aN, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, aJ, aN, aH) | 0; - aH = H; - aN = fp(w, x, -1357295717, -1841331548) | 0; - aJ = fp(aN, H, aA, aL) | 0; - aL = fp(aJ, H, aC & aK ^ aG & ~aC, ax & aw ^ aP & ~ax) | 0; - aJ = fp(aL, H, (aC >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aC >>> 9))) | 0; - aL = H; - aA = aI & aE; - aN = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ ay ^ aA, aH & az ^ aD ^ aN) | 0; - aD = H; - ay = fp(aJ, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, aD, aJ, aL) | 0; - aL = H; - aJ = fp(z, A, -630357736, -1424204075) | 0; - aD = fp(aJ, H, aG, aP) | 0; - aP = fp(aD, H, ay & aC ^ aK & ~ay, aB & ax ^ aw & ~aB) | 0; - aD = fp(aP, H, (ay >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | ay >>> 9))) | 0; - aP = H; - aG = aM & aI; - aJ = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aA ^ aG, aL & aF ^ aN ^ aJ) | 0; - aN = H; - aA = fp(aD, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, aN, aD, aP) | 0; - aP = H; - aD = fp(b, c, -1560083902, -670586216) | 0; - aN = fp(aD, H, aK, aw) | 0; - aw = fp(aN, H, aA & ay ^ aC & ~aA, az & aB ^ ax & ~az) | 0; - aN = fp(aw, H, (aA >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aA >>> 9))) | 0; - aw = H; - aK = aQ & aM; - aD = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aG ^ aK, aP & aH ^ aJ ^ aD) | 0; - aJ = H; - aG = fp(aN, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, aJ, aN, aw) | 0; - aw = H; - aN = fp(d, B, 1164996542, 310598401) | 0; - aJ = fp(aN, H, aC, ax) | 0; - ax = fp(aJ, H, aG & aA ^ ay & ~aG, aF & az ^ aB & ~aF) | 0; - aJ = fp(ax, H, (aG >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aG >>> 9))) | 0; - ax = H; - aC = aE & aQ; - aN = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aK ^ aC, aw & aL ^ aD ^ aN) | 0; - aD = H; - aK = fp(aJ, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, aD, aJ, ax) | 0; - ax = H; - aJ = fp(ak, al, 1323610764, 607225278) | 0; - aD = fp(aJ, H, ay, aB) | 0; - aB = fp(aD, H, aK & aG ^ aA & ~aK, aH & aF ^ az & ~aH) | 0; - aD = fp(aB, H, (aK >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aK >>> 9))) | 0; - aB = H; - ay = aI & aE; - aJ = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aC ^ ay, ax & aP ^ aN ^ aJ) | 0; - aN = H; - aC = fp(aD, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, aN, aD, aB) | 0; - aB = H; - aD = fp(am, an, -704662302, 1426881987) | 0; - aN = fp(aD, H, aA, az) | 0; - az = fp(aN, H, aC & aK ^ aG & ~aC, aL & aH ^ aF & ~aL) | 0; - aN = fp(az, H, (aC >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aC >>> 9))) | 0; - az = H; - aA = aM & aI; - aD = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ ay ^ aA, aB & aw ^ aJ ^ aD) | 0; - aJ = H; - ay = fp(aN, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, aJ, aN, az) | 0; - az = H; - aN = fp(ao, ap, -226784913, 1925078388) | 0; - aJ = fp(aN, H, aG, aF) | 0; - aF = fp(aJ, H, ay & aC ^ aK & ~ay, aP & aL ^ aH & ~aP) | 0; - aJ = fp(aF, H, (ay >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | ay >>> 9))) | 0; - aF = H; - aG = aQ & aM; - aN = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aA ^ aG, az & ax ^ aD ^ aN) | 0; - aD = H; - aA = fp(aJ, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, aD, aJ, aF) | 0; - aF = H; - aJ = fp(aq, ar, 991336113, -2132889090) | 0; - aD = fp(aJ, H, aK, aH) | 0; - aH = fp(aD, H, aA & ay ^ aC & ~aA, aw & aP ^ aL & ~aw) | 0; - aD = fp(aH, H, (aA >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aA >>> 9))) | 0; - aH = H; - aK = aE & aQ; - aJ = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aG ^ aK, aF & aB ^ aN ^ aJ) | 0; - aN = H; - aG = fp(aD, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, aN, aD, aH) | 0; - aH = H; - aD = fp(as, at, 633803317, -1680079193) | 0; - aN = fp(aD, H, aC, aL) | 0; - aL = fp(aN, H, aG & aA ^ ay & ~aG, ax & aw ^ aP & ~ax) | 0; - aN = fp(aL, H, (aG >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aG >>> 9))) | 0; - aL = H; - aC = aI & aE; - aD = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aK ^ aC, aH & az ^ aJ ^ aD) | 0; - aJ = H; - aK = fp(aN, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, aJ, aN, aL) | 0; - aL = H; - aN = fp(au, av, -815192428, -1046744716) | 0; - aJ = fp(aN, H, ay, aP) | 0; - aP = fp(aJ, H, aK & aG ^ aA & ~aK, aB & ax ^ aw & ~aB) | 0; - aJ = fp(aP, H, (aK >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aK >>> 9))) | 0; - aP = H; - ay = aM & aI; - aN = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aC ^ ay, aL & aF ^ aD ^ aN) | 0; - aD = H; - aC = fp(aJ, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, aD, aJ, aP) | 0; - aP = H; - aJ = fp((h >>> 8 | i << 24 | (0 << 24 | 0 >>> 8)) ^ (h >>> 7 | i << 25) ^ (h >>> 1 | i << 31 | (0 << 31 | 0 >>> 1)), (i >>> 8 | 0 << 24 | (h << 24 | 0 >>> 8)) ^ (i >>> 7 | 0 << 25) ^ (i >>> 1 | 0 << 31 | (h << 31 | 0 >>> 1)), e, f) | 0; - f = fp(aJ, H, d, B) | 0; - aJ = fp(f, H, (at >>> 29 | 0 << 3 | (as << 3 | 0 >>> 29)) ^ (as >>> 6 | at << 26) ^ (as >>> 19 | at << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (at << 3 | as >>> 29)) ^ (at >>> 6 | 0 << 26) ^ (at >>> 19 | 0 << 13 | (as << 13 | 0 >>> 19))) | 0; - f = H; - e = fp((k >>> 8 | l << 24 | (0 << 24 | 0 >>> 8)) ^ (k >>> 7 | l << 25) ^ (k >>> 1 | l << 31 | (0 << 31 | 0 >>> 1)), (l >>> 8 | 0 << 24 | (k << 24 | 0 >>> 8)) ^ (l >>> 7 | 0 << 25) ^ (l >>> 1 | 0 << 31 | (k << 31 | 0 >>> 1)), h, i) | 0; - i = fp(e, H, ak, al) | 0; - e = fp(i, H, (av >>> 29 | 0 << 3 | (au << 3 | 0 >>> 29)) ^ (au >>> 6 | av << 26) ^ (au >>> 19 | av << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (av << 3 | au >>> 29)) ^ (av >>> 6 | 0 << 26) ^ (av >>> 19 | 0 << 13 | (au << 13 | 0 >>> 19))) | 0; - i = H; - h = fp((n >>> 8 | o << 24 | (0 << 24 | 0 >>> 8)) ^ (n >>> 7 | o << 25) ^ (n >>> 1 | o << 31 | (0 << 31 | 0 >>> 1)), (o >>> 8 | 0 << 24 | (n << 24 | 0 >>> 8)) ^ (o >>> 7 | 0 << 25) ^ (o >>> 1 | 0 << 31 | (n << 31 | 0 >>> 1)), k, l) | 0; - l = fp(h, H, am, an) | 0; - h = fp(l, H, (f >>> 29 | 0 << 3 | (aJ << 3 | 0 >>> 29)) ^ (aJ >>> 6 | f << 26) ^ (aJ >>> 19 | f << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (f << 3 | aJ >>> 29)) ^ (f >>> 6 | 0 << 26) ^ (f >>> 19 | 0 << 13 | (aJ << 13 | 0 >>> 19))) | 0; - l = H; - k = fp((q >>> 8 | r << 24 | (0 << 24 | 0 >>> 8)) ^ (q >>> 7 | r << 25) ^ (q >>> 1 | r << 31 | (0 << 31 | 0 >>> 1)), (r >>> 8 | 0 << 24 | (q << 24 | 0 >>> 8)) ^ (r >>> 7 | 0 << 25) ^ (r >>> 1 | 0 << 31 | (q << 31 | 0 >>> 1)), n, o) | 0; - o = fp(k, H, ao, ap) | 0; - k = fp(o, H, (i >>> 29 | 0 << 3 | (e << 3 | 0 >>> 29)) ^ (e >>> 6 | i << 26) ^ (e >>> 19 | i << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (i << 3 | e >>> 29)) ^ (i >>> 6 | 0 << 26) ^ (i >>> 19 | 0 << 13 | (e << 13 | 0 >>> 19))) | 0; - o = H; - n = fp((t >>> 8 | u << 24 | (0 << 24 | 0 >>> 8)) ^ (t >>> 7 | u << 25) ^ (t >>> 1 | u << 31 | (0 << 31 | 0 >>> 1)), (u >>> 8 | 0 << 24 | (t << 24 | 0 >>> 8)) ^ (u >>> 7 | 0 << 25) ^ (u >>> 1 | 0 << 31 | (t << 31 | 0 >>> 1)), q, r) | 0; - r = fp(n, H, aq, ar) | 0; - n = fp(r, H, (l >>> 29 | 0 << 3 | (h << 3 | 0 >>> 29)) ^ (h >>> 6 | l << 26) ^ (h >>> 19 | l << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (l << 3 | h >>> 29)) ^ (l >>> 6 | 0 << 26) ^ (l >>> 19 | 0 << 13 | (h << 13 | 0 >>> 19))) | 0; - r = H; - q = fp((w >>> 8 | x << 24 | (0 << 24 | 0 >>> 8)) ^ (w >>> 7 | x << 25) ^ (w >>> 1 | x << 31 | (0 << 31 | 0 >>> 1)), (x >>> 8 | 0 << 24 | (w << 24 | 0 >>> 8)) ^ (x >>> 7 | 0 << 25) ^ (x >>> 1 | 0 << 31 | (w << 31 | 0 >>> 1)), t, u) | 0; - u = fp(q, H, as, at) | 0; - q = fp(u, H, (o >>> 29 | 0 << 3 | (k << 3 | 0 >>> 29)) ^ (k >>> 6 | o << 26) ^ (k >>> 19 | o << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (o << 3 | k >>> 29)) ^ (o >>> 6 | 0 << 26) ^ (o >>> 19 | 0 << 13 | (k << 13 | 0 >>> 19))) | 0; - u = H; - t = fp((z >>> 8 | A << 24 | (0 << 24 | 0 >>> 8)) ^ (z >>> 7 | A << 25) ^ (z >>> 1 | A << 31 | (0 << 31 | 0 >>> 1)), (A >>> 8 | 0 << 24 | (z << 24 | 0 >>> 8)) ^ (A >>> 7 | 0 << 25) ^ (A >>> 1 | 0 << 31 | (z << 31 | 0 >>> 1)), w, x) | 0; - x = fp(t, H, au, av) | 0; - t = fp(x, H, (r >>> 29 | 0 << 3 | (n << 3 | 0 >>> 29)) ^ (n >>> 6 | r << 26) ^ (n >>> 19 | r << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (r << 3 | n >>> 29)) ^ (r >>> 6 | 0 << 26) ^ (r >>> 19 | 0 << 13 | (n << 13 | 0 >>> 19))) | 0; - x = H; - w = fp((b >>> 8 | c << 24 | (0 << 24 | 0 >>> 8)) ^ (b >>> 7 | c << 25) ^ (b >>> 1 | c << 31 | (0 << 31 | 0 >>> 1)), (c >>> 8 | 0 << 24 | (b << 24 | 0 >>> 8)) ^ (c >>> 7 | 0 << 25) ^ (c >>> 1 | 0 << 31 | (b << 31 | 0 >>> 1)), z, A) | 0; - A = fp(w, H, aJ, f) | 0; - w = fp(A, H, (u >>> 29 | 0 << 3 | (q << 3 | 0 >>> 29)) ^ (q >>> 6 | u << 26) ^ (q >>> 19 | u << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (u << 3 | q >>> 29)) ^ (u >>> 6 | 0 << 26) ^ (u >>> 19 | 0 << 13 | (q << 13 | 0 >>> 19))) | 0; - A = H; - z = fp((d >>> 8 | B << 24 | (0 << 24 | 0 >>> 8)) ^ (d >>> 7 | B << 25) ^ (d >>> 1 | B << 31 | (0 << 31 | 0 >>> 1)), (B >>> 8 | 0 << 24 | (d << 24 | 0 >>> 8)) ^ (B >>> 7 | 0 << 25) ^ (B >>> 1 | 0 << 31 | (d << 31 | 0 >>> 1)), b, c) | 0; - c = fp(z, H, e, i) | 0; - z = fp(c, H, (x >>> 29 | 0 << 3 | (t << 3 | 0 >>> 29)) ^ (t >>> 6 | x << 26) ^ (t >>> 19 | x << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (x << 3 | t >>> 29)) ^ (x >>> 6 | 0 << 26) ^ (x >>> 19 | 0 << 13 | (t << 13 | 0 >>> 19))) | 0; - c = H; - b = fp((ak >>> 8 | al << 24 | (0 << 24 | 0 >>> 8)) ^ (ak >>> 7 | al << 25) ^ (ak >>> 1 | al << 31 | (0 << 31 | 0 >>> 1)), (al >>> 8 | 0 << 24 | (ak << 24 | 0 >>> 8)) ^ (al >>> 7 | 0 << 25) ^ (al >>> 1 | 0 << 31 | (ak << 31 | 0 >>> 1)), d, B) | 0; - B = fp(b, H, h, l) | 0; - b = fp(B, H, (A >>> 29 | 0 << 3 | (w << 3 | 0 >>> 29)) ^ (w >>> 6 | A << 26) ^ (w >>> 19 | A << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (A << 3 | w >>> 29)) ^ (A >>> 6 | 0 << 26) ^ (A >>> 19 | 0 << 13 | (w << 13 | 0 >>> 19))) | 0; - B = H; - d = fp((am >>> 8 | an << 24 | (0 << 24 | 0 >>> 8)) ^ (am >>> 7 | an << 25) ^ (am >>> 1 | an << 31 | (0 << 31 | 0 >>> 1)), (an >>> 8 | 0 << 24 | (am << 24 | 0 >>> 8)) ^ (an >>> 7 | 0 << 25) ^ (an >>> 1 | 0 << 31 | (am << 31 | 0 >>> 1)), ak, al) | 0; - al = fp(d, H, k, o) | 0; - d = fp(al, H, (c >>> 29 | 0 << 3 | (z << 3 | 0 >>> 29)) ^ (z >>> 6 | c << 26) ^ (z >>> 19 | c << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (c << 3 | z >>> 29)) ^ (c >>> 6 | 0 << 26) ^ (c >>> 19 | 0 << 13 | (z << 13 | 0 >>> 19))) | 0; - al = H; - ak = fp((ao >>> 8 | ap << 24 | (0 << 24 | 0 >>> 8)) ^ (ao >>> 7 | ap << 25) ^ (ao >>> 1 | ap << 31 | (0 << 31 | 0 >>> 1)), (ap >>> 8 | 0 << 24 | (ao << 24 | 0 >>> 8)) ^ (ap >>> 7 | 0 << 25) ^ (ap >>> 1 | 0 << 31 | (ao << 31 | 0 >>> 1)), am, an) | 0; - an = fp(ak, H, n, r) | 0; - ak = fp(an, H, (B >>> 29 | 0 << 3 | (b << 3 | 0 >>> 29)) ^ (b >>> 6 | B << 26) ^ (b >>> 19 | B << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (B << 3 | b >>> 29)) ^ (B >>> 6 | 0 << 26) ^ (B >>> 19 | 0 << 13 | (b << 13 | 0 >>> 19))) | 0; - an = H; - am = fp((aq >>> 8 | ar << 24 | (0 << 24 | 0 >>> 8)) ^ (aq >>> 7 | ar << 25) ^ (aq >>> 1 | ar << 31 | (0 << 31 | 0 >>> 1)), (ar >>> 8 | 0 << 24 | (aq << 24 | 0 >>> 8)) ^ (ar >>> 7 | 0 << 25) ^ (ar >>> 1 | 0 << 31 | (aq << 31 | 0 >>> 1)), ao, ap) | 0; - ap = fp(am, H, q, u) | 0; - am = fp(ap, H, (al >>> 29 | 0 << 3 | (d << 3 | 0 >>> 29)) ^ (d >>> 6 | al << 26) ^ (d >>> 19 | al << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (al << 3 | d >>> 29)) ^ (al >>> 6 | 0 << 26) ^ (al >>> 19 | 0 << 13 | (d << 13 | 0 >>> 19))) | 0; - ap = H; - ao = fp((as >>> 8 | at << 24 | (0 << 24 | 0 >>> 8)) ^ (as >>> 7 | at << 25) ^ (as >>> 1 | at << 31 | (0 << 31 | 0 >>> 1)), (at >>> 8 | 0 << 24 | (as << 24 | 0 >>> 8)) ^ (at >>> 7 | 0 << 25) ^ (at >>> 1 | 0 << 31 | (as << 31 | 0 >>> 1)), aq, ar) | 0; - ar = fp(ao, H, t, x) | 0; - ao = fp(ar, H, (an >>> 29 | 0 << 3 | (ak << 3 | 0 >>> 29)) ^ (ak >>> 6 | an << 26) ^ (ak >>> 19 | an << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (an << 3 | ak >>> 29)) ^ (an >>> 6 | 0 << 26) ^ (an >>> 19 | 0 << 13 | (ak << 13 | 0 >>> 19))) | 0; - ar = H; - aq = fp((au >>> 8 | av << 24 | (0 << 24 | 0 >>> 8)) ^ (au >>> 7 | av << 25) ^ (au >>> 1 | av << 31 | (0 << 31 | 0 >>> 1)), (av >>> 8 | 0 << 24 | (au << 24 | 0 >>> 8)) ^ (av >>> 7 | 0 << 25) ^ (av >>> 1 | 0 << 31 | (au << 31 | 0 >>> 1)), as, at) | 0; - at = fp(aq, H, w, A) | 0; - aq = fp(at, H, (ap >>> 29 | 0 << 3 | (am << 3 | 0 >>> 29)) ^ (am >>> 6 | ap << 26) ^ (am >>> 19 | ap << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ap << 3 | am >>> 29)) ^ (ap >>> 6 | 0 << 26) ^ (ap >>> 19 | 0 << 13 | (am << 13 | 0 >>> 19))) | 0; - at = H; - as = fp((aJ >>> 8 | f << 24 | (0 << 24 | 0 >>> 8)) ^ (aJ >>> 7 | f << 25) ^ (aJ >>> 1 | f << 31 | (0 << 31 | 0 >>> 1)), (f >>> 8 | 0 << 24 | (aJ << 24 | 0 >>> 8)) ^ (f >>> 7 | 0 << 25) ^ (f >>> 1 | 0 << 31 | (aJ << 31 | 0 >>> 1)), au, av) | 0; - av = fp(as, H, z, c) | 0; - as = fp(av, H, (ar >>> 29 | 0 << 3 | (ao << 3 | 0 >>> 29)) ^ (ao >>> 6 | ar << 26) ^ (ao >>> 19 | ar << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ar << 3 | ao >>> 29)) ^ (ar >>> 6 | 0 << 26) ^ (ar >>> 19 | 0 << 13 | (ao << 13 | 0 >>> 19))) | 0; - av = H; - au = fp(aJ, f, -1628353838, -459576895) | 0; - aD = fp(au, H, aA, aw) | 0; - aw = fp(aD, H, aC & aK ^ aG & ~aC, az & aB ^ ax & ~az) | 0; - aD = fp(aw, H, (aC >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aC >>> 9))) | 0; - aw = H; - aA = aQ & aM; - au = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ ay ^ aA, aP & aH ^ aN ^ au) | 0; - aN = H; - ay = fp(aD, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, aN, aD, aw) | 0; - aw = H; - aD = fp(e, i, 944711139, -272742522) | 0; - aN = fp(aD, H, aG, ax) | 0; - ax = fp(aN, H, ay & aC ^ aK & ~ay, aF & az ^ aB & ~aF) | 0; - aN = fp(ax, H, (ay >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | ay >>> 9))) | 0; - ax = H; - aG = aE & aQ; - aD = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aA ^ aG, aw & aL ^ au ^ aD) | 0; - au = H; - aA = fp(aN, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, au, aN, ax) | 0; - ax = H; - aN = fp(h, l, -1953704523, 264347078) | 0; - au = fp(aN, H, aK, aB) | 0; - aB = fp(au, H, aA & ay ^ aC & ~aA, aH & aF ^ az & ~aH) | 0; - au = fp(aB, H, (aA >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aA >>> 9))) | 0; - aB = H; - aK = aI & aE; - aN = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aG ^ aK, ax & aP ^ aD ^ aN) | 0; - aD = H; - aG = fp(au, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, aD, au, aB) | 0; - aB = H; - au = fp(k, o, 2007800933, 604807628) | 0; - aD = fp(au, H, aC, az) | 0; - az = fp(aD, H, aG & aA ^ ay & ~aG, aL & aH ^ aF & ~aL) | 0; - aD = fp(az, H, (aG >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aG >>> 9))) | 0; - az = H; - aC = aM & aI; - au = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aK ^ aC, aB & aw ^ aN ^ au) | 0; - aN = H; - aK = fp(aD, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, aN, aD, az) | 0; - az = H; - aD = fp(n, r, 1495990901, 770255983) | 0; - aN = fp(aD, H, ay, aF) | 0; - aF = fp(aN, H, aK & aG ^ aA & ~aK, aP & aL ^ aH & ~aP) | 0; - aN = fp(aF, H, (aK >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aK >>> 9))) | 0; - aF = H; - ay = aQ & aM; - aD = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aC ^ ay, az & ax ^ au ^ aD) | 0; - au = H; - aC = fp(aN, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, au, aN, aF) | 0; - aF = H; - aN = fp(q, u, 1856431235, 1249150122) | 0; - au = fp(aN, H, aA, aH) | 0; - aH = fp(au, H, aC & aK ^ aG & ~aC, aw & aP ^ aL & ~aw) | 0; - au = fp(aH, H, (aC >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aC >>> 9))) | 0; - aH = H; - aA = aE & aQ; - aN = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ ay ^ aA, aF & aB ^ aD ^ aN) | 0; - aD = H; - ay = fp(au, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, aD, au, aH) | 0; - aH = H; - au = fp(t, x, -1119749164, 1555081692) | 0; - aD = fp(au, H, aG, aL) | 0; - aL = fp(aD, H, ay & aC ^ aK & ~ay, ax & aw ^ aP & ~ax) | 0; - aD = fp(aL, H, (ay >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | ay >>> 9))) | 0; - aL = H; - aG = aI & aE; - au = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aA ^ aG, aH & az ^ aN ^ au) | 0; - aN = H; - aA = fp(aD, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, aN, aD, aL) | 0; - aL = H; - aD = fp(w, A, -2096016459, 1996064986) | 0; - aN = fp(aD, H, aK, aP) | 0; - aP = fp(aN, H, aA & ay ^ aC & ~aA, aB & ax ^ aw & ~aB) | 0; - aN = fp(aP, H, (aA >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aA >>> 9))) | 0; - aP = H; - aK = aM & aI; - aD = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aG ^ aK, aL & aF ^ au ^ aD) | 0; - au = H; - aG = fp(aN, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, au, aN, aP) | 0; - aP = H; - aN = fp(z, c, -295247957, -1740746414) | 0; - au = fp(aN, H, aC, aw) | 0; - aw = fp(au, H, aG & aA ^ ay & ~aG, az & aB ^ ax & ~az) | 0; - au = fp(aw, H, (aG >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aG >>> 9))) | 0; - aw = H; - aC = aQ & aM; - aN = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aK ^ aC, aP & aH ^ aD ^ aN) | 0; - aD = H; - aK = fp(au, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, aD, au, aw) | 0; - aw = H; - au = fp(b, B, 766784016, -1473132947) | 0; - aD = fp(au, H, ay, ax) | 0; - ax = fp(aD, H, aK & aG ^ aA & ~aK, aF & az ^ aB & ~aF) | 0; - aD = fp(ax, H, (aK >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aK >>> 9))) | 0; - ax = H; - ay = aE & aQ; - au = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aC ^ ay, aw & aL ^ aN ^ au) | 0; - aN = H; - aC = fp(aD, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, aN, aD, ax) | 0; - ax = H; - aD = fp(d, al, -1728372417, -1341970488) | 0; - aN = fp(aD, H, aA, aB) | 0; - aB = fp(aN, H, aC & aK ^ aG & ~aC, aH & aF ^ az & ~aH) | 0; - aN = fp(aB, H, (aC >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aC >>> 9))) | 0; - aB = H; - aA = aI & aE; - aD = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ ay ^ aA, ax & aP ^ au ^ aD) | 0; - au = H; - ay = fp(aN, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, au, aN, aB) | 0; - aB = H; - aN = fp(ak, an, -1091629340, -1084653625) | 0; - au = fp(aN, H, aG, az) | 0; - az = fp(au, H, ay & aC ^ aK & ~ay, aL & aH ^ aF & ~aL) | 0; - au = fp(az, H, (ay >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | ay >>> 9))) | 0; - az = H; - aG = aM & aI; - aN = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aA ^ aG, aB & aw ^ aD ^ aN) | 0; - aD = H; - aA = fp(au, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, aD, au, az) | 0; - az = H; - au = fp(am, ap, 1034457026, -958395405) | 0; - aD = fp(au, H, aK, aF) | 0; - aF = fp(aD, H, aA & ay ^ aC & ~aA, aP & aL ^ aH & ~aP) | 0; - aD = fp(aF, H, (aA >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aA >>> 9))) | 0; - aF = H; - aK = aQ & aM; - au = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aG ^ aK, az & ax ^ aN ^ au) | 0; - aN = H; - aG = fp(aD, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, aN, aD, aF) | 0; - aF = H; - aD = fp(ao, ar, -1828018395, -710438585) | 0; - aN = fp(aD, H, aC, aH) | 0; - aH = fp(aN, H, aG & aA ^ ay & ~aG, aw & aP ^ aL & ~aw) | 0; - aN = fp(aH, H, (aG >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aG >>> 9))) | 0; - aH = H; - aC = aE & aQ; - aD = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aK ^ aC, aF & aB ^ au ^ aD) | 0; - au = H; - aK = fp(aN, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, au, aN, aH) | 0; - aH = H; - aN = fp(aq, at, -536640913, 113926993) | 0; - au = fp(aN, H, ay, aL) | 0; - aL = fp(au, H, aK & aG ^ aA & ~aK, ax & aw ^ aP & ~ax) | 0; - au = fp(aL, H, (aK >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aK >>> 9))) | 0; - aL = H; - ay = aI & aE; - aN = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aC ^ ay, aH & az ^ aD ^ aN) | 0; - aD = H; - aC = fp(au, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, aD, au, aL) | 0; - aL = H; - au = fp(as, av, 168717936, 338241895) | 0; - aD = fp(au, H, aA, aP) | 0; - aP = fp(aD, H, aC & aK ^ aG & ~aC, aB & ax ^ aw & ~aB) | 0; - aD = fp(aP, H, (aC >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aC >>> 9))) | 0; - aP = H; - aA = aM & aI; - au = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ ay ^ aA, aL & aF ^ aN ^ au) | 0; - aN = H; - ay = fp(aD, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, aN, aD, aP) | 0; - aP = H; - aD = fp((e >>> 8 | i << 24 | (0 << 24 | 0 >>> 8)) ^ (e >>> 7 | i << 25) ^ (e >>> 1 | i << 31 | (0 << 31 | 0 >>> 1)), (i >>> 8 | 0 << 24 | (e << 24 | 0 >>> 8)) ^ (i >>> 7 | 0 << 25) ^ (i >>> 1 | 0 << 31 | (e << 31 | 0 >>> 1)), aJ, f) | 0; - f = fp(aD, H, b, B) | 0; - aD = fp(f, H, (at >>> 29 | 0 << 3 | (aq << 3 | 0 >>> 29)) ^ (aq >>> 6 | at << 26) ^ (aq >>> 19 | at << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (at << 3 | aq >>> 29)) ^ (at >>> 6 | 0 << 26) ^ (at >>> 19 | 0 << 13 | (aq << 13 | 0 >>> 19))) | 0; - f = H; - aJ = fp((h >>> 8 | l << 24 | (0 << 24 | 0 >>> 8)) ^ (h >>> 7 | l << 25) ^ (h >>> 1 | l << 31 | (0 << 31 | 0 >>> 1)), (l >>> 8 | 0 << 24 | (h << 24 | 0 >>> 8)) ^ (l >>> 7 | 0 << 25) ^ (l >>> 1 | 0 << 31 | (h << 31 | 0 >>> 1)), e, i) | 0; - i = fp(aJ, H, d, al) | 0; - aJ = fp(i, H, (av >>> 29 | 0 << 3 | (as << 3 | 0 >>> 29)) ^ (as >>> 6 | av << 26) ^ (as >>> 19 | av << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (av << 3 | as >>> 29)) ^ (av >>> 6 | 0 << 26) ^ (av >>> 19 | 0 << 13 | (as << 13 | 0 >>> 19))) | 0; - i = H; - e = fp((k >>> 8 | o << 24 | (0 << 24 | 0 >>> 8)) ^ (k >>> 7 | o << 25) ^ (k >>> 1 | o << 31 | (0 << 31 | 0 >>> 1)), (o >>> 8 | 0 << 24 | (k << 24 | 0 >>> 8)) ^ (o >>> 7 | 0 << 25) ^ (o >>> 1 | 0 << 31 | (k << 31 | 0 >>> 1)), h, l) | 0; - l = fp(e, H, ak, an) | 0; - e = fp(l, H, (f >>> 29 | 0 << 3 | (aD << 3 | 0 >>> 29)) ^ (aD >>> 6 | f << 26) ^ (aD >>> 19 | f << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (f << 3 | aD >>> 29)) ^ (f >>> 6 | 0 << 26) ^ (f >>> 19 | 0 << 13 | (aD << 13 | 0 >>> 19))) | 0; - l = H; - h = fp((n >>> 8 | r << 24 | (0 << 24 | 0 >>> 8)) ^ (n >>> 7 | r << 25) ^ (n >>> 1 | r << 31 | (0 << 31 | 0 >>> 1)), (r >>> 8 | 0 << 24 | (n << 24 | 0 >>> 8)) ^ (r >>> 7 | 0 << 25) ^ (r >>> 1 | 0 << 31 | (n << 31 | 0 >>> 1)), k, o) | 0; - o = fp(h, H, am, ap) | 0; - h = fp(o, H, (i >>> 29 | 0 << 3 | (aJ << 3 | 0 >>> 29)) ^ (aJ >>> 6 | i << 26) ^ (aJ >>> 19 | i << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (i << 3 | aJ >>> 29)) ^ (i >>> 6 | 0 << 26) ^ (i >>> 19 | 0 << 13 | (aJ << 13 | 0 >>> 19))) | 0; - o = H; - k = fp((q >>> 8 | u << 24 | (0 << 24 | 0 >>> 8)) ^ (q >>> 7 | u << 25) ^ (q >>> 1 | u << 31 | (0 << 31 | 0 >>> 1)), (u >>> 8 | 0 << 24 | (q << 24 | 0 >>> 8)) ^ (u >>> 7 | 0 << 25) ^ (u >>> 1 | 0 << 31 | (q << 31 | 0 >>> 1)), n, r) | 0; - r = fp(k, H, ao, ar) | 0; - k = fp(r, H, (l >>> 29 | 0 << 3 | (e << 3 | 0 >>> 29)) ^ (e >>> 6 | l << 26) ^ (e >>> 19 | l << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (l << 3 | e >>> 29)) ^ (l >>> 6 | 0 << 26) ^ (l >>> 19 | 0 << 13 | (e << 13 | 0 >>> 19))) | 0; - r = H; - n = fp((t >>> 8 | x << 24 | (0 << 24 | 0 >>> 8)) ^ (t >>> 7 | x << 25) ^ (t >>> 1 | x << 31 | (0 << 31 | 0 >>> 1)), (x >>> 8 | 0 << 24 | (t << 24 | 0 >>> 8)) ^ (x >>> 7 | 0 << 25) ^ (x >>> 1 | 0 << 31 | (t << 31 | 0 >>> 1)), q, u) | 0; - u = fp(n, H, aq, at) | 0; - n = fp(u, H, (o >>> 29 | 0 << 3 | (h << 3 | 0 >>> 29)) ^ (h >>> 6 | o << 26) ^ (h >>> 19 | o << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (o << 3 | h >>> 29)) ^ (o >>> 6 | 0 << 26) ^ (o >>> 19 | 0 << 13 | (h << 13 | 0 >>> 19))) | 0; - u = H; - q = fp((w >>> 8 | A << 24 | (0 << 24 | 0 >>> 8)) ^ (w >>> 7 | A << 25) ^ (w >>> 1 | A << 31 | (0 << 31 | 0 >>> 1)), (A >>> 8 | 0 << 24 | (w << 24 | 0 >>> 8)) ^ (A >>> 7 | 0 << 25) ^ (A >>> 1 | 0 << 31 | (w << 31 | 0 >>> 1)), t, x) | 0; - x = fp(q, H, as, av) | 0; - q = fp(x, H, (r >>> 29 | 0 << 3 | (k << 3 | 0 >>> 29)) ^ (k >>> 6 | r << 26) ^ (k >>> 19 | r << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (r << 3 | k >>> 29)) ^ (r >>> 6 | 0 << 26) ^ (r >>> 19 | 0 << 13 | (k << 13 | 0 >>> 19))) | 0; - x = H; - t = fp((z >>> 8 | c << 24 | (0 << 24 | 0 >>> 8)) ^ (z >>> 7 | c << 25) ^ (z >>> 1 | c << 31 | (0 << 31 | 0 >>> 1)), (c >>> 8 | 0 << 24 | (z << 24 | 0 >>> 8)) ^ (c >>> 7 | 0 << 25) ^ (c >>> 1 | 0 << 31 | (z << 31 | 0 >>> 1)), w, A) | 0; - A = fp(t, H, aD, f) | 0; - t = fp(A, H, (u >>> 29 | 0 << 3 | (n << 3 | 0 >>> 29)) ^ (n >>> 6 | u << 26) ^ (n >>> 19 | u << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (u << 3 | n >>> 29)) ^ (u >>> 6 | 0 << 26) ^ (u >>> 19 | 0 << 13 | (n << 13 | 0 >>> 19))) | 0; - A = H; - w = fp((b >>> 8 | B << 24 | (0 << 24 | 0 >>> 8)) ^ (b >>> 7 | B << 25) ^ (b >>> 1 | B << 31 | (0 << 31 | 0 >>> 1)), (B >>> 8 | 0 << 24 | (b << 24 | 0 >>> 8)) ^ (B >>> 7 | 0 << 25) ^ (B >>> 1 | 0 << 31 | (b << 31 | 0 >>> 1)), z, c) | 0; - c = fp(w, H, aJ, i) | 0; - w = fp(c, H, (x >>> 29 | 0 << 3 | (q << 3 | 0 >>> 29)) ^ (q >>> 6 | x << 26) ^ (q >>> 19 | x << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (x << 3 | q >>> 29)) ^ (x >>> 6 | 0 << 26) ^ (x >>> 19 | 0 << 13 | (q << 13 | 0 >>> 19))) | 0; - c = H; - z = fp((d >>> 8 | al << 24 | (0 << 24 | 0 >>> 8)) ^ (d >>> 7 | al << 25) ^ (d >>> 1 | al << 31 | (0 << 31 | 0 >>> 1)), (al >>> 8 | 0 << 24 | (d << 24 | 0 >>> 8)) ^ (al >>> 7 | 0 << 25) ^ (al >>> 1 | 0 << 31 | (d << 31 | 0 >>> 1)), b, B) | 0; - B = fp(z, H, e, l) | 0; - z = fp(B, H, (A >>> 29 | 0 << 3 | (t << 3 | 0 >>> 29)) ^ (t >>> 6 | A << 26) ^ (t >>> 19 | A << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (A << 3 | t >>> 29)) ^ (A >>> 6 | 0 << 26) ^ (A >>> 19 | 0 << 13 | (t << 13 | 0 >>> 19))) | 0; - B = H; - b = fp((ak >>> 8 | an << 24 | (0 << 24 | 0 >>> 8)) ^ (ak >>> 7 | an << 25) ^ (ak >>> 1 | an << 31 | (0 << 31 | 0 >>> 1)), (an >>> 8 | 0 << 24 | (ak << 24 | 0 >>> 8)) ^ (an >>> 7 | 0 << 25) ^ (an >>> 1 | 0 << 31 | (ak << 31 | 0 >>> 1)), d, al) | 0; - al = fp(b, H, h, o) | 0; - b = fp(al, H, (c >>> 29 | 0 << 3 | (w << 3 | 0 >>> 29)) ^ (w >>> 6 | c << 26) ^ (w >>> 19 | c << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (c << 3 | w >>> 29)) ^ (c >>> 6 | 0 << 26) ^ (c >>> 19 | 0 << 13 | (w << 13 | 0 >>> 19))) | 0; - al = H; - d = fp((am >>> 8 | ap << 24 | (0 << 24 | 0 >>> 8)) ^ (am >>> 7 | ap << 25) ^ (am >>> 1 | ap << 31 | (0 << 31 | 0 >>> 1)), (ap >>> 8 | 0 << 24 | (am << 24 | 0 >>> 8)) ^ (ap >>> 7 | 0 << 25) ^ (ap >>> 1 | 0 << 31 | (am << 31 | 0 >>> 1)), ak, an) | 0; - an = fp(d, H, k, r) | 0; - d = fp(an, H, (B >>> 29 | 0 << 3 | (z << 3 | 0 >>> 29)) ^ (z >>> 6 | B << 26) ^ (z >>> 19 | B << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (B << 3 | z >>> 29)) ^ (B >>> 6 | 0 << 26) ^ (B >>> 19 | 0 << 13 | (z << 13 | 0 >>> 19))) | 0; - an = H; - ak = fp((ao >>> 8 | ar << 24 | (0 << 24 | 0 >>> 8)) ^ (ao >>> 7 | ar << 25) ^ (ao >>> 1 | ar << 31 | (0 << 31 | 0 >>> 1)), (ar >>> 8 | 0 << 24 | (ao << 24 | 0 >>> 8)) ^ (ar >>> 7 | 0 << 25) ^ (ar >>> 1 | 0 << 31 | (ao << 31 | 0 >>> 1)), am, ap) | 0; - ap = fp(ak, H, n, u) | 0; - ak = fp(ap, H, (al >>> 29 | 0 << 3 | (b << 3 | 0 >>> 29)) ^ (b >>> 6 | al << 26) ^ (b >>> 19 | al << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (al << 3 | b >>> 29)) ^ (al >>> 6 | 0 << 26) ^ (al >>> 19 | 0 << 13 | (b << 13 | 0 >>> 19))) | 0; - ap = H; - am = fp((aq >>> 8 | at << 24 | (0 << 24 | 0 >>> 8)) ^ (aq >>> 7 | at << 25) ^ (aq >>> 1 | at << 31 | (0 << 31 | 0 >>> 1)), (at >>> 8 | 0 << 24 | (aq << 24 | 0 >>> 8)) ^ (at >>> 7 | 0 << 25) ^ (at >>> 1 | 0 << 31 | (aq << 31 | 0 >>> 1)), ao, ar) | 0; - ar = fp(am, H, q, x) | 0; - am = fp(ar, H, (an >>> 29 | 0 << 3 | (d << 3 | 0 >>> 29)) ^ (d >>> 6 | an << 26) ^ (d >>> 19 | an << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (an << 3 | d >>> 29)) ^ (an >>> 6 | 0 << 26) ^ (an >>> 19 | 0 << 13 | (d << 13 | 0 >>> 19))) | 0; - ar = H; - ao = fp((as >>> 8 | av << 24 | (0 << 24 | 0 >>> 8)) ^ (as >>> 7 | av << 25) ^ (as >>> 1 | av << 31 | (0 << 31 | 0 >>> 1)), (av >>> 8 | 0 << 24 | (as << 24 | 0 >>> 8)) ^ (av >>> 7 | 0 << 25) ^ (av >>> 1 | 0 << 31 | (as << 31 | 0 >>> 1)), aq, at) | 0; - at = fp(ao, H, t, A) | 0; - ao = fp(at, H, (ap >>> 29 | 0 << 3 | (ak << 3 | 0 >>> 29)) ^ (ak >>> 6 | ap << 26) ^ (ak >>> 19 | ap << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ap << 3 | ak >>> 29)) ^ (ap >>> 6 | 0 << 26) ^ (ap >>> 19 | 0 << 13 | (ak << 13 | 0 >>> 19))) | 0; - at = H; - aq = fp((aD >>> 8 | f << 24 | (0 << 24 | 0 >>> 8)) ^ (aD >>> 7 | f << 25) ^ (aD >>> 1 | f << 31 | (0 << 31 | 0 >>> 1)), (f >>> 8 | 0 << 24 | (aD << 24 | 0 >>> 8)) ^ (f >>> 7 | 0 << 25) ^ (f >>> 1 | 0 << 31 | (aD << 31 | 0 >>> 1)), as, av) | 0; - av = fp(aq, H, w, c) | 0; - aq = fp(av, H, (ar >>> 29 | 0 << 3 | (am << 3 | 0 >>> 29)) ^ (am >>> 6 | ar << 26) ^ (am >>> 19 | ar << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ar << 3 | am >>> 29)) ^ (ar >>> 6 | 0 << 26) ^ (ar >>> 19 | 0 << 13 | (am << 13 | 0 >>> 19))) | 0; - av = H; - as = fp(aD, f, 1188179964, 666307205) | 0; - aN = fp(as, H, aG, aw) | 0; - aw = fp(aN, H, ay & aC ^ aK & ~ay, az & aB ^ ax & ~az) | 0; - aN = fp(aw, H, (ay >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | ay >>> 9))) | 0; - aw = H; - aG = aQ & aM; - as = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aA ^ aG, aP & aH ^ au ^ as) | 0; - au = H; - aA = fp(aN, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, au, aN, aw) | 0; - aw = H; - aN = fp(aJ, i, 1546045734, 773529912) | 0; - au = fp(aN, H, aK, ax) | 0; - ax = fp(au, H, aA & ay ^ aC & ~aA, aF & az ^ aB & ~aF) | 0; - au = fp(ax, H, (aA >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aA >>> 9))) | 0; - ax = H; - aK = aE & aQ; - aN = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aG ^ aK, aw & aL ^ as ^ aN) | 0; - as = H; - aG = fp(au, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, as, au, ax) | 0; - ax = H; - au = fp(e, l, 1522805485, 1294757372) | 0; - as = fp(au, H, aC, aB) | 0; - aB = fp(as, H, aG & aA ^ ay & ~aG, aH & aF ^ az & ~aH) | 0; - as = fp(aB, H, (aG >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aG >>> 9))) | 0; - aB = H; - aC = aI & aE; - au = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aK ^ aC, ax & aP ^ aN ^ au) | 0; - aN = H; - aK = fp(as, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, aN, as, aB) | 0; - aB = H; - as = fp(h, o, -1651133473, 1396182291) | 0; - aN = fp(as, H, ay, az) | 0; - az = fp(aN, H, aK & aG ^ aA & ~aK, aL & aH ^ aF & ~aL) | 0; - aN = fp(az, H, (aK >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aK >>> 9))) | 0; - az = H; - ay = aM & aI; - as = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aC ^ ay, aB & aw ^ au ^ as) | 0; - au = H; - aC = fp(aN, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, au, aN, az) | 0; - az = H; - aN = fp(k, r, -1951439906, 1695183700) | 0; - au = fp(aN, H, aA, aF) | 0; - aF = fp(au, H, aC & aK ^ aG & ~aC, aP & aL ^ aH & ~aP) | 0; - au = fp(aF, H, (aC >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aC >>> 9))) | 0; - aF = H; - aA = aQ & aM; - aN = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ ay ^ aA, az & ax ^ as ^ aN) | 0; - as = H; - ay = fp(au, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, as, au, aF) | 0; - aF = H; - au = fp(n, u, 1014477480, 1986661051) | 0; - as = fp(au, H, aG, aH) | 0; - aH = fp(as, H, ay & aC ^ aK & ~ay, aw & aP ^ aL & ~aw) | 0; - as = fp(aH, H, (ay >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | ay >>> 9))) | 0; - aH = H; - aG = aE & aQ; - au = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aA ^ aG, aF & aB ^ aN ^ au) | 0; - aN = H; - aA = fp(as, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, aN, as, aH) | 0; - aH = H; - as = fp(q, x, 1206759142, -2117940946) | 0; - aN = fp(as, H, aK, aL) | 0; - aL = fp(aN, H, aA & ay ^ aC & ~aA, ax & aw ^ aP & ~ax) | 0; - aN = fp(aL, H, (aA >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aA >>> 9))) | 0; - aL = H; - aK = aI & aE; - as = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aG ^ aK, aH & az ^ au ^ as) | 0; - au = H; - aG = fp(aN, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, au, aN, aL) | 0; - aL = H; - aN = fp(t, A, 344077627, -1838011259) | 0; - au = fp(aN, H, aC, aP) | 0; - aP = fp(au, H, aG & aA ^ ay & ~aG, aB & ax ^ aw & ~aB) | 0; - au = fp(aP, H, (aG >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aG >>> 9))) | 0; - aP = H; - aC = aM & aI; - aN = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aK ^ aC, aL & aF ^ as ^ aN) | 0; - as = H; - aK = fp(au, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, as, au, aP) | 0; - aP = H; - au = fp(w, c, 1290863460, -1564481375) | 0; - as = fp(au, H, ay, aw) | 0; - aw = fp(as, H, aK & aG ^ aA & ~aK, az & aB ^ ax & ~az) | 0; - as = fp(aw, H, (aK >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aK >>> 9))) | 0; - aw = H; - ay = aQ & aM; - au = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aC ^ ay, aP & aH ^ aN ^ au) | 0; - aN = H; - aC = fp(as, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, aN, as, aw) | 0; - aw = H; - as = fp(z, B, -1136513023, -1474664885) | 0; - aN = fp(as, H, aA, ax) | 0; - ax = fp(aN, H, aC & aK ^ aG & ~aC, aF & az ^ aB & ~aF) | 0; - aN = fp(ax, H, (aC >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aC >>> 9))) | 0; - ax = H; - aA = aE & aQ; - as = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ ay ^ aA, aw & aL ^ au ^ as) | 0; - au = H; - ay = fp(aN, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, au, aN, ax) | 0; - ax = H; - aN = fp(b, al, -789014639, -1035236496) | 0; - au = fp(aN, H, aG, aB) | 0; - aB = fp(au, H, ay & aC ^ aK & ~ay, aH & aF ^ az & ~aH) | 0; - au = fp(aB, H, (ay >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | ay >>> 9))) | 0; - aB = H; - aG = aI & aE; - aN = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aA ^ aG, ax & aP ^ as ^ aN) | 0; - as = H; - aA = fp(au, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, as, au, aB) | 0; - aB = H; - au = fp(d, an, 106217008, -949202525) | 0; - as = fp(au, H, aK, az) | 0; - az = fp(as, H, aA & ay ^ aC & ~aA, aL & aH ^ aF & ~aL) | 0; - as = fp(az, H, (aA >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aA >>> 9))) | 0; - az = H; - aK = aM & aI; - au = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aG ^ aK, aB & aw ^ aN ^ au) | 0; - aN = H; - aG = fp(as, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, aN, as, az) | 0; - az = H; - as = fp(ak, ap, -688958952, -778901479) | 0; - aN = fp(as, H, aC, aF) | 0; - aF = fp(aN, H, aG & aA ^ ay & ~aG, aP & aL ^ aH & ~aP) | 0; - aN = fp(aF, H, (aG >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aG >>> 9))) | 0; - aF = H; - aC = aQ & aM; - as = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aK ^ aC, az & ax ^ au ^ as) | 0; - au = H; - aK = fp(aN, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, au, aN, aF) | 0; - aF = H; - aN = fp(am, ar, 1432725776, -694614492) | 0; - au = fp(aN, H, ay, aH) | 0; - aH = fp(au, H, aK & aG ^ aA & ~aK, aw & aP ^ aL & ~aw) | 0; - au = fp(aH, H, (aK >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aK >>> 9))) | 0; - aH = H; - ay = aE & aQ; - aN = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aC ^ ay, aF & aB ^ as ^ aN) | 0; - as = H; - aC = fp(au, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, as, au, aH) | 0; - aH = H; - au = fp(ao, at, 1467031594, -200395387) | 0; - as = fp(au, H, aA, aL) | 0; - aL = fp(as, H, aC & aK ^ aG & ~aC, ax & aw ^ aP & ~ax) | 0; - as = fp(aL, H, (aC >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aC >>> 9))) | 0; - aL = H; - aA = aI & aE; - au = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ ay ^ aA, aH & az ^ aN ^ au) | 0; - aN = H; - ay = fp(as, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, aN, as, aL) | 0; - aL = H; - as = fp(aq, av, 851169720, 275423344) | 0; - aN = fp(as, H, aG, aP) | 0; - aP = fp(aN, H, ay & aC ^ aK & ~ay, aB & ax ^ aw & ~aB) | 0; - aN = fp(aP, H, (ay >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | ay >>> 9))) | 0; - aP = H; - aG = aM & aI; - as = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aA ^ aG, aL & aF ^ au ^ as) | 0; - au = H; - aA = fp(aN, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, au, aN, aP) | 0; - aP = H; - aN = fp((aJ >>> 8 | i << 24 | (0 << 24 | 0 >>> 8)) ^ (aJ >>> 7 | i << 25) ^ (aJ >>> 1 | i << 31 | (0 << 31 | 0 >>> 1)), (i >>> 8 | 0 << 24 | (aJ << 24 | 0 >>> 8)) ^ (i >>> 7 | 0 << 25) ^ (i >>> 1 | 0 << 31 | (aJ << 31 | 0 >>> 1)), aD, f) | 0; - f = fp(aN, H, z, B) | 0; - aN = fp(f, H, (at >>> 29 | 0 << 3 | (ao << 3 | 0 >>> 29)) ^ (ao >>> 6 | at << 26) ^ (ao >>> 19 | at << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (at << 3 | ao >>> 29)) ^ (at >>> 6 | 0 << 26) ^ (at >>> 19 | 0 << 13 | (ao << 13 | 0 >>> 19))) | 0; - f = H; - aD = fp((e >>> 8 | l << 24 | (0 << 24 | 0 >>> 8)) ^ (e >>> 7 | l << 25) ^ (e >>> 1 | l << 31 | (0 << 31 | 0 >>> 1)), (l >>> 8 | 0 << 24 | (e << 24 | 0 >>> 8)) ^ (l >>> 7 | 0 << 25) ^ (l >>> 1 | 0 << 31 | (e << 31 | 0 >>> 1)), aJ, i) | 0; - i = fp(aD, H, b, al) | 0; - aD = fp(i, H, (av >>> 29 | 0 << 3 | (aq << 3 | 0 >>> 29)) ^ (aq >>> 6 | av << 26) ^ (aq >>> 19 | av << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (av << 3 | aq >>> 29)) ^ (av >>> 6 | 0 << 26) ^ (av >>> 19 | 0 << 13 | (aq << 13 | 0 >>> 19))) | 0; - i = H; - aJ = fp((h >>> 8 | o << 24 | (0 << 24 | 0 >>> 8)) ^ (h >>> 7 | o << 25) ^ (h >>> 1 | o << 31 | (0 << 31 | 0 >>> 1)), (o >>> 8 | 0 << 24 | (h << 24 | 0 >>> 8)) ^ (o >>> 7 | 0 << 25) ^ (o >>> 1 | 0 << 31 | (h << 31 | 0 >>> 1)), e, l) | 0; - l = fp(aJ, H, d, an) | 0; - aJ = fp(l, H, (f >>> 29 | 0 << 3 | (aN << 3 | 0 >>> 29)) ^ (aN >>> 6 | f << 26) ^ (aN >>> 19 | f << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (f << 3 | aN >>> 29)) ^ (f >>> 6 | 0 << 26) ^ (f >>> 19 | 0 << 13 | (aN << 13 | 0 >>> 19))) | 0; - l = H; - e = fp((k >>> 8 | r << 24 | (0 << 24 | 0 >>> 8)) ^ (k >>> 7 | r << 25) ^ (k >>> 1 | r << 31 | (0 << 31 | 0 >>> 1)), (r >>> 8 | 0 << 24 | (k << 24 | 0 >>> 8)) ^ (r >>> 7 | 0 << 25) ^ (r >>> 1 | 0 << 31 | (k << 31 | 0 >>> 1)), h, o) | 0; - o = fp(e, H, ak, ap) | 0; - e = fp(o, H, (i >>> 29 | 0 << 3 | (aD << 3 | 0 >>> 29)) ^ (aD >>> 6 | i << 26) ^ (aD >>> 19 | i << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (i << 3 | aD >>> 29)) ^ (i >>> 6 | 0 << 26) ^ (i >>> 19 | 0 << 13 | (aD << 13 | 0 >>> 19))) | 0; - o = H; - h = fp((n >>> 8 | u << 24 | (0 << 24 | 0 >>> 8)) ^ (n >>> 7 | u << 25) ^ (n >>> 1 | u << 31 | (0 << 31 | 0 >>> 1)), (u >>> 8 | 0 << 24 | (n << 24 | 0 >>> 8)) ^ (u >>> 7 | 0 << 25) ^ (u >>> 1 | 0 << 31 | (n << 31 | 0 >>> 1)), k, r) | 0; - r = fp(h, H, am, ar) | 0; - h = fp(r, H, (l >>> 29 | 0 << 3 | (aJ << 3 | 0 >>> 29)) ^ (aJ >>> 6 | l << 26) ^ (aJ >>> 19 | l << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (l << 3 | aJ >>> 29)) ^ (l >>> 6 | 0 << 26) ^ (l >>> 19 | 0 << 13 | (aJ << 13 | 0 >>> 19))) | 0; - r = H; - k = fp((q >>> 8 | x << 24 | (0 << 24 | 0 >>> 8)) ^ (q >>> 7 | x << 25) ^ (q >>> 1 | x << 31 | (0 << 31 | 0 >>> 1)), (x >>> 8 | 0 << 24 | (q << 24 | 0 >>> 8)) ^ (x >>> 7 | 0 << 25) ^ (x >>> 1 | 0 << 31 | (q << 31 | 0 >>> 1)), n, u) | 0; - u = fp(k, H, ao, at) | 0; - k = fp(u, H, (o >>> 29 | 0 << 3 | (e << 3 | 0 >>> 29)) ^ (e >>> 6 | o << 26) ^ (e >>> 19 | o << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (o << 3 | e >>> 29)) ^ (o >>> 6 | 0 << 26) ^ (o >>> 19 | 0 << 13 | (e << 13 | 0 >>> 19))) | 0; - u = H; - n = fp((t >>> 8 | A << 24 | (0 << 24 | 0 >>> 8)) ^ (t >>> 7 | A << 25) ^ (t >>> 1 | A << 31 | (0 << 31 | 0 >>> 1)), (A >>> 8 | 0 << 24 | (t << 24 | 0 >>> 8)) ^ (A >>> 7 | 0 << 25) ^ (A >>> 1 | 0 << 31 | (t << 31 | 0 >>> 1)), q, x) | 0; - x = fp(n, H, aq, av) | 0; - n = fp(x, H, (r >>> 29 | 0 << 3 | (h << 3 | 0 >>> 29)) ^ (h >>> 6 | r << 26) ^ (h >>> 19 | r << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (r << 3 | h >>> 29)) ^ (r >>> 6 | 0 << 26) ^ (r >>> 19 | 0 << 13 | (h << 13 | 0 >>> 19))) | 0; - x = H; - q = fp((w >>> 8 | c << 24 | (0 << 24 | 0 >>> 8)) ^ (w >>> 7 | c << 25) ^ (w >>> 1 | c << 31 | (0 << 31 | 0 >>> 1)), (c >>> 8 | 0 << 24 | (w << 24 | 0 >>> 8)) ^ (c >>> 7 | 0 << 25) ^ (c >>> 1 | 0 << 31 | (w << 31 | 0 >>> 1)), t, A) | 0; - A = fp(q, H, aN, f) | 0; - q = fp(A, H, (u >>> 29 | 0 << 3 | (k << 3 | 0 >>> 29)) ^ (k >>> 6 | u << 26) ^ (k >>> 19 | u << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (u << 3 | k >>> 29)) ^ (u >>> 6 | 0 << 26) ^ (u >>> 19 | 0 << 13 | (k << 13 | 0 >>> 19))) | 0; - A = H; - t = fp((z >>> 8 | B << 24 | (0 << 24 | 0 >>> 8)) ^ (z >>> 7 | B << 25) ^ (z >>> 1 | B << 31 | (0 << 31 | 0 >>> 1)), (B >>> 8 | 0 << 24 | (z << 24 | 0 >>> 8)) ^ (B >>> 7 | 0 << 25) ^ (B >>> 1 | 0 << 31 | (z << 31 | 0 >>> 1)), w, c) | 0; - c = fp(t, H, aD, i) | 0; - t = fp(c, H, (x >>> 29 | 0 << 3 | (n << 3 | 0 >>> 29)) ^ (n >>> 6 | x << 26) ^ (n >>> 19 | x << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (x << 3 | n >>> 29)) ^ (x >>> 6 | 0 << 26) ^ (x >>> 19 | 0 << 13 | (n << 13 | 0 >>> 19))) | 0; - c = H; - w = fp((b >>> 8 | al << 24 | (0 << 24 | 0 >>> 8)) ^ (b >>> 7 | al << 25) ^ (b >>> 1 | al << 31 | (0 << 31 | 0 >>> 1)), (al >>> 8 | 0 << 24 | (b << 24 | 0 >>> 8)) ^ (al >>> 7 | 0 << 25) ^ (al >>> 1 | 0 << 31 | (b << 31 | 0 >>> 1)), z, B) | 0; - B = fp(w, H, aJ, l) | 0; - w = fp(B, H, (A >>> 29 | 0 << 3 | (q << 3 | 0 >>> 29)) ^ (q >>> 6 | A << 26) ^ (q >>> 19 | A << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (A << 3 | q >>> 29)) ^ (A >>> 6 | 0 << 26) ^ (A >>> 19 | 0 << 13 | (q << 13 | 0 >>> 19))) | 0; - B = H; - z = fp((d >>> 8 | an << 24 | (0 << 24 | 0 >>> 8)) ^ (d >>> 7 | an << 25) ^ (d >>> 1 | an << 31 | (0 << 31 | 0 >>> 1)), (an >>> 8 | 0 << 24 | (d << 24 | 0 >>> 8)) ^ (an >>> 7 | 0 << 25) ^ (an >>> 1 | 0 << 31 | (d << 31 | 0 >>> 1)), b, al) | 0; - al = fp(z, H, e, o) | 0; - z = fp(al, H, (c >>> 29 | 0 << 3 | (t << 3 | 0 >>> 29)) ^ (t >>> 6 | c << 26) ^ (t >>> 19 | c << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (c << 3 | t >>> 29)) ^ (c >>> 6 | 0 << 26) ^ (c >>> 19 | 0 << 13 | (t << 13 | 0 >>> 19))) | 0; - al = H; - b = fp((ak >>> 8 | ap << 24 | (0 << 24 | 0 >>> 8)) ^ (ak >>> 7 | ap << 25) ^ (ak >>> 1 | ap << 31 | (0 << 31 | 0 >>> 1)), (ap >>> 8 | 0 << 24 | (ak << 24 | 0 >>> 8)) ^ (ap >>> 7 | 0 << 25) ^ (ap >>> 1 | 0 << 31 | (ak << 31 | 0 >>> 1)), d, an) | 0; - an = fp(b, H, h, r) | 0; - b = fp(an, H, (B >>> 29 | 0 << 3 | (w << 3 | 0 >>> 29)) ^ (w >>> 6 | B << 26) ^ (w >>> 19 | B << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (B << 3 | w >>> 29)) ^ (B >>> 6 | 0 << 26) ^ (B >>> 19 | 0 << 13 | (w << 13 | 0 >>> 19))) | 0; - an = H; - d = fp((am >>> 8 | ar << 24 | (0 << 24 | 0 >>> 8)) ^ (am >>> 7 | ar << 25) ^ (am >>> 1 | ar << 31 | (0 << 31 | 0 >>> 1)), (ar >>> 8 | 0 << 24 | (am << 24 | 0 >>> 8)) ^ (ar >>> 7 | 0 << 25) ^ (ar >>> 1 | 0 << 31 | (am << 31 | 0 >>> 1)), ak, ap) | 0; - ap = fp(d, H, k, u) | 0; - d = fp(ap, H, (al >>> 29 | 0 << 3 | (z << 3 | 0 >>> 29)) ^ (z >>> 6 | al << 26) ^ (z >>> 19 | al << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (al << 3 | z >>> 29)) ^ (al >>> 6 | 0 << 26) ^ (al >>> 19 | 0 << 13 | (z << 13 | 0 >>> 19))) | 0; - ap = H; - ak = fp((ao >>> 8 | at << 24 | (0 << 24 | 0 >>> 8)) ^ (ao >>> 7 | at << 25) ^ (ao >>> 1 | at << 31 | (0 << 31 | 0 >>> 1)), (at >>> 8 | 0 << 24 | (ao << 24 | 0 >>> 8)) ^ (at >>> 7 | 0 << 25) ^ (at >>> 1 | 0 << 31 | (ao << 31 | 0 >>> 1)), am, ar) | 0; - ar = fp(ak, H, n, x) | 0; - ak = fp(ar, H, (an >>> 29 | 0 << 3 | (b << 3 | 0 >>> 29)) ^ (b >>> 6 | an << 26) ^ (b >>> 19 | an << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (an << 3 | b >>> 29)) ^ (an >>> 6 | 0 << 26) ^ (an >>> 19 | 0 << 13 | (b << 13 | 0 >>> 19))) | 0; - ar = H; - am = fp((aq >>> 8 | av << 24 | (0 << 24 | 0 >>> 8)) ^ (aq >>> 7 | av << 25) ^ (aq >>> 1 | av << 31 | (0 << 31 | 0 >>> 1)), (av >>> 8 | 0 << 24 | (aq << 24 | 0 >>> 8)) ^ (av >>> 7 | 0 << 25) ^ (av >>> 1 | 0 << 31 | (aq << 31 | 0 >>> 1)), ao, at) | 0; - at = fp(am, H, q, A) | 0; - am = fp(at, H, (ap >>> 29 | 0 << 3 | (d << 3 | 0 >>> 29)) ^ (d >>> 6 | ap << 26) ^ (d >>> 19 | ap << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ap << 3 | d >>> 29)) ^ (ap >>> 6 | 0 << 26) ^ (ap >>> 19 | 0 << 13 | (d << 13 | 0 >>> 19))) | 0; - at = H; - ao = fp((aN >>> 8 | f << 24 | (0 << 24 | 0 >>> 8)) ^ (aN >>> 7 | f << 25) ^ (aN >>> 1 | f << 31 | (0 << 31 | 0 >>> 1)), (f >>> 8 | 0 << 24 | (aN << 24 | 0 >>> 8)) ^ (f >>> 7 | 0 << 25) ^ (f >>> 1 | 0 << 31 | (aN << 31 | 0 >>> 1)), aq, av) | 0; - av = fp(ao, H, t, c) | 0; - ao = fp(av, H, (ar >>> 29 | 0 << 3 | (ak << 3 | 0 >>> 29)) ^ (ak >>> 6 | ar << 26) ^ (ak >>> 19 | ar << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ar << 3 | ak >>> 29)) ^ (ar >>> 6 | 0 << 26) ^ (ar >>> 19 | 0 << 13 | (ak << 13 | 0 >>> 19))) | 0; - av = H; - aq = fp(aN, f, -1194143544, 430227734) | 0; - au = fp(aq, H, aK, aw) | 0; - aw = fp(au, H, aA & ay ^ aC & ~aA, az & aB ^ ax & ~az) | 0; - au = fp(aw, H, (aA >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aA >>> 9))) | 0; - aw = H; - aK = aQ & aM; - aq = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aG ^ aK, aP & aH ^ as ^ aq) | 0; - as = H; - aG = fp(au, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, as, au, aw) | 0; - aw = H; - au = fp(aD, i, 1363258195, 506948616) | 0; - as = fp(au, H, aC, ax) | 0; - ax = fp(as, H, aG & aA ^ ay & ~aG, aF & az ^ aB & ~aF) | 0; - as = fp(ax, H, (aG >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aG >>> 9))) | 0; - ax = H; - aC = aE & aQ; - au = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aK ^ aC, aw & aL ^ aq ^ au) | 0; - aq = H; - aK = fp(as, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, aq, as, ax) | 0; - ax = H; - as = fp(aJ, l, -544281703, 659060556) | 0; - aq = fp(as, H, ay, aB) | 0; - aB = fp(aq, H, aK & aG ^ aA & ~aK, aH & aF ^ az & ~aH) | 0; - aq = fp(aB, H, (aK >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aK >>> 9))) | 0; - aB = H; - ay = aI & aE; - as = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aC ^ ay, ax & aP ^ au ^ as) | 0; - au = H; - aC = fp(aq, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, au, aq, aB) | 0; - aB = H; - aq = fp(e, o, -509917016, 883997877) | 0; - au = fp(aq, H, aA, az) | 0; - az = fp(au, H, aC & aK ^ aG & ~aC, aL & aH ^ aF & ~aL) | 0; - au = fp(az, H, (aC >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aC >>> 9))) | 0; - az = H; - aA = aM & aI; - aq = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ ay ^ aA, aB & aw ^ as ^ aq) | 0; - as = H; - ay = fp(au, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, as, au, az) | 0; - az = H; - au = fp(h, r, -976659869, 958139571) | 0; - as = fp(au, H, aG, aF) | 0; - aF = fp(as, H, ay & aC ^ aK & ~ay, aP & aL ^ aH & ~aP) | 0; - as = fp(aF, H, (ay >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | ay >>> 9))) | 0; - aF = H; - aG = aQ & aM; - au = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aA ^ aG, az & ax ^ aq ^ au) | 0; - aq = H; - aA = fp(as, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, aq, as, aF) | 0; - aF = H; - as = fp(k, u, -482243893, 1322822218) | 0; - aq = fp(as, H, aK, aH) | 0; - aH = fp(aq, H, aA & ay ^ aC & ~aA, aw & aP ^ aL & ~aw) | 0; - aq = fp(aH, H, (aA >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aA >>> 9))) | 0; - aH = H; - aK = aE & aQ; - as = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aG ^ aK, aF & aB ^ au ^ as) | 0; - au = H; - aG = fp(aq, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, au, aq, aH) | 0; - aH = H; - aq = fp(n, x, 2003034995, 1537002063) | 0; - au = fp(aq, H, aC, aL) | 0; - aL = fp(au, H, aG & aA ^ ay & ~aG, ax & aw ^ aP & ~ax) | 0; - au = fp(aL, H, (aG >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aG >>> 9))) | 0; - aL = H; - aC = aI & aE; - aq = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aK ^ aC, aH & az ^ as ^ aq) | 0; - as = H; - aK = fp(au, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, as, au, aL) | 0; - aL = H; - au = fp(q, A, -692930397, 1747873779) | 0; - as = fp(au, H, ay, aP) | 0; - aP = fp(as, H, aK & aG ^ aA & ~aK, aB & ax ^ aw & ~aB) | 0; - as = fp(aP, H, (aK >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aK >>> 9))) | 0; - aP = H; - ay = aM & aI; - au = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aC ^ ay, aL & aF ^ aq ^ au) | 0; - aq = H; - aC = fp(as, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, aq, as, aP) | 0; - aP = H; - as = fp(t, c, 1575990012, 1955562222) | 0; - aq = fp(as, H, aA, aw) | 0; - aw = fp(aq, H, aC & aK ^ aG & ~aC, az & aB ^ ax & ~az) | 0; - aq = fp(aw, H, (aC >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aC >>> 9))) | 0; - aw = H; - aA = aQ & aM; - as = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ ay ^ aA, aP & aH ^ au ^ as) | 0; - au = H; - ay = fp(aq, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, au, aq, aw) | 0; - aw = H; - aq = fp(w, B, 1125592928, 2024104815) | 0; - au = fp(aq, H, aG, ax) | 0; - ax = fp(au, H, ay & aC ^ aK & ~ay, aF & az ^ aB & ~aF) | 0; - au = fp(ax, H, (ay >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | ay >>> 9))) | 0; - ax = H; - aG = aE & aQ; - aq = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aA ^ aG, aw & aL ^ as ^ aq) | 0; - as = H; - aA = fp(au, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, as, au, ax) | 0; - ax = H; - au = fp(z, al, -1578062990, -2067236844) | 0; - as = fp(au, H, aK, aB) | 0; - aB = fp(as, H, aA & ay ^ aC & ~aA, aH & aF ^ az & ~aH) | 0; - as = fp(aB, H, (aA >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aA >>> 9))) | 0; - aB = H; - aK = aI & aE; - au = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aG ^ aK, ax & aP ^ aq ^ au) | 0; - aq = H; - aG = fp(as, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, aq, as, aB) | 0; - aB = H; - as = fp(b, an, 442776044, -1933114872) | 0; - aq = fp(as, H, aC, az) | 0; - az = fp(aq, H, aG & aA ^ ay & ~aG, aL & aH ^ aF & ~aL) | 0; - aq = fp(az, H, (aG >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aG >>> 9))) | 0; - az = H; - aC = aM & aI; - as = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aK ^ aC, aB & aw ^ au ^ as) | 0; - au = H; - aK = fp(aq, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, au, aq, az) | 0; - az = H; - aq = fp(d, ap, 593698344, -1866530822) | 0; - au = fp(aq, H, ay, aF) | 0; - aF = fp(au, H, aK & aG ^ aA & ~aK, aP & aL ^ aH & ~aP) | 0; - au = fp(aF, H, (aK >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aK >>> 9))) | 0; - aF = H; - ay = aQ & aM; - aq = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aC ^ ay, az & ax ^ as ^ aq) | 0; - as = H; - aC = fp(au, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, as, au, aF) | 0; - aF = H; - au = fp(ak, ar, -561857047, -1538233109) | 0; - as = fp(au, H, aA, aH) | 0; - aH = fp(as, H, aC & aK ^ aG & ~aC, aw & aP ^ aL & ~aw) | 0; - as = fp(aH, H, (aC >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aC >>> 9))) | 0; - aH = H; - aA = aE & aQ; - au = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ ay ^ aA, aF & aB ^ aq ^ au) | 0; - aq = H; - ay = fp(as, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, aq, as, aH) | 0; - aH = H; - as = fp(am, at, -1295615723, -1090935817) | 0; - aq = fp(as, H, aG, aL) | 0; - aL = fp(aq, H, ay & aC ^ aK & ~ay, ax & aw ^ aP & ~ax) | 0; - aq = fp(aL, H, (ay >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | ay >>> 9))) | 0; - aL = H; - aG = aI & aE; - as = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aA ^ aG, aH & az ^ au ^ as) | 0; - au = H; - aA = fp(aq, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, au, aq, aL) | 0; - aL = H; - aq = fp(ao, av, -479046869, -965641998) | 0; - au = fp(aq, H, aK, aP) | 0; - aP = fp(au, H, aA & ay ^ aC & ~aA, aB & ax ^ aw & ~aB) | 0; - au = fp(aP, H, (aA >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aA >>> 9))) | 0; - aP = H; - aK = aM & aI; - aq = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aG ^ aK, aL & aF ^ as ^ aq) | 0; - as = H; - aG = fp(au, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, as, au, aP) | 0; - aP = H; - au = fp((aD >>> 8 | i << 24 | (0 << 24 | 0 >>> 8)) ^ (aD >>> 7 | i << 25) ^ (aD >>> 1 | i << 31 | (0 << 31 | 0 >>> 1)), (i >>> 8 | 0 << 24 | (aD << 24 | 0 >>> 8)) ^ (i >>> 7 | 0 << 25) ^ (i >>> 1 | 0 << 31 | (aD << 31 | 0 >>> 1)), aN, f) | 0; - f = fp(au, H, w, B) | 0; - au = fp(f, H, (at >>> 29 | 0 << 3 | (am << 3 | 0 >>> 29)) ^ (am >>> 6 | at << 26) ^ (am >>> 19 | at << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (at << 3 | am >>> 29)) ^ (at >>> 6 | 0 << 26) ^ (at >>> 19 | 0 << 13 | (am << 13 | 0 >>> 19))) | 0; - f = H; - aN = fp((aJ >>> 8 | l << 24 | (0 << 24 | 0 >>> 8)) ^ (aJ >>> 7 | l << 25) ^ (aJ >>> 1 | l << 31 | (0 << 31 | 0 >>> 1)), (l >>> 8 | 0 << 24 | (aJ << 24 | 0 >>> 8)) ^ (l >>> 7 | 0 << 25) ^ (l >>> 1 | 0 << 31 | (aJ << 31 | 0 >>> 1)), aD, i) | 0; - i = fp(aN, H, z, al) | 0; - aN = fp(i, H, (av >>> 29 | 0 << 3 | (ao << 3 | 0 >>> 29)) ^ (ao >>> 6 | av << 26) ^ (ao >>> 19 | av << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (av << 3 | ao >>> 29)) ^ (av >>> 6 | 0 << 26) ^ (av >>> 19 | 0 << 13 | (ao << 13 | 0 >>> 19))) | 0; - i = H; - aD = fp((e >>> 8 | o << 24 | (0 << 24 | 0 >>> 8)) ^ (e >>> 7 | o << 25) ^ (e >>> 1 | o << 31 | (0 << 31 | 0 >>> 1)), (o >>> 8 | 0 << 24 | (e << 24 | 0 >>> 8)) ^ (o >>> 7 | 0 << 25) ^ (o >>> 1 | 0 << 31 | (e << 31 | 0 >>> 1)), aJ, l) | 0; - l = fp(aD, H, b, an) | 0; - aD = fp(l, H, (f >>> 29 | 0 << 3 | (au << 3 | 0 >>> 29)) ^ (au >>> 6 | f << 26) ^ (au >>> 19 | f << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (f << 3 | au >>> 29)) ^ (f >>> 6 | 0 << 26) ^ (f >>> 19 | 0 << 13 | (au << 13 | 0 >>> 19))) | 0; - l = H; - aJ = fp((h >>> 8 | r << 24 | (0 << 24 | 0 >>> 8)) ^ (h >>> 7 | r << 25) ^ (h >>> 1 | r << 31 | (0 << 31 | 0 >>> 1)), (r >>> 8 | 0 << 24 | (h << 24 | 0 >>> 8)) ^ (r >>> 7 | 0 << 25) ^ (r >>> 1 | 0 << 31 | (h << 31 | 0 >>> 1)), e, o) | 0; - o = fp(aJ, H, d, ap) | 0; - aJ = fp(o, H, (i >>> 29 | 0 << 3 | (aN << 3 | 0 >>> 29)) ^ (aN >>> 6 | i << 26) ^ (aN >>> 19 | i << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (i << 3 | aN >>> 29)) ^ (i >>> 6 | 0 << 26) ^ (i >>> 19 | 0 << 13 | (aN << 13 | 0 >>> 19))) | 0; - o = H; - e = fp((k >>> 8 | u << 24 | (0 << 24 | 0 >>> 8)) ^ (k >>> 7 | u << 25) ^ (k >>> 1 | u << 31 | (0 << 31 | 0 >>> 1)), (u >>> 8 | 0 << 24 | (k << 24 | 0 >>> 8)) ^ (u >>> 7 | 0 << 25) ^ (u >>> 1 | 0 << 31 | (k << 31 | 0 >>> 1)), h, r) | 0; - r = fp(e, H, ak, ar) | 0; - e = fp(r, H, (l >>> 29 | 0 << 3 | (aD << 3 | 0 >>> 29)) ^ (aD >>> 6 | l << 26) ^ (aD >>> 19 | l << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (l << 3 | aD >>> 29)) ^ (l >>> 6 | 0 << 26) ^ (l >>> 19 | 0 << 13 | (aD << 13 | 0 >>> 19))) | 0; - r = H; - h = fp((n >>> 8 | x << 24 | (0 << 24 | 0 >>> 8)) ^ (n >>> 7 | x << 25) ^ (n >>> 1 | x << 31 | (0 << 31 | 0 >>> 1)), (x >>> 8 | 0 << 24 | (n << 24 | 0 >>> 8)) ^ (x >>> 7 | 0 << 25) ^ (x >>> 1 | 0 << 31 | (n << 31 | 0 >>> 1)), k, u) | 0; - u = fp(h, H, am, at) | 0; - h = fp(u, H, (o >>> 29 | 0 << 3 | (aJ << 3 | 0 >>> 29)) ^ (aJ >>> 6 | o << 26) ^ (aJ >>> 19 | o << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (o << 3 | aJ >>> 29)) ^ (o >>> 6 | 0 << 26) ^ (o >>> 19 | 0 << 13 | (aJ << 13 | 0 >>> 19))) | 0; - u = H; - k = fp((q >>> 8 | A << 24 | (0 << 24 | 0 >>> 8)) ^ (q >>> 7 | A << 25) ^ (q >>> 1 | A << 31 | (0 << 31 | 0 >>> 1)), (A >>> 8 | 0 << 24 | (q << 24 | 0 >>> 8)) ^ (A >>> 7 | 0 << 25) ^ (A >>> 1 | 0 << 31 | (q << 31 | 0 >>> 1)), n, x) | 0; - x = fp(k, H, ao, av) | 0; - k = fp(x, H, (r >>> 29 | 0 << 3 | (e << 3 | 0 >>> 29)) ^ (e >>> 6 | r << 26) ^ (e >>> 19 | r << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (r << 3 | e >>> 29)) ^ (r >>> 6 | 0 << 26) ^ (r >>> 19 | 0 << 13 | (e << 13 | 0 >>> 19))) | 0; - x = H; - n = fp((t >>> 8 | c << 24 | (0 << 24 | 0 >>> 8)) ^ (t >>> 7 | c << 25) ^ (t >>> 1 | c << 31 | (0 << 31 | 0 >>> 1)), (c >>> 8 | 0 << 24 | (t << 24 | 0 >>> 8)) ^ (c >>> 7 | 0 << 25) ^ (c >>> 1 | 0 << 31 | (t << 31 | 0 >>> 1)), q, A) | 0; - A = fp(n, H, au, f) | 0; - n = fp(A, H, (u >>> 29 | 0 << 3 | (h << 3 | 0 >>> 29)) ^ (h >>> 6 | u << 26) ^ (h >>> 19 | u << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (u << 3 | h >>> 29)) ^ (u >>> 6 | 0 << 26) ^ (u >>> 19 | 0 << 13 | (h << 13 | 0 >>> 19))) | 0; - A = H; - q = fp((w >>> 8 | B << 24 | (0 << 24 | 0 >>> 8)) ^ (w >>> 7 | B << 25) ^ (w >>> 1 | B << 31 | (0 << 31 | 0 >>> 1)), (B >>> 8 | 0 << 24 | (w << 24 | 0 >>> 8)) ^ (B >>> 7 | 0 << 25) ^ (B >>> 1 | 0 << 31 | (w << 31 | 0 >>> 1)), t, c) | 0; - c = fp(q, H, aN, i) | 0; - q = fp(c, H, (x >>> 29 | 0 << 3 | (k << 3 | 0 >>> 29)) ^ (k >>> 6 | x << 26) ^ (k >>> 19 | x << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (x << 3 | k >>> 29)) ^ (x >>> 6 | 0 << 26) ^ (x >>> 19 | 0 << 13 | (k << 13 | 0 >>> 19))) | 0; - c = H; - t = fp((z >>> 8 | al << 24 | (0 << 24 | 0 >>> 8)) ^ (z >>> 7 | al << 25) ^ (z >>> 1 | al << 31 | (0 << 31 | 0 >>> 1)), (al >>> 8 | 0 << 24 | (z << 24 | 0 >>> 8)) ^ (al >>> 7 | 0 << 25) ^ (al >>> 1 | 0 << 31 | (z << 31 | 0 >>> 1)), w, B) | 0; - B = fp(t, H, aD, l) | 0; - t = fp(B, H, (A >>> 29 | 0 << 3 | (n << 3 | 0 >>> 29)) ^ (n >>> 6 | A << 26) ^ (n >>> 19 | A << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (A << 3 | n >>> 29)) ^ (A >>> 6 | 0 << 26) ^ (A >>> 19 | 0 << 13 | (n << 13 | 0 >>> 19))) | 0; - B = H; - w = fp((b >>> 8 | an << 24 | (0 << 24 | 0 >>> 8)) ^ (b >>> 7 | an << 25) ^ (b >>> 1 | an << 31 | (0 << 31 | 0 >>> 1)), (an >>> 8 | 0 << 24 | (b << 24 | 0 >>> 8)) ^ (an >>> 7 | 0 << 25) ^ (an >>> 1 | 0 << 31 | (b << 31 | 0 >>> 1)), z, al) | 0; - al = fp(w, H, aJ, o) | 0; - w = fp(al, H, (c >>> 29 | 0 << 3 | (q << 3 | 0 >>> 29)) ^ (q >>> 6 | c << 26) ^ (q >>> 19 | c << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (c << 3 | q >>> 29)) ^ (c >>> 6 | 0 << 26) ^ (c >>> 19 | 0 << 13 | (q << 13 | 0 >>> 19))) | 0; - al = H; - z = fp((d >>> 8 | ap << 24 | (0 << 24 | 0 >>> 8)) ^ (d >>> 7 | ap << 25) ^ (d >>> 1 | ap << 31 | (0 << 31 | 0 >>> 1)), (ap >>> 8 | 0 << 24 | (d << 24 | 0 >>> 8)) ^ (ap >>> 7 | 0 << 25) ^ (ap >>> 1 | 0 << 31 | (d << 31 | 0 >>> 1)), b, an) | 0; - an = fp(z, H, e, r) | 0; - z = fp(an, H, (B >>> 29 | 0 << 3 | (t << 3 | 0 >>> 29)) ^ (t >>> 6 | B << 26) ^ (t >>> 19 | B << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (B << 3 | t >>> 29)) ^ (B >>> 6 | 0 << 26) ^ (B >>> 19 | 0 << 13 | (t << 13 | 0 >>> 19))) | 0; - an = H; - b = fp((ak >>> 8 | ar << 24 | (0 << 24 | 0 >>> 8)) ^ (ak >>> 7 | ar << 25) ^ (ak >>> 1 | ar << 31 | (0 << 31 | 0 >>> 1)), (ar >>> 8 | 0 << 24 | (ak << 24 | 0 >>> 8)) ^ (ar >>> 7 | 0 << 25) ^ (ar >>> 1 | 0 << 31 | (ak << 31 | 0 >>> 1)), d, ap) | 0; - ap = fp(b, H, h, u) | 0; - b = fp(ap, H, (al >>> 29 | 0 << 3 | (w << 3 | 0 >>> 29)) ^ (w >>> 6 | al << 26) ^ (w >>> 19 | al << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (al << 3 | w >>> 29)) ^ (al >>> 6 | 0 << 26) ^ (al >>> 19 | 0 << 13 | (w << 13 | 0 >>> 19))) | 0; - ap = H; - d = fp((am >>> 8 | at << 24 | (0 << 24 | 0 >>> 8)) ^ (am >>> 7 | at << 25) ^ (am >>> 1 | at << 31 | (0 << 31 | 0 >>> 1)), (at >>> 8 | 0 << 24 | (am << 24 | 0 >>> 8)) ^ (at >>> 7 | 0 << 25) ^ (at >>> 1 | 0 << 31 | (am << 31 | 0 >>> 1)), ak, ar) | 0; - ar = fp(d, H, k, x) | 0; - d = fp(ar, H, (an >>> 29 | 0 << 3 | (z << 3 | 0 >>> 29)) ^ (z >>> 6 | an << 26) ^ (z >>> 19 | an << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (an << 3 | z >>> 29)) ^ (an >>> 6 | 0 << 26) ^ (an >>> 19 | 0 << 13 | (z << 13 | 0 >>> 19))) | 0; - ar = H; - ak = fp(au, f, -366583396, -903397682) | 0; - as = fp(ak, H, aC, aw) | 0; - aw = fp(as, H, aG & aA ^ ay & ~aG, az & aB ^ ax & ~az) | 0; - as = fp(aw, H, (aG >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aG >>> 9))) | 0; - aw = H; - aC = aQ & aM; - ak = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aK ^ aC, aP & aH ^ aq ^ ak) | 0; - aq = H; - aK = fp(as, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, aq, as, aw) | 0; - aw = H; - as = fp(aN, i, 566280711, -779700025) | 0; - i = fp(as, H, ay, ax) | 0; - ax = fp(i, H, aK & aG ^ aA & ~aK, aF & az ^ aB & ~aF) | 0; - i = fp(ax, H, (aK >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aK >>> 9))) | 0; - ax = H; - ay = aE & aQ; - as = aw & aP; - aN = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aC ^ ay, aw & aL ^ ak ^ as) | 0; - ak = H; - aC = fp(i, ax, aI, aH) | 0; - aH = H; - aI = fp(aN, ak, i, ax) | 0; - ax = H; - i = fp(aD, l, -840897762, -354779690) | 0; - l = fp(i, H, aA, aB) | 0; - aB = fp(l, H, aC & aK ^ aG & ~aC, aH & aF ^ az & ~aH) | 0; - l = fp(aB, H, (aC >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aC >>> 9))) | 0; - aB = H; - aA = aI & aE; - i = ax & aw; - aD = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ ay ^ aA, ax & aP ^ as ^ i) | 0; - as = H; - ay = fp(l, aB, aM, aL) | 0; - aL = H; - aM = fp(aD, as, l, aB) | 0; - aB = H; - l = fp(aJ, o, -294727304, -176337025) | 0; - o = fp(l, H, aG, az) | 0; - az = fp(o, H, ay & aC ^ aK & ~ay, aL & aH ^ aF & ~aL) | 0; - o = fp(az, H, (ay >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | ay >>> 9))) | 0; - az = H; - aG = aM & aI; - l = aB & ax; - aJ = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aA ^ aG, aB & aw ^ i ^ l) | 0; - i = H; - aA = fp(o, az, aQ, aP) | 0; - aP = H; - aQ = fp(aJ, i, o, az) | 0; - az = H; - o = fp(e, r, 1914138554, 116418474) | 0; - r = fp(o, H, aK, aF) | 0; - aF = fp(r, H, aA & ay ^ aC & ~aA, aP & aL ^ aH & ~aP) | 0; - r = fp(aF, H, (aA >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aA >>> 9))) | 0; - aF = H; - aK = aQ & aM; - o = az & aB; - e = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aG ^ aK, az & ax ^ l ^ o) | 0; - l = H; - aG = fp(r, aF, aE, aw) | 0; - aw = H; - aE = fp(e, l, r, aF) | 0; - aF = H; - r = fp(h, u, -1563912026, 174292421) | 0; - u = fp(r, H, aC, aH) | 0; - aH = fp(u, H, aG & aA ^ ay & ~aG, aw & aP ^ aL & ~aw) | 0; - u = fp(aH, H, (aG >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aG >>> 9))) | 0; - aH = H; - aC = aE & aQ; - r = aF & az; - h = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aK ^ aC, aF & aB ^ o ^ r) | 0; - o = H; - aK = fp(u, aH, aI, ax) | 0; - ax = H; - aI = fp(h, o, u, aH) | 0; - aH = H; - u = fp(k, x, -1090974290, 289380356) | 0; - x = fp(u, H, ay, aL) | 0; - aL = fp(x, H, aK & aG ^ aA & ~aK, ax & aw ^ aP & ~ax) | 0; - x = fp(aL, H, (aK >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aK >>> 9))) | 0; - aL = H; - ay = aI & aE; - u = aH & aF; - k = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aC ^ ay, aH & az ^ r ^ u) | 0; - r = H; - aC = fp(x, aL, aM, aB) | 0; - aB = H; - aM = fp(k, r, x, aL) | 0; - aL = H; - x = fp(n, A, 320620315, 460393269) | 0; - r = fp(x, H, aA, aP) | 0; - aP = fp(r, H, aC & aK ^ aG & ~aC, aB & ax ^ aw & ~aB) | 0; - r = fp(aP, H, (aC >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aC >>> 9))) | 0; - aP = H; - aA = aM & aI; - x = aL & aH; - k = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ ay ^ aA, aL & aF ^ u ^ x) | 0; - u = H; - ay = fp(r, aP, aQ, az) | 0; - az = H; - aQ = fp(k, u, r, aP) | 0; - aP = H; - r = fp(q, c, 587496836, 685471733) | 0; - u = fp(r, H, aG, aw) | 0; - aw = fp(u, H, ay & aC ^ aK & ~ay, az & aB ^ ax & ~az) | 0; - u = fp(aw, H, (ay >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | ay >>> 9))) | 0; - aw = H; - aG = aQ & aM; - r = aP & aL; - k = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aA ^ aG, aP & aH ^ x ^ r) | 0; - x = H; - aA = fp(u, aw, aE, aF) | 0; - aF = H; - aE = fp(k, x, u, aw) | 0; - aw = H; - u = fp(t, B, 1086792851, 852142971) | 0; - B = fp(u, H, aK, ax) | 0; - ax = fp(B, H, aA & ay ^ aC & ~aA, aF & az ^ aB & ~aF) | 0; - B = fp(ax, H, (aA >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aA >>> 9))) | 0; - ax = H; - aK = aE & aQ; - u = aw & aP; - t = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aG ^ aK, aw & aL ^ r ^ u) | 0; - r = H; - aG = fp(B, ax, aI, aH) | 0; - aH = H; - aI = fp(t, r, B, ax) | 0; - ax = H; - B = fp(w, al, 365543100, 1017036298) | 0; - al = fp(B, H, aC, aB) | 0; - aB = fp(al, H, aG & aA ^ ay & ~aG, aH & aF ^ az & ~aH) | 0; - al = fp(aB, H, (aG >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aG >>> 9))) | 0; - aB = H; - aC = aI & aE; - B = ax & aw; - w = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aK ^ aC, ax & aP ^ u ^ B) | 0; - u = H; - aK = fp(al, aB, aM, aL) | 0; - aL = H; - aM = fp(w, u, al, aB) | 0; - aB = H; - al = fp(z, an, -1676669620, 1126000580) | 0; - an = fp(al, H, ay, az) | 0; - az = fp(an, H, aK & aG ^ aA & ~aK, aL & aH ^ aF & ~aL) | 0; - an = fp(az, H, (aK >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aK >>> 9))) | 0; - az = H; - ay = aM & aI; - al = aB & ax; - z = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aC ^ ay, aB & aw ^ B ^ al) | 0; - B = H; - aC = fp(an, az, aQ, aP) | 0; - aP = H; - aQ = fp(z, B, an, az) | 0; - az = H; - an = fp(b, ap, -885112138, 1288033470) | 0; - B = fp(an, H, aA, aF) | 0; - aF = fp(B, H, aC & aK ^ aG & ~aC, aP & aL ^ aH & ~aP) | 0; - B = fp(aF, H, (aC >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aC >>> 9))) | 0; - aF = H; - aA = aQ & aM; - an = az & aB; - z = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ ay ^ aA, az & ax ^ al ^ an) | 0; - al = H; - ay = fp(B, aF, aE, aw) | 0; - aw = H; - aE = fp(z, al, B, aF) | 0; - aF = H; - B = fp(d, ar, -60457430, 1501505948) | 0; - al = fp(B, H, aG, aH) | 0; - aH = fp(al, H, ay & aC ^ aK & ~ay, aw & aP ^ aL & ~aw) | 0; - al = fp(aH, H, (ay >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | ay >>> 9))) | 0; - aH = H; - aG = aE & aQ; - B = aF & az; - z = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aA ^ aG, aF & aB ^ an ^ B) | 0; - an = H; - aA = fp(al, aH, aI, ax) | 0; - ax = H; - aI = fp(z, an, al, aH) | 0; - aH = H; - al = fp(am, at, 987167468, 1607167915) | 0; - at = fp(al, H, (ao >>> 8 | av << 24 | (0 << 24 | 0 >>> 8)) ^ (ao >>> 7 | av << 25) ^ (ao >>> 1 | av << 31 | (0 << 31 | 0 >>> 1)), (av >>> 8 | 0 << 24 | (ao << 24 | 0 >>> 8)) ^ (av >>> 7 | 0 << 25) ^ (av >>> 1 | 0 << 31 | (ao << 31 | 0 >>> 1))) | 0; - al = fp(at, H, n, A) | 0; - A = fp(al, H, (ap >>> 29 | 0 << 3 | (b << 3 | 0 >>> 29)) ^ (b >>> 6 | ap << 26) ^ (b >>> 19 | ap << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ap << 3 | b >>> 29)) ^ (ap >>> 6 | 0 << 26) ^ (ap >>> 19 | 0 << 13 | (b << 13 | 0 >>> 19))) | 0; - b = fp(A, H, aK, aL) | 0; - aL = fp(b, H, aA & ay ^ aC & ~aA, ax & aw ^ aP & ~ax) | 0; - b = fp(aL, H, (aA >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aA >>> 9))) | 0; - aL = H; - aK = aI & aE; - A = aH & aF; - ap = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aG ^ aK, aH & az ^ B ^ A) | 0; - B = H; - aG = fp(b, aL, aM, aB) | 0; - aB = H; - aM = fp(ap, B, b, aL) | 0; - aL = H; - b = fp(ao, av, 1246189591, 1816402316) | 0; - av = fp(b, H, (au >>> 8 | f << 24 | (0 << 24 | 0 >>> 8)) ^ (au >>> 7 | f << 25) ^ (au >>> 1 | f << 31 | (0 << 31 | 0 >>> 1)), (f >>> 8 | 0 << 24 | (au << 24 | 0 >>> 8)) ^ (f >>> 7 | 0 << 25) ^ (f >>> 1 | 0 << 31 | (au << 31 | 0 >>> 1))) | 0; - au = fp(av, H, q, c) | 0; - c = fp(au, H, (ar >>> 29 | 0 << 3 | (d << 3 | 0 >>> 29)) ^ (d >>> 6 | ar << 26) ^ (d >>> 19 | ar << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ar << 3 | d >>> 29)) ^ (ar >>> 6 | 0 << 26) ^ (ar >>> 19 | 0 << 13 | (d << 13 | 0 >>> 19))) | 0; - d = fp(c, H, aC, aP) | 0; - aP = fp(d, H, aG & aA ^ ay & ~aG, aB & ax ^ aw & ~aB) | 0; - d = fp(aP, H, (aG >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aG >>> 9))) | 0; - aP = H; - aC = fp(aM & (aI ^ aE) ^ aK, aL & (aH ^ aF) ^ A, S, R) | 0; - A = fp(aC, H, (aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7))) | 0; - aC = fp(A, H, d, aP) | 0; - A = H; - aK = fp(aM, aL, Q, P) | 0; - aL = H; - aM = fp(aI, aH, O, N) | 0; - aH = H; - aI = fp(aE, aF, M, L) | 0; - aF = H; - aE = fp(aQ, az, K, J) | 0; - az = fp(aE, H, d, aP) | 0; - aP = H; - d = fp(aG, aB, I, G) | 0; - aB = H; - aG = fp(aA, ax, F, E) | 0; - ax = H; - aA = fp(ay, aw, D, C) | 0; - aw = H; - ay = fp(U, T, -128, -1) | 0; - aE = H; - aQ = 0; - if (aE >>> 0 > aQ >>> 0 | aE >>> 0 == aQ >>> 0 & ay >>> 0 > 127 >>> 0) { - C = aw; - D = aA; - E = ax; - F = aG; - G = aB; - I = d; - J = aP; - K = az; - L = aF; - M = aI; - N = aH; - O = aM; - P = aL; - Q = aK; - R = A; - S = aC; - T = aE; - U = ay; - V = V + 128 | 0; - } else { - W = aw; - X = aA; - Y = ax; - Z = aG; - _ = aB; - $ = d; - aa = aP; - ab = az; - ac = aF; - ad = aI; - ae = aH; - af = aM; - ag = aL; - ah = aK; - ai = A; - aj = aC; - break; - } - } - bX(a, aj, ai); - bX(g, ah, ag); - bX(j, af, ae); - bX(m, ad, ac); - bX(p, ab, aa); - bX(s, $, _); - bX(v, Z, Y); - bX(y, X, W); - return 0; -} -function bW(a) { - a = a | 0; - var b = 0, c = 0, e = 0; - b = d[a + 6 | 0] | 0; - c = d[a + 5 | 0] | 0; - e = d[a + 4 | 0] | 0; - return (H = 0 << 8 | b >>> 24 | (0 << 16 | c >>> 16) | (0 << 24 | e >>> 8) | (d[a + 3 | 0] | 0) | ((d[a + 2 | 0] | 0) << 8 | 0 >>> 24) | ((d[a + 1 | 0] | 0) << 16 | 0 >>> 16) | ((d[a] | 0) << 24 | 0 >>> 8), b << 8 | 0 >>> 24 | (d[a + 7 | 0] | 0) | (c << 16 | 0 >>> 16) | (e << 24 | 0 >>> 8) | (0 << 8 | 0 >>> 24) | (0 << 16 | 0 >>> 16) | (0 << 24 | 0 >>> 8)) | 0; -} -function bX(b, c, d) { - b = b | 0; - c = c | 0; - d = d | 0; - a[b + 7 | 0] = c & 255; - a[b + 6 | 0] = (c >>> 8 | d << 24) & 255; - a[b + 5 | 0] = (c >>> 16 | d << 16) & 255; - a[b + 4 | 0] = (c >>> 24 | d << 8) & 255; - a[b + 3 | 0] = d & 255; - a[b + 2 | 0] = (d >>> 8 | 0 << 24) & 255; - a[b + 1 | 0] = (d >>> 16 | 0 << 16) & 255; - a[b] = (d >>> 24 | 0 << 8) & 255; - return; -} -function bY(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0; - d = 0; - e = 0; - while (1) { - f = a + (d << 2) | 0; - g = (c[f >> 2] | 0) + e + (c[b + (d << 2) >> 2] | 0) | 0; - c[f >> 2] = g & 255; - f = d + 1 | 0; - if (f >>> 0 < 17) { - d = f; - e = g >>> 8; - } else { - break; - } - } - return; -} -function bZ(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0; - b = c[a >> 2] | 0; - c[a >> 2] = b & 255; - d = a + 4 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 8 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 12 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 16 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 20 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 24 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 28 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 32 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 36 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 40 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 44 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 48 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 52 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 56 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 60 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 64 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 3; - e = (c[a >> 2] | 0) + ((b >>> 2) * 5 | 0) | 0; - c[a >> 2] = e & 255; - b = a + 4 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 8 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 12 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 16 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 20 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 24 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 28 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 32 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 36 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 40 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 44 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 48 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 52 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 56 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 60 | 0; - a = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = a & 255; - c[d >> 2] = (c[d >> 2] | 0) + (a >>> 8); - return; -} -function b_(b, e, f, g, h) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0; - j = i; - i = i + 144 | 0; - k = j | 0; - l = j + 72 | 0; - m = i; - i = i + 68 | 0; - i = i + 7 >> 3 << 3; - n = k | 0; - c[n >> 2] = d[h] | 0; - c[k + 4 >> 2] = d[h + 1 | 0] | 0; - c[k + 8 >> 2] = d[h + 2 | 0] | 0; - c[k + 12 >> 2] = a[h + 3 | 0] & 15; - c[k + 16 >> 2] = a[h + 4 | 0] & 252; - c[k + 20 >> 2] = d[h + 5 | 0] | 0; - c[k + 24 >> 2] = d[h + 6 | 0] | 0; - c[k + 28 >> 2] = a[h + 7 | 0] & 15; - c[k + 32 >> 2] = a[h + 8 | 0] & 252; - c[k + 36 >> 2] = d[h + 9 | 0] | 0; - c[k + 40 >> 2] = d[h + 10 | 0] | 0; - c[k + 44 >> 2] = a[h + 11 | 0] & 15; - c[k + 48 >> 2] = a[h + 12 | 0] & 252; - c[k + 52 >> 2] = d[h + 13 | 0] | 0; - c[k + 56 >> 2] = d[h + 14 | 0] | 0; - c[k + 60 >> 2] = a[h + 15 | 0] & 15; - c[k + 64 >> 2] = 0; - fm(l | 0, 0, 68); - k = m; - if (!((f | 0) == 0 & (g | 0) == 0)) { - o = l | 0; - p = m | 0; - q = g; - g = f; - f = e; - while (1) { - fm(k | 0, 0, 68); - if ((g | 0) == 0 & (q | 0) == 0) { - r = 0; - s = 0; - t = 0; - } else { - e = 0; - while (1) { - c[m + (e << 2) >> 2] = d[f + e | 0] | 0; - u = e + 1 | 0; - v = u; - w = 0; - if (u >>> 0 < 16 & (w >>> 0 < q >>> 0 | w >>> 0 == q >>> 0 & v >>> 0 < g >>> 0)) { - e = u; - } else { - r = u; - s = w; - t = v; - break; - } - } - } - c[m + (r << 2) >> 2] = 1; - e = fq(g, q, t, s) | 0; - v = H; - bY(o, p); - b$(o, n); - if ((g | 0) == (t | 0) & (q | 0) == (s | 0)) { - break; - } else { - q = v; - g = e; - f = f + r | 0; - } - } - } - r = l | 0; - b0(r); - c[m >> 2] = d[h + 16 | 0] | 0; - c[m + 4 >> 2] = d[h + 17 | 0] | 0; - c[m + 8 >> 2] = d[h + 18 | 0] | 0; - c[m + 12 >> 2] = d[h + 19 | 0] | 0; - c[m + 16 >> 2] = d[h + 20 | 0] | 0; - c[m + 20 >> 2] = d[h + 21 | 0] | 0; - c[m + 24 >> 2] = d[h + 22 | 0] | 0; - c[m + 28 >> 2] = d[h + 23 | 0] | 0; - c[m + 32 >> 2] = d[h + 24 | 0] | 0; - c[m + 36 >> 2] = d[h + 25 | 0] | 0; - c[m + 40 >> 2] = d[h + 26 | 0] | 0; - c[m + 44 >> 2] = d[h + 27 | 0] | 0; - c[m + 48 >> 2] = d[h + 28 | 0] | 0; - c[m + 52 >> 2] = d[h + 29 | 0] | 0; - c[m + 56 >> 2] = d[h + 30 | 0] | 0; - c[m + 60 >> 2] = d[h + 31 | 0] | 0; - c[m + 64 >> 2] = 0; - bY(r, m | 0); - a[b] = c[l >> 2] & 255; - a[b + 1 | 0] = c[l + 4 >> 2] & 255; - a[b + 2 | 0] = c[l + 8 >> 2] & 255; - a[b + 3 | 0] = c[l + 12 >> 2] & 255; - a[b + 4 | 0] = c[l + 16 >> 2] & 255; - a[b + 5 | 0] = c[l + 20 >> 2] & 255; - a[b + 6 | 0] = c[l + 24 >> 2] & 255; - a[b + 7 | 0] = c[l + 28 >> 2] & 255; - a[b + 8 | 0] = c[l + 32 >> 2] & 255; - a[b + 9 | 0] = c[l + 36 >> 2] & 255; - a[b + 10 | 0] = c[l + 40 >> 2] & 255; - a[b + 11 | 0] = c[l + 44 >> 2] & 255; - a[b + 12 | 0] = c[l + 48 >> 2] & 255; - a[b + 13 | 0] = c[l + 52 >> 2] & 255; - a[b + 14 | 0] = c[l + 56 >> 2] & 255; - a[b + 15 | 0] = c[l + 60 >> 2] & 255; - i = j; - return 0; -} -function b$(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; - d = i; - i = i + 72 | 0; - e = d | 0; - f = 0; - while (1) { - g = 0; - h = 0; - do { - h = (ad(c[b + (f - g << 2) >> 2] | 0, c[a + (g << 2) >> 2] | 0) | 0) + h | 0; - g = g + 1 | 0; - } while (g >>> 0 <= f >>> 0); - g = f + 1 | 0; - if (g >>> 0 >= 17) { - break; - } - j = f + 17 | 0; - k = g; - l = h; - do { - l = (ad((c[a + (k << 2) >> 2] | 0) * 320 | 0, c[b + (j - k << 2) >> 2] | 0) | 0) + l | 0; - k = k + 1 | 0; - } while (k >>> 0 < 17); - c[e + (f << 2) >> 2] = l; - if (g >>> 0 < 17) { - f = g; - } else { - m = 124; - break; - } - } - if ((m | 0) == 124) { - n = a; - o = e; - fn(n | 0, o | 0, 68) | 0; - bZ(a); - i = d; - return; - } - c[e + (f << 2) >> 2] = h; - n = a; - o = e; - fn(n | 0, o | 0, 68) | 0; - bZ(a); - i = d; - return; -} -function b0(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; - b = i; - d = a; - e = i; - i = i + 68 | 0; - i = i + 7 >> 3 << 3; - f = e; - fn(f | 0, d | 0, 68) | 0; - bY(a, 792); - d = -((c[a + 64 >> 2] | 0) >>> 7) | 0; - f = 0; - do { - g = a + (f << 2) | 0; - h = c[g >> 2] | 0; - c[g >> 2] = (h ^ c[e + (f << 2) >> 2]) & d ^ h; - f = f + 1 | 0; - } while (f >>> 0 < 17); - i = b; - return; -} -function b1(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 16 | 0; - g = f | 0; - b_(g, b, c, d, e) | 0; - e = ed(a, g) | 0; - i = f; - return e | 0; -} -function b2(a, b) { - a = a | 0; - b = b | 0; - return b3(a, b, 111576) | 0; -} -function b3(b, e, f) { - b = b | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, j = 0, k = 0; - g = i; - i = i + 416 | 0; - h = g | 0; - j = g + 384 | 0; - k = j | 0; - fn(k | 0, e | 0, 32) | 0; - e = j | 0; - a[e] = a[e] & -8; - k = j + 31 | 0; - a[k] = a[k] & 63 | 64; - k = 0; - do { - c[h + (k << 2) >> 2] = d[f + k | 0] | 0; - k = k + 1 | 0; - } while (k >>> 0 < 32); - k = h | 0; - b4(k, e); - e = h + 128 | 0; - b5(e, e); - f = h + 256 | 0; - cf(f, k, e); - cg(f); - f = 0; - do { - a[b + f | 0] = c[h + (f + 64 << 2) >> 2] & 255; - f = f + 1 | 0; - } while (f >>> 0 < 32); - i = g; - return 0; -} -function b4(a, b) { - a = a | 0; - b = b | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0; - e = i; - f = a; - g = i; - i = i + 256 | 0; - h = g; - j = i; - i = i + 256 | 0; - k = i; - i = i + 256 | 0; - l = i; - i = i + 256 | 0; - m = i; - i = i + 256 | 0; - n = i; - i = i + 256 | 0; - o = i; - i = i + 256 | 0; - p = i; - i = i + 256 | 0; - q = i; - i = i + 256 | 0; - r = i; - i = i + 256 | 0; - s = i; - i = i + 256 | 0; - t = i; - i = i + 128 | 0; - u = i; - i = i + 128 | 0; - v = i; - i = i + 128 | 0; - w = i; - i = i + 128 | 0; - fn(h | 0, f | 0, 128) | 0; - h = j; - c[g + 128 >> 2] = 1; - fm(g + 132 | 0, 0, 124); - x = j | 0; - c[x >> 2] = 1; - fm(j + 4 | 0, 0, 252); - j = k | 0; - y = l | 0; - z = g | 0; - g = o | 0; - A = k + 128 | 0; - k = o + 128 | 0; - o = p | 0; - B = l + 128 | 0; - l = p + 128 | 0; - p = q | 0; - C = q + 128 | 0; - q = r | 0; - D = r + 128 | 0; - r = s | 0; - E = s + 128 | 0; - s = t | 0; - t = u | 0; - u = v | 0; - v = w | 0; - w = m | 0; - F = m + 128 | 0; - m = n | 0; - G = n + 128 | 0; - n = 254; - while (1) { - H = (d[b + ((n | 0) / 8 | 0) | 0] | 0) >>> ((n & 7) >>> 0) & 1; - ca(j, y, x, z, H); - b8(g, j, A); - cb(k, j, A); - b8(o, y, B); - cb(l, y, B); - ch(p, g); - ch(C, k); - cf(q, o, k); - cf(D, l, g); - b8(r, q, D); - cb(E, q, D); - ch(s, E); - cb(t, p, C); - cc(u, t); - b8(v, u, p); - cf(w, p, C); - cf(F, t, v); - ch(m, r); - cf(G, s, a); - ca(x, z, w, m, H); - if ((n | 0) > 0) { - n = n - 1 | 0; - } else { - break; - } - } - fn(f | 0, h | 0, 256) | 0; - i = e; - return; -} -function b5(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0; - c = i; - i = i + 1280 | 0; - d = c + 896 | 0; - e = c | 0; - ch(e, b); - f = c + 1152 | 0; - ch(f, e); - g = c + 1024 | 0; - ch(g, f); - h = c + 128 | 0; - cf(h, g, b); - b = c + 256 | 0; - cf(b, h, e); - ch(g, b); - e = c + 384 | 0; - cf(e, g, h); - ch(g, e); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - h = c + 512 | 0; - cf(h, g, e); - ch(g, h); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - e = c + 640 | 0; - cf(e, f, h); - ch(g, e); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - cf(g, f, e); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - e = c + 768 | 0; - cf(e, g, h); - ch(g, e); - ch(f, g); - h = 2; - do { - ch(g, f); - ch(f, g); - h = h + 2 | 0; - } while ((h | 0) < 50); - h = d | 0; - cf(h, f, e); - ch(f, h); - ch(g, f); - d = 2; - do { - ch(f, g); - ch(g, f); - d = d + 2 | 0; - } while ((d | 0) < 100); - cf(f, g, h); - ch(g, f); - ch(f, g); - h = 2; - do { - ch(g, f); - ch(f, g); - h = h + 2 | 0; - } while ((h | 0) < 50); - cf(g, f, e); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - cf(a, f, b); - i = c; - return; -} -function b6(a, b) { - a = a | 0; - b = b | 0; - return ((b ^ a) - 1 | 0) >>> 31 | 0; -} -function b7(a) { - a = a | 0; - return (a - 237 | 0) >>> 31 ^ 1 | 0; -} -function b8(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - e = 0; - f = 0; - do { - g = (c[b + (e << 2) >> 2] | 0) + f + (c[d + (e << 2) >> 2] | 0) | 0; - c[a + (e << 2) >> 2] = g & 255; - f = g >>> 8; - e = e + 1 | 0; - } while (e >>> 0 < 31); - c[a + 124 >> 2] = (c[b + 124 >> 2] | 0) + f + (c[d + 124 >> 2] | 0); - return; -} -function b9(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = 0; - d = 0; - do { - e = a + (b << 2) | 0; - f = (c[e >> 2] | 0) + d | 0; - c[e >> 2] = f & 255; - d = f >>> 8; - b = b + 1 | 0; - } while (b >>> 0 < 31); - b = a + 124 | 0; - f = (c[b >> 2] | 0) + d | 0; - c[b >> 2] = f & 127; - d = 0; - e = (f >>> 7) * 19 | 0; - do { - f = a + (d << 2) | 0; - g = (c[f >> 2] | 0) + e | 0; - c[f >> 2] = g & 255; - e = g >>> 8; - d = d + 1 | 0; - } while (d >>> 0 < 31); - c[b >> 2] = (c[b >> 2] | 0) + e; - return; -} -function ca(a, b, d, e, f) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, i = 0, j = 0; - g = f - 1 | 0; - f = 0; - do { - h = d + (f << 2) | 0; - i = c[e + (f << 2) >> 2] | 0; - j = (i ^ c[h >> 2]) & g; - c[a + (f << 2) >> 2] = j ^ i; - c[b + (f << 2) >> 2] = j ^ c[h >> 2]; - f = f + 1 | 0; - } while (f >>> 0 < 64); - return; -} -function cb(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - e = 0; - f = 218; - do { - g = f + 65280 + (c[b + (e << 2) >> 2] | 0) - (c[d + (e << 2) >> 2] | 0) | 0; - c[a + (e << 2) >> 2] = g & 255; - f = g >>> 8; - e = e + 1 | 0; - } while (e >>> 0 < 31); - c[a + 124 >> 2] = (c[b + 124 >> 2] | 0) + f - (c[d + 124 >> 2] | 0); - return; -} -function cc(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = 0; - e = 0; - do { - f = ((c[b + (d << 2) >> 2] | 0) * 121665 | 0) + e | 0; - c[a + (d << 2) >> 2] = f & 255; - e = f >>> 8; - d = d + 1 | 0; - } while (d >>> 0 < 31); - d = ((c[b + 124 >> 2] | 0) * 121665 | 0) + e | 0; - c[a + 124 >> 2] = d & 127; - e = 0; - b = a; - f = (c[a >> 2] | 0) + ((d >>> 7) * 19 | 0) | 0; - do { - c[b >> 2] = f & 255; - e = e + 1 | 0; - b = a + (e << 2) | 0; - f = (c[b >> 2] | 0) + (f >>> 8) | 0; - } while (e >>> 0 < 31); - c[a + 124 >> 2] = f; - return; -} -function cd(a, b) { - a = a | 0; - b = b | 0; - var e = 0; - e = 0; - do { - c[a + (e << 2) >> 2] = d[b + e | 0] | 0; - e = e + 1 | 0; - } while ((e | 0) < 32); - e = a + 124 | 0; - c[e >> 2] = c[e >> 2] & 127; - return; -} -function ce(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - e = -(d & 255) | 0; - d = 0; - do { - f = a + (d << 2) | 0; - g = c[f >> 2] | 0; - c[f >> 2] = (g ^ c[b + (d << 2) >> 2]) & e ^ g; - d = d + 1 | 0; - } while ((d | 0) < 32); - return; -} -function cf(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; - e = 0; - while (1) { - f = 0; - g = 0; - do { - g = (ad(c[d + (e - f << 2) >> 2] | 0, c[b + (f << 2) >> 2] | 0) | 0) + g | 0; - f = f + 1 | 0; - } while (f >>> 0 <= e >>> 0); - f = e + 1 | 0; - if (f >>> 0 >= 32) { - break; - } - h = e + 32 | 0; - i = f; - j = g; - do { - j = (ad((c[b + (i << 2) >> 2] | 0) * 38 | 0, c[d + (h - i << 2) >> 2] | 0) | 0) + j | 0; - i = i + 1 | 0; - } while (i >>> 0 < 32); - c[a + (e << 2) >> 2] = j; - if (f >>> 0 < 32) { - e = f; - } else { - k = 182; - break; - } - } - if ((k | 0) == 182) { - b9(a); - return; - } - c[a + (e << 2) >> 2] = g; - b9(a); - return; -} -function cg(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; - b = i; - d = a; - e = i; - i = i + 128 | 0; - f = e; - fn(f | 0, d | 0, 128) | 0; - b8(a, a, 664); - d = -((c[a + 124 >> 2] | 0) >>> 7 & 1) | 0; - f = 0; - do { - g = a + (f << 2) | 0; - h = c[g >> 2] | 0; - c[g >> 2] = (h ^ c[e + (f << 2) >> 2]) & d ^ h; - f = f + 1 | 0; - } while (f >>> 0 < 32); - i = b; - return; -} -function ch(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; - d = 0; - while (1) { - if ((d | 0) == 0) { - e = 0; - f = 1; - g = 32; - h = 190; - } else { - i = 0; - j = 0; - k = d; - do { - j = (ad(c[b + (k << 2) >> 2] | 0, c[b + (i << 2) >> 2] | 0) | 0) + j | 0; - i = i + 1 | 0; - k = d - i | 0; - } while (i >>> 0 < k >>> 0); - k = d + 1 | 0; - if (k >>> 0 < 31) { - e = j; - f = k; - g = d + 32 | 0; - h = 190; - } else { - l = j; - m = k; - } - } - if ((h | 0) == 190) { - h = 0; - k = f; - i = e; - n = 31; - while (1) { - o = (ad((c[b + (k << 2) >> 2] | 0) * 38 | 0, c[b + (n << 2) >> 2] | 0) | 0) + i | 0; - p = k + 1 | 0; - q = g + ~k | 0; - if (p >>> 0 < q >>> 0) { - k = p; - i = o; - n = q; - } else { - l = o; - m = f; - break; - } - } - } - n = l << 1; - if ((d & 1 | 0) == 0) { - i = d >>> 1; - k = c[b + (i << 2) >> 2] | 0; - j = (ad(k, k) | 0) + n | 0; - k = c[b + (i + 16 << 2) >> 2] | 0; - r = j + (ad(k * 38 | 0, k) | 0) | 0; - } else { - r = n; - } - c[a + (d << 2) >> 2] = r; - if (m >>> 0 < 32) { - d = m; - } else { - break; - } - } - b9(a); - return; -} -function ci(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0; - g = 0; - if (d >>> 0 < g >>> 0 | d >>> 0 == g >>> 0 & c >>> 0 < 32 >>> 0) { - h = -1; - return h | 0; - } - el(a, b, c, d, e, f) | 0; - f = fp(c, d, -32, -1) | 0; - b_(a + 16 | 0, a + 32 | 0, f, H, a) | 0; - fm(a | 0, 0, 16); - h = 0; - return h | 0; -} -function cj(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, j = 0, k = 0; - g = i; - i = i + 32 | 0; - h = 0; - if (d >>> 0 < h >>> 0 | d >>> 0 == h >>> 0 & c >>> 0 < 32 >>> 0) { - j = -1; - i = g; - return j | 0; - } - h = g | 0; - ek(h, 32, 0, e, f) | 0; - k = fp(c, d, -32, -1) | 0; - if ((b1(b + 16 | 0, b + 32 | 0, k, H, h) | 0) != 0) { - j = -1; - i = g; - return j | 0; - } - el(a, b, c, d, e, f) | 0; - fm(a | 0, 0, 32); - j = 0; - i = g; - return j | 0; -} -function ck(b, c) { - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0; - d = i; - i = i + 704 | 0; - e = d | 0; - f = d + 128 | 0; - g = d + 640 | 0; - at(c | 0, 32, 0); - h = g | 0; - bR(h, c, 32, 0) | 0; - a[h] = a[h] & -8; - j = g + 31 | 0; - a[j] = a[j] & 63 | 64; - cV(e, h); - cR(f, e); - cJ(b, f); - f = 0; - do { - a[c + (f + 32) | 0] = a[b + f | 0] | 0; - f = f + 1 | 0; - } while ((f | 0) < 32); - i = d; - return 0; -} -function cl(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0; - j = i; - i = i + 928 | 0; - k = j | 0; - l = j + 128 | 0; - m = j + 256 | 0; - n = j + 384 | 0; - o = j + 896 | 0; - p = o | 0; - q = i; - i = i + 32 | 0; - r = q | 0; - s = i; - i = i + 64 | 0; - t = i; - i = i + 64 | 0; - u = i; - i = i + 64 | 0; - v = s | 0; - bR(v, h, 32, 0) | 0; - a[v] = a[v] & -8; - w = s + 31 | 0; - a[w] = a[w] & 63 | 64; - w = fp(f, g, 64, 0) | 0; - x = H; - c[d >> 2] = w; - c[d + 4 >> 2] = x; - if (!((f | 0) == 0 & (g | 0) == 0)) { - d = 0; - y = 0; - do { - z = a[e + y | 0] | 0; - A = fp(y, d, 64, 0) | 0; - a[b + A | 0] = z; - y = fp(y, d, 1, 0) | 0; - d = H; - } while (d >>> 0 < g >>> 0 | d >>> 0 == g >>> 0 & y >>> 0 < f >>> 0); - } - y = b + 32 | 0; - d = s + 32 | 0; - fn(y | 0, d | 0, 32) | 0; - d = t | 0; - t = fp(f, g, 32, 0) | 0; - bR(d, b + 32 | 0, t, H) | 0; - c7(k, d); - cR(n, k); - cJ(o | 0, n); - fn(b | 0, p | 0, 32) | 0; - p = u | 0; - cm(p, b, h + 32 | 0, b, w, x); - c7(l, p); - cV(m, v); - db(l, l, m); - c9(l, l, k); - cY(q | 0, l); - l = b + 32 | 0; - fn(l | 0, r | 0, 32) | 0; - i = j; - return 0; -} -function cm(b, c, d, e, f, g) { - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; - h = 0; - i = 0; - while (1) { - j = i; - a[e + j | 0] = a[c + j | 0] | 0; - j = fp(i, h, 1, 0) | 0; - k = H; - l = 0; - if (k >>> 0 < l >>> 0 | k >>> 0 == l >>> 0 & j >>> 0 < 32 >>> 0) { - h = k; - i = j; - } else { - m = 0; - n = 32; - break; - } - } - do { - i = fp(n, m, -32, 0) | 0; - a[e + n | 0] = a[d + i | 0] | 0; - n = fp(n, m, 1, 0) | 0; - m = H; - i = 0; - } while (m >>> 0 < i >>> 0 | m >>> 0 == i >>> 0 & n >>> 0 < 64 >>> 0); - n = 0; - if (g >>> 0 > n >>> 0 | g >>> 0 == n >>> 0 & f >>> 0 > 64 >>> 0) { - o = 0; - p = 64; - } else { - q = bR(b, e, f, g) | 0; - return; - } - do { - n = p; - a[e + n | 0] = a[c + n | 0] | 0; - p = fp(p, o, 1, 0) | 0; - o = H; - } while (o >>> 0 < g >>> 0 | o >>> 0 == g >>> 0 & p >>> 0 < f >>> 0); - q = bR(b, e, f, g) | 0; - return; -} -function cn(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; - j = i; - i = i + 1376 | 0; - k = j + 32 | 0; - l = j + 544 | 0; - m = j + 1056 | 0; - n = j + 1184 | 0; - c[d >> 2] = -1; - c[d + 4 >> 2] = -1; - o = 0; - if (g >>> 0 < o >>> 0 | g >>> 0 == o >>> 0 & f >>> 0 < 64 >>> 0) { - p = -1; - i = j; - return p | 0; - } - if ((cI(k, h) | 0) != 0) { - p = -1; - i = j; - return p | 0; - } - o = j + 1312 | 0; - cm(o, e, h, b, f, g); - c7(m, o); - cV(n, e + 32 | 0); - cL(l, k, m, 111064, n); - n = j | 0; - cJ(n, l); - l = em(e, n) | 0; - if ((l | 0) == 0) { - n = fp(f, g, -64, -1) | 0; - m = H; - if (!((n | 0) == 0 & (m | 0) == 0)) { - k = 0; - do { - a[b + k | 0] = a[e + (k + 64) | 0] | 0; - k = k + 1 | 0; - o = (k | 0) < 0 ? -1 : 0; - } while (o >>> 0 < m >>> 0 | o >>> 0 == m >>> 0 & k >>> 0 < n >>> 0); - } - c[d >> 2] = n; - c[d + 4 >> 2] = m; - p = l; - i = j; - return p | 0; - } else { - if ((f | 0) == 64 & (g | 0) == 0) { - p = l; - i = j; - return p | 0; - } - m = fp(f, g, -65, 0) | 0; - fm(b | 0, 0, m + 1 | 0); - p = l; - i = j; - return p | 0; - } - return 0; -} -function co(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = a + 124 | 0; - d = 30; - e = b6(c[b >> 2] | 0, 127) | 0; - do { - e = (b6(c[a + (d << 2) >> 2] | 0, 255) | 0) & e; - d = d - 1 | 0; - } while ((d | 0) > 0); - d = a | 0; - f = -((b7(c[d >> 2] | 0) | 0) & e) | 0; - c[b >> 2] = (c[b >> 2] | 0) - (f & 127); - b = f & 255; - e = 30; - do { - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) - b; - e = e - 1 | 0; - } while ((e | 0) > 0); - c[d >> 2] = (c[d >> 2] | 0) - (f & 237); - return; -} -function cp(b, d) { - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0; - e = i; - i = i + 128 | 0; - f = e | 0; - g = f; - h = d; - fn(g | 0, h | 0, 128) | 0; - co(f); - h = 0; - do { - a[b + h | 0] = c[f + (h << 2) >> 2] & 255; - h = h + 1 | 0; - } while ((h | 0) < 32); - i = e; - return; -} -function cq(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0; - b = i; - i = i + 128 | 0; - d = b | 0; - e = d; - f = a; - fn(e | 0, f | 0, 128) | 0; - co(d); - f = 1; - e = b6(c[d >> 2] | 0, 0) | 0; - do { - e = (b6(c[d + (f << 2) >> 2] | 0, 0) | 0) & e; - f = f + 1 | 0; - } while ((f | 0) < 32); - i = b; - return e | 0; -} -function cr(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0; - d = i; - i = i + 256 | 0; - e = d | 0; - f = d + 128 | 0; - g = e; - h = a; - fn(g | 0, h | 0, 128) | 0; - h = f; - g = b; - fn(h | 0, g | 0, 128) | 0; - co(e); - co(f); - g = 0; - while (1) { - if ((g | 0) >= 32) { - j = 1; - k = 252; - break; - } - if ((c[e + (g << 2) >> 2] | 0) == (c[f + (g << 2) >> 2] | 0)) { - g = g + 1 | 0; - } else { - j = 0; - k = 251; - break; - } - } - if ((k | 0) == 251) { - i = d; - return j | 0; - } else if ((k | 0) == 252) { - i = d; - return j | 0; - } - return 0; -} -function cs(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0; - b = i; - i = i + 128 | 0; - d = b | 0; - e = d; - f = a; - fn(e | 0, f | 0, 128) | 0; - co(d); - i = b; - return c[d >> 2] & 1 | 0; -} -function ct(a) { - a = a | 0; - c[a >> 2] = 1; - fm(a + 4 | 0, 0, 124); - return; -} -function cu(a) { - a = a | 0; - fm(a | 0, 0, 128); - return; -} -function cv(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0; - c = i; - d = b; - b = i; - i = i + 128 | 0; - e = b; - fn(e | 0, d | 0, 128) | 0; - cu(a); - cw(a, a, b); - i = c; - return; -} -function cw(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0; - e = i; - i = i + 128 | 0; - f = e | 0; - c[f >> 2] = (c[b >> 2] | 0) + 474; - c[f + 124 >> 2] = (c[b + 124 >> 2] | 0) + 254; - g = 1; - while (1) { - c[f + (g << 2) >> 2] = (c[b + (g << 2) >> 2] | 0) + 510; - h = g + 1 | 0; - if ((h | 0) < 31) { - g = h; - } else { - j = 0; - break; - } - } - do { - c[a + (j << 2) >> 2] = (c[f + (j << 2) >> 2] | 0) - (c[d + (j << 2) >> 2] | 0); - j = j + 1 | 0; - } while ((j | 0) < 32); - cC(a); - i = e; - return; -} -function cx(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0; - e = 0; - do { - c[a + (e << 2) >> 2] = (c[d + (e << 2) >> 2] | 0) + (c[b + (e << 2) >> 2] | 0); - e = e + 1 | 0; - } while ((e | 0) < 32); - cC(a); - return; -} -function cy(a) { - a = a | 0; - return a * 38 | 0 | 0; -} -function cz(a) { - a = a | 0; - return a * 19 | 0 | 0; -} -function cA(a, b) { - a = a | 0; - b = b | 0; - return (((b ^ a) & 255) - 1 | 0) >>> 31 & 255 | 0; -} -function cB(a) { - a = a | 0; - return ((a << 24 >> 24 < 0 ? -1 : 0) >>> 31 | 0 << 1) & 255 | 0; -} -function cC(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = a + 124 | 0; - d = a | 0; - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - f = cz(e >>> 7) | 0; - c[d >> 2] = (c[d >> 2] | 0) + f; - f = 0; - do { - e = a + (f << 2) | 0; - f = f + 1 | 0; - g = a + (f << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((f | 0) < 31); - f = c[b >> 2] | 0; - c[b >> 2] = f & 127; - e = cz(f >>> 7) | 0; - c[d >> 2] = (c[d >> 2] | 0) + e; - e = 0; - do { - f = a + (e << 2) | 0; - e = e + 1 | 0; - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); - c[f >> 2] = c[f >> 2] & 255; - } while ((e | 0) < 31); - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - f = cz(e >>> 7) | 0; - c[d >> 2] = (c[d >> 2] | 0) + f; - f = 0; - do { - e = a + (f << 2) | 0; - f = f + 1 | 0; - g = a + (f << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((f | 0) < 31); - f = c[b >> 2] | 0; - c[b >> 2] = f & 127; - b = cz(f >>> 7) | 0; - c[d >> 2] = (c[d >> 2] | 0) + b; - b = 0; - do { - d = a + (b << 2) | 0; - b = b + 1 | 0; - f = a + (b << 2) | 0; - c[f >> 2] = (c[f >> 2] | 0) + ((c[d >> 2] | 0) >>> 8); - c[d >> 2] = c[d >> 2] & 255; - } while ((b | 0) < 31); - return; -} -function cD(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - fm(f | 0, 0, 252); - g = 0; - while (1) { - h = c[b + (g << 2) >> 2] | 0; - j = 0; - do { - k = ad(c[d + (j << 2) >> 2] | 0, h) | 0; - l = f + (j + g << 2) | 0; - c[l >> 2] = (c[l >> 2] | 0) + k; - j = j + 1 | 0; - } while ((j | 0) < 32); - j = g + 1 | 0; - if ((j | 0) < 32) { - g = j; - } else { - m = 32; - break; - } - } - do { - g = m - 32 | 0; - d = c[f + (g << 2) >> 2] | 0; - c[a + (g << 2) >> 2] = (cy(c[f + (m << 2) >> 2] | 0) | 0) + d; - m = m + 1 | 0; - } while ((m | 0) < 63); - c[a + 124 >> 2] = c[f + 124 >> 2]; - cE(a); - i = e; - return; -} -function cE(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = a + 124 | 0; - d = a | 0; - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - f = cz(e >>> 7) | 0; - c[d >> 2] = (c[d >> 2] | 0) + f; - f = 0; - do { - e = a + (f << 2) | 0; - f = f + 1 | 0; - g = a + (f << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((f | 0) < 31); - f = c[b >> 2] | 0; - c[b >> 2] = f & 127; - b = cz(f >>> 7) | 0; - c[d >> 2] = (c[d >> 2] | 0) + b; - b = 0; - do { - d = a + (b << 2) | 0; - b = b + 1 | 0; - f = a + (b << 2) | 0; - c[f >> 2] = (c[f >> 2] | 0) + ((c[d >> 2] | 0) >>> 8); - c[d >> 2] = c[d >> 2] & 255; - } while ((b | 0) < 31); - return; -} -function cF(a, b) { - a = a | 0; - b = b | 0; - cD(a, b, b); - return; -} -function cG(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0; - c = i; - i = i + 1280 | 0; - d = c | 0; - e = c + 128 | 0; - f = c + 256 | 0; - g = c + 384 | 0; - h = c + 512 | 0; - j = c + 640 | 0; - k = c + 768 | 0; - l = c + 896 | 0; - m = c + 1024 | 0; - n = c + 1152 | 0; - cF(d, b); - cF(n, d); - cF(m, n); - cD(e, m, b); - cD(f, e, d); - cF(m, f); - cD(g, m, e); - cF(m, g); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cD(h, m, g); - cF(m, h); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cD(j, n, h); - cF(m, j); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cD(m, n, j); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cD(k, m, h); - cF(m, k); - cF(n, m); - h = 2; - do { - cF(m, n); - cF(n, m); - h = h + 2 | 0; - } while ((h | 0) < 50); - cD(l, n, k); - cF(n, l); - cF(m, n); - h = 2; - do { - cF(n, m); - cF(m, n); - h = h + 2 | 0; - } while ((h | 0) < 100); - cD(n, m, l); - cF(m, n); - cF(n, m); - l = 2; - do { - cF(m, n); - cF(n, m); - l = l + 2 | 0; - } while ((l | 0) < 50); - cD(m, n, k); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cD(a, n, f); - i = c; - return; -} -function cH(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - c = i; - i = i + 1152 | 0; - d = c | 0; - e = c + 128 | 0; - f = c + 256 | 0; - g = c + 384 | 0; - h = c + 512 | 0; - j = c + 640 | 0; - k = c + 768 | 0; - l = c + 896 | 0; - m = c + 1024 | 0; - cF(d, b); - cF(m, d); - cF(m, m); - cD(e, m, b); - cD(f, e, d); - cF(m, f); - cD(g, m, e); - cF(m, g); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cD(h, m, g); - cF(m, h); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cD(j, m, h); - cF(m, j); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cD(m, m, j); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cD(k, m, h); - cF(m, k); - h = 1; - do { - cF(m, m); - h = h + 1 | 0; - } while ((h | 0) < 50); - cD(l, m, k); - cF(m, l); - h = 1; - do { - cF(m, m); - h = h + 1 | 0; - } while ((h | 0) < 100); - cD(m, m, l); - cF(m, m); - l = 1; - do { - cF(m, m); - l = l + 1 | 0; - } while ((l | 0) < 50); - cD(m, m, k); - cF(m, m); - cF(m, m); - cD(a, m, b); - i = c; - return; -} -function cI(a, b) { - a = a | 0; - b = b | 0; - var c = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; - c = i; - i = i + 896 | 0; - e = c | 0; - f = c + 128 | 0; - g = c + 256 | 0; - h = c + 384 | 0; - j = c + 512 | 0; - k = c + 640 | 0; - l = c + 768 | 0; - m = a + 256 | 0; - ct(m); - n = (d[b + 31 | 0] | 0) >>> 7; - o = a + 128 | 0; - cd(o, b); - cF(g, o); - cD(h, g, 1592); - cw(g, g, m); - cx(h, m, h); - cF(j, h); - cF(k, j); - cD(l, k, j); - cD(e, l, g); - cD(e, e, h); - cH(e, e); - cD(e, e, g); - cD(e, e, h); - cD(e, e, h); - l = a | 0; - cD(l, e, h); - cF(f, l); - cD(f, f, h); - if ((cr(f, g) | 0) == 0) { - cD(l, l, 1400); - } - cF(f, l); - cD(f, f, h); - if ((cr(f, g) | 0) == 0) { - p = -1; - i = c; - return p | 0; - } - if (((cs(l) | 0) & 255 | 0) != (n & 255 ^ 1 | 0)) { - cv(l, l); - } - cD(a + 384 | 0, l, o); - p = 0; - i = c; - return p | 0; -} -function cJ(b, c) { - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0; - d = i; - i = i + 384 | 0; - e = d | 0; - f = d + 128 | 0; - g = d + 256 | 0; - cG(g, c + 256 | 0); - cD(e, c | 0, g); - cD(f, c + 128 | 0, g); - cp(b, f); - f = (cs(e) | 0) << 7; - e = b + 31 | 0; - a[e] = a[e] ^ f; - i = d; - return; -} -function cK(a) { - a = a | 0; - var b = 0; - b = (cq(a | 0) | 0) != 0 | 0; - return ((cr(a + 128 | 0, a + 256 | 0) | 0) == 0 ? 0 : b) | 0; -} -function cL(b, c, e, f, g) { - b = b | 0; - c = c | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; - h = i; - i = i + 8832 | 0; - j = h | 0; - k = h + 512 | 0; - l = h + 8704 | 0; - cM(k | 0); - m = k + 512 | 0; - n = m; - o = c; - fn(n | 0, o | 0, 512) | 0; - cN(j, c); - c = k + 1024 | 0; - cO(c, j); - cP(j, m, c); - o = k + 1536 | 0; - cO(o, j); - n = k + 2048 | 0; - p = n; - q = f; - fn(p | 0, q | 0, 512) | 0; - cP(j, m, n); - q = k + 2560 | 0; - cO(q, j); - cP(j, c, n); - cO(k + 3072 | 0, j); - cP(j, o, n); - cO(k + 3584 | 0, j); - cN(j, f); - f = k + 4096 | 0; - cO(f, j); - cP(j, m, f); - cO(k + 4608 | 0, j); - cN(j, q); - cO(k + 5120 | 0, j); - cP(j, o, f); - cO(k + 5632 | 0, j); - cP(j, n, f); - f = k + 6144 | 0; - cO(f, j); - cP(j, m, f); - cO(k + 6656 | 0, j); - cP(j, c, f); - cO(k + 7168 | 0, j); - cP(j, o, f); - cO(k + 7680 | 0, j); - c3(l | 0, e, g); - g = b; - e = k + (d[l + 126 | 0] << 9) | 0; - fn(g | 0, e | 0, 512) | 0; - e = b; - g = 125; - while (1) { - cN(j, e); - cQ(e, j); - cN(j, e); - f = l + g | 0; - if ((a[f] | 0) != 0) { - cO(b, j); - cP(j, b, k + (d[f] << 9) | 0); - } - if ((g | 0) == 0) { - break; - } - cQ(e, j); - if ((g | 0) > 0) { - g = g - 1 | 0; - } else { - r = 322; - break; - } - } - if ((r | 0) == 322) { - i = h; - return; - } - cO(b, j); - i = h; - return; -} -function cM(a) { - a = a | 0; - cu(a | 0); - ct(a + 128 | 0); - ct(a + 256 | 0); - cu(a + 384 | 0); - return; -} -function cN(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0; - c = i; - i = i + 512 | 0; - d = c | 0; - e = c + 128 | 0; - f = c + 256 | 0; - g = c + 384 | 0; - h = b | 0; - cF(d, h); - j = b + 128 | 0; - cF(e, j); - cF(f, b + 256 | 0); - cx(f, f, f); - cv(g, d); - b = a | 0; - cx(b, h, j); - cF(b, b); - cw(b, b, d); - cw(b, b, e); - b = a + 128 | 0; - cx(b, g, e); - cw(a + 384 | 0, b, f); - cw(a + 256 | 0, g, e); - i = c; - return; -} -function cO(a, b) { - a = a | 0; - b = b | 0; - cQ(a, b); - cD(a + 384 | 0, b | 0, b + 256 | 0); - return; -} -function cP(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0; - d = i; - i = i + 640 | 0; - e = d | 0; - f = d + 128 | 0; - g = d + 256 | 0; - h = d + 384 | 0; - j = d + 512 | 0; - k = b + 128 | 0; - l = b | 0; - cw(e, k, l); - m = c + 128 | 0; - n = c | 0; - cw(j, m, n); - cD(e, e, j); - cx(f, l, k); - cx(j, n, m); - cD(f, f, j); - cD(g, b + 384 | 0, c + 384 | 0); - cD(g, g, 1720); - cD(h, b + 256 | 0, c + 256 | 0); - cx(h, h, h); - cw(a | 0, f, e); - cw(a + 384 | 0, h, g); - cx(a + 128 | 0, h, g); - cx(a + 256 | 0, f, e); - i = d; - return; -} -function cQ(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0; - c = b + 384 | 0; - cD(a | 0, b | 0, c); - d = b + 128 | 0; - cD(a + 128 | 0, b + 256 | 0, d); - cD(a + 256 | 0, d, c); - return; -} -function cR(b, c) { - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0; - d = i; - i = i + 344 | 0; - e = d | 0; - f = d + 88 | 0; - g = e | 0; - c1(g, c); - cS(b, 0, 0, a[g] | 0); - ct(b + 256 | 0); - cD(b + 384 | 0, b | 0, b + 128 | 0); - g = 1; - do { - cS(f, g, (g | 0) < 0 ? -1 : 0, a[e + g | 0] | 0); - cT(b, f); - g = g + 1 | 0; - } while ((g | 0) < 85); - i = d; - return; -} -function cS(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0; - e = i; - i = i + 128 | 0; - f = e | 0; - g = fz(b, c, 5, 0) | 0; - c = H; - b = a; - h = 1976 + (g << 8) | 0; - fn(b | 0, h | 0, 256) | 0; - h = fp(g, c, 1, 0) | 0; - b = cA(d, 1) | 0; - cU(a, 1976 + (h << 8) | 0, cA(d, -1) | 0 | b); - b = fp(g, c, 2, 0) | 0; - h = cA(d, 2) | 0; - cU(a, 1976 + (b << 8) | 0, cA(d, -2) | 0 | h); - h = fp(g, c, 3, 0) | 0; - b = cA(d, 3) | 0; - cU(a, 1976 + (h << 8) | 0, cA(d, -3) | 0 | b); - b = fp(g, c, 4, 0) | 0; - cU(a, 1976 + (b << 8) | 0, cA(d, -4) | 0); - b = a | 0; - cv(f, b); - ce(b, f, cB(d) | 0); - i = e; - return; -} -function cT(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; - c = i; - i = i + 1408 | 0; - d = c | 0; - e = c + 128 | 0; - f = c + 256 | 0; - g = c + 384 | 0; - h = c + 512 | 0; - j = c + 640 | 0; - k = c + 768 | 0; - l = c + 896 | 0; - m = c + 1024 | 0; - n = c + 1152 | 0; - o = c + 1280 | 0; - p = b | 0; - q = b + 128 | 0; - cD(o, p, q); - b = a + 128 | 0; - r = a | 0; - cw(d, b, r); - cx(e, b, r); - cw(f, q, p); - cx(g, q, p); - cD(d, d, f); - cD(e, e, g); - cw(k, e, d); - cx(n, e, d); - d = a + 384 | 0; - cD(h, d, o); - cD(h, h, 1720); - o = a + 256 | 0; - cx(j, o, o); - cw(l, j, h); - cx(m, j, h); - cD(r, k, l); - cD(b, n, m); - cD(o, m, l); - cD(d, k, n); - i = c; - return; -} -function cU(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - ce(a | 0, b | 0, c); - ce(a + 128 | 0, b + 128 | 0, c); - return; -} -function cV(a, b) { - a = a | 0; - b = b | 0; - var e = 0, f = 0, g = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - g = 0; - do { - c[f + (g << 2) >> 2] = d[b + g | 0] | 0; - g = g + 1 | 0; - } while ((g | 0) < 32); - fm(f + 128 | 0, 0, 128); - c6(a, f | 0); - i = e; - return; -} -function cW(a, b) { - a = a | 0; - b = b | 0; - return (a - b | 0) >>> 31 | 0; -} -function cX(a, b) { - a = a | 0; - b = b | 0; - c[a >> 2] = d[b] | 0; - c[a + 4 >> 2] = d[b + 1 | 0] | 0; - c[a + 8 >> 2] = d[b + 2 | 0] | 0; - c[a + 12 >> 2] = d[b + 3 | 0] | 0; - c[a + 16 >> 2] = d[b + 4 | 0] | 0; - c[a + 20 >> 2] = d[b + 5 | 0] | 0; - c[a + 24 >> 2] = d[b + 6 | 0] | 0; - c[a + 28 >> 2] = d[b + 7 | 0] | 0; - c[a + 32 >> 2] = d[b + 8 | 0] | 0; - c[a + 36 >> 2] = d[b + 9 | 0] | 0; - c[a + 40 >> 2] = d[b + 10 | 0] | 0; - c[a + 44 >> 2] = d[b + 11 | 0] | 0; - c[a + 48 >> 2] = d[b + 12 | 0] | 0; - c[a + 52 >> 2] = d[b + 13 | 0] | 0; - c[a + 56 >> 2] = d[b + 14 | 0] | 0; - c[a + 60 >> 2] = d[b + 15 | 0] | 0; - return; -} -function cY(b, d) { - b = b | 0; - d = d | 0; - var e = 0; - e = 0; - do { - a[b + e | 0] = c[d + (e << 2) >> 2] & 255; - e = e + 1 | 0; - } while ((e | 0) < 32); - return; -} -function cZ(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - b = 0; - while (1) { - if ((b | 0) >= 32) { - d = 1; - e = 347; - break; - } - if ((c[a + (b << 2) >> 2] | 0) == 0) { - b = b + 1 | 0; - } else { - d = 0; - e = 346; - break; - } - } - if ((e | 0) == 346) { - return d | 0; - } else if ((e | 0) == 347) { - return d | 0; - } - return 0; -} -function c_(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - b = 31; - while (1) { - if ((b | 0) <= 15) { - d = 1; - e = 353; - break; - } - if ((c[a + (b << 2) >> 2] | 0) == 0) { - b = b - 1 | 0; - } else { - d = 0; - e = 352; - break; - } - } - if ((e | 0) == 352) { - return d | 0; - } else if ((e | 0) == 353) { - return d | 0; - } - return 0; -} -function c$(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0; - d = 31; - while (1) { - if ((d | 0) <= -1) { - e = 0; - f = 359; - break; - } - g = c[a + (d << 2) >> 2] | 0; - h = c[b + (d << 2) >> 2] | 0; - if (g >>> 0 < h >>> 0) { - e = 1; - f = 361; - break; - } - if (g >>> 0 > h >>> 0) { - e = 0; - f = 360; - break; - } else { - d = d - 1 | 0; - } - } - if ((f | 0) == 360) { - return e | 0; - } else if ((f | 0) == 359) { - return e | 0; - } else if ((f | 0) == 361) { - return e | 0; - } - return 0; -} -function c0(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0; - e = 0; - f = 0; - while (1) { - g = (c[b + (f << 2) >> 2] | 0) - (c[d + (f << 2) >> 2] | 0) - e | 0; - c[a + (f << 2) >> 2] = g & 255; - h = f + 1 | 0; - if ((h | 0) < 32) { - e = g >>> 8 & 1; - f = h; - } else { - break; - } - } - return; -} -function c1(b, e) { - b = b | 0; - e = e | 0; - var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; - f = 0; - while (1) { - g = f * 3 | 0; - h = e + (g << 2) | 0; - i = f << 3; - a[b + i | 0] = c[h >> 2] & 7; - a[b + (i | 1) | 0] = (c[h >> 2] | 0) >>> 3 & 7; - j = (c[h >> 2] | 0) >>> 6 & 7; - h = b + (i | 2) | 0; - a[h] = j; - k = e + (g + 1 << 2) | 0; - a[h] = (j & 255 ^ c[k >> 2] << 2 & 4) & 255; - a[b + (i | 3) | 0] = (c[k >> 2] | 0) >>> 1 & 7; - a[b + (i | 4) | 0] = (c[k >> 2] | 0) >>> 4 & 7; - if ((f | 0) >= 10) { - l = 0; - m = 0; - break; - } - j = (c[k >> 2] | 0) >>> 7 & 7; - k = b + (i | 5) | 0; - a[k] = j; - h = e + (g + 2 << 2) | 0; - a[k] = (j & 255 ^ c[h >> 2] << 1 & 6) & 255; - a[b + (i | 6) | 0] = (c[h >> 2] | 0) >>> 2 & 7; - a[b + (i | 7) | 0] = (c[h >> 2] | 0) >>> 5 & 7; - f = f + 1 | 0; - } - do { - f = b + m | 0; - e = (d[f] | 0) + l & 255; - a[f] = e; - m = m + 1 | 0; - h = b + m | 0; - a[h] = (e << 24 >> 24 >>> 3) + (d[h] | 0) & 255; - h = a[f] & 7; - l = h >>> 2; - a[f] = h - (l << 3) & 255; - } while ((m | 0) < 84); - m = b + 84 | 0; - a[m] = (d[m] | 0) + l & 255; - return; -} -function c2(b, e) { - b = b | 0; - e = e | 0; - var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; - f = 0; - while (1) { - g = f * 5 | 0; - h = e + (g << 2) | 0; - i = f << 3; - a[b + i | 0] = c[h >> 2] & 31; - j = (c[h >> 2] | 0) >>> 5 & 31; - h = b + (i | 1) | 0; - a[h] = j; - k = e + (g + 1 << 2) | 0; - a[h] = (j & 255 ^ c[k >> 2] << 3 & 24) & 255; - a[b + (i | 2) | 0] = (c[k >> 2] | 0) >>> 2 & 31; - if ((f | 0) >= 6) { - l = 0; - m = 0; - break; - } - j = (c[k >> 2] | 0) >>> 7 & 31; - k = b + (i | 3) | 0; - a[k] = j; - h = e + (g + 2 << 2) | 0; - a[k] = (j & 255 ^ c[h >> 2] << 1 & 30) & 255; - j = (c[h >> 2] | 0) >>> 4 & 31; - h = b + (i | 4) | 0; - a[h] = j; - k = e + (g + 3 << 2) | 0; - a[h] = (j & 255 ^ c[k >> 2] << 4 & 16) & 255; - a[b + (i | 5) | 0] = (c[k >> 2] | 0) >>> 1 & 31; - j = (c[k >> 2] | 0) >>> 6 & 31; - k = b + (i | 6) | 0; - a[k] = j; - h = e + (g + 4 << 2) | 0; - a[k] = (j & 255 ^ c[h >> 2] << 2 & 28) & 255; - a[b + (i | 7) | 0] = (c[h >> 2] | 0) >>> 3 & 31; - f = f + 1 | 0; - } - do { - f = b + m | 0; - e = (d[f] | 0) + l & 255; - a[f] = e; - m = m + 1 | 0; - h = b + m | 0; - a[h] = (e << 24 >> 24 >>> 5) + (d[h] | 0) & 255; - h = a[f] & 31; - l = h >>> 4; - a[f] = h - (l << 5) & 255; - } while ((m | 0) < 50); - m = b + 50 | 0; - a[m] = (d[m] | 0) + l & 255; - return; -} -function c3(b, d, e) { - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, i = 0; - f = 0; - do { - g = d + (f << 2) | 0; - h = e + (f << 2) | 0; - i = f << 2; - a[b + i | 0] = (c[h >> 2] << 2 & 12 | c[g >> 2] & 3) & 255; - a[b + (i | 1) | 0] = ((c[g >> 2] | 0) >>> 2 & 3 | c[h >> 2] & 12) & 255; - a[b + (i | 2) | 0] = ((c[h >> 2] | 0) >>> 4 << 2 & 12 | (c[g >> 2] | 0) >>> 4 & 3) & 255; - a[b + (i | 3) | 0] = ((c[h >> 2] | 0) >>> 6 << 2 & 12 | (c[g >> 2] | 0) >>> 6 & 3) & 255; - f = f + 1 | 0; - } while ((f | 0) < 31); - f = d + 124 | 0; - d = e + 124 | 0; - a[b + 124 | 0] = (c[d >> 2] << 2 & 12 | c[f >> 2] & 3) & 255; - a[b + 125 | 0] = ((c[f >> 2] | 0) >>> 2 & 3 | c[d >> 2] & 12) & 255; - a[b + 126 | 0] = ((c[d >> 2] | 0) >>> 4 << 2 & 12 | (c[f >> 2] | 0) >>> 4 & 3) & 255; - return; -} -function c4(a, b) { - a = a | 0; - b = b | 0; - var e = 0; - e = 0; - do { - c[a + (e << 2) >> 2] = d[b + e | 0] | 0; - e = e + 1 | 0; - } while ((e | 0) < 32); - e = a + 124 | 0; - c[e >> 2] = c[e >> 2] & 127; - return; -} -function c5(b, e) { - b = b | 0; - e = e | 0; - var f = 0, g = 0, h = 0; - f = 0; - do { - a[b + f | 0] = c[e + (f << 2) >> 2] & 255; - f = f + 1 | 0; - } while ((f | 0) < 32); - f = b + 31 | 0; - e = 30; - g = (a[f] | 0) == 127 | 0; - do { - g = g & -((a[b + e | 0] | 0) == -1 | 0); - e = e - 1 | 0; - } while ((e | 0) > 1); - e = g & -((d[b] | 0) > 236 | 0); - a[f] = (e * -127 | 0) + (d[f] | 0) & 255; - f = e * -255 | 0; - g = 30; - do { - h = b + g | 0; - a[h] = (d[h] | 0) + f & 255; - g = g - 1 | 0; - } while ((g | 0) > 0); - a[b] = (d[b] | 0) + (e * -237 | 0) & 255; - return; -} -function c6(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; - d = i; - i = i + 264 | 0; - e = d | 0; - f = i; - i = i + 132 | 0; - i = i + 7 >> 3 << 3; - g = i; - i = i + 132 | 0; - i = i + 7 >> 3 << 3; - fm(e | 0, 0, 264); - h = b; - j = f; - fm(g | 0, 0, 132); - k = 0; - do { - l = 528 + (k << 2) | 0; - m = 0; - do { - n = m + k | 0; - if ((n | 0) > 30) { - o = ad(c[b + (m + 31 << 2) >> 2] | 0, c[l >> 2] | 0) | 0; - p = e + (n << 2) | 0; - c[p >> 2] = (c[p >> 2] | 0) + o; - } - m = m + 1 | 0; - } while ((m | 0) < 33); - k = k + 1 | 0; - } while ((k | 0) < 33); - k = e + 128 | 0; - b = (c[k >> 2] | 0) + ((c[e + 124 >> 2] | 0) >>> 8) | 0; - c[k >> 2] = b; - k = e + 132 | 0; - c[k >> 2] = (b >>> 8) + (c[k >> 2] | 0); - fn(j | 0, h | 0, 132) | 0; - h = 0; - while (1) { - j = 992 + (h << 2) | 0; - k = 0; - do { - b = k + h | 0; - if ((b | 0) < 33) { - m = ad(c[e + (k + 33 << 2) >> 2] | 0, c[j >> 2] | 0) | 0; - l = g + (b << 2) | 0; - c[l >> 2] = (c[l >> 2] | 0) + m; - } - k = k + 1 | 0; - } while ((k | 0) < 33); - k = h + 1 | 0; - if ((k | 0) < 32) { - h = k; - } else { - q = 0; - break; - } - } - while (1) { - h = g + (q << 2) | 0; - e = q + 1 | 0; - k = g + (e << 2) | 0; - c[k >> 2] = (c[k >> 2] | 0) + ((c[h >> 2] | 0) >>> 8); - c[h >> 2] = c[h >> 2] & 255; - if ((e | 0) < 32) { - q = e; - } else { - r = 0; - s = 0; - break; - } - } - do { - q = (c[g + (s << 2) >> 2] | 0) + r | 0; - e = c[f + (s << 2) >> 2] | 0; - r = cW(e, q) | 0; - c[a + (s << 2) >> 2] = e - q + (r << 8); - s = s + 1 | 0; - } while ((s | 0) < 32); - da(a); - da(a); - i = d; - return; -} -function c7(a, b) { - a = a | 0; - b = b | 0; - var e = 0, f = 0, g = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - g = 0; - do { - c[f + (g << 2) >> 2] = d[b + g | 0] | 0; - g = g + 1 | 0; - } while ((g | 0) < 64); - c6(a, f | 0); - i = e; - return; -} -function c8(a, b) { - a = a | 0; - b = b | 0; - c[a >> 2] = c[b >> 2]; - c[a + 4 >> 2] = c[b + 4 >> 2]; - c[a + 8 >> 2] = c[b + 8 >> 2]; - c[a + 12 >> 2] = c[b + 12 >> 2]; - c[a + 16 >> 2] = c[b + 16 >> 2]; - c[a + 20 >> 2] = c[b + 20 >> 2]; - c[a + 24 >> 2] = c[b + 24 >> 2]; - c[a + 28 >> 2] = c[b + 28 >> 2]; - c[a + 32 >> 2] = c[b + 32 >> 2]; - c[a + 36 >> 2] = c[b + 36 >> 2]; - c[a + 40 >> 2] = c[b + 40 >> 2]; - c[a + 44 >> 2] = c[b + 44 >> 2]; - c[a + 48 >> 2] = c[b + 48 >> 2]; - c[a + 52 >> 2] = c[b + 52 >> 2]; - c[a + 56 >> 2] = c[b + 56 >> 2]; - c[a + 60 >> 2] = c[b + 60 >> 2]; - fm(a + 64 | 0, 0, 64); - return; -} -function c9(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - e = 0; - while (1) { - c[a + (e << 2) >> 2] = (c[d + (e << 2) >> 2] | 0) + (c[b + (e << 2) >> 2] | 0); - f = e + 1 | 0; - if ((f | 0) < 32) { - e = f; - } else { - g = 0; - break; - } - } - do { - e = a + (g << 2) | 0; - g = g + 1 | 0; - b = a + (g << 2) | 0; - c[b >> 2] = (c[b >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((g | 0) < 31); - da(a); - return; -} -function da(b) { - b = b | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0; - e = i; - i = i + 32 | 0; - f = e | 0; - g = 0; - h = 0; - while (1) { - j = (c[992 + (h << 2) >> 2] | 0) + g | 0; - k = c[b + (h << 2) >> 2] | 0; - l = cW(k, j) | 0; - a[f + h | 0] = k - j & 255; - j = h + 1 | 0; - m = l - 1 | 0; - if ((j | 0) < 32) { - g = l; - h = j; - } else { - n = 0; - break; - } - } - do { - h = b + (n << 2) | 0; - g = c[h >> 2] | 0; - c[h >> 2] = ((d[f + n | 0] | 0) ^ g) & m ^ g; - n = n + 1 | 0; - } while ((n | 0) < 32); - i = e; - return; -} -function db(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - fm(f | 0, 0, 256); - g = 0; - while (1) { - h = c[b + (g << 2) >> 2] | 0; - j = 0; - do { - k = ad(c[d + (j << 2) >> 2] | 0, h) | 0; - l = f + (j + g << 2) | 0; - c[l >> 2] = (c[l >> 2] | 0) + k; - j = j + 1 | 0; - } while ((j | 0) < 32); - j = g + 1 | 0; - if ((j | 0) < 32) { - g = j; - } else { - m = 0; - break; - } - } - do { - g = f + (m << 2) | 0; - m = m + 1 | 0; - d = f + (m << 2) | 0; - c[d >> 2] = (c[d >> 2] | 0) + ((c[g >> 2] | 0) >>> 8); - c[g >> 2] = c[g >> 2] & 255; - } while ((m | 0) < 63); - c6(a, f | 0); - i = e; - return; -} -function dc(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var d = 0, e = 0; - d = i; - i = i + 128 | 0; - e = d | 0; - c8(e, c); - db(a, b, e); - i = d; - return; -} -function dd(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0; - e = d & 255; - f = 1 - d & 255; - d = 0; - do { - g = a + (d << 2) | 0; - h = ad(c[g >> 2] | 0, f) | 0; - c[g >> 2] = (ad(c[b + (d << 2) >> 2] | 0, e) | 0) + h; - d = d + 1 | 0; - } while ((d | 0) < 32); - return; -} -function de(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = a + 124 | 0; - d = 30; - e = (c[b >> 2] | 0) == 127 | 0; - do { - e = e & -((c[a + (d << 2) >> 2] | 0) == 255 | 0); - d = d - 1 | 0; - } while ((d | 0) > 1); - d = a | 0; - f = e & -((c[d >> 2] | 0) >>> 0 > 236 | 0); - c[b >> 2] = (f * -127 | 0) + (c[b >> 2] | 0); - b = f * -255 | 0; - e = 30; - do { - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + b; - e = e - 1 | 0; - } while ((e | 0) > 0); - c[d >> 2] = (c[d >> 2] | 0) + (f * -237 | 0); - return; -} -function df(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = a + 124 | 0; - d = a | 0; - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); - e = 0; - do { - f = a + (e << 2) | 0; - e = e + 1 | 0; - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); - c[f >> 2] = c[f >> 2] & 255; - } while ((e | 0) < 31); - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); - e = 0; - do { - f = a + (e << 2) | 0; - e = e + 1 | 0; - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); - c[f >> 2] = c[f >> 2] & 255; - } while ((e | 0) < 31); - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); - e = 0; - do { - f = a + (e << 2) | 0; - e = e + 1 | 0; - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); - c[f >> 2] = c[f >> 2] & 255; - } while ((e | 0) < 31); - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); - d = 0; - do { - e = a + (d << 2) | 0; - d = d + 1 | 0; - b = a + (d << 2) | 0; - c[b >> 2] = (c[b >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((d | 0) < 31); - return; -} -function dg(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = a + 124 | 0; - d = a | 0; - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); - e = 0; - do { - f = a + (e << 2) | 0; - e = e + 1 | 0; - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); - c[f >> 2] = c[f >> 2] & 255; - } while ((e | 0) < 31); - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); - d = 0; - do { - e = a + (d << 2) | 0; - d = d + 1 | 0; - b = a + (d << 2) | 0; - c[b >> 2] = (c[b >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((d | 0) < 31); - return; -} -function dh(a) { - a = a | 0; - var b = 0, d = 0; - b = 1; - d = (c[a >> 2] | 0) == 1 | 0; - do { - d = d & -((c[a + (b << 2) >> 2] | 0) == 0 | 0); - b = b + 1 | 0; - } while ((b | 0) < 32); - return d | 0; -} -function di(a) { - a = a | 0; - var b = 0, d = 0; - b = 1; - d = (c[a >> 2] | 0) == 0 | 0; - do { - d = d & -((c[a + (b << 2) >> 2] | 0) == 0 | 0); - b = b + 1 | 0; - } while ((b | 0) < 32); - return d | 0; -} -function dj(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - b = i; - d = a; - a = i; - i = i + 128 | 0; - e = a; - fn(e | 0, d | 0, 128) | 0; - de(a); - i = b; - return c[a >> 2] & 1 | 0; -} -function dk(a) { - a = a | 0; - c[a >> 2] = 1; - fm(a + 4 | 0, 0, 124); - return; -} -function dl(a) { - a = a | 0; - fm(a | 0, 0, 128); - return; -} -function dm(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0; - c = i; - d = b; - b = i; - i = i + 128 | 0; - e = b; - fn(e | 0, d | 0, 128) | 0; - dl(a); - dn(a, a, b); - i = c; - return; -} -function dn(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0; - e = i; - i = i + 128 | 0; - f = e | 0; - c[f >> 2] = (c[b >> 2] | 0) + 474; - c[f + 124 >> 2] = (c[b + 124 >> 2] | 0) + 254; - g = 1; - while (1) { - c[f + (g << 2) >> 2] = (c[b + (g << 2) >> 2] | 0) + 510; - h = g + 1 | 0; - if ((h | 0) < 31) { - g = h; - } else { - j = 0; - break; - } - } - do { - c[a + (j << 2) >> 2] = (c[f + (j << 2) >> 2] | 0) - (c[d + (j << 2) >> 2] | 0); - j = j + 1 | 0; - } while ((j | 0) < 32); - df(a); - i = e; - return; -} -function dp(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0; - e = 0; - do { - c[a + (e << 2) >> 2] = (c[d + (e << 2) >> 2] | 0) + (c[b + (e << 2) >> 2] | 0); - e = e + 1 | 0; - } while ((e | 0) < 32); - df(a); - return; -} -function dq(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - fm(f | 0, 0, 252); - g = 0; - while (1) { - h = c[b + (g << 2) >> 2] | 0; - j = 0; - do { - k = ad(c[d + (j << 2) >> 2] | 0, h) | 0; - l = f + (j + g << 2) | 0; - c[l >> 2] = (c[l >> 2] | 0) + k; - j = j + 1 | 0; - } while ((j | 0) < 32); - j = g + 1 | 0; - if ((j | 0) < 32) { - g = j; - } else { - m = 32; - break; - } - } - do { - g = m - 32 | 0; - c[a + (g << 2) >> 2] = ((c[f + (m << 2) >> 2] | 0) * 38 | 0) + (c[f + (g << 2) >> 2] | 0); - m = m + 1 | 0; - } while ((m | 0) < 63); - c[a + 124 >> 2] = c[f + 124 >> 2]; - dg(a); - i = e; - return; -} -function dr(a, b) { - a = a | 0; - b = b | 0; - dq(a, b, b); - return; -} -function ds(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; - e = i; - i = i + 2304 | 0; - f = e | 0; - g = e + 128 | 0; - h = e + 2176 | 0; - dk(f); - dk(g | 0); - j = g + 128 | 0; - k = j; - l = b; - fn(k | 0, l | 0, 128) | 0; - l = g + 256 | 0; - dr(l, g + 128 | 0); - dq(g + 384 | 0, l, j); - l = g + 512 | 0; - dr(l, g + 256 | 0); - dq(g + 640 | 0, l, j); - l = g + 768 | 0; - dr(l, g + 384 | 0); - dq(g + 896 | 0, l, j); - l = g + 1024 | 0; - dr(l, g + 512 | 0); - dq(g + 1152 | 0, l, j); - l = g + 1280 | 0; - dr(l, g + 640 | 0); - dq(g + 1408 | 0, l, j); - l = g + 1536 | 0; - dr(l, g + 768 | 0); - dq(g + 1664 | 0, l, j); - l = g + 1792 | 0; - dr(l, g + 896 | 0); - dq(g + 1920 | 0, l, j); - j = h; - l = g; - k = 32; - do { - b = c + (k - 1) | 0; - m = g + 128 | 0; - n = 4; - do { - dr(f, f); - dr(f, f); - dr(f, f); - dr(f, f); - o = (d[b] | 0) >>> (n >>> 0); - fn(j | 0, l | 0, 128) | 0; - p = o & 15; - dd(h, m, (p | 0) == 1 | 0); - dd(h, g + 256 | 0, (p | 0) == 2 | 0); - dd(h, g + 384 | 0, (p | 0) == 3 | 0); - dd(h, g + 512 | 0, (p | 0) == 4 | 0); - dd(h, g + 640 | 0, (p | 0) == 5 | 0); - dd(h, g + 768 | 0, (p | 0) == 6 | 0); - dd(h, g + 896 | 0, (p | 0) == 7 | 0); - dd(h, g + 1024 | 0, (p | 0) == 8 | 0); - dd(h, g + 1152 | 0, (p | 0) == 9 | 0); - dd(h, g + 1280 | 0, (p | 0) == 10 | 0); - dd(h, g + 1408 | 0, (p | 0) == 11 | 0); - dd(h, g + 1536 | 0, (p | 0) == 12 | 0); - dd(h, g + 1664 | 0, (p | 0) == 13 | 0); - dd(h, g + 1792 | 0, (p | 0) == 14 | 0); - dd(h, g + 1920 | 0, (p | 0) == 15 | 0); - dq(f, f, h); - n = n - 4 | 0; - } while ((n | 0) > -1); - k = k - 1 | 0; - } while ((k | 0) > 0); - k = a; - a = f; - fn(k | 0, a | 0, 128) | 0; - i = e; - return; -} -function dt(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - e = i; - i = i + 352 | 0; - f = e + 32 | 0; - g = e + 64 | 0; - h = e + 96 | 0; - j = e + 224 | 0; - if ((du(b) | 0) == 0) { - k = -1; - i = e; - return k | 0; - } - l = e | 0; - fn(l | 0, 111032, 32) | 0; - m = f | 0; - fn(m | 0, 111e3, 32) | 0; - f = g | 0; - fn(f | 0, 110968, 32) | 0; - fm(h | 0, 0, 128); - ds(j, b, l); - de(j); - if ((dh(j) | 0) == 0) { - l = 0; - do { - c[j + (l << 2) >> 2] = c[b + (l << 2) >> 2] << 2; - l = l + 1 | 0; - } while ((l | 0) < 32); - ds(j, j, f); - f = 0; - do { - c[a + (f << 2) >> 2] = c[b + (f << 2) >> 2] << 1; - f = f + 1 | 0; - } while ((f | 0) < 32); - dq(a, a, j); - } else { - ds(a, b, m); - } - de(a); - if (((c[a >> 2] ^ d & 255) & 1 | 0) == 0) { - k = 0; - i = e; - return k | 0; - } - dn(a, h, a); - k = 0; - i = e; - return k | 0; -} -function du(a) { - a = a | 0; - var b = 0, c = 0, d = 0, e = 0; - b = i; - i = i + 160 | 0; - c = b + 32 | 0; - d = b | 0; - fn(d | 0, 1312, 32) | 0; - ds(c, a, d); - de(c); - if ((dh(c) | 0) != 0) { - e = 1; - i = b; - return e | 0; - } - e = (di(c) | 0) != 0 | 0; - i = b; - return e | 0; -} -function dv(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0; - c = i; - i = i + 1280 | 0; - d = c | 0; - e = c + 128 | 0; - f = c + 256 | 0; - g = c + 384 | 0; - h = c + 512 | 0; - j = c + 640 | 0; - k = c + 768 | 0; - l = c + 896 | 0; - m = c + 1024 | 0; - n = c + 1152 | 0; - dr(d, b); - dr(n, d); - dr(m, n); - dq(e, m, b); - dq(f, e, d); - dr(m, f); - dq(g, m, e); - dr(m, g); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dq(h, m, g); - dr(m, h); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dq(j, n, h); - dr(m, j); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dq(m, n, j); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dq(k, m, h); - dr(m, k); - dr(n, m); - h = 2; - do { - dr(m, n); - dr(n, m); - h = h + 2 | 0; - } while ((h | 0) < 50); - dq(l, n, k); - dr(n, l); - dr(m, n); - h = 2; - do { - dr(n, m); - dr(m, n); - h = h + 2 | 0; - } while ((h | 0) < 100); - dq(n, m, l); - dr(m, n); - dr(n, m); - l = 2; - do { - dr(m, n); - dr(n, m); - l = l + 2 | 0; - } while ((l | 0) < 50); - dq(m, n, k); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dq(a, n, f); - i = c; - return; -} -function dw(a, b) { - a = a | 0; - b = b | 0; - var c = 0, e = 0, f = 0, g = 0, h = 0, j = 0; - c = i; - i = i + 256 | 0; - e = c | 0; - f = c + 128 | 0; - g = a + 256 | 0; - dk(g); - c4(f, 110776); - h = (d[b + 31 | 0] | 0) >>> 7; - j = a + 128 | 0; - c4(j, b); - b = a | 0; - dr(b, j); - dq(e, b, f); - dn(b, b, g); - dp(e, g, e); - dv(e, e); - dq(b, b, e); - e = dt(b, b, h) | 0; - dq(a + 384 | 0, b, j); - i = c; - return e | 0; -} -function dx(b, c) { - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0; - d = i; - i = i + 384 | 0; - e = d | 0; - f = d + 128 | 0; - g = d + 256 | 0; - dv(g, c + 256 | 0); - dq(e, c | 0, g); - dq(f, c + 128 | 0, g); - c5(b, f); - f = (dj(e) | 0) << 7; - e = b + 31 | 0; - a[e] = a[e] ^ f; - i = d; - return; -} -function dy(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var d = 0, e = 0; - d = i; - i = i + 512 | 0; - e = d | 0; - dz(e, b, c); - dA(a, e); - i = d; - return; -} -function dz(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; - d = i; - i = i + 768 | 0; - e = d | 0; - f = d + 128 | 0; - g = d + 256 | 0; - h = d + 384 | 0; - j = d + 512 | 0; - k = d + 640 | 0; - c4(k, 110776); - l = b + 128 | 0; - m = b | 0; - dn(e, l, m); - n = c + 128 | 0; - o = c | 0; - dn(j, n, o); - dq(e, e, j); - dp(f, m, l); - dp(j, o, n); - dq(f, f, j); - dq(g, b + 384 | 0, c + 384 | 0); - dq(g, g, k); - dp(g, g, g); - dq(h, b + 256 | 0, c + 256 | 0); - dp(h, h, h); - dn(a | 0, f, e); - dn(a + 384 | 0, h, g); - dp(a + 128 | 0, h, g); - dp(a + 256 | 0, f, e); - i = d; - return; -} -function dA(a, b) { - a = a | 0; - b = b | 0; - dG(a, b); - dq(a + 384 | 0, b | 0, b + 256 | 0); - return; -} -function dB(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0; - c = i; - i = i + 512 | 0; - d = c | 0; - dC(d, b); - dA(a, d); - i = c; - return; -} -function dC(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0; - c = i; - i = i + 512 | 0; - d = c | 0; - e = c + 128 | 0; - f = c + 256 | 0; - g = c + 384 | 0; - h = b | 0; - dr(d, h); - j = b + 128 | 0; - dr(e, j); - dr(f, b + 256 | 0); - dp(f, f, f); - dm(g, d); - b = a | 0; - dp(b, h, j); - dr(b, b); - dn(b, b, d); - dn(b, b, e); - b = a + 128 | 0; - dp(b, g, e); - dn(a + 384 | 0, b, f); - dn(a + 256 | 0, g, e); - i = c; - return; -} -function dD(b, d) { - b = b | 0; - d = d | 0; - var e = 0; - e = 0; - do { - a[b + e | 0] = c[d + (e << 2) >> 2] & 255; - e = e + 1 | 0; - } while ((e | 0) < 32); - return; -} -function dE(b) { - b = b | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0; - e = i; - i = i + 32 | 0; - f = e | 0; - g = 0; - h = 0; - while (1) { - j = c[b + (h << 2) >> 2] | 0; - k = c[864 + (h << 2) >> 2] | 0; - l = j >>> 0 < (k + g | 0) >>> 0 | 0; - a[f + h | 0] = j - g - k & 255; - k = h + 1 | 0; - if ((k | 0) < 32) { - g = l; - h = k; - } else { - break; - } - } - h = l ^ 1; - g = 0; - do { - k = b + (g << 2) | 0; - c[k >> 2] = ((d[f + g | 0] | 0) & -h) + (c[k >> 2] & -l); - g = g + 1 | 0; - } while ((g | 0) < 32); - i = e; - return; -} -function dF(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0; - e = i; - i = i + 3616 | 0; - f = e | 0; - g = e + 512 | 0; - h = e + 2560 | 0; - j = e + 3072 | 0; - k = e + 3584 | 0; - c4(f | 0, 112080); - l = f + 128 | 0; - c4(l, 1560); - m = f + 256 | 0; - c4(m, 1528); - n = f + 384 | 0; - c4(n, 112112); - dD(k | 0, c); - c = g; - o = f; - fn(c | 0, o | 0, 512) | 0; - p = g + 512 | 0; - q = p; - r = b; - fn(q | 0, r | 0, 512) | 0; - dC(j, g + 512 | 0); - r = g + 1024 | 0; - dA(r, j); - dz(j, r, p); - dA(g + 1536 | 0, j); - p = f; - r = h; - q = 32; - do { - b = k + (q - 1) | 0; - s = 6; - do { - dC(j, p); - dG(p, j); - dC(j, p); - dA(f, j); - t = (d[b] | 0) >>> (s >>> 0); - fn(r | 0, c | 0, 512) | 0; - u = t & 3; - t = 1; - do { - dH(h, g + (t << 9) | 0, (t | 0) == (u | 0) | 0); - t = t + 1 | 0; - } while ((t | 0) < 4); - dz(j, f, h); - if ((s | 0) == 0) { - v = 518; - break; - } - dG(p, j); - s = s - 2 | 0; - } while ((s | 0) > -1); - if ((v | 0) == 518) { - v = 0; - dA(f, j); - } - q = q - 1 | 0; - } while ((q | 0) > 0); - q = a; - fn(q | 0, o | 0, 128) | 0; - o = a + 128 | 0; - q = l; - fn(o | 0, q | 0, 128) | 0; - q = a + 256 | 0; - o = m; - fn(q | 0, o | 0, 128) | 0; - o = a + 384 | 0; - a = n; - fn(o | 0, a | 0, 128) | 0; - i = e; - return; -} -function dG(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0; - c = b + 384 | 0; - dq(a | 0, b | 0, c); - d = b + 128 | 0; - dq(a + 128 | 0, b + 256 | 0, d); - dq(a + 256 | 0, d, c); - return; -} -function dH(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - dd(a | 0, b | 0, c); - dd(a + 128 | 0, b + 128 | 0, c); - dd(a + 256 | 0, b + 256 | 0, c); - dd(a + 384 | 0, b + 384 | 0, c); - return; -} -function dI(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0; - c = i; - i = i + 512 | 0; - d = c | 0; - c4(d | 0, 1912); - c4(d + 128 | 0, 1880); - c4(d + 256 | 0, 1848); - c4(d + 384 | 0, 1944); - dF(a, d, b); - i = c; - return; -} -function dJ(a, b) { - a = a | 0; - b = b | 0; - var e = 0, f = 0, g = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - fm(f | 0, 0, 256); - g = 0; - do { - c[f + (g << 2) >> 2] = d[b + g | 0] | 0; - g = g + 1 | 0; - } while ((g | 0) < 32); - dK(a, f | 0); - i = e; - return; -} -function dK(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; - d = i; - i = i + 536 | 0; - e = d | 0; - f = d + 264 | 0; - g = d + 400 | 0; - fm(e | 0, 0, 264); - fm(g | 0, 0, 132); - h = 0; - do { - j = 392 + (h << 2) | 0; - k = 0; - do { - l = k + h | 0; - if ((l | 0) > 30) { - m = ad(c[b + (k + 31 << 2) >> 2] | 0, c[j >> 2] | 0) | 0; - n = e + (l << 2) | 0; - c[n >> 2] = (c[n >> 2] | 0) + m; - } - k = k + 1 | 0; - } while ((k | 0) < 33); - h = h + 1 | 0; - } while ((h | 0) < 33); - h = b; - b = f; - k = e + 128 | 0; - j = (c[k >> 2] | 0) + ((c[e + 124 >> 2] | 0) >>> 8) | 0; - c[k >> 2] = j; - k = e + 132 | 0; - c[k >> 2] = (j >>> 8) + (c[k >> 2] | 0); - fn(b | 0, h | 0, 132) | 0; - h = 0; - while (1) { - b = 864 + (h << 2) | 0; - k = 0; - do { - j = k + h | 0; - if ((j | 0) < 33) { - m = ad(c[e + (k + 33 << 2) >> 2] | 0, c[b >> 2] | 0) | 0; - n = g + (j << 2) | 0; - c[n >> 2] = (c[n >> 2] | 0) + m; - } - k = k + 1 | 0; - } while ((k | 0) < 33); - k = h + 1 | 0; - if ((k | 0) < 32) { - h = k; - } else { - o = 0; - break; - } - } - while (1) { - h = g + (o << 2) | 0; - e = o + 1 | 0; - k = g + (e << 2) | 0; - c[k >> 2] = (c[k >> 2] | 0) + ((c[h >> 2] | 0) >>> 8); - c[h >> 2] = c[h >> 2] & 255; - if ((e | 0) < 32) { - o = e; - } else { - p = 0; - q = 0; - break; - } - } - while (1) { - o = c[f + (p << 2) >> 2] | 0; - e = c[g + (p << 2) >> 2] | 0; - h = o >>> 0 < (e + q | 0) >>> 0 | 0; - c[a + (p << 2) >> 2] = o - q - e + (h << 8); - e = p + 1 | 0; - if ((e | 0) < 32) { - p = e; - q = h; - } else { - break; - } - } - dE(a); - dE(a); - i = d; - return; -} -function dL(a, b) { - a = a | 0; - b = b | 0; - var e = 0, f = 0, g = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - fm(f | 0, 0, 256); - g = 0; - do { - c[f + (g << 2) >> 2] = d[b + g | 0] | 0; - g = g + 1 | 0; - } while ((g | 0) < 64); - dK(a, f | 0); - i = e; - return; -} -function dM(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - e = 0; - while (1) { - c[a + (e << 2) >> 2] = (c[d + (e << 2) >> 2] | 0) + (c[b + (e << 2) >> 2] | 0); - f = e + 1 | 0; - if ((f | 0) < 32) { - e = f; - } else { - g = 0; - break; - } - } - do { - e = a + (g << 2) | 0; - g = g + 1 | 0; - b = a + (g << 2) | 0; - c[b >> 2] = (c[b >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((g | 0) < 31); - dE(a); - return; -} -function dN(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - fm(f | 0, 0, 256); - g = 0; - while (1) { - h = c[b + (g << 2) >> 2] | 0; - j = 0; - do { - k = ad(c[d + (j << 2) >> 2] | 0, h) | 0; - l = f + (j + g << 2) | 0; - c[l >> 2] = (c[l >> 2] | 0) + k; - j = j + 1 | 0; - } while ((j | 0) < 32); - j = g + 1 | 0; - if ((j | 0) < 32) { - g = j; - } else { - m = 0; - break; - } - } - do { - g = f + (m << 2) | 0; - m = m + 1 | 0; - d = f + (m << 2) | 0; - c[d >> 2] = (c[d >> 2] | 0) + ((c[g >> 2] | 0) >>> 8); - c[g >> 2] = c[g >> 2] & 255; - } while ((m | 0) < 63); - dK(a, f | 0); - i = e; - return; -} -function dO(a, b) { - a = a | 0; - b = b | 0; - dN(a, b, b); - return; -} -function dP(b, c) { - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0; - d = i; - i = i + 640 | 0; - e = d | 0; - f = d + 128 | 0; - at(c | 0, 32, 0); - bR(c, c, 32, 0) | 0; - a[c] = a[c] & -8; - g = c + 31 | 0; - a[g] = a[g] & 63 | 64; - dJ(e, c); - dI(f, e); - dx(b, f); - i = d; - return 0; -} -function dQ(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0; - j = i; - i = i + 928 | 0; - k = j | 0; - l = j + 128 | 0; - m = j + 256 | 0; - n = j + 384 | 0; - o = j + 896 | 0; - p = o | 0; - q = i; - i = i + 32 | 0; - r = q | 0; - s = i; - i = i + 64 | 0; - t = i; - i = i + 64 | 0; - u = fp(f, g, 64, 0) | 0; - c[d >> 2] = u; - c[d + 4 >> 2] = H; - if ((f | 0) == 0 & (g | 0) == 0) { - v = 0; - w = 0; - } else { - d = 0; - u = 0; - while (1) { - x = a[e + u | 0] | 0; - y = fp(u, d, 32, 0) | 0; - a[b + y | 0] = x; - x = fp(u, d, 1, 0) | 0; - y = H; - if (y >>> 0 < g >>> 0 | y >>> 0 == g >>> 0 & x >>> 0 < f >>> 0) { - d = y; - u = x; - } else { - v = 0; - w = 0; - break; - } - } - } - do { - u = fp(w, v, 32, 0) | 0; - a[b + w | 0] = a[h + u | 0] | 0; - w = fp(w, v, 1, 0) | 0; - v = H; - u = 0; - } while (v >>> 0 < u >>> 0 | v >>> 0 == u >>> 0 & w >>> 0 < 32 >>> 0); - w = s | 0; - s = fp(f, g, 32, 0) | 0; - v = H; - bR(w, b, s, v) | 0; - dL(k, w); - dI(n, k); - dx(o | 0, n); - fn(b | 0, p | 0, 32) | 0; - p = t | 0; - bR(p, b, s, v) | 0; - dL(l, p); - dN(l, l, k); - dJ(m, h); - dM(l, l, m); - dD(q | 0, l); - l = fp(f, g, 32, 0) | 0; - g = b + l | 0; - fn(g | 0, r | 0, 32) | 0; - i = j; - return 0; -} -function dR(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; - j = i; - i = i + 1920 | 0; - k = j + 64 | 0; - l = j + 576 | 0; - m = j + 1088 | 0; - n = j + 1600 | 0; - o = j + 1728 | 0; - if ((dw(k, e) | 0) != 0) { - p = -1; - i = j; - return p | 0; - } - if ((dw(m, h) | 0) != 0) { - p = -1; - i = j; - return p | 0; - } - h = j + 1856 | 0; - q = fp(f, g, -32, -1) | 0; - bR(h, e, q, H) | 0; - dL(n, h); - dF(k, k, n); - dy(k, k, m); - m = j | 0; - dx(m, k); - dJ(o, e + q | 0); - dI(l, o); - o = j + 32 | 0; - dx(o, l); - l = fp(f, g, -64, -1) | 0; - g = H; - if (!((l | 0) == 0 & (g | 0) == 0)) { - f = 0; - do { - a[b + f | 0] = a[e + (f + 32) | 0] | 0; - f = f + 1 | 0; - q = (f | 0) < 0 ? -1 : 0; - } while (q >>> 0 < g >>> 0 | q >>> 0 == g >>> 0 & f >>> 0 < l >>> 0); - } - c[d >> 2] = l; - c[d + 4 >> 2] = g; - p = em(m, o) | 0; - i = j; - return p | 0; -} -function dS(b, d, e, f, g) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, ar = 0, as = 0, at = 0, au = 0, av = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0, aJ = 0, aK = 0, aL = 0, aM = 0, aN = 0, aO = 0, aP = 0, aQ = 0, aR = 0, aS = 0, aT = 0, aU = 0, aV = 0, aW = 0, aX = 0, aY = 0, aZ = 0, a_ = 0, a$ = 0, a0 = 0, a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0, a7 = 0, a8 = 0, a9 = 0, ba = 0, bb = 0, bc = 0, bd = 0, be = 0, bf = 0, bg = 0, bh = 0, bi = 0, bj = 0, bk = 0, bl = 0; - h = i; - i = i + 400 | 0; - j = h | 0; - k = h + 16 | 0; - l = h + 32 | 0; - m = h + 48 | 0; - n = h + 64 | 0; - o = h + 80 | 0; - p = h + 96 | 0; - q = h + 112 | 0; - r = h + 128 | 0; - s = h + 144 | 0; - t = h + 160 | 0; - u = h + 176 | 0; - v = h + 192 | 0; - w = h + 208 | 0; - x = h + 224 | 0; - y = h + 240 | 0; - z = h + 256 | 0; - A = h + 272 | 0; - d1(z, f); - f = z; - z = j; - B = g; - C = g + 16 | 0; - D = g + 32 | 0; - E = g + 48 | 0; - F = g + 64 | 0; - G = g + 80 | 0; - I = g + 96 | 0; - J = g + 112 | 0; - K = g + 128 | 0; - L = g + 144 | 0; - M = g + 160 | 0; - N = g + 176 | 0; - O = g + 192 | 0; - P = g + 208 | 0; - Q = g + 224 | 0; - R = g + 240 | 0; - S = g + 256 | 0; - T = g + 272 | 0; - U = g + 288 | 0; - V = g + 304 | 0; - W = g + 320 | 0; - X = g + 336 | 0; - Y = g + 352 | 0; - Z = g + 368 | 0; - _ = g + 384 | 0; - $ = g + 400 | 0; - aa = g + 416 | 0; - ab = g + 432 | 0; - ac = g + 448 | 0; - ad = g + 464 | 0; - ae = g + 480 | 0; - af = g + 496 | 0; - ag = g + 512 | 0; - ah = g + 528 | 0; - ai = g + 544 | 0; - aj = g + 560 | 0; - ak = g + 576 | 0; - al = g + 592 | 0; - am = g + 608 | 0; - an = g + 624 | 0; - ao = g + 640 | 0; - ap = g + 656 | 0; - aq = g + 672 | 0; - ar = g + 688 | 0; - as = g + 704 | 0; - at = g + 720 | 0; - au = g + 736 | 0; - av = g + 752 | 0; - aw = g + 768 | 0; - ax = g + 784 | 0; - ay = g + 800 | 0; - az = g + 816 | 0; - aA = g + 832 | 0; - aB = g + 848 | 0; - aC = g + 864 | 0; - aD = g + 880 | 0; - aE = g + 896 | 0; - aF = g + 912 | 0; - aG = g + 928 | 0; - aH = g + 944 | 0; - aI = g + 960 | 0; - aJ = g + 976 | 0; - aK = g + 992 | 0; - aL = g + 1008 | 0; - aM = g + 1024 | 0; - aN = g + 1040 | 0; - aO = g + 1056 | 0; - aP = g + 1072 | 0; - aQ = g + 1088 | 0; - aR = g + 1104 | 0; - aS = g + 1120 | 0; - aT = g + 1136 | 0; - aU = g + 1152 | 0; - aV = g + 1168 | 0; - aW = g + 1184 | 0; - aX = g + 1200 | 0; - aY = g + 1216 | 0; - aZ = g + 1232 | 0; - a_ = g + 1248 | 0; - a$ = g + 1264 | 0; - a0 = g + 1280 | 0; - a1 = g + 1296 | 0; - a2 = g + 1312 | 0; - a3 = g + 1328 | 0; - a4 = g + 1344 | 0; - a5 = g + 1360 | 0; - a6 = g + 1376 | 0; - a7 = g + 1392 | 0; - g = f + 12 | 0; - a8 = r; - a9 = s; - ba = v; - bb = x; - bc = u; - bd = y; - be = t; - bf = w; - bg = b; - b = e; - e = d; - while (1) { - c[z >> 2] = c[f >> 2]; - c[z + 4 >> 2] = c[f + 4 >> 2]; - c[z + 8 >> 2] = c[f + 8 >> 2]; - c[z + 12 >> 2] = c[f + 12 >> 2]; - d1(k, j); - d3(k, 110808); - d1(l, k); - d1(m, k); - d1(n, k); - d1(o, k); - d1(p, k); - d1(q, k); - d9(k, 1); - d9(l, 2); - d9(m, 3); - d9(n, 4); - d9(o, 5); - d9(p, 6); - d9(q, 7); - d3(j, 110888); - d3(k, 110872); - d3(l, 110872); - d3(m, 110872); - d3(n, 110872); - d3(o, 110872); - d3(p, 110872); - d3(q, 110872); - d1(r, p); - d6(r, 1); - d_(r, q); - d$(r, 110952); - d_(q, r); - d7(r, 1); - d_(p, r); - d1(r, n); - d6(r, 1); - d_(r, o); - d$(r, 110952); - d_(o, r); - d7(r, 1); - d_(n, r); - d1(r, l); - d6(r, 1); - d_(r, m); - d$(r, 110952); - d_(m, r); - d7(r, 1); - d_(l, r); - d1(r, j); - d6(r, 1); - d_(r, k); - d$(r, 110952); - d_(k, r); - d7(r, 1); - d_(j, r); - d1(r, o); - d6(r, 2); - d_(r, q); - d$(r, 110936); - d_(q, r); - d7(r, 2); - d_(o, r); - d1(r, n); - d6(r, 2); - d_(r, p); - d$(r, 110936); - d_(p, r); - d7(r, 2); - d_(n, r); - d1(r, k); - d6(r, 2); - d_(r, m); - d$(r, 110936); - d_(m, r); - d7(r, 2); - d_(k, r); - d1(r, j); - d6(r, 2); - d_(r, l); - d$(r, 110936); - d_(l, r); - d7(r, 2); - d_(j, r); - d1(r, m); - d6(r, 4); - d_(r, q); - d$(r, 110920); - d_(q, r); - d7(r, 4); - d_(m, r); - d1(r, l); - d6(r, 4); - d_(r, p); - d$(r, 110920); - d_(p, r); - d7(r, 4); - d_(l, r); - d1(r, k); - d6(r, 4); - d_(r, o); - d$(r, 110920); - d_(o, r); - d7(r, 4); - d_(k, r); - d1(r, j); - d6(r, 4); - d_(r, n); - d$(r, 110920); - d_(n, r); - d7(r, 4); - d_(j, r); - d_(j, B); - d3(j, 110840); - d_(k, C); - d3(k, 110840); - d_(l, D); - d3(l, 110840); - d_(m, E); - d3(m, 110840); - d_(n, F); - d3(n, 110840); - d_(o, G); - d3(o, 110840); - d_(p, I); - d3(p, 110840); - d_(q, J); - d3(q, 110840); - d_(o, p); - d_(l, k); - d_(o, j); - d_(p, l); - d_(m, j); - d_(p, m); - d_(m, q); - d_(m, n); - d_(q, o); - d_(m, k); - d_(n, o); - d_(l, q); - d_(k, o); - d1(u, q); - d1(t, k); - d1(s, o); - d1(w, l); - d1(v, p); - d_(u, n); - d_(t, l); - d_(s, m); - d_(w, n); - d_(v, j); - d1(x, u); - d1(r, t); - d1(y, u); - d0(t, s); - d0(u, v); - d_(y, r); - d$(x, v); - d$(r, s); - d_(v, s); - d$(y, v); - d1(v, m); - d_(v, j); - d$(w, v); - d_(u, w); - d_(t, w); - d1(w, q); - d_(w, k); - d1(v, o); - d1(s, w); - d_(v, p); - d0(s, v); - d$(w, v); - d_(r, w); - d_(u, y); - d_(t, x); - d_(s, y); - d_(r, x); - d_(s, x); - d1(v, l); - d1(w, n); - d1(x, k); - d1(y, q); - d$(v, m); - d$(w, j); - d$(x, o); - d0(y, p); - d_(u, v); - d_(t, w); - d_(s, x); - d_(r, y); - d1(v, u); - d_(v, t); - d$(u, s); - d1(x, r); - d_(x, u); - d1(y, v); - d$(y, x); - d_(y, t); - d1(w, s); - d_(w, r); - d_(u, t); - d$(w, u); - d_(w, r); - d_(s, w); - d1(t, x); - d_(t, w); - d$(t, r); - d_(s, t); - d_(x, t); - d$(x, y); - d_(x, v); - d1(v, p); - d1(r, o); - d1(t, y); - d_(t, x); - d$(t, p); - d_(p, o); - d$(p, x); - d$(o, y); - d_(p, o); - d_(o, t); - d_(v, j); - d_(r, m); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, j); - d_(j, m); - d$(j, s); - d$(m, w); - d_(j, m); - d_(m, t); - d_(p, v); - d_(j, v); - d_(o, r); - d_(m, r); - d1(v, q); - d1(r, k); - d_(v, n); - d_(r, l); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, n); - d_(n, l); - d$(n, s); - d$(l, w); - d_(n, l); - d_(l, t); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, q); - d_(q, k); - d$(q, x); - d$(k, y); - d_(q, k); - d_(k, u); - d_(q, v); - d_(n, v); - d_(k, r); - d_(l, r); - d_(q, j); - d_(k, p); - d_(n, q); - d_(p, j); - d_(j, k); - d_(k, o); - d_(o, l); - d_(n, o); - d_(l, m); - d_(m, o); - d_(p, m); - d4(r, j, 147); - d4(s, k, 147); - d4(t, n, 147); - d4(u, p, 147); - d4(v, m, 147); - d4(w, q, 147); - d4(x, l, 147); - d4(y, o, 147); - d_(j, r); - d_(k, s); - d_(n, t); - d_(p, u); - d_(m, v); - d_(q, w); - d_(l, x); - d_(o, y); - d_(r, o); - d_(s, j); - d_(t, k); - d_(s, o); - d_(u, n); - d_(v, p); - d_(w, m); - d_(u, o); - d_(x, q); - d_(y, l); - d_(v, o); - d4(j, j, 78); - d4(k, k, 78); - d4(n, n, 78); - d4(p, p, 78); - d4(m, m, 78); - d4(q, q, 78); - d4(l, l, 78); - d4(o, o, 78); - d_(r, j); - d_(s, k); - d_(t, n); - d_(u, p); - d_(v, m); - d_(w, q); - d_(x, l); - d_(y, o); - d_(r, K); - d3(r, 110840); - d_(s, L); - d3(s, 110840); - d_(t, M); - d3(t, 110840); - d_(u, N); - d3(u, 110840); - d_(v, O); - d3(v, 110840); - d_(w, P); - d3(w, 110840); - d_(x, Q); - d3(x, 110840); - d_(y, R); - d3(y, 110840); - d_(w, x); - d_(t, s); - d_(w, r); - d_(x, t); - d_(u, r); - d_(x, u); - d_(u, y); - d_(u, v); - d_(y, w); - d_(u, s); - d_(v, w); - d_(t, y); - d_(s, w); - d1(m, y); - d1(l, s); - d1(k, w); - d1(o, t); - d1(n, x); - d_(m, v); - d_(l, t); - d_(k, u); - d_(o, v); - d_(n, r); - d1(p, m); - d1(j, l); - d1(q, m); - d0(l, k); - d0(m, n); - d_(q, j); - d$(p, n); - d$(j, k); - d_(n, k); - d$(q, n); - d1(n, u); - d_(n, r); - d$(o, n); - d_(m, o); - d_(l, o); - d1(o, y); - d_(o, s); - d1(n, w); - d1(k, o); - d_(n, x); - d0(k, n); - d$(o, n); - d_(j, o); - d_(m, q); - d_(l, p); - d_(k, q); - d_(j, p); - d_(k, p); - d1(n, t); - d1(o, v); - d1(p, s); - d1(q, y); - d$(n, u); - d$(o, r); - d$(p, w); - d0(q, x); - d_(m, n); - d_(l, o); - d_(k, p); - d_(j, q); - d1(n, m); - d_(n, l); - d$(m, k); - d1(p, j); - d_(p, m); - d1(q, n); - d$(q, p); - d_(q, l); - d1(o, k); - d_(o, j); - d_(m, l); - d$(o, m); - d_(o, j); - d_(k, o); - d1(l, p); - d_(l, o); - d$(l, j); - d_(k, l); - d_(p, l); - d$(p, q); - d_(p, n); - d1(n, x); - d1(j, w); - d1(l, q); - d_(l, p); - d$(l, x); - d_(x, w); - d$(x, p); - d$(w, q); - d_(x, w); - d_(w, l); - d_(n, r); - d_(j, u); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, r); - d_(r, u); - d$(r, k); - d$(u, o); - d_(r, u); - d_(u, l); - d_(x, n); - d_(r, n); - d_(w, j); - d_(u, j); - d1(n, y); - d1(j, s); - d_(n, v); - d_(j, t); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, v); - d_(v, t); - d$(v, k); - d$(t, o); - d_(v, t); - d_(t, l); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, y); - d_(y, s); - d$(y, p); - d$(s, q); - d_(y, s); - d_(s, m); - d_(y, n); - d_(v, n); - d_(s, j); - d_(t, j); - d_(y, r); - d_(s, x); - d_(v, y); - d_(x, r); - d_(r, s); - d_(s, w); - d_(w, t); - d_(v, w); - d_(t, u); - d_(u, w); - d_(x, u); - d4(j, r, 147); - d4(k, s, 147); - d4(l, v, 147); - d4(m, x, 147); - d4(n, u, 147); - d4(o, y, 147); - d4(p, t, 147); - d4(q, w, 147); - d_(r, j); - d_(s, k); - d_(v, l); - d_(x, m); - d_(u, n); - d_(y, o); - d_(t, p); - d_(w, q); - d_(j, w); - d_(k, r); - d_(l, s); - d_(k, w); - d_(m, v); - d_(n, x); - d_(o, u); - d_(m, w); - d_(p, y); - d_(q, t); - d_(n, w); - d4(r, r, 78); - d4(s, s, 78); - d4(v, v, 78); - d4(x, x, 78); - d4(u, u, 78); - d4(y, y, 78); - d4(t, t, 78); - d4(w, w, 78); - d_(j, r); - d_(k, s); - d_(l, v); - d_(m, x); - d_(n, u); - d_(o, y); - d_(p, t); - d_(q, w); - d_(j, S); - d3(j, 110840); - d_(k, T); - d3(k, 110840); - d_(l, U); - d3(l, 110840); - d_(m, V); - d3(m, 110840); - d_(n, W); - d3(n, 110840); - d_(o, X); - d3(o, 110840); - d_(p, Y); - d3(p, 110840); - d_(q, Z); - d3(q, 110840); - d_(o, p); - d_(l, k); - d_(o, j); - d_(p, l); - d_(m, j); - d_(p, m); - d_(m, q); - d_(m, n); - d_(q, o); - d_(m, k); - d_(n, o); - d_(l, q); - d_(k, o); - d1(u, q); - d1(t, k); - d1(s, o); - d1(w, l); - d1(v, p); - d_(u, n); - d_(t, l); - d_(s, m); - d_(w, n); - d_(v, j); - d1(x, u); - d1(r, t); - d1(y, u); - d0(t, s); - d0(u, v); - d_(y, r); - d$(x, v); - d$(r, s); - d_(v, s); - d$(y, v); - d1(v, m); - d_(v, j); - d$(w, v); - d_(u, w); - d_(t, w); - d1(w, q); - d_(w, k); - d1(v, o); - d1(s, w); - d_(v, p); - d0(s, v); - d$(w, v); - d_(r, w); - d_(u, y); - d_(t, x); - d_(s, y); - d_(r, x); - d_(s, x); - d1(v, l); - d1(w, n); - d1(x, k); - d1(y, q); - d$(v, m); - d$(w, j); - d$(x, o); - d0(y, p); - d_(u, v); - d_(t, w); - d_(s, x); - d_(r, y); - d1(v, u); - d_(v, t); - d$(u, s); - d1(x, r); - d_(x, u); - d1(y, v); - d$(y, x); - d_(y, t); - d1(w, s); - d_(w, r); - d_(u, t); - d$(w, u); - d_(w, r); - d_(s, w); - d1(t, x); - d_(t, w); - d$(t, r); - d_(s, t); - d_(x, t); - d$(x, y); - d_(x, v); - d1(v, p); - d1(r, o); - d1(t, y); - d_(t, x); - d$(t, p); - d_(p, o); - d$(p, x); - d$(o, y); - d_(p, o); - d_(o, t); - d_(v, j); - d_(r, m); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, j); - d_(j, m); - d$(j, s); - d$(m, w); - d_(j, m); - d_(m, t); - d_(p, v); - d_(j, v); - d_(o, r); - d_(m, r); - d1(v, q); - d1(r, k); - d_(v, n); - d_(r, l); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, n); - d_(n, l); - d$(n, s); - d$(l, w); - d_(n, l); - d_(l, t); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, q); - d_(q, k); - d$(q, x); - d$(k, y); - d_(q, k); - d_(k, u); - d_(q, v); - d_(n, v); - d_(k, r); - d_(l, r); - d_(q, j); - d_(k, p); - d_(n, q); - d_(p, j); - d_(j, k); - d_(k, o); - d_(o, l); - d_(n, o); - d_(l, m); - d_(m, o); - d_(p, m); - d4(r, j, 147); - d4(s, k, 147); - d4(t, n, 147); - d4(u, p, 147); - d4(v, m, 147); - d4(w, q, 147); - d4(x, l, 147); - d4(y, o, 147); - d_(j, r); - d_(k, s); - d_(n, t); - d_(p, u); - d_(m, v); - d_(q, w); - d_(l, x); - d_(o, y); - d_(r, o); - d_(s, j); - d_(t, k); - d_(s, o); - d_(u, n); - d_(v, p); - d_(w, m); - d_(u, o); - d_(x, q); - d_(y, l); - d_(v, o); - d4(j, j, 78); - d4(k, k, 78); - d4(n, n, 78); - d4(p, p, 78); - d4(m, m, 78); - d4(q, q, 78); - d4(l, l, 78); - d4(o, o, 78); - d_(r, j); - d_(s, k); - d_(t, n); - d_(u, p); - d_(v, m); - d_(w, q); - d_(x, l); - d_(y, o); - d_(r, _); - d3(r, 110840); - d_(s, $); - d3(s, 110840); - d_(t, aa); - d3(t, 110840); - d_(u, ab); - d3(u, 110840); - d_(v, ac); - d3(v, 110840); - d_(w, ad); - d3(w, 110840); - d_(x, ae); - d3(x, 110840); - d_(y, af); - d3(y, 110840); - d_(w, x); - d_(t, s); - d_(w, r); - d_(x, t); - d_(u, r); - d_(x, u); - d_(u, y); - d_(u, v); - d_(y, w); - d_(u, s); - d_(v, w); - d_(t, y); - d_(s, w); - d1(m, y); - d1(l, s); - d1(k, w); - d1(o, t); - d1(n, x); - d_(m, v); - d_(l, t); - d_(k, u); - d_(o, v); - d_(n, r); - d1(p, m); - d1(j, l); - d1(q, m); - d0(l, k); - d0(m, n); - d_(q, j); - d$(p, n); - d$(j, k); - d_(n, k); - d$(q, n); - d1(n, u); - d_(n, r); - d$(o, n); - d_(m, o); - d_(l, o); - d1(o, y); - d_(o, s); - d1(n, w); - d1(k, o); - d_(n, x); - d0(k, n); - d$(o, n); - d_(j, o); - d_(m, q); - d_(l, p); - d_(k, q); - d_(j, p); - d_(k, p); - d1(n, t); - d1(o, v); - d1(p, s); - d1(q, y); - d$(n, u); - d$(o, r); - d$(p, w); - d0(q, x); - d_(m, n); - d_(l, o); - d_(k, p); - d_(j, q); - d1(n, m); - d_(n, l); - d$(m, k); - d1(p, j); - d_(p, m); - d1(q, n); - d$(q, p); - d_(q, l); - d1(o, k); - d_(o, j); - d_(m, l); - d$(o, m); - d_(o, j); - d_(k, o); - d1(l, p); - d_(l, o); - d$(l, j); - d_(k, l); - d_(p, l); - d$(p, q); - d_(p, n); - d1(n, x); - d1(j, w); - d1(l, q); - d_(l, p); - d$(l, x); - d_(x, w); - d$(x, p); - d$(w, q); - d_(x, w); - d_(w, l); - d_(n, r); - d_(j, u); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, r); - d_(r, u); - d$(r, k); - d$(u, o); - d_(r, u); - d_(u, l); - d_(x, n); - d_(r, n); - d_(w, j); - d_(u, j); - d1(n, y); - d1(j, s); - d_(n, v); - d_(j, t); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, v); - d_(v, t); - d$(v, k); - d$(t, o); - d_(v, t); - d_(t, l); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, y); - d_(y, s); - d$(y, p); - d$(s, q); - d_(y, s); - d_(s, m); - d_(y, n); - d_(v, n); - d_(s, j); - d_(t, j); - d_(y, r); - d_(s, x); - d_(v, y); - d_(x, r); - d_(r, s); - d_(s, w); - d_(w, t); - d_(v, w); - d_(t, u); - d_(u, w); - d_(x, u); - d4(j, r, 147); - d4(k, s, 147); - d4(l, v, 147); - d4(m, x, 147); - d4(n, u, 147); - d4(o, y, 147); - d4(p, t, 147); - d4(q, w, 147); - d_(r, j); - d_(s, k); - d_(v, l); - d_(x, m); - d_(u, n); - d_(y, o); - d_(t, p); - d_(w, q); - d_(j, w); - d_(k, r); - d_(l, s); - d_(k, w); - d_(m, v); - d_(n, x); - d_(o, u); - d_(m, w); - d_(p, y); - d_(q, t); - d_(n, w); - d4(r, r, 78); - d4(s, s, 78); - d4(v, v, 78); - d4(x, x, 78); - d4(u, u, 78); - d4(y, y, 78); - d4(t, t, 78); - d4(w, w, 78); - d_(j, r); - d_(k, s); - d_(l, v); - d_(m, x); - d_(n, u); - d_(o, y); - d_(p, t); - d_(q, w); - d_(j, ag); - d3(j, 110840); - d_(k, ah); - d3(k, 110840); - d_(l, ai); - d3(l, 110840); - d_(m, aj); - d3(m, 110840); - d_(n, ak); - d3(n, 110840); - d_(o, al); - d3(o, 110840); - d_(p, am); - d3(p, 110840); - d_(q, an); - d3(q, 110840); - d_(o, p); - d_(l, k); - d_(o, j); - d_(p, l); - d_(m, j); - d_(p, m); - d_(m, q); - d_(m, n); - d_(q, o); - d_(m, k); - d_(n, o); - d_(l, q); - d_(k, o); - d1(u, q); - d1(t, k); - d1(s, o); - d1(w, l); - d1(v, p); - d_(u, n); - d_(t, l); - d_(s, m); - d_(w, n); - d_(v, j); - d1(x, u); - d1(r, t); - d1(y, u); - d0(t, s); - d0(u, v); - d_(y, r); - d$(x, v); - d$(r, s); - d_(v, s); - d$(y, v); - d1(v, m); - d_(v, j); - d$(w, v); - d_(u, w); - d_(t, w); - d1(w, q); - d_(w, k); - d1(v, o); - d1(s, w); - d_(v, p); - d0(s, v); - d$(w, v); - d_(r, w); - d_(u, y); - d_(t, x); - d_(s, y); - d_(r, x); - d_(s, x); - d1(v, l); - d1(w, n); - d1(x, k); - d1(y, q); - d$(v, m); - d$(w, j); - d$(x, o); - d0(y, p); - d_(u, v); - d_(t, w); - d_(s, x); - d_(r, y); - d1(v, u); - d_(v, t); - d$(u, s); - d1(x, r); - d_(x, u); - d1(y, v); - d$(y, x); - d_(y, t); - d1(w, s); - d_(w, r); - d_(u, t); - d$(w, u); - d_(w, r); - d_(s, w); - d1(t, x); - d_(t, w); - d$(t, r); - d_(s, t); - d_(x, t); - d$(x, y); - d_(x, v); - d1(v, p); - d1(r, o); - d1(t, y); - d_(t, x); - d$(t, p); - d_(p, o); - d$(p, x); - d$(o, y); - d_(p, o); - d_(o, t); - d_(v, j); - d_(r, m); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, j); - d_(j, m); - d$(j, s); - d$(m, w); - d_(j, m); - d_(m, t); - d_(p, v); - d_(j, v); - d_(o, r); - d_(m, r); - d1(v, q); - d1(r, k); - d_(v, n); - d_(r, l); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, n); - d_(n, l); - d$(n, s); - d$(l, w); - d_(n, l); - d_(l, t); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, q); - d_(q, k); - d$(q, x); - d$(k, y); - d_(q, k); - d_(k, u); - d_(q, v); - d_(n, v); - d_(k, r); - d_(l, r); - d_(q, j); - d_(k, p); - d_(n, q); - d_(p, j); - d_(j, k); - d_(k, o); - d_(o, l); - d_(n, o); - d_(l, m); - d_(m, o); - d_(p, m); - d4(r, j, 147); - d4(s, k, 147); - d4(t, n, 147); - d4(u, p, 147); - d4(v, m, 147); - d4(w, q, 147); - d4(x, l, 147); - d4(y, o, 147); - d_(j, r); - d_(k, s); - d_(n, t); - d_(p, u); - d_(m, v); - d_(q, w); - d_(l, x); - d_(o, y); - d_(r, o); - d_(s, j); - d_(t, k); - d_(s, o); - d_(u, n); - d_(v, p); - d_(w, m); - d_(u, o); - d_(x, q); - d_(y, l); - d_(v, o); - d4(j, j, 78); - d4(k, k, 78); - d4(n, n, 78); - d4(p, p, 78); - d4(m, m, 78); - d4(q, q, 78); - d4(l, l, 78); - d4(o, o, 78); - d_(r, j); - d_(s, k); - d_(t, n); - d_(u, p); - d_(v, m); - d_(w, q); - d_(x, l); - d_(y, o); - d_(r, ao); - d3(r, 110840); - d_(s, ap); - d3(s, 110840); - d_(t, aq); - d3(t, 110840); - d_(u, ar); - d3(u, 110840); - d_(v, as); - d3(v, 110840); - d_(w, at); - d3(w, 110840); - d_(x, au); - d3(x, 110840); - d_(y, av); - d3(y, 110840); - d_(w, x); - d_(t, s); - d_(w, r); - d_(x, t); - d_(u, r); - d_(x, u); - d_(u, y); - d_(u, v); - d_(y, w); - d_(u, s); - d_(v, w); - d_(t, y); - d_(s, w); - d1(m, y); - d1(l, s); - d1(k, w); - d1(o, t); - d1(n, x); - d_(m, v); - d_(l, t); - d_(k, u); - d_(o, v); - d_(n, r); - d1(p, m); - d1(j, l); - d1(q, m); - d0(l, k); - d0(m, n); - d_(q, j); - d$(p, n); - d$(j, k); - d_(n, k); - d$(q, n); - d1(n, u); - d_(n, r); - d$(o, n); - d_(m, o); - d_(l, o); - d1(o, y); - d_(o, s); - d1(n, w); - d1(k, o); - d_(n, x); - d0(k, n); - d$(o, n); - d_(j, o); - d_(m, q); - d_(l, p); - d_(k, q); - d_(j, p); - d_(k, p); - d1(n, t); - d1(o, v); - d1(p, s); - d1(q, y); - d$(n, u); - d$(o, r); - d$(p, w); - d0(q, x); - d_(m, n); - d_(l, o); - d_(k, p); - d_(j, q); - d1(n, m); - d_(n, l); - d$(m, k); - d1(p, j); - d_(p, m); - d1(q, n); - d$(q, p); - d_(q, l); - d1(o, k); - d_(o, j); - d_(m, l); - d$(o, m); - d_(o, j); - d_(k, o); - d1(l, p); - d_(l, o); - d$(l, j); - d_(k, l); - d_(p, l); - d$(p, q); - d_(p, n); - d1(n, x); - d1(j, w); - d1(l, q); - d_(l, p); - d$(l, x); - d_(x, w); - d$(x, p); - d$(w, q); - d_(x, w); - d_(w, l); - d_(n, r); - d_(j, u); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, r); - d_(r, u); - d$(r, k); - d$(u, o); - d_(r, u); - d_(u, l); - d_(x, n); - d_(r, n); - d_(w, j); - d_(u, j); - d1(n, y); - d1(j, s); - d_(n, v); - d_(j, t); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, v); - d_(v, t); - d$(v, k); - d$(t, o); - d_(v, t); - d_(t, l); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, y); - d_(y, s); - d$(y, p); - d$(s, q); - d_(y, s); - d_(s, m); - d_(y, n); - d_(v, n); - d_(s, j); - d_(t, j); - d_(y, r); - d_(s, x); - d_(v, y); - d_(x, r); - d_(r, s); - d_(s, w); - d_(w, t); - d_(v, w); - d_(t, u); - d_(u, w); - d_(x, u); - d4(j, r, 147); - d4(k, s, 147); - d4(l, v, 147); - d4(m, x, 147); - d4(n, u, 147); - d4(o, y, 147); - d4(p, t, 147); - d4(q, w, 147); - d_(r, j); - d_(s, k); - d_(v, l); - d_(x, m); - d_(u, n); - d_(y, o); - d_(t, p); - d_(w, q); - d_(j, w); - d_(k, r); - d_(l, s); - d_(k, w); - d_(m, v); - d_(n, x); - d_(o, u); - d_(m, w); - d_(p, y); - d_(q, t); - d_(n, w); - d4(r, r, 78); - d4(s, s, 78); - d4(v, v, 78); - d4(x, x, 78); - d4(u, u, 78); - d4(y, y, 78); - d4(t, t, 78); - d4(w, w, 78); - d_(j, r); - d_(k, s); - d_(l, v); - d_(m, x); - d_(n, u); - d_(o, y); - d_(p, t); - d_(q, w); - d_(j, aw); - d3(j, 110840); - d_(k, ax); - d3(k, 110840); - d_(l, ay); - d3(l, 110840); - d_(m, az); - d3(m, 110840); - d_(n, aA); - d3(n, 110840); - d_(o, aB); - d3(o, 110840); - d_(p, aC); - d3(p, 110840); - d_(q, aD); - d3(q, 110840); - d_(o, p); - d_(l, k); - d_(o, j); - d_(p, l); - d_(m, j); - d_(p, m); - d_(m, q); - d_(m, n); - d_(q, o); - d_(m, k); - d_(n, o); - d_(l, q); - d_(k, o); - d1(u, q); - d1(t, k); - d1(s, o); - d1(w, l); - d1(v, p); - d_(u, n); - d_(t, l); - d_(s, m); - d_(w, n); - d_(v, j); - d1(x, u); - d1(r, t); - d1(y, u); - d0(t, s); - d0(u, v); - d_(y, r); - d$(x, v); - d$(r, s); - d_(v, s); - d$(y, v); - d1(v, m); - d_(v, j); - d$(w, v); - d_(u, w); - d_(t, w); - d1(w, q); - d_(w, k); - d1(v, o); - d1(s, w); - d_(v, p); - d0(s, v); - d$(w, v); - d_(r, w); - d_(u, y); - d_(t, x); - d_(s, y); - d_(r, x); - d_(s, x); - d1(v, l); - d1(w, n); - d1(x, k); - d1(y, q); - d$(v, m); - d$(w, j); - d$(x, o); - d0(y, p); - d_(u, v); - d_(t, w); - d_(s, x); - d_(r, y); - d1(v, u); - d_(v, t); - d$(u, s); - d1(x, r); - d_(x, u); - d1(y, v); - d$(y, x); - d_(y, t); - d1(w, s); - d_(w, r); - d_(u, t); - d$(w, u); - d_(w, r); - d_(s, w); - d1(t, x); - d_(t, w); - d$(t, r); - d_(s, t); - d_(x, t); - d$(x, y); - d_(x, v); - d1(v, p); - d1(r, o); - d1(t, y); - d_(t, x); - d$(t, p); - d_(p, o); - d$(p, x); - d$(o, y); - d_(p, o); - d_(o, t); - d_(v, j); - d_(r, m); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, j); - d_(j, m); - d$(j, s); - d$(m, w); - d_(j, m); - d_(m, t); - d_(p, v); - d_(j, v); - d_(o, r); - d_(m, r); - d1(v, q); - d1(r, k); - d_(v, n); - d_(r, l); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, n); - d_(n, l); - d$(n, s); - d$(l, w); - d_(n, l); - d_(l, t); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, q); - d_(q, k); - d$(q, x); - d$(k, y); - d_(q, k); - d_(k, u); - d_(q, v); - d_(n, v); - d_(k, r); - d_(l, r); - d_(q, j); - d_(k, p); - d_(n, q); - d_(p, j); - d_(j, k); - d_(k, o); - d_(o, l); - d_(n, o); - d_(l, m); - d_(m, o); - d_(p, m); - d4(r, j, 147); - d4(s, k, 147); - d4(t, n, 147); - d4(u, p, 147); - d4(v, m, 147); - d4(w, q, 147); - d4(x, l, 147); - d4(y, o, 147); - d_(j, r); - d_(k, s); - d_(n, t); - d_(p, u); - d_(m, v); - d_(q, w); - d_(l, x); - d_(o, y); - d_(r, o); - d_(s, j); - d_(t, k); - d_(s, o); - d_(u, n); - d_(v, p); - d_(w, m); - d_(u, o); - d_(x, q); - d_(y, l); - d_(v, o); - d4(j, j, 78); - d4(k, k, 78); - d4(n, n, 78); - d4(p, p, 78); - d4(m, m, 78); - d4(q, q, 78); - d4(l, l, 78); - d4(o, o, 78); - d_(r, j); - d_(s, k); - d_(t, n); - d_(u, p); - d_(v, m); - d_(w, q); - d_(x, l); - d_(y, o); - d_(r, aE); - d3(r, 110840); - d_(s, aF); - d3(s, 110840); - d_(t, aG); - d3(t, 110840); - d_(u, aH); - d3(u, 110840); - d_(v, aI); - d3(v, 110840); - d_(w, aJ); - d3(w, 110840); - d_(x, aK); - d3(x, 110840); - d_(y, aL); - d3(y, 110840); - d_(w, x); - d_(t, s); - d_(w, r); - d_(x, t); - d_(u, r); - d_(x, u); - d_(u, y); - d_(u, v); - d_(y, w); - d_(u, s); - d_(v, w); - d_(t, y); - d_(s, w); - d1(m, y); - d1(l, s); - d1(k, w); - d1(o, t); - d1(n, x); - d_(m, v); - d_(l, t); - d_(k, u); - d_(o, v); - d_(n, r); - d1(p, m); - d1(j, l); - d1(q, m); - d0(l, k); - d0(m, n); - d_(q, j); - d$(p, n); - d$(j, k); - d_(n, k); - d$(q, n); - d1(n, u); - d_(n, r); - d$(o, n); - d_(m, o); - d_(l, o); - d1(o, y); - d_(o, s); - d1(n, w); - d1(k, o); - d_(n, x); - d0(k, n); - d$(o, n); - d_(j, o); - d_(m, q); - d_(l, p); - d_(k, q); - d_(j, p); - d_(k, p); - d1(n, t); - d1(o, v); - d1(p, s); - d1(q, y); - d$(n, u); - d$(o, r); - d$(p, w); - d0(q, x); - d_(m, n); - d_(l, o); - d_(k, p); - d_(j, q); - d1(n, m); - d_(n, l); - d$(m, k); - d1(p, j); - d_(p, m); - d1(q, n); - d$(q, p); - d_(q, l); - d1(o, k); - d_(o, j); - d_(m, l); - d$(o, m); - d_(o, j); - d_(k, o); - d1(l, p); - d_(l, o); - d$(l, j); - d_(k, l); - d_(p, l); - d$(p, q); - d_(p, n); - d1(n, x); - d1(j, w); - d1(l, q); - d_(l, p); - d$(l, x); - d_(x, w); - d$(x, p); - d$(w, q); - d_(x, w); - d_(w, l); - d_(n, r); - d_(j, u); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, r); - d_(r, u); - d$(r, k); - d$(u, o); - d_(r, u); - d_(u, l); - d_(x, n); - d_(r, n); - d_(w, j); - d_(u, j); - d1(n, y); - d1(j, s); - d_(n, v); - d_(j, t); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, v); - d_(v, t); - d$(v, k); - d$(t, o); - d_(v, t); - d_(t, l); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, y); - d_(y, s); - d$(y, p); - d$(s, q); - d_(y, s); - d_(s, m); - d_(y, n); - d_(v, n); - d_(s, j); - d_(t, j); - d_(y, r); - d_(s, x); - d_(v, y); - d_(x, r); - d_(r, s); - d_(s, w); - d_(w, t); - d_(v, w); - d_(t, u); - d_(u, w); - d_(x, u); - d4(j, r, 147); - d4(k, s, 147); - d4(l, v, 147); - d4(m, x, 147); - d4(n, u, 147); - d4(o, y, 147); - d4(p, t, 147); - d4(q, w, 147); - d_(r, j); - d_(s, k); - d_(v, l); - d_(x, m); - d_(u, n); - d_(y, o); - d_(t, p); - d_(w, q); - d_(j, w); - d_(k, r); - d_(l, s); - d_(k, w); - d_(m, v); - d_(n, x); - d_(o, u); - d_(m, w); - d_(p, y); - d_(q, t); - d_(n, w); - d4(r, r, 78); - d4(s, s, 78); - d4(v, v, 78); - d4(x, x, 78); - d4(u, u, 78); - d4(y, y, 78); - d4(t, t, 78); - d4(w, w, 78); - d_(j, r); - d_(k, s); - d_(l, v); - d_(m, x); - d_(n, u); - d_(o, y); - d_(p, t); - d_(q, w); - d_(j, aM); - d3(j, 110840); - d_(k, aN); - d3(k, 110840); - d_(l, aO); - d3(l, 110840); - d_(m, aP); - d3(m, 110840); - d_(n, aQ); - d3(n, 110840); - d_(o, aR); - d3(o, 110840); - d_(p, aS); - d3(p, 110840); - d_(q, aT); - d3(q, 110840); - d_(o, p); - d_(l, k); - d_(o, j); - d_(p, l); - d_(m, j); - d_(p, m); - d_(m, q); - d_(m, n); - d_(q, o); - d_(m, k); - d_(n, o); - d_(l, q); - d_(k, o); - d1(u, q); - d1(t, k); - d1(s, o); - d1(w, l); - d1(v, p); - d_(u, n); - d_(t, l); - d_(s, m); - d_(w, n); - d_(v, j); - d1(x, u); - d1(r, t); - d1(y, u); - d0(t, s); - d0(u, v); - d_(y, r); - d$(x, v); - d$(r, s); - d_(v, s); - d$(y, v); - d1(v, m); - d_(v, j); - d$(w, v); - d_(u, w); - d_(t, w); - d1(w, q); - d_(w, k); - d1(v, o); - d1(s, w); - d_(v, p); - d0(s, v); - d$(w, v); - d_(r, w); - d_(u, y); - d_(t, x); - d_(s, y); - d_(r, x); - d_(s, x); - d1(v, l); - d1(w, n); - d1(x, k); - d1(y, q); - d$(v, m); - d$(w, j); - d$(x, o); - d0(y, p); - d_(u, v); - d_(t, w); - d_(s, x); - d_(r, y); - d1(v, u); - d_(v, t); - d$(u, s); - d1(x, r); - d_(x, u); - d1(y, v); - d$(y, x); - d_(y, t); - d1(w, s); - d_(w, r); - d_(u, t); - d$(w, u); - d_(w, r); - d_(s, w); - d1(t, x); - d_(t, w); - d$(t, r); - d_(s, t); - d_(x, t); - d$(x, y); - d_(x, v); - d1(v, p); - d1(r, o); - d1(t, y); - d_(t, x); - d$(t, p); - d_(p, o); - d$(p, x); - d$(o, y); - d_(p, o); - d_(o, t); - d_(v, j); - d_(r, m); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, j); - d_(j, m); - d$(j, s); - d$(m, w); - d_(j, m); - d_(m, t); - d_(p, v); - d_(j, v); - d_(o, r); - d_(m, r); - d1(v, q); - d1(r, k); - d_(v, n); - d_(r, l); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, n); - d_(n, l); - d$(n, s); - d$(l, w); - d_(n, l); - d_(l, t); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, q); - d_(q, k); - d$(q, x); - d$(k, y); - d_(q, k); - d_(k, u); - d_(q, v); - d_(n, v); - d_(k, r); - d_(l, r); - d_(q, j); - d_(k, p); - d_(n, q); - d_(p, j); - d_(j, k); - d_(k, o); - d_(o, l); - d_(n, o); - d_(l, m); - d_(m, o); - d_(p, m); - d4(r, j, 147); - d4(s, k, 147); - d4(t, n, 147); - d4(u, p, 147); - d4(v, m, 147); - d4(w, q, 147); - d4(x, l, 147); - d4(y, o, 147); - d_(j, r); - d_(k, s); - d_(n, t); - d_(p, u); - d_(m, v); - d_(q, w); - d_(l, x); - d_(o, y); - d_(r, o); - d_(s, j); - d_(t, k); - d_(s, o); - d_(u, n); - d_(v, p); - d_(w, m); - d_(u, o); - d_(x, q); - d_(y, l); - d_(v, o); - d4(j, j, 78); - d4(k, k, 78); - d4(n, n, 78); - d4(p, p, 78); - d4(m, m, 78); - d4(q, q, 78); - d4(l, l, 78); - d4(o, o, 78); - d_(r, j); - d_(s, k); - d_(t, n); - d_(u, p); - d_(v, m); - d_(w, q); - d_(x, l); - d_(y, o); - d_(r, aU); - d3(r, 110824); - d_(s, aV); - d3(s, 110824); - d_(t, aW); - d3(t, 110824); - d_(u, aX); - d3(u, 110824); - d_(v, aY); - d3(v, 110824); - d_(w, aZ); - d3(w, 110824); - d_(x, a_); - d3(x, 110824); - d_(y, a$); - d3(y, 110824); - d_(w, x); - d_(t, s); - d_(w, r); - d_(x, t); - d_(u, r); - d_(x, u); - d_(u, y); - d_(u, v); - d_(y, w); - d_(u, s); - d_(v, w); - d_(t, y); - d_(s, w); - d1(m, y); - d1(l, s); - d1(k, w); - d1(o, t); - d1(n, x); - d_(m, v); - d_(l, t); - d_(k, u); - d_(o, v); - d_(n, r); - d1(p, m); - d1(j, l); - d1(q, m); - d0(l, k); - d0(m, n); - d_(q, j); - d$(p, n); - d$(j, k); - d_(n, k); - d$(q, n); - d1(n, u); - d_(n, r); - d$(o, n); - d_(m, o); - d_(l, o); - d1(o, y); - d_(o, s); - d1(n, w); - d1(k, o); - d_(n, x); - d0(k, n); - d$(o, n); - d_(j, o); - d_(m, q); - d_(l, p); - d_(k, q); - d_(j, p); - d_(k, p); - d1(n, t); - d1(o, v); - d1(p, s); - d1(q, y); - d$(n, u); - d$(o, r); - d$(p, w); - d0(q, x); - d_(m, n); - d_(l, o); - d_(k, p); - d_(j, q); - d1(n, m); - d_(n, l); - d$(m, k); - d1(p, j); - d_(p, m); - d1(q, n); - d$(q, p); - d_(q, l); - d1(o, k); - d_(o, j); - d_(m, l); - d$(o, m); - d_(o, j); - d_(k, o); - d1(l, p); - d_(l, o); - d$(l, j); - d_(k, l); - d_(p, l); - d$(p, q); - d_(p, n); - d1(n, x); - d1(j, w); - d1(l, q); - d_(l, p); - d$(l, x); - d_(x, w); - d$(x, p); - d$(w, q); - d_(x, w); - d_(w, l); - d_(n, r); - d_(j, u); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, r); - d_(r, u); - d$(r, k); - d$(u, o); - d_(r, u); - d_(u, l); - d_(x, n); - d_(r, n); - d_(w, j); - d_(u, j); - d1(n, y); - d1(j, s); - d_(n, v); - d_(j, t); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, v); - d_(v, t); - d$(v, k); - d$(t, o); - d_(v, t); - d_(t, l); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, y); - d_(y, s); - d$(y, p); - d$(s, q); - d_(y, s); - d_(s, m); - d_(y, n); - d_(v, n); - d_(s, j); - d_(t, j); - d_(y, r); - d_(s, x); - d_(v, y); - d_(x, r); - d_(r, s); - d_(s, w); - d_(w, t); - d_(v, w); - d_(t, u); - d_(u, w); - d_(x, u); - d_(r, a0); - d_(s, a1); - d_(v, a2); - d_(x, a3); - d_(u, a4); - d_(y, a5); - d_(t, a6); - d_(w, a7); - d1(j, t); - d6(j, 1); - d_(j, w); - d$(j, 110952); - d_(w, j); - d7(j, 1); - d_(t, j); - d1(j, u); - d6(j, 1); - d_(j, y); - d$(j, 110952); - d_(y, j); - d7(j, 1); - d_(u, j); - d1(j, v); - d6(j, 1); - d_(j, x); - d$(j, 110952); - d_(x, j); - d7(j, 1); - d_(v, j); - d1(j, r); - d6(j, 1); - d_(j, s); - d$(j, 110952); - d_(s, j); - d7(j, 1); - d_(r, j); - d1(j, y); - d6(j, 2); - d_(j, w); - d$(j, 110936); - d_(w, j); - d7(j, 2); - d_(y, j); - d1(j, u); - d6(j, 2); - d_(j, t); - d$(j, 110936); - d_(t, j); - d7(j, 2); - d_(u, j); - d1(j, s); - d6(j, 2); - d_(j, x); - d$(j, 110936); - d_(x, j); - d7(j, 2); - d_(s, j); - d1(j, r); - d6(j, 2); - d_(j, v); - d$(j, 110936); - d_(v, j); - d7(j, 2); - d_(r, j); - d1(j, x); - d6(j, 4); - d_(j, w); - d$(j, 110920); - d_(w, j); - d7(j, 4); - d_(x, j); - d1(j, v); - d6(j, 4); - d_(j, t); - d$(j, 110920); - d_(t, j); - d7(j, 4); - d_(v, j); - d1(j, s); - d6(j, 4); - d_(j, y); - d$(j, 110920); - d_(y, j); - d7(j, 4); - d_(s, j); - d1(j, r); - d6(j, 4); - d_(j, u); - d$(j, 110920); - d_(u, j); - d7(j, 4); - d_(r, j); - d = 0; - if (b >>> 0 < d >>> 0 | b >>> 0 == d >>> 0 & e >>> 0 < 128 >>> 0) { - break; - } - dV(g, (dU(g) | 0) + 8 | 0); - c[bg >> 2] = c[a8 >> 2]; - c[bg + 4 >> 2] = c[a8 + 4 >> 2]; - c[bg + 8 >> 2] = c[a8 + 8 >> 2]; - c[bg + 12 >> 2] = c[a8 + 12 >> 2]; - d = bg + 16 | 0; - c[d >> 2] = c[a9 >> 2]; - c[d + 4 >> 2] = c[a9 + 4 >> 2]; - c[d + 8 >> 2] = c[a9 + 8 >> 2]; - c[d + 12 >> 2] = c[a9 + 12 >> 2]; - d = bg + 32 | 0; - c[d >> 2] = c[ba >> 2]; - c[d + 4 >> 2] = c[ba + 4 >> 2]; - c[d + 8 >> 2] = c[ba + 8 >> 2]; - c[d + 12 >> 2] = c[ba + 12 >> 2]; - d = bg + 48 | 0; - c[d >> 2] = c[bb >> 2]; - c[d + 4 >> 2] = c[bb + 4 >> 2]; - c[d + 8 >> 2] = c[bb + 8 >> 2]; - c[d + 12 >> 2] = c[bb + 12 >> 2]; - d = bg + 64 | 0; - c[d >> 2] = c[bc >> 2]; - c[d + 4 >> 2] = c[bc + 4 >> 2]; - c[d + 8 >> 2] = c[bc + 8 >> 2]; - c[d + 12 >> 2] = c[bc + 12 >> 2]; - d = bg + 80 | 0; - c[d >> 2] = c[bd >> 2]; - c[d + 4 >> 2] = c[bd + 4 >> 2]; - c[d + 8 >> 2] = c[bd + 8 >> 2]; - c[d + 12 >> 2] = c[bd + 12 >> 2]; - d = bg + 96 | 0; - c[d >> 2] = c[be >> 2]; - c[d + 4 >> 2] = c[be + 4 >> 2]; - c[d + 8 >> 2] = c[be + 8 >> 2]; - c[d + 12 >> 2] = c[be + 12 >> 2]; - d = bg + 112 | 0; - c[d >> 2] = c[bf >> 2]; - c[d + 4 >> 2] = c[bf + 4 >> 2]; - c[d + 8 >> 2] = c[bf + 8 >> 2]; - c[d + 12 >> 2] = c[bf + 12 >> 2]; - if ((e | 0) == 128 & (b | 0) == 0) { - bh = 578; - break; - } - d = fp(e, b, -128, -1) | 0; - bg = bg + 128 | 0; - b = H; - e = d; - } - if ((bh | 0) == 578) { - i = h; - return 0; - } - bh = f + 12 | 0; - f = fp(dU(bh) | 0, 0, e >>> 4 | b << 28, b >>> 4 | 0 << 28) | 0; - dV(bh, f); - f = A; - bh = r; - c[f >> 2] = c[bh >> 2]; - c[f + 4 >> 2] = c[bh + 4 >> 2]; - c[f + 8 >> 2] = c[bh + 8 >> 2]; - c[f + 12 >> 2] = c[bh + 12 >> 2]; - bh = A + 16 | 0; - r = s; - c[bh >> 2] = c[r >> 2]; - c[bh + 4 >> 2] = c[r + 4 >> 2]; - c[bh + 8 >> 2] = c[r + 8 >> 2]; - c[bh + 12 >> 2] = c[r + 12 >> 2]; - r = A + 32 | 0; - bh = v; - c[r >> 2] = c[bh >> 2]; - c[r + 4 >> 2] = c[bh + 4 >> 2]; - c[r + 8 >> 2] = c[bh + 8 >> 2]; - c[r + 12 >> 2] = c[bh + 12 >> 2]; - bh = A + 48 | 0; - r = x; - c[bh >> 2] = c[r >> 2]; - c[bh + 4 >> 2] = c[r + 4 >> 2]; - c[bh + 8 >> 2] = c[r + 8 >> 2]; - c[bh + 12 >> 2] = c[r + 12 >> 2]; - r = A + 64 | 0; - bh = u; - c[r >> 2] = c[bh >> 2]; - c[r + 4 >> 2] = c[bh + 4 >> 2]; - c[r + 8 >> 2] = c[bh + 8 >> 2]; - c[r + 12 >> 2] = c[bh + 12 >> 2]; - bh = A + 80 | 0; - r = y; - c[bh >> 2] = c[r >> 2]; - c[bh + 4 >> 2] = c[r + 4 >> 2]; - c[bh + 8 >> 2] = c[r + 8 >> 2]; - c[bh + 12 >> 2] = c[r + 12 >> 2]; - r = A + 96 | 0; - bh = t; - c[r >> 2] = c[bh >> 2]; - c[r + 4 >> 2] = c[bh + 4 >> 2]; - c[r + 8 >> 2] = c[bh + 8 >> 2]; - c[r + 12 >> 2] = c[bh + 12 >> 2]; - bh = A + 112 | 0; - A = w; - c[bh >> 2] = c[A >> 2]; - c[bh + 4 >> 2] = c[A + 4 >> 2]; - c[bh + 8 >> 2] = c[A + 8 >> 2]; - c[bh + 12 >> 2] = c[A + 12 >> 2]; - if ((e | 0) == 0 & (b | 0) == 0) { - i = h; - return 0; - } else { - bi = b; - bj = e; - bk = f; - bl = bg; - } - while (1) { - a[bl] = a[bk] | 0; - bg = fp(bj, bi, -1, -1) | 0; - f = H; - if ((bg | 0) == 0 & (f | 0) == 0) { - break; - } else { - bi = f; - bj = bg; - bk = bk + 1 | 0; - bl = bl + 1 | 0; - } - } - i = h; - return 0; -} -function dT(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0; - d = i; - i = i + 272 | 0; - e = d | 0; - f = d + 16 | 0; - g = d + 32 | 0; - h = d + 48 | 0; - j = d + 64 | 0; - k = d + 80 | 0; - l = d + 96 | 0; - m = d + 112 | 0; - n = d + 128 | 0; - o = d + 144 | 0; - p = d + 160 | 0; - q = d + 176 | 0; - r = d + 192 | 0; - s = d + 208 | 0; - t = d + 224 | 0; - u = d + 240 | 0; - v = d + 256 | 0; - w = e; - c[w >> 2] = c[b >> 2]; - c[w + 4 >> 2] = c[b + 4 >> 2]; - c[w + 8 >> 2] = c[b + 8 >> 2]; - c[w + 12 >> 2] = c[b + 12 >> 2]; - d3(e, 110888); - d1(f, e); - d1(g, e); - d1(h, e); - d1(j, e); - d1(k, e); - d1(l, e); - d1(m, e); - d1(v, l); - d6(v, 1); - d_(v, m); - d$(v, 110952); - d_(m, v); - d7(v, 1); - d_(l, v); - d1(v, j); - d6(v, 1); - d_(v, k); - d$(v, 110952); - d_(k, v); - d7(v, 1); - d_(j, v); - d1(v, g); - d6(v, 1); - d_(v, h); - d$(v, 110952); - d_(h, v); - d7(v, 1); - d_(g, v); - d1(v, e); - d6(v, 1); - d_(v, f); - d$(v, 110952); - d_(f, v); - d7(v, 1); - d_(e, v); - d1(v, k); - d6(v, 2); - d_(v, m); - d$(v, 110936); - d_(m, v); - d7(v, 2); - d_(k, v); - d1(v, j); - d6(v, 2); - d_(v, l); - d$(v, 110936); - d_(l, v); - d7(v, 2); - d_(j, v); - d1(v, f); - d6(v, 2); - d_(v, h); - d$(v, 110936); - d_(h, v); - d7(v, 2); - d_(f, v); - d1(v, e); - d6(v, 2); - d_(v, g); - d$(v, 110936); - d_(g, v); - d7(v, 2); - d_(e, v); - d1(v, h); - d6(v, 4); - d_(v, m); - d$(v, 110920); - d_(m, v); - d7(v, 4); - d_(h, v); - d1(v, g); - d6(v, 4); - d_(v, l); - d$(v, 110920); - d_(l, v); - d7(v, 4); - d_(g, v); - d1(v, f); - d6(v, 4); - d_(v, k); - d$(v, 110920); - d_(k, v); - d7(v, 4); - d_(f, v); - d1(v, e); - d6(v, 4); - d_(v, j); - d$(v, 110920); - d_(j, v); - d7(v, 4); - d_(e, v); - c[a >> 2] = c[w >> 2]; - c[a + 4 >> 2] = c[w + 4 >> 2]; - c[a + 8 >> 2] = c[w + 8 >> 2]; - c[a + 12 >> 2] = c[w + 12 >> 2]; - v = a + 16 | 0; - b = f; - c[v >> 2] = c[b >> 2]; - c[v + 4 >> 2] = c[b + 4 >> 2]; - c[v + 8 >> 2] = c[b + 8 >> 2]; - c[v + 12 >> 2] = c[b + 12 >> 2]; - x = a + 32 | 0; - y = g; - c[x >> 2] = c[y >> 2]; - c[x + 4 >> 2] = c[y + 4 >> 2]; - c[x + 8 >> 2] = c[y + 8 >> 2]; - c[x + 12 >> 2] = c[y + 12 >> 2]; - z = a + 48 | 0; - A = h; - c[z >> 2] = c[A >> 2]; - c[z + 4 >> 2] = c[A + 4 >> 2]; - c[z + 8 >> 2] = c[A + 8 >> 2]; - c[z + 12 >> 2] = c[A + 12 >> 2]; - B = a + 64 | 0; - C = j; - c[B >> 2] = c[C >> 2]; - c[B + 4 >> 2] = c[C + 4 >> 2]; - c[B + 8 >> 2] = c[C + 8 >> 2]; - c[B + 12 >> 2] = c[C + 12 >> 2]; - D = a + 80 | 0; - E = k; - c[D >> 2] = c[E >> 2]; - c[D + 4 >> 2] = c[E + 4 >> 2]; - c[D + 8 >> 2] = c[E + 8 >> 2]; - c[D + 12 >> 2] = c[E + 12 >> 2]; - F = a + 96 | 0; - G = l; - c[F >> 2] = c[G >> 2]; - c[F + 4 >> 2] = c[G + 4 >> 2]; - c[F + 8 >> 2] = c[G + 8 >> 2]; - c[F + 12 >> 2] = c[G + 12 >> 2]; - H = a + 112 | 0; - I = m; - c[H >> 2] = c[I >> 2]; - c[H + 4 >> 2] = c[I + 4 >> 2]; - c[H + 8 >> 2] = c[I + 8 >> 2]; - c[H + 12 >> 2] = c[I + 12 >> 2]; - d3(e, 110856); - d3(f, 110856); - d3(g, 110856); - d3(h, 110856); - d3(j, 110856); - d3(k, 110856); - d3(l, 110856); - d3(m, 110856); - d_(k, l); - d_(g, f); - d_(k, e); - d_(l, g); - d_(h, e); - d_(l, h); - d_(h, m); - d_(h, j); - d_(m, k); - d_(h, f); - d_(j, k); - d_(g, m); - d_(f, k); - d1(q, m); - d1(p, f); - d1(o, k); - d1(s, g); - d1(r, l); - d_(q, j); - d_(p, g); - d_(o, h); - d_(s, j); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, h); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, m); - d_(s, f); - d1(r, k); - d1(o, s); - d_(r, l); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, g); - d1(s, j); - d1(t, f); - d1(u, m); - d$(r, h); - d$(s, e); - d$(t, k); - d0(u, l); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, l); - d1(n, k); - d1(p, u); - d_(p, t); - d$(p, l); - d_(l, k); - d$(l, t); - d$(k, u); - d_(l, k); - d_(k, p); - d_(r, e); - d_(n, h); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, h); - d$(e, o); - d$(h, s); - d_(e, h); - d_(h, p); - d_(l, r); - d_(e, r); - d_(k, n); - d_(h, n); - d1(r, m); - d1(n, f); - d_(r, j); - d_(n, g); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, j); - d_(j, g); - d$(j, o); - d$(g, s); - d_(j, g); - d_(g, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, m); - d_(m, f); - d$(m, t); - d$(f, u); - d_(m, f); - d_(f, q); - d_(m, r); - d_(j, r); - d_(f, n); - d_(g, n); - d_(m, e); - d_(f, l); - d_(j, m); - d_(l, e); - d_(e, f); - d_(f, k); - d_(k, g); - d_(j, k); - d_(g, h); - d_(h, k); - d_(l, h); - d8(e); - d3(e, 110904); - d3(f, 110904); - d3(j, 110904); - d3(l, 110904); - d3(h, 110904); - d3(m, 110904); - d3(g, 110904); - d3(k, 110904); - d3(e, 110904); - J = n; - c[J >> 2] = c[a >> 2]; - c[J + 4 >> 2] = c[a + 4 >> 2]; - c[J + 8 >> 2] = c[a + 8 >> 2]; - c[J + 12 >> 2] = c[a + 12 >> 2]; - K = o; - c[K >> 2] = c[v >> 2]; - c[K + 4 >> 2] = c[v + 4 >> 2]; - c[K + 8 >> 2] = c[v + 8 >> 2]; - c[K + 12 >> 2] = c[v + 12 >> 2]; - v = p; - c[v >> 2] = c[x >> 2]; - c[v + 4 >> 2] = c[x + 4 >> 2]; - c[v + 8 >> 2] = c[x + 8 >> 2]; - c[v + 12 >> 2] = c[x + 12 >> 2]; - x = q; - c[x >> 2] = c[z >> 2]; - c[x + 4 >> 2] = c[z + 4 >> 2]; - c[x + 8 >> 2] = c[z + 8 >> 2]; - c[x + 12 >> 2] = c[z + 12 >> 2]; - z = r; - c[z >> 2] = c[B >> 2]; - c[z + 4 >> 2] = c[B + 4 >> 2]; - c[z + 8 >> 2] = c[B + 8 >> 2]; - c[z + 12 >> 2] = c[B + 12 >> 2]; - B = s; - c[B >> 2] = c[D >> 2]; - c[B + 4 >> 2] = c[D + 4 >> 2]; - c[B + 8 >> 2] = c[D + 8 >> 2]; - c[B + 12 >> 2] = c[D + 12 >> 2]; - D = t; - c[D >> 2] = c[F >> 2]; - c[D + 4 >> 2] = c[F + 4 >> 2]; - c[D + 8 >> 2] = c[F + 8 >> 2]; - c[D + 12 >> 2] = c[F + 12 >> 2]; - F = u; - c[F >> 2] = c[H >> 2]; - c[F + 4 >> 2] = c[H + 4 >> 2]; - c[F + 8 >> 2] = c[H + 8 >> 2]; - c[F + 12 >> 2] = c[H + 12 >> 2]; - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - H = a + 128 | 0; - c[H >> 2] = c[w >> 2]; - c[H + 4 >> 2] = c[w + 4 >> 2]; - c[H + 8 >> 2] = c[w + 8 >> 2]; - c[H + 12 >> 2] = c[w + 12 >> 2]; - L = a + 144 | 0; - c[L >> 2] = c[b >> 2]; - c[L + 4 >> 2] = c[b + 4 >> 2]; - c[L + 8 >> 2] = c[b + 8 >> 2]; - c[L + 12 >> 2] = c[b + 12 >> 2]; - M = a + 160 | 0; - c[M >> 2] = c[C >> 2]; - c[M + 4 >> 2] = c[C + 4 >> 2]; - c[M + 8 >> 2] = c[C + 8 >> 2]; - c[M + 12 >> 2] = c[C + 12 >> 2]; - N = a + 176 | 0; - c[N >> 2] = c[G >> 2]; - c[N + 4 >> 2] = c[G + 4 >> 2]; - c[N + 8 >> 2] = c[G + 8 >> 2]; - c[N + 12 >> 2] = c[G + 12 >> 2]; - O = a + 192 | 0; - c[O >> 2] = c[A >> 2]; - c[O + 4 >> 2] = c[A + 4 >> 2]; - c[O + 8 >> 2] = c[A + 8 >> 2]; - c[O + 12 >> 2] = c[A + 12 >> 2]; - P = a + 208 | 0; - c[P >> 2] = c[I >> 2]; - c[P + 4 >> 2] = c[I + 4 >> 2]; - c[P + 8 >> 2] = c[I + 8 >> 2]; - c[P + 12 >> 2] = c[I + 12 >> 2]; - Q = a + 224 | 0; - c[Q >> 2] = c[y >> 2]; - c[Q + 4 >> 2] = c[y + 4 >> 2]; - c[Q + 8 >> 2] = c[y + 8 >> 2]; - c[Q + 12 >> 2] = c[y + 12 >> 2]; - R = a + 240 | 0; - c[R >> 2] = c[E >> 2]; - c[R + 4 >> 2] = c[E + 4 >> 2]; - c[R + 8 >> 2] = c[E + 8 >> 2]; - c[R + 12 >> 2] = c[E + 12 >> 2]; - d2(e); - d2(f); - d2(m); - d2(g); - d3(e, 110856); - d3(f, 110856); - d3(j, 110856); - d3(l, 110856); - d3(h, 110856); - d3(m, 110856); - d3(g, 110856); - d3(k, 110856); - d_(m, g); - d_(j, f); - d_(m, e); - d_(g, j); - d_(l, e); - d_(g, l); - d_(l, k); - d_(l, h); - d_(k, m); - d_(l, f); - d_(h, m); - d_(j, k); - d_(f, m); - d1(q, k); - d1(p, f); - d1(o, m); - d1(s, j); - d1(r, g); - d_(q, h); - d_(p, j); - d_(o, l); - d_(s, h); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, l); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, k); - d_(s, f); - d1(r, m); - d1(o, s); - d_(r, g); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, j); - d1(s, h); - d1(t, f); - d1(u, k); - d$(r, l); - d$(s, e); - d$(t, m); - d0(u, g); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, g); - d1(n, m); - d1(p, u); - d_(p, t); - d$(p, g); - d_(g, m); - d$(g, t); - d$(m, u); - d_(g, m); - d_(m, p); - d_(r, e); - d_(n, l); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, l); - d$(e, o); - d$(l, s); - d_(e, l); - d_(l, p); - d_(g, r); - d_(e, r); - d_(m, n); - d_(l, n); - d1(r, k); - d1(n, f); - d_(r, h); - d_(n, j); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, h); - d_(h, j); - d$(h, o); - d$(j, s); - d_(h, j); - d_(j, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, k); - d_(k, f); - d$(k, t); - d$(f, u); - d_(k, f); - d_(f, q); - d_(k, r); - d_(h, r); - d_(f, n); - d_(j, n); - d_(k, e); - d_(f, g); - d_(h, k); - d_(g, e); - d_(e, f); - d_(f, m); - d_(m, j); - d_(h, m); - d_(j, l); - d_(l, m); - d_(g, l); - d8(f); - d3(e, 110904); - d3(f, 110904); - d3(h, 110904); - d3(g, 110904); - d3(l, 110904); - d3(k, 110904); - d3(j, 110904); - d3(m, 110904); - c[J >> 2] = c[H >> 2]; - c[J + 4 >> 2] = c[H + 4 >> 2]; - c[J + 8 >> 2] = c[H + 8 >> 2]; - c[J + 12 >> 2] = c[H + 12 >> 2]; - c[K >> 2] = c[L >> 2]; - c[K + 4 >> 2] = c[L + 4 >> 2]; - c[K + 8 >> 2] = c[L + 8 >> 2]; - c[K + 12 >> 2] = c[L + 12 >> 2]; - c[v >> 2] = c[M >> 2]; - c[v + 4 >> 2] = c[M + 4 >> 2]; - c[v + 8 >> 2] = c[M + 8 >> 2]; - c[v + 12 >> 2] = c[M + 12 >> 2]; - c[x >> 2] = c[N >> 2]; - c[x + 4 >> 2] = c[N + 4 >> 2]; - c[x + 8 >> 2] = c[N + 8 >> 2]; - c[x + 12 >> 2] = c[N + 12 >> 2]; - c[z >> 2] = c[O >> 2]; - c[z + 4 >> 2] = c[O + 4 >> 2]; - c[z + 8 >> 2] = c[O + 8 >> 2]; - c[z + 12 >> 2] = c[O + 12 >> 2]; - c[B >> 2] = c[P >> 2]; - c[B + 4 >> 2] = c[P + 4 >> 2]; - c[B + 8 >> 2] = c[P + 8 >> 2]; - c[B + 12 >> 2] = c[P + 12 >> 2]; - c[D >> 2] = c[Q >> 2]; - c[D + 4 >> 2] = c[Q + 4 >> 2]; - c[D + 8 >> 2] = c[Q + 8 >> 2]; - c[D + 12 >> 2] = c[Q + 12 >> 2]; - c[F >> 2] = c[R >> 2]; - c[F + 4 >> 2] = c[R + 4 >> 2]; - c[F + 8 >> 2] = c[R + 8 >> 2]; - c[F + 12 >> 2] = c[R + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - R = a + 256 | 0; - c[R >> 2] = c[w >> 2]; - c[R + 4 >> 2] = c[w + 4 >> 2]; - c[R + 8 >> 2] = c[w + 8 >> 2]; - c[R + 12 >> 2] = c[w + 12 >> 2]; - Q = a + 272 | 0; - c[Q >> 2] = c[b >> 2]; - c[Q + 4 >> 2] = c[b + 4 >> 2]; - c[Q + 8 >> 2] = c[b + 8 >> 2]; - c[Q + 12 >> 2] = c[b + 12 >> 2]; - P = a + 288 | 0; - c[P >> 2] = c[A >> 2]; - c[P + 4 >> 2] = c[A + 4 >> 2]; - c[P + 8 >> 2] = c[A + 8 >> 2]; - c[P + 12 >> 2] = c[A + 12 >> 2]; - O = a + 304 | 0; - c[O >> 2] = c[y >> 2]; - c[O + 4 >> 2] = c[y + 4 >> 2]; - c[O + 8 >> 2] = c[y + 8 >> 2]; - c[O + 12 >> 2] = c[y + 12 >> 2]; - N = a + 320 | 0; - c[N >> 2] = c[G >> 2]; - c[N + 4 >> 2] = c[G + 4 >> 2]; - c[N + 8 >> 2] = c[G + 8 >> 2]; - c[N + 12 >> 2] = c[G + 12 >> 2]; - M = a + 336 | 0; - c[M >> 2] = c[E >> 2]; - c[M + 4 >> 2] = c[E + 4 >> 2]; - c[M + 8 >> 2] = c[E + 8 >> 2]; - c[M + 12 >> 2] = c[E + 12 >> 2]; - L = a + 352 | 0; - c[L >> 2] = c[C >> 2]; - c[L + 4 >> 2] = c[C + 4 >> 2]; - c[L + 8 >> 2] = c[C + 8 >> 2]; - c[L + 12 >> 2] = c[C + 12 >> 2]; - H = a + 368 | 0; - c[H >> 2] = c[I >> 2]; - c[H + 4 >> 2] = c[I + 4 >> 2]; - c[H + 8 >> 2] = c[I + 8 >> 2]; - c[H + 12 >> 2] = c[I + 12 >> 2]; - d2(e); - d2(f); - d2(k); - d2(j); - d3(e, 110856); - d3(f, 110856); - d3(h, 110856); - d3(g, 110856); - d3(l, 110856); - d3(k, 110856); - d3(j, 110856); - d3(m, 110856); - d_(k, j); - d_(h, f); - d_(k, e); - d_(j, h); - d_(g, e); - d_(j, g); - d_(g, m); - d_(g, l); - d_(m, k); - d_(g, f); - d_(l, k); - d_(h, m); - d_(f, k); - d1(q, m); - d1(p, f); - d1(o, k); - d1(s, h); - d1(r, j); - d_(q, l); - d_(p, h); - d_(o, g); - d_(s, l); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, g); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, m); - d_(s, f); - d1(r, k); - d1(o, s); - d_(r, j); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, h); - d1(s, l); - d1(t, f); - d1(u, m); - d$(r, g); - d$(s, e); - d$(t, k); - d0(u, j); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, j); - d1(n, k); - d1(p, u); - d_(p, t); - d$(p, j); - d_(j, k); - d$(j, t); - d$(k, u); - d_(j, k); - d_(k, p); - d_(r, e); - d_(n, g); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, g); - d$(e, o); - d$(g, s); - d_(e, g); - d_(g, p); - d_(j, r); - d_(e, r); - d_(k, n); - d_(g, n); - d1(r, m); - d1(n, f); - d_(r, l); - d_(n, h); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, l); - d_(l, h); - d$(l, o); - d$(h, s); - d_(l, h); - d_(h, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, m); - d_(m, f); - d$(m, t); - d$(f, u); - d_(m, f); - d_(f, q); - d_(m, r); - d_(l, r); - d_(f, n); - d_(h, n); - d_(m, e); - d_(f, j); - d_(l, m); - d_(j, e); - d_(e, f); - d_(f, k); - d_(k, h); - d_(l, k); - d_(h, g); - d_(g, k); - d_(j, g); - d8(l); - d3(e, 110904); - d3(f, 110904); - d3(l, 110904); - d3(j, 110904); - d3(g, 110904); - d3(m, 110904); - d3(h, 110904); - d3(k, 110904); - c[J >> 2] = c[R >> 2]; - c[J + 4 >> 2] = c[R + 4 >> 2]; - c[J + 8 >> 2] = c[R + 8 >> 2]; - c[J + 12 >> 2] = c[R + 12 >> 2]; - c[K >> 2] = c[Q >> 2]; - c[K + 4 >> 2] = c[Q + 4 >> 2]; - c[K + 8 >> 2] = c[Q + 8 >> 2]; - c[K + 12 >> 2] = c[Q + 12 >> 2]; - c[v >> 2] = c[P >> 2]; - c[v + 4 >> 2] = c[P + 4 >> 2]; - c[v + 8 >> 2] = c[P + 8 >> 2]; - c[v + 12 >> 2] = c[P + 12 >> 2]; - c[x >> 2] = c[O >> 2]; - c[x + 4 >> 2] = c[O + 4 >> 2]; - c[x + 8 >> 2] = c[O + 8 >> 2]; - c[x + 12 >> 2] = c[O + 12 >> 2]; - c[z >> 2] = c[N >> 2]; - c[z + 4 >> 2] = c[N + 4 >> 2]; - c[z + 8 >> 2] = c[N + 8 >> 2]; - c[z + 12 >> 2] = c[N + 12 >> 2]; - c[B >> 2] = c[M >> 2]; - c[B + 4 >> 2] = c[M + 4 >> 2]; - c[B + 8 >> 2] = c[M + 8 >> 2]; - c[B + 12 >> 2] = c[M + 12 >> 2]; - c[D >> 2] = c[L >> 2]; - c[D + 4 >> 2] = c[L + 4 >> 2]; - c[D + 8 >> 2] = c[L + 8 >> 2]; - c[D + 12 >> 2] = c[L + 12 >> 2]; - c[F >> 2] = c[H >> 2]; - c[F + 4 >> 2] = c[H + 4 >> 2]; - c[F + 8 >> 2] = c[H + 8 >> 2]; - c[F + 12 >> 2] = c[H + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - H = a + 384 | 0; - c[H >> 2] = c[w >> 2]; - c[H + 4 >> 2] = c[w + 4 >> 2]; - c[H + 8 >> 2] = c[w + 8 >> 2]; - c[H + 12 >> 2] = c[w + 12 >> 2]; - L = a + 400 | 0; - c[L >> 2] = c[b >> 2]; - c[L + 4 >> 2] = c[b + 4 >> 2]; - c[L + 8 >> 2] = c[b + 8 >> 2]; - c[L + 12 >> 2] = c[b + 12 >> 2]; - M = a + 416 | 0; - c[M >> 2] = c[G >> 2]; - c[M + 4 >> 2] = c[G + 4 >> 2]; - c[M + 8 >> 2] = c[G + 8 >> 2]; - c[M + 12 >> 2] = c[G + 12 >> 2]; - N = a + 432 | 0; - c[N >> 2] = c[C >> 2]; - c[N + 4 >> 2] = c[C + 4 >> 2]; - c[N + 8 >> 2] = c[C + 8 >> 2]; - c[N + 12 >> 2] = c[C + 12 >> 2]; - O = a + 448 | 0; - c[O >> 2] = c[y >> 2]; - c[O + 4 >> 2] = c[y + 4 >> 2]; - c[O + 8 >> 2] = c[y + 8 >> 2]; - c[O + 12 >> 2] = c[y + 12 >> 2]; - P = a + 464 | 0; - c[P >> 2] = c[I >> 2]; - c[P + 4 >> 2] = c[I + 4 >> 2]; - c[P + 8 >> 2] = c[I + 8 >> 2]; - c[P + 12 >> 2] = c[I + 12 >> 2]; - Q = a + 480 | 0; - c[Q >> 2] = c[A >> 2]; - c[Q + 4 >> 2] = c[A + 4 >> 2]; - c[Q + 8 >> 2] = c[A + 8 >> 2]; - c[Q + 12 >> 2] = c[A + 12 >> 2]; - R = a + 496 | 0; - c[R >> 2] = c[E >> 2]; - c[R + 4 >> 2] = c[E + 4 >> 2]; - c[R + 8 >> 2] = c[E + 8 >> 2]; - c[R + 12 >> 2] = c[E + 12 >> 2]; - d2(e); - d2(f); - d2(m); - d2(h); - d3(e, 110856); - d3(f, 110856); - d3(l, 110856); - d3(j, 110856); - d3(g, 110856); - d3(m, 110856); - d3(h, 110856); - d3(k, 110856); - d_(m, h); - d_(l, f); - d_(m, e); - d_(h, l); - d_(j, e); - d_(h, j); - d_(j, k); - d_(j, g); - d_(k, m); - d_(j, f); - d_(g, m); - d_(l, k); - d_(f, m); - d1(q, k); - d1(p, f); - d1(o, m); - d1(s, l); - d1(r, h); - d_(q, g); - d_(p, l); - d_(o, j); - d_(s, g); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, j); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, k); - d_(s, f); - d1(r, m); - d1(o, s); - d_(r, h); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, l); - d1(s, g); - d1(t, f); - d1(u, k); - d$(r, j); - d$(s, e); - d$(t, m); - d0(u, h); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, h); - d1(n, m); - d1(p, u); - d_(p, t); - d$(p, h); - d_(h, m); - d$(h, t); - d$(m, u); - d_(h, m); - d_(m, p); - d_(r, e); - d_(n, j); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, j); - d$(e, o); - d$(j, s); - d_(e, j); - d_(j, p); - d_(h, r); - d_(e, r); - d_(m, n); - d_(j, n); - d1(r, k); - d1(n, f); - d_(r, g); - d_(n, l); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, g); - d_(g, l); - d$(g, o); - d$(l, s); - d_(g, l); - d_(l, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, k); - d_(k, f); - d$(k, t); - d$(f, u); - d_(k, f); - d_(f, q); - d_(k, r); - d_(g, r); - d_(f, n); - d_(l, n); - d_(k, e); - d_(f, h); - d_(g, k); - d_(h, e); - d_(e, f); - d_(f, m); - d_(m, l); - d_(g, m); - d_(l, j); - d_(j, m); - d_(h, j); - d8(h); - d3(e, 110904); - d3(f, 110904); - d3(g, 110904); - d3(h, 110904); - d3(j, 110904); - d3(k, 110904); - d3(l, 110904); - d3(m, 110904); - c[J >> 2] = c[H >> 2]; - c[J + 4 >> 2] = c[H + 4 >> 2]; - c[J + 8 >> 2] = c[H + 8 >> 2]; - c[J + 12 >> 2] = c[H + 12 >> 2]; - c[K >> 2] = c[L >> 2]; - c[K + 4 >> 2] = c[L + 4 >> 2]; - c[K + 8 >> 2] = c[L + 8 >> 2]; - c[K + 12 >> 2] = c[L + 12 >> 2]; - c[v >> 2] = c[M >> 2]; - c[v + 4 >> 2] = c[M + 4 >> 2]; - c[v + 8 >> 2] = c[M + 8 >> 2]; - c[v + 12 >> 2] = c[M + 12 >> 2]; - c[x >> 2] = c[N >> 2]; - c[x + 4 >> 2] = c[N + 4 >> 2]; - c[x + 8 >> 2] = c[N + 8 >> 2]; - c[x + 12 >> 2] = c[N + 12 >> 2]; - c[z >> 2] = c[O >> 2]; - c[z + 4 >> 2] = c[O + 4 >> 2]; - c[z + 8 >> 2] = c[O + 8 >> 2]; - c[z + 12 >> 2] = c[O + 12 >> 2]; - c[B >> 2] = c[P >> 2]; - c[B + 4 >> 2] = c[P + 4 >> 2]; - c[B + 8 >> 2] = c[P + 8 >> 2]; - c[B + 12 >> 2] = c[P + 12 >> 2]; - c[D >> 2] = c[Q >> 2]; - c[D + 4 >> 2] = c[Q + 4 >> 2]; - c[D + 8 >> 2] = c[Q + 8 >> 2]; - c[D + 12 >> 2] = c[Q + 12 >> 2]; - c[F >> 2] = c[R >> 2]; - c[F + 4 >> 2] = c[R + 4 >> 2]; - c[F + 8 >> 2] = c[R + 8 >> 2]; - c[F + 12 >> 2] = c[R + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - R = a + 512 | 0; - c[R >> 2] = c[w >> 2]; - c[R + 4 >> 2] = c[w + 4 >> 2]; - c[R + 8 >> 2] = c[w + 8 >> 2]; - c[R + 12 >> 2] = c[w + 12 >> 2]; - Q = a + 528 | 0; - c[Q >> 2] = c[b >> 2]; - c[Q + 4 >> 2] = c[b + 4 >> 2]; - c[Q + 8 >> 2] = c[b + 8 >> 2]; - c[Q + 12 >> 2] = c[b + 12 >> 2]; - P = a + 544 | 0; - c[P >> 2] = c[y >> 2]; - c[P + 4 >> 2] = c[y + 4 >> 2]; - c[P + 8 >> 2] = c[y + 8 >> 2]; - c[P + 12 >> 2] = c[y + 12 >> 2]; - O = a + 560 | 0; - c[O >> 2] = c[A >> 2]; - c[O + 4 >> 2] = c[A + 4 >> 2]; - c[O + 8 >> 2] = c[A + 8 >> 2]; - c[O + 12 >> 2] = c[A + 12 >> 2]; - N = a + 576 | 0; - c[N >> 2] = c[C >> 2]; - c[N + 4 >> 2] = c[C + 4 >> 2]; - c[N + 8 >> 2] = c[C + 8 >> 2]; - c[N + 12 >> 2] = c[C + 12 >> 2]; - M = a + 592 | 0; - c[M >> 2] = c[E >> 2]; - c[M + 4 >> 2] = c[E + 4 >> 2]; - c[M + 8 >> 2] = c[E + 8 >> 2]; - c[M + 12 >> 2] = c[E + 12 >> 2]; - L = a + 608 | 0; - c[L >> 2] = c[G >> 2]; - c[L + 4 >> 2] = c[G + 4 >> 2]; - c[L + 8 >> 2] = c[G + 8 >> 2]; - c[L + 12 >> 2] = c[G + 12 >> 2]; - H = a + 624 | 0; - c[H >> 2] = c[I >> 2]; - c[H + 4 >> 2] = c[I + 4 >> 2]; - c[H + 8 >> 2] = c[I + 8 >> 2]; - c[H + 12 >> 2] = c[I + 12 >> 2]; - d2(e); - d2(f); - d2(k); - d2(l); - d3(e, 110856); - d3(f, 110856); - d3(g, 110856); - d3(h, 110856); - d3(j, 110856); - d3(k, 110856); - d3(l, 110856); - d3(m, 110856); - d_(k, l); - d_(g, f); - d_(k, e); - d_(l, g); - d_(h, e); - d_(l, h); - d_(h, m); - d_(h, j); - d_(m, k); - d_(h, f); - d_(j, k); - d_(g, m); - d_(f, k); - d1(q, m); - d1(p, f); - d1(o, k); - d1(s, g); - d1(r, l); - d_(q, j); - d_(p, g); - d_(o, h); - d_(s, j); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, h); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, m); - d_(s, f); - d1(r, k); - d1(o, s); - d_(r, l); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, g); - d1(s, j); - d1(t, f); - d1(u, m); - d$(r, h); - d$(s, e); - d$(t, k); - d0(u, l); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, l); - d1(n, k); - d1(p, u); - d_(p, t); - d$(p, l); - d_(l, k); - d$(l, t); - d$(k, u); - d_(l, k); - d_(k, p); - d_(r, e); - d_(n, h); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, h); - d$(e, o); - d$(h, s); - d_(e, h); - d_(h, p); - d_(l, r); - d_(e, r); - d_(k, n); - d_(h, n); - d1(r, m); - d1(n, f); - d_(r, j); - d_(n, g); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, j); - d_(j, g); - d$(j, o); - d$(g, s); - d_(j, g); - d_(g, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, m); - d_(m, f); - d$(m, t); - d$(f, u); - d_(m, f); - d_(f, q); - d_(m, r); - d_(j, r); - d_(f, n); - d_(g, n); - d_(m, e); - d_(f, l); - d_(j, m); - d_(l, e); - d_(e, f); - d_(f, k); - d_(k, g); - d_(j, k); - d_(g, h); - d_(h, k); - d_(l, h); - d8(h); - d3(e, 110904); - d3(f, 110904); - d3(j, 110904); - d3(l, 110904); - d3(h, 110904); - d3(m, 110904); - d3(g, 110904); - d3(k, 110904); - c[J >> 2] = c[R >> 2]; - c[J + 4 >> 2] = c[R + 4 >> 2]; - c[J + 8 >> 2] = c[R + 8 >> 2]; - c[J + 12 >> 2] = c[R + 12 >> 2]; - c[K >> 2] = c[Q >> 2]; - c[K + 4 >> 2] = c[Q + 4 >> 2]; - c[K + 8 >> 2] = c[Q + 8 >> 2]; - c[K + 12 >> 2] = c[Q + 12 >> 2]; - c[v >> 2] = c[P >> 2]; - c[v + 4 >> 2] = c[P + 4 >> 2]; - c[v + 8 >> 2] = c[P + 8 >> 2]; - c[v + 12 >> 2] = c[P + 12 >> 2]; - c[x >> 2] = c[O >> 2]; - c[x + 4 >> 2] = c[O + 4 >> 2]; - c[x + 8 >> 2] = c[O + 8 >> 2]; - c[x + 12 >> 2] = c[O + 12 >> 2]; - c[z >> 2] = c[N >> 2]; - c[z + 4 >> 2] = c[N + 4 >> 2]; - c[z + 8 >> 2] = c[N + 8 >> 2]; - c[z + 12 >> 2] = c[N + 12 >> 2]; - c[B >> 2] = c[M >> 2]; - c[B + 4 >> 2] = c[M + 4 >> 2]; - c[B + 8 >> 2] = c[M + 8 >> 2]; - c[B + 12 >> 2] = c[M + 12 >> 2]; - c[D >> 2] = c[L >> 2]; - c[D + 4 >> 2] = c[L + 4 >> 2]; - c[D + 8 >> 2] = c[L + 8 >> 2]; - c[D + 12 >> 2] = c[L + 12 >> 2]; - c[F >> 2] = c[H >> 2]; - c[F + 4 >> 2] = c[H + 4 >> 2]; - c[F + 8 >> 2] = c[H + 8 >> 2]; - c[F + 12 >> 2] = c[H + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - H = a + 640 | 0; - c[H >> 2] = c[w >> 2]; - c[H + 4 >> 2] = c[w + 4 >> 2]; - c[H + 8 >> 2] = c[w + 8 >> 2]; - c[H + 12 >> 2] = c[w + 12 >> 2]; - L = a + 656 | 0; - c[L >> 2] = c[b >> 2]; - c[L + 4 >> 2] = c[b + 4 >> 2]; - c[L + 8 >> 2] = c[b + 8 >> 2]; - c[L + 12 >> 2] = c[b + 12 >> 2]; - M = a + 672 | 0; - c[M >> 2] = c[C >> 2]; - c[M + 4 >> 2] = c[C + 4 >> 2]; - c[M + 8 >> 2] = c[C + 8 >> 2]; - c[M + 12 >> 2] = c[C + 12 >> 2]; - N = a + 688 | 0; - c[N >> 2] = c[G >> 2]; - c[N + 4 >> 2] = c[G + 4 >> 2]; - c[N + 8 >> 2] = c[G + 8 >> 2]; - c[N + 12 >> 2] = c[G + 12 >> 2]; - O = a + 704 | 0; - c[O >> 2] = c[A >> 2]; - c[O + 4 >> 2] = c[A + 4 >> 2]; - c[O + 8 >> 2] = c[A + 8 >> 2]; - c[O + 12 >> 2] = c[A + 12 >> 2]; - P = a + 720 | 0; - c[P >> 2] = c[I >> 2]; - c[P + 4 >> 2] = c[I + 4 >> 2]; - c[P + 8 >> 2] = c[I + 8 >> 2]; - c[P + 12 >> 2] = c[I + 12 >> 2]; - Q = a + 736 | 0; - c[Q >> 2] = c[y >> 2]; - c[Q + 4 >> 2] = c[y + 4 >> 2]; - c[Q + 8 >> 2] = c[y + 8 >> 2]; - c[Q + 12 >> 2] = c[y + 12 >> 2]; - R = a + 752 | 0; - c[R >> 2] = c[E >> 2]; - c[R + 4 >> 2] = c[E + 4 >> 2]; - c[R + 8 >> 2] = c[E + 8 >> 2]; - c[R + 12 >> 2] = c[E + 12 >> 2]; - d2(e); - d2(f); - d2(m); - d2(g); - d3(e, 110856); - d3(f, 110856); - d3(j, 110856); - d3(l, 110856); - d3(h, 110856); - d3(m, 110856); - d3(g, 110856); - d3(k, 110856); - d_(m, g); - d_(j, f); - d_(m, e); - d_(g, j); - d_(l, e); - d_(g, l); - d_(l, k); - d_(l, h); - d_(k, m); - d_(l, f); - d_(h, m); - d_(j, k); - d_(f, m); - d1(q, k); - d1(p, f); - d1(o, m); - d1(s, j); - d1(r, g); - d_(q, h); - d_(p, j); - d_(o, l); - d_(s, h); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, l); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, k); - d_(s, f); - d1(r, m); - d1(o, s); - d_(r, g); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, j); - d1(s, h); - d1(t, f); - d1(u, k); - d$(r, l); - d$(s, e); - d$(t, m); - d0(u, g); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, g); - d1(n, m); - d1(p, u); - d_(p, t); - d$(p, g); - d_(g, m); - d$(g, t); - d$(m, u); - d_(g, m); - d_(m, p); - d_(r, e); - d_(n, l); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, l); - d$(e, o); - d$(l, s); - d_(e, l); - d_(l, p); - d_(g, r); - d_(e, r); - d_(m, n); - d_(l, n); - d1(r, k); - d1(n, f); - d_(r, h); - d_(n, j); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, h); - d_(h, j); - d$(h, o); - d$(j, s); - d_(h, j); - d_(j, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, k); - d_(k, f); - d$(k, t); - d$(f, u); - d_(k, f); - d_(f, q); - d_(k, r); - d_(h, r); - d_(f, n); - d_(j, n); - d_(k, e); - d_(f, g); - d_(h, k); - d_(g, e); - d_(e, f); - d_(f, m); - d_(m, j); - d_(h, m); - d_(j, l); - d_(l, m); - d_(g, l); - d8(k); - d3(e, 110904); - d3(f, 110904); - d3(h, 110904); - d3(g, 110904); - d3(l, 110904); - d3(k, 110904); - d3(j, 110904); - d3(m, 110904); - c[J >> 2] = c[H >> 2]; - c[J + 4 >> 2] = c[H + 4 >> 2]; - c[J + 8 >> 2] = c[H + 8 >> 2]; - c[J + 12 >> 2] = c[H + 12 >> 2]; - c[K >> 2] = c[L >> 2]; - c[K + 4 >> 2] = c[L + 4 >> 2]; - c[K + 8 >> 2] = c[L + 8 >> 2]; - c[K + 12 >> 2] = c[L + 12 >> 2]; - c[v >> 2] = c[M >> 2]; - c[v + 4 >> 2] = c[M + 4 >> 2]; - c[v + 8 >> 2] = c[M + 8 >> 2]; - c[v + 12 >> 2] = c[M + 12 >> 2]; - c[x >> 2] = c[N >> 2]; - c[x + 4 >> 2] = c[N + 4 >> 2]; - c[x + 8 >> 2] = c[N + 8 >> 2]; - c[x + 12 >> 2] = c[N + 12 >> 2]; - c[z >> 2] = c[O >> 2]; - c[z + 4 >> 2] = c[O + 4 >> 2]; - c[z + 8 >> 2] = c[O + 8 >> 2]; - c[z + 12 >> 2] = c[O + 12 >> 2]; - c[B >> 2] = c[P >> 2]; - c[B + 4 >> 2] = c[P + 4 >> 2]; - c[B + 8 >> 2] = c[P + 8 >> 2]; - c[B + 12 >> 2] = c[P + 12 >> 2]; - c[D >> 2] = c[Q >> 2]; - c[D + 4 >> 2] = c[Q + 4 >> 2]; - c[D + 8 >> 2] = c[Q + 8 >> 2]; - c[D + 12 >> 2] = c[Q + 12 >> 2]; - c[F >> 2] = c[R >> 2]; - c[F + 4 >> 2] = c[R + 4 >> 2]; - c[F + 8 >> 2] = c[R + 8 >> 2]; - c[F + 12 >> 2] = c[R + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - R = a + 768 | 0; - c[R >> 2] = c[w >> 2]; - c[R + 4 >> 2] = c[w + 4 >> 2]; - c[R + 8 >> 2] = c[w + 8 >> 2]; - c[R + 12 >> 2] = c[w + 12 >> 2]; - Q = a + 784 | 0; - c[Q >> 2] = c[b >> 2]; - c[Q + 4 >> 2] = c[b + 4 >> 2]; - c[Q + 8 >> 2] = c[b + 8 >> 2]; - c[Q + 12 >> 2] = c[b + 12 >> 2]; - P = a + 800 | 0; - c[P >> 2] = c[A >> 2]; - c[P + 4 >> 2] = c[A + 4 >> 2]; - c[P + 8 >> 2] = c[A + 8 >> 2]; - c[P + 12 >> 2] = c[A + 12 >> 2]; - O = a + 816 | 0; - c[O >> 2] = c[y >> 2]; - c[O + 4 >> 2] = c[y + 4 >> 2]; - c[O + 8 >> 2] = c[y + 8 >> 2]; - c[O + 12 >> 2] = c[y + 12 >> 2]; - N = a + 832 | 0; - c[N >> 2] = c[G >> 2]; - c[N + 4 >> 2] = c[G + 4 >> 2]; - c[N + 8 >> 2] = c[G + 8 >> 2]; - c[N + 12 >> 2] = c[G + 12 >> 2]; - M = a + 848 | 0; - c[M >> 2] = c[E >> 2]; - c[M + 4 >> 2] = c[E + 4 >> 2]; - c[M + 8 >> 2] = c[E + 8 >> 2]; - c[M + 12 >> 2] = c[E + 12 >> 2]; - L = a + 864 | 0; - c[L >> 2] = c[C >> 2]; - c[L + 4 >> 2] = c[C + 4 >> 2]; - c[L + 8 >> 2] = c[C + 8 >> 2]; - c[L + 12 >> 2] = c[C + 12 >> 2]; - H = a + 880 | 0; - c[H >> 2] = c[I >> 2]; - c[H + 4 >> 2] = c[I + 4 >> 2]; - c[H + 8 >> 2] = c[I + 8 >> 2]; - c[H + 12 >> 2] = c[I + 12 >> 2]; - d2(e); - d2(f); - d2(k); - d2(j); - d3(e, 110856); - d3(f, 110856); - d3(h, 110856); - d3(g, 110856); - d3(l, 110856); - d3(k, 110856); - d3(j, 110856); - d3(m, 110856); - d_(k, j); - d_(h, f); - d_(k, e); - d_(j, h); - d_(g, e); - d_(j, g); - d_(g, m); - d_(g, l); - d_(m, k); - d_(g, f); - d_(l, k); - d_(h, m); - d_(f, k); - d1(q, m); - d1(p, f); - d1(o, k); - d1(s, h); - d1(r, j); - d_(q, l); - d_(p, h); - d_(o, g); - d_(s, l); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, g); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, m); - d_(s, f); - d1(r, k); - d1(o, s); - d_(r, j); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, h); - d1(s, l); - d1(t, f); - d1(u, m); - d$(r, g); - d$(s, e); - d$(t, k); - d0(u, j); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, j); - d1(n, k); - d1(p, u); - d_(p, t); - d$(p, j); - d_(j, k); - d$(j, t); - d$(k, u); - d_(j, k); - d_(k, p); - d_(r, e); - d_(n, g); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, g); - d$(e, o); - d$(g, s); - d_(e, g); - d_(g, p); - d_(j, r); - d_(e, r); - d_(k, n); - d_(g, n); - d1(r, m); - d1(n, f); - d_(r, l); - d_(n, h); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, l); - d_(l, h); - d$(l, o); - d$(h, s); - d_(l, h); - d_(h, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, m); - d_(m, f); - d$(m, t); - d$(f, u); - d_(m, f); - d_(f, q); - d_(m, r); - d_(l, r); - d_(f, n); - d_(h, n); - d_(m, e); - d_(f, j); - d_(l, m); - d_(j, e); - d_(e, f); - d_(f, k); - d_(k, h); - d_(l, k); - d_(h, g); - d_(g, k); - d_(j, g); - d8(h); - d3(e, 110904); - d3(f, 110904); - d3(l, 110904); - d3(j, 110904); - d3(g, 110904); - d3(m, 110904); - d3(h, 110904); - d3(k, 110904); - c[J >> 2] = c[R >> 2]; - c[J + 4 >> 2] = c[R + 4 >> 2]; - c[J + 8 >> 2] = c[R + 8 >> 2]; - c[J + 12 >> 2] = c[R + 12 >> 2]; - c[K >> 2] = c[Q >> 2]; - c[K + 4 >> 2] = c[Q + 4 >> 2]; - c[K + 8 >> 2] = c[Q + 8 >> 2]; - c[K + 12 >> 2] = c[Q + 12 >> 2]; - c[v >> 2] = c[P >> 2]; - c[v + 4 >> 2] = c[P + 4 >> 2]; - c[v + 8 >> 2] = c[P + 8 >> 2]; - c[v + 12 >> 2] = c[P + 12 >> 2]; - c[x >> 2] = c[O >> 2]; - c[x + 4 >> 2] = c[O + 4 >> 2]; - c[x + 8 >> 2] = c[O + 8 >> 2]; - c[x + 12 >> 2] = c[O + 12 >> 2]; - c[z >> 2] = c[N >> 2]; - c[z + 4 >> 2] = c[N + 4 >> 2]; - c[z + 8 >> 2] = c[N + 8 >> 2]; - c[z + 12 >> 2] = c[N + 12 >> 2]; - c[B >> 2] = c[M >> 2]; - c[B + 4 >> 2] = c[M + 4 >> 2]; - c[B + 8 >> 2] = c[M + 8 >> 2]; - c[B + 12 >> 2] = c[M + 12 >> 2]; - c[D >> 2] = c[L >> 2]; - c[D + 4 >> 2] = c[L + 4 >> 2]; - c[D + 8 >> 2] = c[L + 8 >> 2]; - c[D + 12 >> 2] = c[L + 12 >> 2]; - c[F >> 2] = c[H >> 2]; - c[F + 4 >> 2] = c[H + 4 >> 2]; - c[F + 8 >> 2] = c[H + 8 >> 2]; - c[F + 12 >> 2] = c[H + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - H = a + 896 | 0; - c[H >> 2] = c[w >> 2]; - c[H + 4 >> 2] = c[w + 4 >> 2]; - c[H + 8 >> 2] = c[w + 8 >> 2]; - c[H + 12 >> 2] = c[w + 12 >> 2]; - L = a + 912 | 0; - c[L >> 2] = c[b >> 2]; - c[L + 4 >> 2] = c[b + 4 >> 2]; - c[L + 8 >> 2] = c[b + 8 >> 2]; - c[L + 12 >> 2] = c[b + 12 >> 2]; - M = a + 928 | 0; - c[M >> 2] = c[G >> 2]; - c[M + 4 >> 2] = c[G + 4 >> 2]; - c[M + 8 >> 2] = c[G + 8 >> 2]; - c[M + 12 >> 2] = c[G + 12 >> 2]; - N = a + 944 | 0; - c[N >> 2] = c[C >> 2]; - c[N + 4 >> 2] = c[C + 4 >> 2]; - c[N + 8 >> 2] = c[C + 8 >> 2]; - c[N + 12 >> 2] = c[C + 12 >> 2]; - O = a + 960 | 0; - c[O >> 2] = c[y >> 2]; - c[O + 4 >> 2] = c[y + 4 >> 2]; - c[O + 8 >> 2] = c[y + 8 >> 2]; - c[O + 12 >> 2] = c[y + 12 >> 2]; - P = a + 976 | 0; - c[P >> 2] = c[I >> 2]; - c[P + 4 >> 2] = c[I + 4 >> 2]; - c[P + 8 >> 2] = c[I + 8 >> 2]; - c[P + 12 >> 2] = c[I + 12 >> 2]; - Q = a + 992 | 0; - c[Q >> 2] = c[A >> 2]; - c[Q + 4 >> 2] = c[A + 4 >> 2]; - c[Q + 8 >> 2] = c[A + 8 >> 2]; - c[Q + 12 >> 2] = c[A + 12 >> 2]; - R = a + 1008 | 0; - c[R >> 2] = c[E >> 2]; - c[R + 4 >> 2] = c[E + 4 >> 2]; - c[R + 8 >> 2] = c[E + 8 >> 2]; - c[R + 12 >> 2] = c[E + 12 >> 2]; - d2(e); - d2(f); - d2(m); - d2(h); - d3(e, 110856); - d3(f, 110856); - d3(l, 110856); - d3(j, 110856); - d3(g, 110856); - d3(m, 110856); - d3(h, 110856); - d3(k, 110856); - d_(m, h); - d_(l, f); - d_(m, e); - d_(h, l); - d_(j, e); - d_(h, j); - d_(j, k); - d_(j, g); - d_(k, m); - d_(j, f); - d_(g, m); - d_(l, k); - d_(f, m); - d1(q, k); - d1(p, f); - d1(o, m); - d1(s, l); - d1(r, h); - d_(q, g); - d_(p, l); - d_(o, j); - d_(s, g); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, j); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, k); - d_(s, f); - d1(r, m); - d1(o, s); - d_(r, h); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, l); - d1(s, g); - d1(t, f); - d1(u, k); - d$(r, j); - d$(s, e); - d$(t, m); - d0(u, h); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, h); - d1(n, m); - d1(p, u); - d_(p, t); - d$(p, h); - d_(h, m); - d$(h, t); - d$(m, u); - d_(h, m); - d_(m, p); - d_(r, e); - d_(n, j); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, j); - d$(e, o); - d$(j, s); - d_(e, j); - d_(j, p); - d_(h, r); - d_(e, r); - d_(m, n); - d_(j, n); - d1(r, k); - d1(n, f); - d_(r, g); - d_(n, l); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, g); - d_(g, l); - d$(g, o); - d$(l, s); - d_(g, l); - d_(l, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, k); - d_(k, f); - d$(k, t); - d$(f, u); - d_(k, f); - d_(f, q); - d_(k, r); - d_(g, r); - d_(f, n); - d_(l, n); - d_(k, e); - d_(f, h); - d_(g, k); - d_(h, e); - d_(e, f); - d_(f, m); - d_(m, l); - d_(g, m); - d_(l, j); - d_(j, m); - d_(h, j); - d8(m); - d3(e, 110904); - d3(f, 110904); - d3(g, 110904); - d3(h, 110904); - d3(j, 110904); - d3(k, 110904); - d3(l, 110904); - d3(m, 110904); - c[J >> 2] = c[H >> 2]; - c[J + 4 >> 2] = c[H + 4 >> 2]; - c[J + 8 >> 2] = c[H + 8 >> 2]; - c[J + 12 >> 2] = c[H + 12 >> 2]; - c[K >> 2] = c[L >> 2]; - c[K + 4 >> 2] = c[L + 4 >> 2]; - c[K + 8 >> 2] = c[L + 8 >> 2]; - c[K + 12 >> 2] = c[L + 12 >> 2]; - c[v >> 2] = c[M >> 2]; - c[v + 4 >> 2] = c[M + 4 >> 2]; - c[v + 8 >> 2] = c[M + 8 >> 2]; - c[v + 12 >> 2] = c[M + 12 >> 2]; - c[x >> 2] = c[N >> 2]; - c[x + 4 >> 2] = c[N + 4 >> 2]; - c[x + 8 >> 2] = c[N + 8 >> 2]; - c[x + 12 >> 2] = c[N + 12 >> 2]; - c[z >> 2] = c[O >> 2]; - c[z + 4 >> 2] = c[O + 4 >> 2]; - c[z + 8 >> 2] = c[O + 8 >> 2]; - c[z + 12 >> 2] = c[O + 12 >> 2]; - c[B >> 2] = c[P >> 2]; - c[B + 4 >> 2] = c[P + 4 >> 2]; - c[B + 8 >> 2] = c[P + 8 >> 2]; - c[B + 12 >> 2] = c[P + 12 >> 2]; - c[D >> 2] = c[Q >> 2]; - c[D + 4 >> 2] = c[Q + 4 >> 2]; - c[D + 8 >> 2] = c[Q + 8 >> 2]; - c[D + 12 >> 2] = c[Q + 12 >> 2]; - c[F >> 2] = c[R >> 2]; - c[F + 4 >> 2] = c[R + 4 >> 2]; - c[F + 8 >> 2] = c[R + 8 >> 2]; - c[F + 12 >> 2] = c[R + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - R = a + 1024 | 0; - c[R >> 2] = c[w >> 2]; - c[R + 4 >> 2] = c[w + 4 >> 2]; - c[R + 8 >> 2] = c[w + 8 >> 2]; - c[R + 12 >> 2] = c[w + 12 >> 2]; - Q = a + 1040 | 0; - c[Q >> 2] = c[b >> 2]; - c[Q + 4 >> 2] = c[b + 4 >> 2]; - c[Q + 8 >> 2] = c[b + 8 >> 2]; - c[Q + 12 >> 2] = c[b + 12 >> 2]; - P = a + 1056 | 0; - c[P >> 2] = c[y >> 2]; - c[P + 4 >> 2] = c[y + 4 >> 2]; - c[P + 8 >> 2] = c[y + 8 >> 2]; - c[P + 12 >> 2] = c[y + 12 >> 2]; - O = a + 1072 | 0; - c[O >> 2] = c[A >> 2]; - c[O + 4 >> 2] = c[A + 4 >> 2]; - c[O + 8 >> 2] = c[A + 8 >> 2]; - c[O + 12 >> 2] = c[A + 12 >> 2]; - N = a + 1088 | 0; - c[N >> 2] = c[C >> 2]; - c[N + 4 >> 2] = c[C + 4 >> 2]; - c[N + 8 >> 2] = c[C + 8 >> 2]; - c[N + 12 >> 2] = c[C + 12 >> 2]; - M = a + 1104 | 0; - c[M >> 2] = c[E >> 2]; - c[M + 4 >> 2] = c[E + 4 >> 2]; - c[M + 8 >> 2] = c[E + 8 >> 2]; - c[M + 12 >> 2] = c[E + 12 >> 2]; - L = a + 1120 | 0; - c[L >> 2] = c[G >> 2]; - c[L + 4 >> 2] = c[G + 4 >> 2]; - c[L + 8 >> 2] = c[G + 8 >> 2]; - c[L + 12 >> 2] = c[G + 12 >> 2]; - H = a + 1136 | 0; - c[H >> 2] = c[I >> 2]; - c[H + 4 >> 2] = c[I + 4 >> 2]; - c[H + 8 >> 2] = c[I + 8 >> 2]; - c[H + 12 >> 2] = c[I + 12 >> 2]; - d2(e); - d2(f); - d2(k); - d2(l); - d3(e, 110856); - d3(f, 110856); - d3(g, 110856); - d3(h, 110856); - d3(j, 110856); - d3(k, 110856); - d3(l, 110856); - d3(m, 110856); - d_(k, l); - d_(g, f); - d_(k, e); - d_(l, g); - d_(h, e); - d_(l, h); - d_(h, m); - d_(h, j); - d_(m, k); - d_(h, f); - d_(j, k); - d_(g, m); - d_(f, k); - d1(q, m); - d1(p, f); - d1(o, k); - d1(s, g); - d1(r, l); - d_(q, j); - d_(p, g); - d_(o, h); - d_(s, j); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, h); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, m); - d_(s, f); - d1(r, k); - d1(o, s); - d_(r, l); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, g); - d1(s, j); - d1(t, f); - d1(u, m); - d$(r, h); - d$(s, e); - d$(t, k); - d0(u, l); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, l); - d1(n, k); - d1(p, u); - d_(p, t); - d$(p, l); - d_(l, k); - d$(l, t); - d$(k, u); - d_(l, k); - d_(k, p); - d_(r, e); - d_(n, h); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, h); - d$(e, o); - d$(h, s); - d_(e, h); - d_(h, p); - d_(l, r); - d_(e, r); - d_(k, n); - d_(h, n); - d1(r, m); - d1(n, f); - d_(r, j); - d_(n, g); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, j); - d_(j, g); - d$(j, o); - d$(g, s); - d_(j, g); - d_(g, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, m); - d_(m, f); - d$(m, t); - d$(f, u); - d_(m, f); - d_(f, q); - d_(m, r); - d_(j, r); - d_(f, n); - d_(g, n); - d_(m, e); - d_(f, l); - d_(j, m); - d_(l, e); - d_(e, f); - d_(f, k); - d_(k, g); - d_(j, k); - d_(g, h); - d_(h, k); - d_(l, h); - d8(e); - d8(f); - d8(l); - d8(h); - d3(e, 110904); - d3(f, 110904); - d3(j, 110904); - d3(l, 110904); - d3(h, 110904); - d3(m, 110904); - d3(g, 110904); - d3(k, 110904); - c[J >> 2] = c[R >> 2]; - c[J + 4 >> 2] = c[R + 4 >> 2]; - c[J + 8 >> 2] = c[R + 8 >> 2]; - c[J + 12 >> 2] = c[R + 12 >> 2]; - c[K >> 2] = c[Q >> 2]; - c[K + 4 >> 2] = c[Q + 4 >> 2]; - c[K + 8 >> 2] = c[Q + 8 >> 2]; - c[K + 12 >> 2] = c[Q + 12 >> 2]; - c[v >> 2] = c[P >> 2]; - c[v + 4 >> 2] = c[P + 4 >> 2]; - c[v + 8 >> 2] = c[P + 8 >> 2]; - c[v + 12 >> 2] = c[P + 12 >> 2]; - c[x >> 2] = c[O >> 2]; - c[x + 4 >> 2] = c[O + 4 >> 2]; - c[x + 8 >> 2] = c[O + 8 >> 2]; - c[x + 12 >> 2] = c[O + 12 >> 2]; - c[z >> 2] = c[N >> 2]; - c[z + 4 >> 2] = c[N + 4 >> 2]; - c[z + 8 >> 2] = c[N + 8 >> 2]; - c[z + 12 >> 2] = c[N + 12 >> 2]; - c[B >> 2] = c[M >> 2]; - c[B + 4 >> 2] = c[M + 4 >> 2]; - c[B + 8 >> 2] = c[M + 8 >> 2]; - c[B + 12 >> 2] = c[M + 12 >> 2]; - c[D >> 2] = c[L >> 2]; - c[D + 4 >> 2] = c[L + 4 >> 2]; - c[D + 8 >> 2] = c[L + 8 >> 2]; - c[D + 12 >> 2] = c[L + 12 >> 2]; - c[F >> 2] = c[H >> 2]; - c[F + 4 >> 2] = c[H + 4 >> 2]; - c[F + 8 >> 2] = c[H + 8 >> 2]; - c[F + 12 >> 2] = c[H + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - H = a + 1152 | 0; - c[H >> 2] = c[w >> 2]; - c[H + 4 >> 2] = c[w + 4 >> 2]; - c[H + 8 >> 2] = c[w + 8 >> 2]; - c[H + 12 >> 2] = c[w + 12 >> 2]; - L = a + 1168 | 0; - c[L >> 2] = c[b >> 2]; - c[L + 4 >> 2] = c[b + 4 >> 2]; - c[L + 8 >> 2] = c[b + 8 >> 2]; - c[L + 12 >> 2] = c[b + 12 >> 2]; - M = a + 1184 | 0; - c[M >> 2] = c[C >> 2]; - c[M + 4 >> 2] = c[C + 4 >> 2]; - c[M + 8 >> 2] = c[C + 8 >> 2]; - c[M + 12 >> 2] = c[C + 12 >> 2]; - N = a + 1200 | 0; - c[N >> 2] = c[G >> 2]; - c[N + 4 >> 2] = c[G + 4 >> 2]; - c[N + 8 >> 2] = c[G + 8 >> 2]; - c[N + 12 >> 2] = c[G + 12 >> 2]; - O = a + 1216 | 0; - c[O >> 2] = c[A >> 2]; - c[O + 4 >> 2] = c[A + 4 >> 2]; - c[O + 8 >> 2] = c[A + 8 >> 2]; - c[O + 12 >> 2] = c[A + 12 >> 2]; - P = a + 1232 | 0; - c[P >> 2] = c[I >> 2]; - c[P + 4 >> 2] = c[I + 4 >> 2]; - c[P + 8 >> 2] = c[I + 8 >> 2]; - c[P + 12 >> 2] = c[I + 12 >> 2]; - Q = a + 1248 | 0; - c[Q >> 2] = c[y >> 2]; - c[Q + 4 >> 2] = c[y + 4 >> 2]; - c[Q + 8 >> 2] = c[y + 8 >> 2]; - c[Q + 12 >> 2] = c[y + 12 >> 2]; - R = a + 1264 | 0; - c[R >> 2] = c[E >> 2]; - c[R + 4 >> 2] = c[E + 4 >> 2]; - c[R + 8 >> 2] = c[E + 8 >> 2]; - c[R + 12 >> 2] = c[E + 12 >> 2]; - d2(e); - d2(f); - d2(m); - d2(g); - d3(e, 110856); - d3(f, 110856); - d3(j, 110856); - d3(l, 110856); - d3(h, 110856); - d3(m, 110856); - d3(g, 110856); - d3(k, 110856); - d_(m, g); - d_(j, f); - d_(m, e); - d_(g, j); - d_(l, e); - d_(g, l); - d_(l, k); - d_(l, h); - d_(k, m); - d_(l, f); - d_(h, m); - d_(j, k); - d_(f, m); - d1(q, k); - d1(p, f); - d1(o, m); - d1(s, j); - d1(r, g); - d_(q, h); - d_(p, j); - d_(o, l); - d_(s, h); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, l); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, k); - d_(s, f); - d1(r, m); - d1(o, s); - d_(r, g); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, j); - d1(s, h); - d1(t, f); - d1(u, k); - d$(r, l); - d$(s, e); - d$(t, m); - d0(u, g); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, g); - d1(n, m); - d1(p, u); - d_(p, t); - d$(p, g); - d_(g, m); - d$(g, t); - d$(m, u); - d_(g, m); - d_(m, p); - d_(r, e); - d_(n, l); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, l); - d$(e, o); - d$(l, s); - d_(e, l); - d_(l, p); - d_(g, r); - d_(e, r); - d_(m, n); - d_(l, n); - d1(r, k); - d1(n, f); - d_(r, h); - d_(n, j); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, h); - d_(h, j); - d$(h, o); - d$(j, s); - d_(h, j); - d_(j, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, k); - d_(k, f); - d$(k, t); - d$(f, u); - d_(k, f); - d_(f, q); - d_(k, r); - d_(h, r); - d_(f, n); - d_(j, n); - d_(k, e); - d_(f, g); - d_(h, k); - d_(g, e); - d_(e, f); - d_(f, m); - d_(m, j); - d_(h, m); - d_(j, l); - d_(l, m); - d_(g, l); - d8(f); - d8(h); - d8(l); - d8(k); - d3(e, 110904); - d3(f, 110904); - d3(h, 110904); - d3(g, 110904); - d3(l, 110904); - d3(k, 110904); - d3(j, 110904); - d3(m, 110904); - c[J >> 2] = c[H >> 2]; - c[J + 4 >> 2] = c[H + 4 >> 2]; - c[J + 8 >> 2] = c[H + 8 >> 2]; - c[J + 12 >> 2] = c[H + 12 >> 2]; - c[K >> 2] = c[L >> 2]; - c[K + 4 >> 2] = c[L + 4 >> 2]; - c[K + 8 >> 2] = c[L + 8 >> 2]; - c[K + 12 >> 2] = c[L + 12 >> 2]; - c[v >> 2] = c[M >> 2]; - c[v + 4 >> 2] = c[M + 4 >> 2]; - c[v + 8 >> 2] = c[M + 8 >> 2]; - c[v + 12 >> 2] = c[M + 12 >> 2]; - c[x >> 2] = c[N >> 2]; - c[x + 4 >> 2] = c[N + 4 >> 2]; - c[x + 8 >> 2] = c[N + 8 >> 2]; - c[x + 12 >> 2] = c[N + 12 >> 2]; - c[z >> 2] = c[O >> 2]; - c[z + 4 >> 2] = c[O + 4 >> 2]; - c[z + 8 >> 2] = c[O + 8 >> 2]; - c[z + 12 >> 2] = c[O + 12 >> 2]; - c[B >> 2] = c[P >> 2]; - c[B + 4 >> 2] = c[P + 4 >> 2]; - c[B + 8 >> 2] = c[P + 8 >> 2]; - c[B + 12 >> 2] = c[P + 12 >> 2]; - c[D >> 2] = c[Q >> 2]; - c[D + 4 >> 2] = c[Q + 4 >> 2]; - c[D + 8 >> 2] = c[Q + 8 >> 2]; - c[D + 12 >> 2] = c[Q + 12 >> 2]; - c[F >> 2] = c[R >> 2]; - c[F + 4 >> 2] = c[R + 4 >> 2]; - c[F + 8 >> 2] = c[R + 8 >> 2]; - c[F + 12 >> 2] = c[R + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d3(e, 110888); - d3(f, 110888); - d3(j, 110888); - d3(l, 110888); - d3(h, 110888); - d3(m, 110888); - d3(g, 110888); - d3(k, 110888); - k = a + 1280 | 0; - c[k >> 2] = c[w >> 2]; - c[k + 4 >> 2] = c[w + 4 >> 2]; - c[k + 8 >> 2] = c[w + 8 >> 2]; - c[k + 12 >> 2] = c[w + 12 >> 2]; - w = a + 1296 | 0; - c[w >> 2] = c[b >> 2]; - c[w + 4 >> 2] = c[b + 4 >> 2]; - c[w + 8 >> 2] = c[b + 8 >> 2]; - c[w + 12 >> 2] = c[b + 12 >> 2]; - b = a + 1312 | 0; - c[b >> 2] = c[A >> 2]; - c[b + 4 >> 2] = c[A + 4 >> 2]; - c[b + 8 >> 2] = c[A + 8 >> 2]; - c[b + 12 >> 2] = c[A + 12 >> 2]; - A = a + 1328 | 0; - c[A >> 2] = c[y >> 2]; - c[A + 4 >> 2] = c[y + 4 >> 2]; - c[A + 8 >> 2] = c[y + 8 >> 2]; - c[A + 12 >> 2] = c[y + 12 >> 2]; - y = a + 1344 | 0; - c[y >> 2] = c[G >> 2]; - c[y + 4 >> 2] = c[G + 4 >> 2]; - c[y + 8 >> 2] = c[G + 8 >> 2]; - c[y + 12 >> 2] = c[G + 12 >> 2]; - G = a + 1360 | 0; - c[G >> 2] = c[E >> 2]; - c[G + 4 >> 2] = c[E + 4 >> 2]; - c[G + 8 >> 2] = c[E + 8 >> 2]; - c[G + 12 >> 2] = c[E + 12 >> 2]; - E = a + 1376 | 0; - c[E >> 2] = c[C >> 2]; - c[E + 4 >> 2] = c[C + 4 >> 2]; - c[E + 8 >> 2] = c[C + 8 >> 2]; - c[E + 12 >> 2] = c[C + 12 >> 2]; - C = a + 1392 | 0; - c[C >> 2] = c[I >> 2]; - c[C + 4 >> 2] = c[I + 4 >> 2]; - c[C + 8 >> 2] = c[I + 8 >> 2]; - c[C + 12 >> 2] = c[I + 12 >> 2]; - i = d; - return 0; -} -function dU(a) { - a = a | 0; - return (d[a + 2 | 0] | 0) << 8 | (d[a + 3 | 0] | 0) | (d[a + 1 | 0] | 0) << 16 | (d[a] | 0) << 24 | 0; -} -function dV(b, c) { - b = b | 0; - c = c | 0; - a[b + 3 | 0] = c & 255; - a[b + 2 | 0] = c >>> 8 & 255; - a[b + 1 | 0] = c >>> 16 & 255; - a[b] = c >>> 24 & 255; - return; -} -function dW(a) { - a = a | 0; - return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; -} -function dX(b, c) { - b = b | 0; - c = c | 0; - a[b] = c & 255; - a[b + 1 | 0] = c >>> 8 & 255; - a[b + 2 | 0] = c >>> 16 & 255; - a[b + 3 | 0] = c >>> 24 & 255; - return; -} -function dY(a) { - a = a | 0; - var b = 0, c = 0, e = 0; - b = d[a + 1 | 0] | 0; - c = d[a + 2 | 0] | 0; - e = d[a + 3 | 0] | 0; - return (H = 0 << 8 | b >>> 24 | (0 << 16 | c >>> 16) | (0 << 24 | e >>> 8) | (d[a + 4 | 0] | 0) | ((d[a + 5 | 0] | 0) << 8 | 0 >>> 24) | ((d[a + 6 | 0] | 0) << 16 | 0 >>> 16) | ((d[a + 7 | 0] | 0) << 24 | 0 >>> 8), b << 8 | 0 >>> 24 | (d[a] | 0) | (c << 16 | 0 >>> 16) | (e << 24 | 0 >>> 8) | (0 << 8 | 0 >>> 24) | (0 << 16 | 0 >>> 16) | (0 << 24 | 0 >>> 8)) | 0; -} -function dZ(b, c, d) { - b = b | 0; - c = c | 0; - d = d | 0; - a[b] = c & 255; - a[b + 1 | 0] = (c >>> 8 | d << 24) & 255; - a[b + 2 | 0] = (c >>> 16 | d << 16) & 255; - a[b + 3 | 0] = (c >>> 24 | d << 8) & 255; - a[b + 4 | 0] = d & 255; - a[b + 5 | 0] = (d >>> 8 | 0 << 24) & 255; - a[b + 6 | 0] = (d >>> 16 | 0 << 16) & 255; - a[b + 7 | 0] = (d >>> 24 | 0 << 8) & 255; - return; -} -function d_(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = b | 0; - e = a | 0; - f = c[e + 4 >> 2] ^ c[d + 4 >> 2]; - c[e >> 2] = c[e >> 2] ^ c[d >> 2]; - c[e + 4 >> 2] = f; - f = b + 8 | 0; - b = a + 8 | 0; - a = c[b + 4 >> 2] ^ c[f + 4 >> 2]; - c[b >> 2] = c[b >> 2] ^ c[f >> 2]; - c[b + 4 >> 2] = a; - return; -} -function d$(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = b | 0; - e = a | 0; - f = c[e + 4 >> 2] & c[d + 4 >> 2]; - c[e >> 2] = c[e >> 2] & c[d >> 2]; - c[e + 4 >> 2] = f; - f = b + 8 | 0; - b = a + 8 | 0; - a = c[b + 4 >> 2] & c[f + 4 >> 2]; - c[b >> 2] = c[b >> 2] & c[f >> 2]; - c[b + 4 >> 2] = a; - return; -} -function d0(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = b | 0; - e = a | 0; - f = c[e + 4 >> 2] | c[d + 4 >> 2]; - c[e >> 2] = c[e >> 2] | c[d >> 2]; - c[e + 4 >> 2] = f; - f = b + 8 | 0; - b = a + 8 | 0; - a = c[b + 4 >> 2] | c[f + 4 >> 2]; - c[b >> 2] = c[b >> 2] | c[f >> 2]; - c[b + 4 >> 2] = a; - return; -} -function d1(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = b | 0; - e = c[d + 4 >> 2] | 0; - f = a | 0; - c[f >> 2] = c[d >> 2]; - c[f + 4 >> 2] = e; - e = b + 8 | 0; - b = c[e + 4 >> 2] | 0; - f = a + 8 | 0; - c[f >> 2] = c[e >> 2]; - c[f + 4 >> 2] = b; - return; -} -function d2(a) { - a = a | 0; - var b = 0, d = 0; - b = a | 0; - d = ~c[b + 4 >> 2]; - c[b >> 2] = ~c[b >> 2]; - c[b + 4 >> 2] = d; - d = a + 8 | 0; - a = ~c[d + 4 >> 2]; - c[d >> 2] = ~c[d >> 2]; - c[d + 4 >> 2] = a; - return; -} -function d3(b, c) { - b = b | 0; - c = c | 0; - var e = 0, f = 0, g = 0, h = 0; - e = i; - i = i + 16 | 0; - f = e | 0; - d1(f, b); - g = b; - h = f; - a[g] = a[h + (d[c] | 0) | 0] | 0; - a[g + 1 | 0] = a[h + (d[c + 1 | 0] | 0) | 0] | 0; - a[g + 2 | 0] = a[h + (d[c + 2 | 0] | 0) | 0] | 0; - a[g + 3 | 0] = a[h + (d[c + 3 | 0] | 0) | 0] | 0; - a[g + 4 | 0] = a[h + (d[c + 4 | 0] | 0) | 0] | 0; - a[g + 5 | 0] = a[h + (d[c + 5 | 0] | 0) | 0] | 0; - a[g + 6 | 0] = a[h + (d[c + 6 | 0] | 0) | 0] | 0; - a[g + 7 | 0] = a[h + (d[c + 7 | 0] | 0) | 0] | 0; - a[b + 8 | 0] = a[h + (d[c + 8 | 0] | 0) | 0] | 0; - a[g + 9 | 0] = a[h + (d[c + 9 | 0] | 0) | 0] | 0; - a[g + 10 | 0] = a[h + (d[c + 10 | 0] | 0) | 0] | 0; - a[g + 11 | 0] = a[h + (d[c + 11 | 0] | 0) | 0] | 0; - a[g + 12 | 0] = a[h + (d[c + 12 | 0] | 0) | 0] | 0; - a[g + 13 | 0] = a[h + (d[c + 13 | 0] | 0) | 0] | 0; - a[g + 14 | 0] = a[h + (d[c + 14 | 0] | 0) | 0] | 0; - a[g + 15 | 0] = a[h + (d[c + 15 | 0] | 0) | 0] | 0; - i = e; - return; -} -function d4(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0; - e = i; - i = i + 16 | 0; - f = e | 0; - g = f; - h = b; - c[g >> 2] = c[h + ((d & 3) << 2) >> 2]; - c[g + 4 >> 2] = c[h + ((d >>> 2 & 3) << 2) >> 2]; - c[f + 8 >> 2] = c[h + ((d >>> 4 & 3) << 2) >> 2]; - c[g + 12 >> 2] = c[h + ((d >>> 6 & 3) << 2) >> 2]; - d1(a, f); - i = e; - return; -} -function d5(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0; - c = a; - dX(c, (dW(c) | 0) >>> (b >>> 0)); - d = c + 4 | 0; - dX(d, (dW(d) | 0) >>> (b >>> 0)); - d = a + 8 | 0; - dX(d, (dW(d) | 0) >>> (b >>> 0)); - d = c + 12 | 0; - dX(d, (dW(d) | 0) >>> (b >>> 0)); - return; -} -function d6(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0; - c = a; - d = dY(c) | 0; - e = b; - b = fs(d | 0, H | 0, e | 0) | 0; - d = H; - dZ(c, b, d); - d = a + 8 | 0; - a = dY(d) | 0; - b = fs(a | 0, H | 0, e | 0) | 0; - e = H; - dZ(d, b, e); - return; -} -function d7(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0; - c = a; - d = dY(c) | 0; - e = b; - b = fr(d | 0, H | 0, e | 0) | 0; - d = H; - dZ(c, b, d); - d = a + 8 | 0; - a = dY(d) | 0; - b = fr(a | 0, H | 0, e | 0) | 0; - e = H; - dZ(d, b, e); - return; -} -function d8(a) { - a = a | 0; - var b = 0; - b = a + 12 | 0; - dX(b, ~(dW(b) | 0)); - return; -} -function d9(a, b) { - a = a | 0; - b = b | 0; - var c = 0; - c = a + 12 | 0; - dX(c, (dW(c) | 0) + b | 0); - return; -} -function ea(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 1408 | 0; - g = f | 0; - dT(g, e) | 0; - dS(a, b, c, d, g) | 0; - i = f; - return 0; -} -function eb(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0; - g = i; - i = i + 1408 | 0; - h = g | 0; - dT(h, f) | 0; - ec(a, b, c, d, e, h) | 0; - i = g; - return 0; -} -function ec(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, ar = 0, as = 0, at = 0, au = 0, av = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0, aJ = 0, aK = 0, aL = 0, aM = 0, aN = 0, aO = 0, aP = 0, aQ = 0, aR = 0, aS = 0, aT = 0, aU = 0, aV = 0, aW = 0, aX = 0, aY = 0, aZ = 0, a_ = 0, a$ = 0, a0 = 0, a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0, a7 = 0, a8 = 0, a9 = 0, ba = 0, bb = 0, bc = 0, bd = 0, be = 0, bf = 0, bg = 0, bh = 0, bi = 0, bj = 0, bk = 0, bl = 0, bm = 0, bn = 0; - j = i; - i = i + 400 | 0; - k = j | 0; - l = j + 16 | 0; - m = j + 32 | 0; - n = j + 48 | 0; - o = j + 64 | 0; - p = j + 80 | 0; - q = j + 96 | 0; - r = j + 112 | 0; - s = j + 128 | 0; - t = j + 144 | 0; - u = j + 160 | 0; - v = j + 176 | 0; - w = j + 192 | 0; - x = j + 208 | 0; - y = j + 224 | 0; - z = j + 240 | 0; - A = j + 256 | 0; - B = j + 272 | 0; - d1(A, g); - g = A; - A = k; - C = h; - D = h + 16 | 0; - E = h + 32 | 0; - F = h + 48 | 0; - G = h + 64 | 0; - I = h + 80 | 0; - J = h + 96 | 0; - K = h + 112 | 0; - L = h + 128 | 0; - M = h + 144 | 0; - N = h + 160 | 0; - O = h + 176 | 0; - P = h + 192 | 0; - Q = h + 208 | 0; - R = h + 224 | 0; - S = h + 240 | 0; - T = h + 256 | 0; - U = h + 272 | 0; - V = h + 288 | 0; - W = h + 304 | 0; - X = h + 320 | 0; - Y = h + 336 | 0; - Z = h + 352 | 0; - _ = h + 368 | 0; - $ = h + 384 | 0; - aa = h + 400 | 0; - ab = h + 416 | 0; - ac = h + 432 | 0; - ad = h + 448 | 0; - ae = h + 464 | 0; - af = h + 480 | 0; - ag = h + 496 | 0; - ah = h + 512 | 0; - ai = h + 528 | 0; - aj = h + 544 | 0; - ak = h + 560 | 0; - al = h + 576 | 0; - am = h + 592 | 0; - an = h + 608 | 0; - ao = h + 624 | 0; - ap = h + 640 | 0; - aq = h + 656 | 0; - ar = h + 672 | 0; - as = h + 688 | 0; - at = h + 704 | 0; - au = h + 720 | 0; - av = h + 736 | 0; - aw = h + 752 | 0; - ax = h + 768 | 0; - ay = h + 784 | 0; - az = h + 800 | 0; - aA = h + 816 | 0; - aB = h + 832 | 0; - aC = h + 848 | 0; - aD = h + 864 | 0; - aE = h + 880 | 0; - aF = h + 896 | 0; - aG = h + 912 | 0; - aH = h + 928 | 0; - aI = h + 944 | 0; - aJ = h + 960 | 0; - aK = h + 976 | 0; - aL = h + 992 | 0; - aM = h + 1008 | 0; - aN = h + 1024 | 0; - aO = h + 1040 | 0; - aP = h + 1056 | 0; - aQ = h + 1072 | 0; - aR = h + 1088 | 0; - aS = h + 1104 | 0; - aT = h + 1120 | 0; - aU = h + 1136 | 0; - aV = h + 1152 | 0; - aW = h + 1168 | 0; - aX = h + 1184 | 0; - aY = h + 1200 | 0; - aZ = h + 1216 | 0; - a_ = h + 1232 | 0; - a$ = h + 1248 | 0; - a0 = h + 1264 | 0; - a1 = h + 1280 | 0; - a2 = h + 1296 | 0; - a3 = h + 1312 | 0; - a4 = h + 1328 | 0; - a5 = h + 1344 | 0; - a6 = h + 1360 | 0; - a7 = h + 1376 | 0; - a8 = h + 1392 | 0; - h = g + 12 | 0; - a9 = s; - ba = t; - bb = w; - bc = y; - bd = v; - be = z; - bf = u; - bg = x; - bh = b; - b = d; - d = f; - f = e; - while (1) { - c[A >> 2] = c[g >> 2]; - c[A + 4 >> 2] = c[g + 4 >> 2]; - c[A + 8 >> 2] = c[g + 8 >> 2]; - c[A + 12 >> 2] = c[g + 12 >> 2]; - d1(l, k); - d3(l, 110808); - d1(m, l); - d1(n, l); - d1(o, l); - d1(p, l); - d1(q, l); - d1(r, l); - d9(l, 1); - d9(m, 2); - d9(n, 3); - d9(o, 4); - d9(p, 5); - d9(q, 6); - d9(r, 7); - d3(k, 110888); - d3(l, 110872); - d3(m, 110872); - d3(n, 110872); - d3(o, 110872); - d3(p, 110872); - d3(q, 110872); - d3(r, 110872); - d1(s, q); - d6(s, 1); - d_(s, r); - d$(s, 110952); - d_(r, s); - d7(s, 1); - d_(q, s); - d1(s, o); - d6(s, 1); - d_(s, p); - d$(s, 110952); - d_(p, s); - d7(s, 1); - d_(o, s); - d1(s, m); - d6(s, 1); - d_(s, n); - d$(s, 110952); - d_(n, s); - d7(s, 1); - d_(m, s); - d1(s, k); - d6(s, 1); - d_(s, l); - d$(s, 110952); - d_(l, s); - d7(s, 1); - d_(k, s); - d1(s, p); - d6(s, 2); - d_(s, r); - d$(s, 110936); - d_(r, s); - d7(s, 2); - d_(p, s); - d1(s, o); - d6(s, 2); - d_(s, q); - d$(s, 110936); - d_(q, s); - d7(s, 2); - d_(o, s); - d1(s, l); - d6(s, 2); - d_(s, n); - d$(s, 110936); - d_(n, s); - d7(s, 2); - d_(l, s); - d1(s, k); - d6(s, 2); - d_(s, m); - d$(s, 110936); - d_(m, s); - d7(s, 2); - d_(k, s); - d1(s, n); - d6(s, 4); - d_(s, r); - d$(s, 110920); - d_(r, s); - d7(s, 4); - d_(n, s); - d1(s, m); - d6(s, 4); - d_(s, q); - d$(s, 110920); - d_(q, s); - d7(s, 4); - d_(m, s); - d1(s, l); - d6(s, 4); - d_(s, p); - d$(s, 110920); - d_(p, s); - d7(s, 4); - d_(l, s); - d1(s, k); - d6(s, 4); - d_(s, o); - d$(s, 110920); - d_(o, s); - d7(s, 4); - d_(k, s); - d_(k, C); - d3(k, 110840); - d_(l, D); - d3(l, 110840); - d_(m, E); - d3(m, 110840); - d_(n, F); - d3(n, 110840); - d_(o, G); - d3(o, 110840); - d_(p, I); - d3(p, 110840); - d_(q, J); - d3(q, 110840); - d_(r, K); - d3(r, 110840); - d_(p, q); - d_(m, l); - d_(p, k); - d_(q, m); - d_(n, k); - d_(q, n); - d_(n, r); - d_(n, o); - d_(r, p); - d_(n, l); - d_(o, p); - d_(m, r); - d_(l, p); - d1(v, r); - d1(u, l); - d1(t, p); - d1(x, m); - d1(w, q); - d_(v, o); - d_(u, m); - d_(t, n); - d_(x, o); - d_(w, k); - d1(y, v); - d1(s, u); - d1(z, v); - d0(u, t); - d0(v, w); - d_(z, s); - d$(y, w); - d$(s, t); - d_(w, t); - d$(z, w); - d1(w, n); - d_(w, k); - d$(x, w); - d_(v, x); - d_(u, x); - d1(x, r); - d_(x, l); - d1(w, p); - d1(t, x); - d_(w, q); - d0(t, w); - d$(x, w); - d_(s, x); - d_(v, z); - d_(u, y); - d_(t, z); - d_(s, y); - d_(t, y); - d1(w, m); - d1(x, o); - d1(y, l); - d1(z, r); - d$(w, n); - d$(x, k); - d$(y, p); - d0(z, q); - d_(v, w); - d_(u, x); - d_(t, y); - d_(s, z); - d1(w, v); - d_(w, u); - d$(v, t); - d1(y, s); - d_(y, v); - d1(z, w); - d$(z, y); - d_(z, u); - d1(x, t); - d_(x, s); - d_(v, u); - d$(x, v); - d_(x, s); - d_(t, x); - d1(u, y); - d_(u, x); - d$(u, s); - d_(t, u); - d_(y, u); - d$(y, z); - d_(y, w); - d1(w, q); - d1(s, p); - d1(u, z); - d_(u, y); - d$(u, q); - d_(q, p); - d$(q, y); - d$(p, z); - d_(q, p); - d_(p, u); - d_(w, k); - d_(s, n); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, k); - d_(k, n); - d$(k, t); - d$(n, x); - d_(k, n); - d_(n, u); - d_(q, w); - d_(k, w); - d_(p, s); - d_(n, s); - d1(w, r); - d1(s, l); - d_(w, o); - d_(s, m); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, o); - d_(o, m); - d$(o, t); - d$(m, x); - d_(o, m); - d_(m, u); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, r); - d_(r, l); - d$(r, y); - d$(l, z); - d_(r, l); - d_(l, v); - d_(r, w); - d_(o, w); - d_(l, s); - d_(m, s); - d_(r, k); - d_(l, q); - d_(o, r); - d_(q, k); - d_(k, l); - d_(l, p); - d_(p, m); - d_(o, p); - d_(m, n); - d_(n, p); - d_(q, n); - d4(s, k, 147); - d4(t, l, 147); - d4(u, o, 147); - d4(v, q, 147); - d4(w, n, 147); - d4(x, r, 147); - d4(y, m, 147); - d4(z, p, 147); - d_(k, s); - d_(l, t); - d_(o, u); - d_(q, v); - d_(n, w); - d_(r, x); - d_(m, y); - d_(p, z); - d_(s, p); - d_(t, k); - d_(u, l); - d_(t, p); - d_(v, o); - d_(w, q); - d_(x, n); - d_(v, p); - d_(y, r); - d_(z, m); - d_(w, p); - d4(k, k, 78); - d4(l, l, 78); - d4(o, o, 78); - d4(q, q, 78); - d4(n, n, 78); - d4(r, r, 78); - d4(m, m, 78); - d4(p, p, 78); - d_(s, k); - d_(t, l); - d_(u, o); - d_(v, q); - d_(w, n); - d_(x, r); - d_(y, m); - d_(z, p); - d_(s, L); - d3(s, 110840); - d_(t, M); - d3(t, 110840); - d_(u, N); - d3(u, 110840); - d_(v, O); - d3(v, 110840); - d_(w, P); - d3(w, 110840); - d_(x, Q); - d3(x, 110840); - d_(y, R); - d3(y, 110840); - d_(z, S); - d3(z, 110840); - d_(x, y); - d_(u, t); - d_(x, s); - d_(y, u); - d_(v, s); - d_(y, v); - d_(v, z); - d_(v, w); - d_(z, x); - d_(v, t); - d_(w, x); - d_(u, z); - d_(t, x); - d1(n, z); - d1(m, t); - d1(l, x); - d1(p, u); - d1(o, y); - d_(n, w); - d_(m, u); - d_(l, v); - d_(p, w); - d_(o, s); - d1(q, n); - d1(k, m); - d1(r, n); - d0(m, l); - d0(n, o); - d_(r, k); - d$(q, o); - d$(k, l); - d_(o, l); - d$(r, o); - d1(o, v); - d_(o, s); - d$(p, o); - d_(n, p); - d_(m, p); - d1(p, z); - d_(p, t); - d1(o, x); - d1(l, p); - d_(o, y); - d0(l, o); - d$(p, o); - d_(k, p); - d_(n, r); - d_(m, q); - d_(l, r); - d_(k, q); - d_(l, q); - d1(o, u); - d1(p, w); - d1(q, t); - d1(r, z); - d$(o, v); - d$(p, s); - d$(q, x); - d0(r, y); - d_(n, o); - d_(m, p); - d_(l, q); - d_(k, r); - d1(o, n); - d_(o, m); - d$(n, l); - d1(q, k); - d_(q, n); - d1(r, o); - d$(r, q); - d_(r, m); - d1(p, l); - d_(p, k); - d_(n, m); - d$(p, n); - d_(p, k); - d_(l, p); - d1(m, q); - d_(m, p); - d$(m, k); - d_(l, m); - d_(q, m); - d$(q, r); - d_(q, o); - d1(o, y); - d1(k, x); - d1(m, r); - d_(m, q); - d$(m, y); - d_(y, x); - d$(y, q); - d$(x, r); - d_(y, x); - d_(x, m); - d_(o, s); - d_(k, v); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, s); - d_(s, v); - d$(s, l); - d$(v, p); - d_(s, v); - d_(v, m); - d_(y, o); - d_(s, o); - d_(x, k); - d_(v, k); - d1(o, z); - d1(k, t); - d_(o, w); - d_(k, u); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, w); - d_(w, u); - d$(w, l); - d$(u, p); - d_(w, u); - d_(u, m); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, z); - d_(z, t); - d$(z, q); - d$(t, r); - d_(z, t); - d_(t, n); - d_(z, o); - d_(w, o); - d_(t, k); - d_(u, k); - d_(z, s); - d_(t, y); - d_(w, z); - d_(y, s); - d_(s, t); - d_(t, x); - d_(x, u); - d_(w, x); - d_(u, v); - d_(v, x); - d_(y, v); - d4(k, s, 147); - d4(l, t, 147); - d4(m, w, 147); - d4(n, y, 147); - d4(o, v, 147); - d4(p, z, 147); - d4(q, u, 147); - d4(r, x, 147); - d_(s, k); - d_(t, l); - d_(w, m); - d_(y, n); - d_(v, o); - d_(z, p); - d_(u, q); - d_(x, r); - d_(k, x); - d_(l, s); - d_(m, t); - d_(l, x); - d_(n, w); - d_(o, y); - d_(p, v); - d_(n, x); - d_(q, z); - d_(r, u); - d_(o, x); - d4(s, s, 78); - d4(t, t, 78); - d4(w, w, 78); - d4(y, y, 78); - d4(v, v, 78); - d4(z, z, 78); - d4(u, u, 78); - d4(x, x, 78); - d_(k, s); - d_(l, t); - d_(m, w); - d_(n, y); - d_(o, v); - d_(p, z); - d_(q, u); - d_(r, x); - d_(k, T); - d3(k, 110840); - d_(l, U); - d3(l, 110840); - d_(m, V); - d3(m, 110840); - d_(n, W); - d3(n, 110840); - d_(o, X); - d3(o, 110840); - d_(p, Y); - d3(p, 110840); - d_(q, Z); - d3(q, 110840); - d_(r, _); - d3(r, 110840); - d_(p, q); - d_(m, l); - d_(p, k); - d_(q, m); - d_(n, k); - d_(q, n); - d_(n, r); - d_(n, o); - d_(r, p); - d_(n, l); - d_(o, p); - d_(m, r); - d_(l, p); - d1(v, r); - d1(u, l); - d1(t, p); - d1(x, m); - d1(w, q); - d_(v, o); - d_(u, m); - d_(t, n); - d_(x, o); - d_(w, k); - d1(y, v); - d1(s, u); - d1(z, v); - d0(u, t); - d0(v, w); - d_(z, s); - d$(y, w); - d$(s, t); - d_(w, t); - d$(z, w); - d1(w, n); - d_(w, k); - d$(x, w); - d_(v, x); - d_(u, x); - d1(x, r); - d_(x, l); - d1(w, p); - d1(t, x); - d_(w, q); - d0(t, w); - d$(x, w); - d_(s, x); - d_(v, z); - d_(u, y); - d_(t, z); - d_(s, y); - d_(t, y); - d1(w, m); - d1(x, o); - d1(y, l); - d1(z, r); - d$(w, n); - d$(x, k); - d$(y, p); - d0(z, q); - d_(v, w); - d_(u, x); - d_(t, y); - d_(s, z); - d1(w, v); - d_(w, u); - d$(v, t); - d1(y, s); - d_(y, v); - d1(z, w); - d$(z, y); - d_(z, u); - d1(x, t); - d_(x, s); - d_(v, u); - d$(x, v); - d_(x, s); - d_(t, x); - d1(u, y); - d_(u, x); - d$(u, s); - d_(t, u); - d_(y, u); - d$(y, z); - d_(y, w); - d1(w, q); - d1(s, p); - d1(u, z); - d_(u, y); - d$(u, q); - d_(q, p); - d$(q, y); - d$(p, z); - d_(q, p); - d_(p, u); - d_(w, k); - d_(s, n); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, k); - d_(k, n); - d$(k, t); - d$(n, x); - d_(k, n); - d_(n, u); - d_(q, w); - d_(k, w); - d_(p, s); - d_(n, s); - d1(w, r); - d1(s, l); - d_(w, o); - d_(s, m); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, o); - d_(o, m); - d$(o, t); - d$(m, x); - d_(o, m); - d_(m, u); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, r); - d_(r, l); - d$(r, y); - d$(l, z); - d_(r, l); - d_(l, v); - d_(r, w); - d_(o, w); - d_(l, s); - d_(m, s); - d_(r, k); - d_(l, q); - d_(o, r); - d_(q, k); - d_(k, l); - d_(l, p); - d_(p, m); - d_(o, p); - d_(m, n); - d_(n, p); - d_(q, n); - d4(s, k, 147); - d4(t, l, 147); - d4(u, o, 147); - d4(v, q, 147); - d4(w, n, 147); - d4(x, r, 147); - d4(y, m, 147); - d4(z, p, 147); - d_(k, s); - d_(l, t); - d_(o, u); - d_(q, v); - d_(n, w); - d_(r, x); - d_(m, y); - d_(p, z); - d_(s, p); - d_(t, k); - d_(u, l); - d_(t, p); - d_(v, o); - d_(w, q); - d_(x, n); - d_(v, p); - d_(y, r); - d_(z, m); - d_(w, p); - d4(k, k, 78); - d4(l, l, 78); - d4(o, o, 78); - d4(q, q, 78); - d4(n, n, 78); - d4(r, r, 78); - d4(m, m, 78); - d4(p, p, 78); - d_(s, k); - d_(t, l); - d_(u, o); - d_(v, q); - d_(w, n); - d_(x, r); - d_(y, m); - d_(z, p); - d_(s, $); - d3(s, 110840); - d_(t, aa); - d3(t, 110840); - d_(u, ab); - d3(u, 110840); - d_(v, ac); - d3(v, 110840); - d_(w, ad); - d3(w, 110840); - d_(x, ae); - d3(x, 110840); - d_(y, af); - d3(y, 110840); - d_(z, ag); - d3(z, 110840); - d_(x, y); - d_(u, t); - d_(x, s); - d_(y, u); - d_(v, s); - d_(y, v); - d_(v, z); - d_(v, w); - d_(z, x); - d_(v, t); - d_(w, x); - d_(u, z); - d_(t, x); - d1(n, z); - d1(m, t); - d1(l, x); - d1(p, u); - d1(o, y); - d_(n, w); - d_(m, u); - d_(l, v); - d_(p, w); - d_(o, s); - d1(q, n); - d1(k, m); - d1(r, n); - d0(m, l); - d0(n, o); - d_(r, k); - d$(q, o); - d$(k, l); - d_(o, l); - d$(r, o); - d1(o, v); - d_(o, s); - d$(p, o); - d_(n, p); - d_(m, p); - d1(p, z); - d_(p, t); - d1(o, x); - d1(l, p); - d_(o, y); - d0(l, o); - d$(p, o); - d_(k, p); - d_(n, r); - d_(m, q); - d_(l, r); - d_(k, q); - d_(l, q); - d1(o, u); - d1(p, w); - d1(q, t); - d1(r, z); - d$(o, v); - d$(p, s); - d$(q, x); - d0(r, y); - d_(n, o); - d_(m, p); - d_(l, q); - d_(k, r); - d1(o, n); - d_(o, m); - d$(n, l); - d1(q, k); - d_(q, n); - d1(r, o); - d$(r, q); - d_(r, m); - d1(p, l); - d_(p, k); - d_(n, m); - d$(p, n); - d_(p, k); - d_(l, p); - d1(m, q); - d_(m, p); - d$(m, k); - d_(l, m); - d_(q, m); - d$(q, r); - d_(q, o); - d1(o, y); - d1(k, x); - d1(m, r); - d_(m, q); - d$(m, y); - d_(y, x); - d$(y, q); - d$(x, r); - d_(y, x); - d_(x, m); - d_(o, s); - d_(k, v); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, s); - d_(s, v); - d$(s, l); - d$(v, p); - d_(s, v); - d_(v, m); - d_(y, o); - d_(s, o); - d_(x, k); - d_(v, k); - d1(o, z); - d1(k, t); - d_(o, w); - d_(k, u); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, w); - d_(w, u); - d$(w, l); - d$(u, p); - d_(w, u); - d_(u, m); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, z); - d_(z, t); - d$(z, q); - d$(t, r); - d_(z, t); - d_(t, n); - d_(z, o); - d_(w, o); - d_(t, k); - d_(u, k); - d_(z, s); - d_(t, y); - d_(w, z); - d_(y, s); - d_(s, t); - d_(t, x); - d_(x, u); - d_(w, x); - d_(u, v); - d_(v, x); - d_(y, v); - d4(k, s, 147); - d4(l, t, 147); - d4(m, w, 147); - d4(n, y, 147); - d4(o, v, 147); - d4(p, z, 147); - d4(q, u, 147); - d4(r, x, 147); - d_(s, k); - d_(t, l); - d_(w, m); - d_(y, n); - d_(v, o); - d_(z, p); - d_(u, q); - d_(x, r); - d_(k, x); - d_(l, s); - d_(m, t); - d_(l, x); - d_(n, w); - d_(o, y); - d_(p, v); - d_(n, x); - d_(q, z); - d_(r, u); - d_(o, x); - d4(s, s, 78); - d4(t, t, 78); - d4(w, w, 78); - d4(y, y, 78); - d4(v, v, 78); - d4(z, z, 78); - d4(u, u, 78); - d4(x, x, 78); - d_(k, s); - d_(l, t); - d_(m, w); - d_(n, y); - d_(o, v); - d_(p, z); - d_(q, u); - d_(r, x); - d_(k, ah); - d3(k, 110840); - d_(l, ai); - d3(l, 110840); - d_(m, aj); - d3(m, 110840); - d_(n, ak); - d3(n, 110840); - d_(o, al); - d3(o, 110840); - d_(p, am); - d3(p, 110840); - d_(q, an); - d3(q, 110840); - d_(r, ao); - d3(r, 110840); - d_(p, q); - d_(m, l); - d_(p, k); - d_(q, m); - d_(n, k); - d_(q, n); - d_(n, r); - d_(n, o); - d_(r, p); - d_(n, l); - d_(o, p); - d_(m, r); - d_(l, p); - d1(v, r); - d1(u, l); - d1(t, p); - d1(x, m); - d1(w, q); - d_(v, o); - d_(u, m); - d_(t, n); - d_(x, o); - d_(w, k); - d1(y, v); - d1(s, u); - d1(z, v); - d0(u, t); - d0(v, w); - d_(z, s); - d$(y, w); - d$(s, t); - d_(w, t); - d$(z, w); - d1(w, n); - d_(w, k); - d$(x, w); - d_(v, x); - d_(u, x); - d1(x, r); - d_(x, l); - d1(w, p); - d1(t, x); - d_(w, q); - d0(t, w); - d$(x, w); - d_(s, x); - d_(v, z); - d_(u, y); - d_(t, z); - d_(s, y); - d_(t, y); - d1(w, m); - d1(x, o); - d1(y, l); - d1(z, r); - d$(w, n); - d$(x, k); - d$(y, p); - d0(z, q); - d_(v, w); - d_(u, x); - d_(t, y); - d_(s, z); - d1(w, v); - d_(w, u); - d$(v, t); - d1(y, s); - d_(y, v); - d1(z, w); - d$(z, y); - d_(z, u); - d1(x, t); - d_(x, s); - d_(v, u); - d$(x, v); - d_(x, s); - d_(t, x); - d1(u, y); - d_(u, x); - d$(u, s); - d_(t, u); - d_(y, u); - d$(y, z); - d_(y, w); - d1(w, q); - d1(s, p); - d1(u, z); - d_(u, y); - d$(u, q); - d_(q, p); - d$(q, y); - d$(p, z); - d_(q, p); - d_(p, u); - d_(w, k); - d_(s, n); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, k); - d_(k, n); - d$(k, t); - d$(n, x); - d_(k, n); - d_(n, u); - d_(q, w); - d_(k, w); - d_(p, s); - d_(n, s); - d1(w, r); - d1(s, l); - d_(w, o); - d_(s, m); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, o); - d_(o, m); - d$(o, t); - d$(m, x); - d_(o, m); - d_(m, u); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, r); - d_(r, l); - d$(r, y); - d$(l, z); - d_(r, l); - d_(l, v); - d_(r, w); - d_(o, w); - d_(l, s); - d_(m, s); - d_(r, k); - d_(l, q); - d_(o, r); - d_(q, k); - d_(k, l); - d_(l, p); - d_(p, m); - d_(o, p); - d_(m, n); - d_(n, p); - d_(q, n); - d4(s, k, 147); - d4(t, l, 147); - d4(u, o, 147); - d4(v, q, 147); - d4(w, n, 147); - d4(x, r, 147); - d4(y, m, 147); - d4(z, p, 147); - d_(k, s); - d_(l, t); - d_(o, u); - d_(q, v); - d_(n, w); - d_(r, x); - d_(m, y); - d_(p, z); - d_(s, p); - d_(t, k); - d_(u, l); - d_(t, p); - d_(v, o); - d_(w, q); - d_(x, n); - d_(v, p); - d_(y, r); - d_(z, m); - d_(w, p); - d4(k, k, 78); - d4(l, l, 78); - d4(o, o, 78); - d4(q, q, 78); - d4(n, n, 78); - d4(r, r, 78); - d4(m, m, 78); - d4(p, p, 78); - d_(s, k); - d_(t, l); - d_(u, o); - d_(v, q); - d_(w, n); - d_(x, r); - d_(y, m); - d_(z, p); - d_(s, ap); - d3(s, 110840); - d_(t, aq); - d3(t, 110840); - d_(u, ar); - d3(u, 110840); - d_(v, as); - d3(v, 110840); - d_(w, at); - d3(w, 110840); - d_(x, au); - d3(x, 110840); - d_(y, av); - d3(y, 110840); - d_(z, aw); - d3(z, 110840); - d_(x, y); - d_(u, t); - d_(x, s); - d_(y, u); - d_(v, s); - d_(y, v); - d_(v, z); - d_(v, w); - d_(z, x); - d_(v, t); - d_(w, x); - d_(u, z); - d_(t, x); - d1(n, z); - d1(m, t); - d1(l, x); - d1(p, u); - d1(o, y); - d_(n, w); - d_(m, u); - d_(l, v); - d_(p, w); - d_(o, s); - d1(q, n); - d1(k, m); - d1(r, n); - d0(m, l); - d0(n, o); - d_(r, k); - d$(q, o); - d$(k, l); - d_(o, l); - d$(r, o); - d1(o, v); - d_(o, s); - d$(p, o); - d_(n, p); - d_(m, p); - d1(p, z); - d_(p, t); - d1(o, x); - d1(l, p); - d_(o, y); - d0(l, o); - d$(p, o); - d_(k, p); - d_(n, r); - d_(m, q); - d_(l, r); - d_(k, q); - d_(l, q); - d1(o, u); - d1(p, w); - d1(q, t); - d1(r, z); - d$(o, v); - d$(p, s); - d$(q, x); - d0(r, y); - d_(n, o); - d_(m, p); - d_(l, q); - d_(k, r); - d1(o, n); - d_(o, m); - d$(n, l); - d1(q, k); - d_(q, n); - d1(r, o); - d$(r, q); - d_(r, m); - d1(p, l); - d_(p, k); - d_(n, m); - d$(p, n); - d_(p, k); - d_(l, p); - d1(m, q); - d_(m, p); - d$(m, k); - d_(l, m); - d_(q, m); - d$(q, r); - d_(q, o); - d1(o, y); - d1(k, x); - d1(m, r); - d_(m, q); - d$(m, y); - d_(y, x); - d$(y, q); - d$(x, r); - d_(y, x); - d_(x, m); - d_(o, s); - d_(k, v); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, s); - d_(s, v); - d$(s, l); - d$(v, p); - d_(s, v); - d_(v, m); - d_(y, o); - d_(s, o); - d_(x, k); - d_(v, k); - d1(o, z); - d1(k, t); - d_(o, w); - d_(k, u); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, w); - d_(w, u); - d$(w, l); - d$(u, p); - d_(w, u); - d_(u, m); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, z); - d_(z, t); - d$(z, q); - d$(t, r); - d_(z, t); - d_(t, n); - d_(z, o); - d_(w, o); - d_(t, k); - d_(u, k); - d_(z, s); - d_(t, y); - d_(w, z); - d_(y, s); - d_(s, t); - d_(t, x); - d_(x, u); - d_(w, x); - d_(u, v); - d_(v, x); - d_(y, v); - d4(k, s, 147); - d4(l, t, 147); - d4(m, w, 147); - d4(n, y, 147); - d4(o, v, 147); - d4(p, z, 147); - d4(q, u, 147); - d4(r, x, 147); - d_(s, k); - d_(t, l); - d_(w, m); - d_(y, n); - d_(v, o); - d_(z, p); - d_(u, q); - d_(x, r); - d_(k, x); - d_(l, s); - d_(m, t); - d_(l, x); - d_(n, w); - d_(o, y); - d_(p, v); - d_(n, x); - d_(q, z); - d_(r, u); - d_(o, x); - d4(s, s, 78); - d4(t, t, 78); - d4(w, w, 78); - d4(y, y, 78); - d4(v, v, 78); - d4(z, z, 78); - d4(u, u, 78); - d4(x, x, 78); - d_(k, s); - d_(l, t); - d_(m, w); - d_(n, y); - d_(o, v); - d_(p, z); - d_(q, u); - d_(r, x); - d_(k, ax); - d3(k, 110840); - d_(l, ay); - d3(l, 110840); - d_(m, az); - d3(m, 110840); - d_(n, aA); - d3(n, 110840); - d_(o, aB); - d3(o, 110840); - d_(p, aC); - d3(p, 110840); - d_(q, aD); - d3(q, 110840); - d_(r, aE); - d3(r, 110840); - d_(p, q); - d_(m, l); - d_(p, k); - d_(q, m); - d_(n, k); - d_(q, n); - d_(n, r); - d_(n, o); - d_(r, p); - d_(n, l); - d_(o, p); - d_(m, r); - d_(l, p); - d1(v, r); - d1(u, l); - d1(t, p); - d1(x, m); - d1(w, q); - d_(v, o); - d_(u, m); - d_(t, n); - d_(x, o); - d_(w, k); - d1(y, v); - d1(s, u); - d1(z, v); - d0(u, t); - d0(v, w); - d_(z, s); - d$(y, w); - d$(s, t); - d_(w, t); - d$(z, w); - d1(w, n); - d_(w, k); - d$(x, w); - d_(v, x); - d_(u, x); - d1(x, r); - d_(x, l); - d1(w, p); - d1(t, x); - d_(w, q); - d0(t, w); - d$(x, w); - d_(s, x); - d_(v, z); - d_(u, y); - d_(t, z); - d_(s, y); - d_(t, y); - d1(w, m); - d1(x, o); - d1(y, l); - d1(z, r); - d$(w, n); - d$(x, k); - d$(y, p); - d0(z, q); - d_(v, w); - d_(u, x); - d_(t, y); - d_(s, z); - d1(w, v); - d_(w, u); - d$(v, t); - d1(y, s); - d_(y, v); - d1(z, w); - d$(z, y); - d_(z, u); - d1(x, t); - d_(x, s); - d_(v, u); - d$(x, v); - d_(x, s); - d_(t, x); - d1(u, y); - d_(u, x); - d$(u, s); - d_(t, u); - d_(y, u); - d$(y, z); - d_(y, w); - d1(w, q); - d1(s, p); - d1(u, z); - d_(u, y); - d$(u, q); - d_(q, p); - d$(q, y); - d$(p, z); - d_(q, p); - d_(p, u); - d_(w, k); - d_(s, n); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, k); - d_(k, n); - d$(k, t); - d$(n, x); - d_(k, n); - d_(n, u); - d_(q, w); - d_(k, w); - d_(p, s); - d_(n, s); - d1(w, r); - d1(s, l); - d_(w, o); - d_(s, m); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, o); - d_(o, m); - d$(o, t); - d$(m, x); - d_(o, m); - d_(m, u); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, r); - d_(r, l); - d$(r, y); - d$(l, z); - d_(r, l); - d_(l, v); - d_(r, w); - d_(o, w); - d_(l, s); - d_(m, s); - d_(r, k); - d_(l, q); - d_(o, r); - d_(q, k); - d_(k, l); - d_(l, p); - d_(p, m); - d_(o, p); - d_(m, n); - d_(n, p); - d_(q, n); - d4(s, k, 147); - d4(t, l, 147); - d4(u, o, 147); - d4(v, q, 147); - d4(w, n, 147); - d4(x, r, 147); - d4(y, m, 147); - d4(z, p, 147); - d_(k, s); - d_(l, t); - d_(o, u); - d_(q, v); - d_(n, w); - d_(r, x); - d_(m, y); - d_(p, z); - d_(s, p); - d_(t, k); - d_(u, l); - d_(t, p); - d_(v, o); - d_(w, q); - d_(x, n); - d_(v, p); - d_(y, r); - d_(z, m); - d_(w, p); - d4(k, k, 78); - d4(l, l, 78); - d4(o, o, 78); - d4(q, q, 78); - d4(n, n, 78); - d4(r, r, 78); - d4(m, m, 78); - d4(p, p, 78); - d_(s, k); - d_(t, l); - d_(u, o); - d_(v, q); - d_(w, n); - d_(x, r); - d_(y, m); - d_(z, p); - d_(s, aF); - d3(s, 110840); - d_(t, aG); - d3(t, 110840); - d_(u, aH); - d3(u, 110840); - d_(v, aI); - d3(v, 110840); - d_(w, aJ); - d3(w, 110840); - d_(x, aK); - d3(x, 110840); - d_(y, aL); - d3(y, 110840); - d_(z, aM); - d3(z, 110840); - d_(x, y); - d_(u, t); - d_(x, s); - d_(y, u); - d_(v, s); - d_(y, v); - d_(v, z); - d_(v, w); - d_(z, x); - d_(v, t); - d_(w, x); - d_(u, z); - d_(t, x); - d1(n, z); - d1(m, t); - d1(l, x); - d1(p, u); - d1(o, y); - d_(n, w); - d_(m, u); - d_(l, v); - d_(p, w); - d_(o, s); - d1(q, n); - d1(k, m); - d1(r, n); - d0(m, l); - d0(n, o); - d_(r, k); - d$(q, o); - d$(k, l); - d_(o, l); - d$(r, o); - d1(o, v); - d_(o, s); - d$(p, o); - d_(n, p); - d_(m, p); - d1(p, z); - d_(p, t); - d1(o, x); - d1(l, p); - d_(o, y); - d0(l, o); - d$(p, o); - d_(k, p); - d_(n, r); - d_(m, q); - d_(l, r); - d_(k, q); - d_(l, q); - d1(o, u); - d1(p, w); - d1(q, t); - d1(r, z); - d$(o, v); - d$(p, s); - d$(q, x); - d0(r, y); - d_(n, o); - d_(m, p); - d_(l, q); - d_(k, r); - d1(o, n); - d_(o, m); - d$(n, l); - d1(q, k); - d_(q, n); - d1(r, o); - d$(r, q); - d_(r, m); - d1(p, l); - d_(p, k); - d_(n, m); - d$(p, n); - d_(p, k); - d_(l, p); - d1(m, q); - d_(m, p); - d$(m, k); - d_(l, m); - d_(q, m); - d$(q, r); - d_(q, o); - d1(o, y); - d1(k, x); - d1(m, r); - d_(m, q); - d$(m, y); - d_(y, x); - d$(y, q); - d$(x, r); - d_(y, x); - d_(x, m); - d_(o, s); - d_(k, v); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, s); - d_(s, v); - d$(s, l); - d$(v, p); - d_(s, v); - d_(v, m); - d_(y, o); - d_(s, o); - d_(x, k); - d_(v, k); - d1(o, z); - d1(k, t); - d_(o, w); - d_(k, u); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, w); - d_(w, u); - d$(w, l); - d$(u, p); - d_(w, u); - d_(u, m); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, z); - d_(z, t); - d$(z, q); - d$(t, r); - d_(z, t); - d_(t, n); - d_(z, o); - d_(w, o); - d_(t, k); - d_(u, k); - d_(z, s); - d_(t, y); - d_(w, z); - d_(y, s); - d_(s, t); - d_(t, x); - d_(x, u); - d_(w, x); - d_(u, v); - d_(v, x); - d_(y, v); - d4(k, s, 147); - d4(l, t, 147); - d4(m, w, 147); - d4(n, y, 147); - d4(o, v, 147); - d4(p, z, 147); - d4(q, u, 147); - d4(r, x, 147); - d_(s, k); - d_(t, l); - d_(w, m); - d_(y, n); - d_(v, o); - d_(z, p); - d_(u, q); - d_(x, r); - d_(k, x); - d_(l, s); - d_(m, t); - d_(l, x); - d_(n, w); - d_(o, y); - d_(p, v); - d_(n, x); - d_(q, z); - d_(r, u); - d_(o, x); - d4(s, s, 78); - d4(t, t, 78); - d4(w, w, 78); - d4(y, y, 78); - d4(v, v, 78); - d4(z, z, 78); - d4(u, u, 78); - d4(x, x, 78); - d_(k, s); - d_(l, t); - d_(m, w); - d_(n, y); - d_(o, v); - d_(p, z); - d_(q, u); - d_(r, x); - d_(k, aN); - d3(k, 110840); - d_(l, aO); - d3(l, 110840); - d_(m, aP); - d3(m, 110840); - d_(n, aQ); - d3(n, 110840); - d_(o, aR); - d3(o, 110840); - d_(p, aS); - d3(p, 110840); - d_(q, aT); - d3(q, 110840); - d_(r, aU); - d3(r, 110840); - d_(p, q); - d_(m, l); - d_(p, k); - d_(q, m); - d_(n, k); - d_(q, n); - d_(n, r); - d_(n, o); - d_(r, p); - d_(n, l); - d_(o, p); - d_(m, r); - d_(l, p); - d1(v, r); - d1(u, l); - d1(t, p); - d1(x, m); - d1(w, q); - d_(v, o); - d_(u, m); - d_(t, n); - d_(x, o); - d_(w, k); - d1(y, v); - d1(s, u); - d1(z, v); - d0(u, t); - d0(v, w); - d_(z, s); - d$(y, w); - d$(s, t); - d_(w, t); - d$(z, w); - d1(w, n); - d_(w, k); - d$(x, w); - d_(v, x); - d_(u, x); - d1(x, r); - d_(x, l); - d1(w, p); - d1(t, x); - d_(w, q); - d0(t, w); - d$(x, w); - d_(s, x); - d_(v, z); - d_(u, y); - d_(t, z); - d_(s, y); - d_(t, y); - d1(w, m); - d1(x, o); - d1(y, l); - d1(z, r); - d$(w, n); - d$(x, k); - d$(y, p); - d0(z, q); - d_(v, w); - d_(u, x); - d_(t, y); - d_(s, z); - d1(w, v); - d_(w, u); - d$(v, t); - d1(y, s); - d_(y, v); - d1(z, w); - d$(z, y); - d_(z, u); - d1(x, t); - d_(x, s); - d_(v, u); - d$(x, v); - d_(x, s); - d_(t, x); - d1(u, y); - d_(u, x); - d$(u, s); - d_(t, u); - d_(y, u); - d$(y, z); - d_(y, w); - d1(w, q); - d1(s, p); - d1(u, z); - d_(u, y); - d$(u, q); - d_(q, p); - d$(q, y); - d$(p, z); - d_(q, p); - d_(p, u); - d_(w, k); - d_(s, n); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, k); - d_(k, n); - d$(k, t); - d$(n, x); - d_(k, n); - d_(n, u); - d_(q, w); - d_(k, w); - d_(p, s); - d_(n, s); - d1(w, r); - d1(s, l); - d_(w, o); - d_(s, m); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, o); - d_(o, m); - d$(o, t); - d$(m, x); - d_(o, m); - d_(m, u); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, r); - d_(r, l); - d$(r, y); - d$(l, z); - d_(r, l); - d_(l, v); - d_(r, w); - d_(o, w); - d_(l, s); - d_(m, s); - d_(r, k); - d_(l, q); - d_(o, r); - d_(q, k); - d_(k, l); - d_(l, p); - d_(p, m); - d_(o, p); - d_(m, n); - d_(n, p); - d_(q, n); - d4(s, k, 147); - d4(t, l, 147); - d4(u, o, 147); - d4(v, q, 147); - d4(w, n, 147); - d4(x, r, 147); - d4(y, m, 147); - d4(z, p, 147); - d_(k, s); - d_(l, t); - d_(o, u); - d_(q, v); - d_(n, w); - d_(r, x); - d_(m, y); - d_(p, z); - d_(s, p); - d_(t, k); - d_(u, l); - d_(t, p); - d_(v, o); - d_(w, q); - d_(x, n); - d_(v, p); - d_(y, r); - d_(z, m); - d_(w, p); - d4(k, k, 78); - d4(l, l, 78); - d4(o, o, 78); - d4(q, q, 78); - d4(n, n, 78); - d4(r, r, 78); - d4(m, m, 78); - d4(p, p, 78); - d_(s, k); - d_(t, l); - d_(u, o); - d_(v, q); - d_(w, n); - d_(x, r); - d_(y, m); - d_(z, p); - d_(s, aV); - d3(s, 110824); - d_(t, aW); - d3(t, 110824); - d_(u, aX); - d3(u, 110824); - d_(v, aY); - d3(v, 110824); - d_(w, aZ); - d3(w, 110824); - d_(x, a_); - d3(x, 110824); - d_(y, a$); - d3(y, 110824); - d_(z, a0); - d3(z, 110824); - d_(x, y); - d_(u, t); - d_(x, s); - d_(y, u); - d_(v, s); - d_(y, v); - d_(v, z); - d_(v, w); - d_(z, x); - d_(v, t); - d_(w, x); - d_(u, z); - d_(t, x); - d1(n, z); - d1(m, t); - d1(l, x); - d1(p, u); - d1(o, y); - d_(n, w); - d_(m, u); - d_(l, v); - d_(p, w); - d_(o, s); - d1(q, n); - d1(k, m); - d1(r, n); - d0(m, l); - d0(n, o); - d_(r, k); - d$(q, o); - d$(k, l); - d_(o, l); - d$(r, o); - d1(o, v); - d_(o, s); - d$(p, o); - d_(n, p); - d_(m, p); - d1(p, z); - d_(p, t); - d1(o, x); - d1(l, p); - d_(o, y); - d0(l, o); - d$(p, o); - d_(k, p); - d_(n, r); - d_(m, q); - d_(l, r); - d_(k, q); - d_(l, q); - d1(o, u); - d1(p, w); - d1(q, t); - d1(r, z); - d$(o, v); - d$(p, s); - d$(q, x); - d0(r, y); - d_(n, o); - d_(m, p); - d_(l, q); - d_(k, r); - d1(o, n); - d_(o, m); - d$(n, l); - d1(q, k); - d_(q, n); - d1(r, o); - d$(r, q); - d_(r, m); - d1(p, l); - d_(p, k); - d_(n, m); - d$(p, n); - d_(p, k); - d_(l, p); - d1(m, q); - d_(m, p); - d$(m, k); - d_(l, m); - d_(q, m); - d$(q, r); - d_(q, o); - d1(o, y); - d1(k, x); - d1(m, r); - d_(m, q); - d$(m, y); - d_(y, x); - d$(y, q); - d$(x, r); - d_(y, x); - d_(x, m); - d_(o, s); - d_(k, v); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, s); - d_(s, v); - d$(s, l); - d$(v, p); - d_(s, v); - d_(v, m); - d_(y, o); - d_(s, o); - d_(x, k); - d_(v, k); - d1(o, z); - d1(k, t); - d_(o, w); - d_(k, u); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, w); - d_(w, u); - d$(w, l); - d$(u, p); - d_(w, u); - d_(u, m); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, z); - d_(z, t); - d$(z, q); - d$(t, r); - d_(z, t); - d_(t, n); - d_(z, o); - d_(w, o); - d_(t, k); - d_(u, k); - d_(z, s); - d_(t, y); - d_(w, z); - d_(y, s); - d_(s, t); - d_(t, x); - d_(x, u); - d_(w, x); - d_(u, v); - d_(v, x); - d_(y, v); - d_(s, a1); - d_(t, a2); - d_(w, a3); - d_(y, a4); - d_(v, a5); - d_(z, a6); - d_(u, a7); - d_(x, a8); - d1(k, u); - d6(k, 1); - d_(k, x); - d$(k, 110952); - d_(x, k); - d7(k, 1); - d_(u, k); - d1(k, v); - d6(k, 1); - d_(k, z); - d$(k, 110952); - d_(z, k); - d7(k, 1); - d_(v, k); - d1(k, w); - d6(k, 1); - d_(k, y); - d$(k, 110952); - d_(y, k); - d7(k, 1); - d_(w, k); - d1(k, s); - d6(k, 1); - d_(k, t); - d$(k, 110952); - d_(t, k); - d7(k, 1); - d_(s, k); - d1(k, z); - d6(k, 2); - d_(k, x); - d$(k, 110936); - d_(x, k); - d7(k, 2); - d_(z, k); - d1(k, v); - d6(k, 2); - d_(k, u); - d$(k, 110936); - d_(u, k); - d7(k, 2); - d_(v, k); - d1(k, t); - d6(k, 2); - d_(k, y); - d$(k, 110936); - d_(y, k); - d7(k, 2); - d_(t, k); - d1(k, s); - d6(k, 2); - d_(k, w); - d$(k, 110936); - d_(w, k); - d7(k, 2); - d_(s, k); - d1(k, y); - d6(k, 4); - d_(k, x); - d$(k, 110920); - d_(x, k); - d7(k, 4); - d_(y, k); - d1(k, w); - d6(k, 4); - d_(k, u); - d$(k, 110920); - d_(u, k); - d7(k, 4); - d_(w, k); - d1(k, t); - d6(k, 4); - d_(k, z); - d$(k, 110920); - d_(z, k); - d7(k, 4); - d_(t, k); - d1(k, s); - d6(k, 4); - d_(k, v); - d$(k, 110920); - d_(v, k); - d7(k, 4); - d_(s, k); - e = 0; - if (d >>> 0 < e >>> 0 | d >>> 0 == e >>> 0 & f >>> 0 < 128 >>> 0) { - break; - } - dV(h, (dU(h) | 0) + 8 | 0); - d_(s, b); - d_(t, b + 16 | 0); - d_(w, b + 32 | 0); - d_(y, b + 48 | 0); - d_(v, b + 64 | 0); - d_(z, b + 80 | 0); - d_(u, b + 96 | 0); - d_(x, b + 112 | 0); - c[bh >> 2] = c[a9 >> 2]; - c[bh + 4 >> 2] = c[a9 + 4 >> 2]; - c[bh + 8 >> 2] = c[a9 + 8 >> 2]; - c[bh + 12 >> 2] = c[a9 + 12 >> 2]; - e = bh + 16 | 0; - c[e >> 2] = c[ba >> 2]; - c[e + 4 >> 2] = c[ba + 4 >> 2]; - c[e + 8 >> 2] = c[ba + 8 >> 2]; - c[e + 12 >> 2] = c[ba + 12 >> 2]; - e = bh + 32 | 0; - c[e >> 2] = c[bb >> 2]; - c[e + 4 >> 2] = c[bb + 4 >> 2]; - c[e + 8 >> 2] = c[bb + 8 >> 2]; - c[e + 12 >> 2] = c[bb + 12 >> 2]; - e = bh + 48 | 0; - c[e >> 2] = c[bc >> 2]; - c[e + 4 >> 2] = c[bc + 4 >> 2]; - c[e + 8 >> 2] = c[bc + 8 >> 2]; - c[e + 12 >> 2] = c[bc + 12 >> 2]; - e = bh + 64 | 0; - c[e >> 2] = c[bd >> 2]; - c[e + 4 >> 2] = c[bd + 4 >> 2]; - c[e + 8 >> 2] = c[bd + 8 >> 2]; - c[e + 12 >> 2] = c[bd + 12 >> 2]; - e = bh + 80 | 0; - c[e >> 2] = c[be >> 2]; - c[e + 4 >> 2] = c[be + 4 >> 2]; - c[e + 8 >> 2] = c[be + 8 >> 2]; - c[e + 12 >> 2] = c[be + 12 >> 2]; - e = bh + 96 | 0; - c[e >> 2] = c[bf >> 2]; - c[e + 4 >> 2] = c[bf + 4 >> 2]; - c[e + 8 >> 2] = c[bf + 8 >> 2]; - c[e + 12 >> 2] = c[bf + 12 >> 2]; - e = bh + 112 | 0; - c[e >> 2] = c[bg >> 2]; - c[e + 4 >> 2] = c[bg + 4 >> 2]; - c[e + 8 >> 2] = c[bg + 8 >> 2]; - c[e + 12 >> 2] = c[bg + 12 >> 2]; - if ((f | 0) == 128 & (d | 0) == 0) { - bi = 29; - break; - } - e = fp(f, d, -128, -1) | 0; - bh = bh + 128 | 0; - b = b + 128 | 0; - d = H; - f = e; - } - if ((bi | 0) == 29) { - i = j; - return 0; - } - bi = g + 12 | 0; - g = fp(dU(bi) | 0, 0, f >>> 4 | d << 28, d >>> 4 | 0 << 28) | 0; - dV(bi, g); - g = B; - bi = s; - c[g >> 2] = c[bi >> 2]; - c[g + 4 >> 2] = c[bi + 4 >> 2]; - c[g + 8 >> 2] = c[bi + 8 >> 2]; - c[g + 12 >> 2] = c[bi + 12 >> 2]; - bi = B + 16 | 0; - s = t; - c[bi >> 2] = c[s >> 2]; - c[bi + 4 >> 2] = c[s + 4 >> 2]; - c[bi + 8 >> 2] = c[s + 8 >> 2]; - c[bi + 12 >> 2] = c[s + 12 >> 2]; - s = B + 32 | 0; - bi = w; - c[s >> 2] = c[bi >> 2]; - c[s + 4 >> 2] = c[bi + 4 >> 2]; - c[s + 8 >> 2] = c[bi + 8 >> 2]; - c[s + 12 >> 2] = c[bi + 12 >> 2]; - bi = B + 48 | 0; - s = y; - c[bi >> 2] = c[s >> 2]; - c[bi + 4 >> 2] = c[s + 4 >> 2]; - c[bi + 8 >> 2] = c[s + 8 >> 2]; - c[bi + 12 >> 2] = c[s + 12 >> 2]; - s = B + 64 | 0; - bi = v; - c[s >> 2] = c[bi >> 2]; - c[s + 4 >> 2] = c[bi + 4 >> 2]; - c[s + 8 >> 2] = c[bi + 8 >> 2]; - c[s + 12 >> 2] = c[bi + 12 >> 2]; - bi = B + 80 | 0; - s = z; - c[bi >> 2] = c[s >> 2]; - c[bi + 4 >> 2] = c[s + 4 >> 2]; - c[bi + 8 >> 2] = c[s + 8 >> 2]; - c[bi + 12 >> 2] = c[s + 12 >> 2]; - s = B + 96 | 0; - bi = u; - c[s >> 2] = c[bi >> 2]; - c[s + 4 >> 2] = c[bi + 4 >> 2]; - c[s + 8 >> 2] = c[bi + 8 >> 2]; - c[s + 12 >> 2] = c[bi + 12 >> 2]; - bi = B + 112 | 0; - B = x; - c[bi >> 2] = c[B >> 2]; - c[bi + 4 >> 2] = c[B + 4 >> 2]; - c[bi + 8 >> 2] = c[B + 8 >> 2]; - c[bi + 12 >> 2] = c[B + 12 >> 2]; - if ((f | 0) == 0 & (d | 0) == 0) { - i = j; - return 0; - } else { - bj = d; - bk = f; - bl = g; - bm = b; - bn = bh; - } - while (1) { - a[bn] = a[bm] ^ a[bl]; - bh = fp(bk, bj, -1, -1) | 0; - b = H; - if ((bh | 0) == 0 & (b | 0) == 0) { - break; - } else { - bj = b; - bk = bh; - bl = bl + 1 | 0; - bm = bm + 1 | 0; - bn = bn + 1 | 0; - } - } - i = j; - return 0; -} -function ed(b, c) { - b = b | 0; - c = c | 0; - return ((((a[c + 1 | 0] ^ a[b + 1 | 0] | a[c] ^ a[b] | a[c + 2 | 0] ^ a[b + 2 | 0] | a[c + 3 | 0] ^ a[b + 3 | 0] | a[c + 4 | 0] ^ a[b + 4 | 0] | a[c + 5 | 0] ^ a[b + 5 | 0] | a[c + 6 | 0] ^ a[b + 6 | 0] | a[c + 7 | 0] ^ a[b + 7 | 0] | a[c + 8 | 0] ^ a[b + 8 | 0] | a[c + 9 | 0] ^ a[b + 9 | 0] | a[c + 10 | 0] ^ a[b + 10 | 0] | a[c + 11 | 0] ^ a[b + 11 | 0] | a[c + 12 | 0] ^ a[b + 12 | 0] | a[c + 13 | 0] ^ a[b + 13 | 0] | a[c + 14 | 0] ^ a[b + 14 | 0] | a[c + 15 | 0] ^ a[b + 15 | 0]) & 255) + 511 | 0) >>> 8 & 1) - 1 | 0; -} -function ee(b, e, f, g, h) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; - j = i; - i = i + 16 | 0; - k = j | 0; - l = k; - m = i; - i = i + 64 | 0; - if ((e | 0) == 0 & (f | 0) == 0) { - i = j; - return 0; - } - n = k | 0; - o = g; - g = o | 0; - p = o + 4 | 0; - o = d[p] | d[p + 1 | 0] << 8 | d[p + 2 | 0] << 16 | d[p + 3 | 0] << 24 | 0; - c[n >> 2] = d[g] | d[g + 1 | 0] << 8 | d[g + 2 | 0] << 16 | d[g + 3 | 0] << 24; - c[n + 4 >> 2] = o; - o = k + 8 | 0; - c[o >> 2] = 0; - c[o + 4 >> 2] = 0; - o = 0; - do { - if (f >>> 0 > o >>> 0 | f >>> 0 == o >>> 0 & e >>> 0 > 63 >>> 0) { - n = k; - g = k + 8 | 0; - p = f; - q = e; - r = b; - do { - bH(r, n, h, 120) | 0; - s = (d[g] | 0) + 1 | 0; - a[g] = s & 255; - t = l + 9 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 10 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 11 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 12 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 13 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 14 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 15 | 0; - a[t] = (d[t] | 0) + (s >>> 8) & 255; - q = fp(q, p, -64, -1) | 0; - p = H; - r = r + 64 | 0; - s = 0; - } while (p >>> 0 > s >>> 0 | p >>> 0 == s >>> 0 & q >>> 0 > 63 >>> 0); - if (!((q | 0) == 0 & (p | 0) == 0)) { - v = r; - w = p; - x = q; - break; - } - i = j; - return 0; - } else { - v = b; - w = f; - x = e; - } - } while (0); - bH(m | 0, k, h, 120) | 0; - h = 0; - do { - a[v + h | 0] = a[m + h | 0] | 0; - h = h + 1 | 0; - k = (h | 0) < 0 ? -1 : 0; - } while (k >>> 0 < w >>> 0 | k >>> 0 == w >>> 0 & h >>> 0 < x >>> 0); - i = j; - return 0; -} -function ef(b, e, f, g, h, j) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - j = j | 0; - var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0; - k = i; - i = i + 16 | 0; - l = k | 0; - m = l; - n = i; - i = i + 64 | 0; - if ((f | 0) == 0 & (g | 0) == 0) { - i = k; - return 0; - } - o = l | 0; - p = h; - h = p | 0; - q = p + 4 | 0; - p = d[q] | d[q + 1 | 0] << 8 | d[q + 2 | 0] << 16 | d[q + 3 | 0] << 24 | 0; - c[o >> 2] = d[h] | d[h + 1 | 0] << 8 | d[h + 2 | 0] << 16 | d[h + 3 | 0] << 24; - c[o + 4 >> 2] = p; - p = l + 8 | 0; - c[p >> 2] = 0; - c[p + 4 >> 2] = 0; - p = 0; - do { - if (g >>> 0 > p >>> 0 | g >>> 0 == p >>> 0 & f >>> 0 > 63 >>> 0) { - o = n | 0; - h = l; - q = l + 8 | 0; - r = e; - s = g; - t = f; - u = b; - do { - bH(o, h, j, 104) | 0; - v = 0; - do { - a[u + v | 0] = a[n + v | 0] ^ a[r + v | 0]; - v = v + 1 | 0; - } while ((v | 0) < 64); - v = (d[q] | 0) + 1 | 0; - a[q] = v & 255; - w = m + 9 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 10 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 11 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 12 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 13 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 14 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 15 | 0; - a[w] = (d[w] | 0) + (v >>> 8) & 255; - t = fp(t, s, -64, -1) | 0; - s = H; - u = u + 64 | 0; - r = r + 64 | 0; - v = 0; - } while (s >>> 0 > v >>> 0 | s >>> 0 == v >>> 0 & t >>> 0 > 63 >>> 0); - if (!((t | 0) == 0 & (s | 0) == 0)) { - y = u; - z = s; - A = t; - B = r; - break; - } - i = k; - return 0; - } else { - y = b; - z = g; - A = f; - B = e; - } - } while (0); - bH(n | 0, l, j, 104) | 0; - j = 0; - do { - a[y + j | 0] = a[n + j | 0] ^ a[B + j | 0]; - j = j + 1 | 0; - l = (j | 0) < 0 ? -1 : 0; - } while (l >>> 0 < z >>> 0 | l >>> 0 == z >>> 0 & j >>> 0 < A >>> 0); - i = k; - return 0; -} -function eg(b, e, f, g, h) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; - j = i; - i = i + 16 | 0; - k = j | 0; - l = k; - m = i; - i = i + 64 | 0; - if ((e | 0) == 0 & (f | 0) == 0) { - i = j; - return 0; - } - n = k | 0; - o = g; - g = o | 0; - p = o + 4 | 0; - o = d[p] | d[p + 1 | 0] << 8 | d[p + 2 | 0] << 16 | d[p + 3 | 0] << 24 | 0; - c[n >> 2] = d[g] | d[g + 1 | 0] << 8 | d[g + 2 | 0] << 16 | d[g + 3 | 0] << 24; - c[n + 4 >> 2] = o; - o = k + 8 | 0; - c[o >> 2] = 0; - c[o + 4 >> 2] = 0; - o = 0; - do { - if (f >>> 0 > o >>> 0 | f >>> 0 == o >>> 0 & e >>> 0 > 63 >>> 0) { - n = k; - g = k + 8 | 0; - p = f; - q = e; - r = b; - do { - bO(r, n, h, 88) | 0; - s = (d[g] | 0) + 1 | 0; - a[g] = s & 255; - t = l + 9 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 10 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 11 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 12 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 13 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 14 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 15 | 0; - a[t] = (d[t] | 0) + (s >>> 8) & 255; - q = fp(q, p, -64, -1) | 0; - p = H; - r = r + 64 | 0; - s = 0; - } while (p >>> 0 > s >>> 0 | p >>> 0 == s >>> 0 & q >>> 0 > 63 >>> 0); - if (!((q | 0) == 0 & (p | 0) == 0)) { - v = r; - w = p; - x = q; - break; - } - i = j; - return 0; - } else { - v = b; - w = f; - x = e; - } - } while (0); - bO(m | 0, k, h, 88) | 0; - h = 0; - do { - a[v + h | 0] = a[m + h | 0] | 0; - h = h + 1 | 0; - k = (h | 0) < 0 ? -1 : 0; - } while (k >>> 0 < w >>> 0 | k >>> 0 == w >>> 0 & h >>> 0 < x >>> 0); - i = j; - return 0; -} -function eh(b, e, f, g, h, j) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - j = j | 0; - var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0; - k = i; - i = i + 16 | 0; - l = k | 0; - m = l; - n = i; - i = i + 64 | 0; - if ((f | 0) == 0 & (g | 0) == 0) { - i = k; - return 0; - } - o = l | 0; - p = h; - h = p | 0; - q = p + 4 | 0; - p = d[q] | d[q + 1 | 0] << 8 | d[q + 2 | 0] << 16 | d[q + 3 | 0] << 24 | 0; - c[o >> 2] = d[h] | d[h + 1 | 0] << 8 | d[h + 2 | 0] << 16 | d[h + 3 | 0] << 24; - c[o + 4 >> 2] = p; - p = l + 8 | 0; - c[p >> 2] = 0; - c[p + 4 >> 2] = 0; - p = 0; - do { - if (g >>> 0 > p >>> 0 | g >>> 0 == p >>> 0 & f >>> 0 > 63 >>> 0) { - o = n | 0; - h = l; - q = l + 8 | 0; - r = e; - s = g; - t = f; - u = b; - do { - bO(o, h, j, 72) | 0; - v = 0; - do { - a[u + v | 0] = a[n + v | 0] ^ a[r + v | 0]; - v = v + 1 | 0; - } while ((v | 0) < 64); - v = (d[q] | 0) + 1 | 0; - a[q] = v & 255; - w = m + 9 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 10 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 11 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 12 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 13 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 14 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 15 | 0; - a[w] = (d[w] | 0) + (v >>> 8) & 255; - t = fp(t, s, -64, -1) | 0; - s = H; - u = u + 64 | 0; - r = r + 64 | 0; - v = 0; - } while (s >>> 0 > v >>> 0 | s >>> 0 == v >>> 0 & t >>> 0 > 63 >>> 0); - if (!((t | 0) == 0 & (s | 0) == 0)) { - y = u; - z = s; - A = t; - B = r; - break; - } - i = k; - return 0; - } else { - y = b; - z = g; - A = f; - B = e; - } - } while (0); - bO(n | 0, l, j, 72) | 0; - j = 0; - do { - a[y + j | 0] = a[n + j | 0] ^ a[B + j | 0]; - j = j + 1 | 0; - l = (j | 0) < 0 ? -1 : 0; - } while (l >>> 0 < z >>> 0 | l >>> 0 == z >>> 0 & j >>> 0 < A >>> 0); - i = k; - return 0; -} -function ei(b, e, f, g, h) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; - j = i; - i = i + 16 | 0; - k = j | 0; - l = k; - m = i; - i = i + 64 | 0; - if ((e | 0) == 0 & (f | 0) == 0) { - i = j; - return 0; - } - n = k | 0; - o = g; - g = o | 0; - p = o + 4 | 0; - o = d[p] | d[p + 1 | 0] << 8 | d[p + 2 | 0] << 16 | d[p + 3 | 0] << 24 | 0; - c[n >> 2] = d[g] | d[g + 1 | 0] << 8 | d[g + 2 | 0] << 16 | d[g + 3 | 0] << 24; - c[n + 4 >> 2] = o; - o = k + 8 | 0; - c[o >> 2] = 0; - c[o + 4 >> 2] = 0; - o = 0; - do { - if (f >>> 0 > o >>> 0 | f >>> 0 == o >>> 0 & e >>> 0 > 63 >>> 0) { - n = k; - g = k + 8 | 0; - p = f; - q = e; - r = b; - do { - bP(r, n, h, 56) | 0; - s = (d[g] | 0) + 1 | 0; - a[g] = s & 255; - t = l + 9 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 10 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 11 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 12 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 13 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 14 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 15 | 0; - a[t] = (d[t] | 0) + (s >>> 8) & 255; - q = fp(q, p, -64, -1) | 0; - p = H; - r = r + 64 | 0; - s = 0; - } while (p >>> 0 > s >>> 0 | p >>> 0 == s >>> 0 & q >>> 0 > 63 >>> 0); - if (!((q | 0) == 0 & (p | 0) == 0)) { - v = r; - w = p; - x = q; - break; - } - i = j; - return 0; - } else { - v = b; - w = f; - x = e; - } - } while (0); - bP(m | 0, k, h, 56) | 0; - h = 0; - do { - a[v + h | 0] = a[m + h | 0] | 0; - h = h + 1 | 0; - k = (h | 0) < 0 ? -1 : 0; - } while (k >>> 0 < w >>> 0 | k >>> 0 == w >>> 0 & h >>> 0 < x >>> 0); - i = j; - return 0; -} -function ej(b, e, f, g, h, j) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - j = j | 0; - var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0; - k = i; - i = i + 16 | 0; - l = k | 0; - m = l; - n = i; - i = i + 64 | 0; - if ((f | 0) == 0 & (g | 0) == 0) { - i = k; - return 0; - } - o = l | 0; - p = h; - h = p | 0; - q = p + 4 | 0; - p = d[q] | d[q + 1 | 0] << 8 | d[q + 2 | 0] << 16 | d[q + 3 | 0] << 24 | 0; - c[o >> 2] = d[h] | d[h + 1 | 0] << 8 | d[h + 2 | 0] << 16 | d[h + 3 | 0] << 24; - c[o + 4 >> 2] = p; - p = l + 8 | 0; - c[p >> 2] = 0; - c[p + 4 >> 2] = 0; - p = 0; - do { - if (g >>> 0 > p >>> 0 | g >>> 0 == p >>> 0 & f >>> 0 > 63 >>> 0) { - o = n | 0; - h = l; - q = l + 8 | 0; - r = e; - s = g; - t = f; - u = b; - do { - bP(o, h, j, 40) | 0; - v = 0; - do { - a[u + v | 0] = a[n + v | 0] ^ a[r + v | 0]; - v = v + 1 | 0; - } while ((v | 0) < 64); - v = (d[q] | 0) + 1 | 0; - a[q] = v & 255; - w = m + 9 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 10 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 11 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 12 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 13 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 14 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 15 | 0; - a[w] = (d[w] | 0) + (v >>> 8) & 255; - t = fp(t, s, -64, -1) | 0; - s = H; - u = u + 64 | 0; - r = r + 64 | 0; - v = 0; - } while (s >>> 0 > v >>> 0 | s >>> 0 == v >>> 0 & t >>> 0 > 63 >>> 0); - if (!((t | 0) == 0 & (s | 0) == 0)) { - y = u; - z = s; - A = t; - B = r; - break; - } - i = k; - return 0; - } else { - y = b; - z = g; - A = f; - B = e; - } - } while (0); - bP(n | 0, l, j, 40) | 0; - j = 0; - do { - a[y + j | 0] = a[n + j | 0] ^ a[B + j | 0]; - j = j + 1 | 0; - l = (j | 0) < 0 ? -1 : 0; - } while (l >>> 0 < z >>> 0 | l >>> 0 == z >>> 0 & j >>> 0 < A >>> 0); - i = k; - return 0; -} -function ek(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 32 | 0; - g = f | 0; - bG(g, d, e, 24) | 0; - e = ee(a, b, c, d + 16 | 0, g) | 0; - i = f; - return e | 0; -} -function el(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0; - g = i; - i = i + 32 | 0; - h = g | 0; - bG(h, e, f, 8) | 0; - f = ef(a, b, c, d, e + 16 | 0, h) | 0; - i = g; - return f | 0; -} -function em(b, c) { - b = b | 0; - c = c | 0; - return ((((a[c + 1 | 0] ^ a[b + 1 | 0] | a[c] ^ a[b] | a[c + 2 | 0] ^ a[b + 2 | 0] | a[c + 3 | 0] ^ a[b + 3 | 0] | a[c + 4 | 0] ^ a[b + 4 | 0] | a[c + 5 | 0] ^ a[b + 5 | 0] | a[c + 6 | 0] ^ a[b + 6 | 0] | a[c + 7 | 0] ^ a[b + 7 | 0] | a[c + 8 | 0] ^ a[b + 8 | 0] | a[c + 9 | 0] ^ a[b + 9 | 0] | a[c + 10 | 0] ^ a[b + 10 | 0] | a[c + 11 | 0] ^ a[b + 11 | 0] | a[c + 12 | 0] ^ a[b + 12 | 0] | a[c + 13 | 0] ^ a[b + 13 | 0] | a[c + 14 | 0] ^ a[b + 14 | 0] | a[c + 15 | 0] ^ a[b + 15 | 0] | a[c + 16 | 0] ^ a[b + 16 | 0] | a[c + 17 | 0] ^ a[b + 17 | 0] | a[c + 18 | 0] ^ a[b + 18 | 0] | a[c + 19 | 0] ^ a[b + 19 | 0] | a[c + 20 | 0] ^ a[b + 20 | 0] | a[c + 21 | 0] ^ a[b + 21 | 0] | a[c + 22 | 0] ^ a[b + 22 | 0] | a[c + 23 | 0] ^ a[b + 23 | 0] | a[c + 24 | 0] ^ a[b + 24 | 0] | a[c + 25 | 0] ^ a[b + 25 | 0] | a[c + 26 | 0] ^ a[b + 26 | 0] | a[c + 27 | 0] ^ a[b + 27 | 0] | a[c + 28 | 0] ^ a[b + 28 | 0] | a[c + 29 | 0] ^ a[b + 29 | 0] | a[c + 30 | 0] ^ a[b + 30 | 0] | a[c + 31 | 0] ^ a[b + 31 | 0]) & 255) + 511 | 0) >>> 8 & 1) - 1 | 0; -} -function en(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, as = 0, at = 0, au = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0; - do { - if (a >>> 0 < 245) { - if (a >>> 0 < 11) { - b = 16; - } else { - b = a + 11 & -8; - } - d = b >>> 3; - e = c[28038] | 0; - f = e >>> (d >>> 0); - if ((f & 3 | 0) != 0) { - g = (f & 1 ^ 1) + d | 0; - h = g << 1; - i = 112192 + (h << 2) | 0; - j = 112192 + (h + 2 << 2) | 0; - h = c[j >> 2] | 0; - k = h + 8 | 0; - l = c[k >> 2] | 0; - do { - if ((i | 0) == (l | 0)) { - c[28038] = e & ~(1 << g); - } else { - if (l >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - m = l + 12 | 0; - if ((c[m >> 2] | 0) == (h | 0)) { - c[m >> 2] = i; - c[j >> 2] = l; - break; - } else { - av(); - return 0; - } - } - } while (0); - l = g << 3; - c[h + 4 >> 2] = l | 3; - j = h + (l | 4) | 0; - c[j >> 2] = c[j >> 2] | 1; - n = k; - return n | 0; - } - if (b >>> 0 <= (c[28040] | 0) >>> 0) { - o = b; - break; - } - if ((f | 0) != 0) { - j = 2 << d; - l = f << d & (j | -j); - j = (l & -l) - 1 | 0; - l = j >>> 12 & 16; - i = j >>> (l >>> 0); - j = i >>> 5 & 8; - m = i >>> (j >>> 0); - i = m >>> 2 & 4; - p = m >>> (i >>> 0); - m = p >>> 1 & 2; - q = p >>> (m >>> 0); - p = q >>> 1 & 1; - r = (j | l | i | m | p) + (q >>> (p >>> 0)) | 0; - p = r << 1; - q = 112192 + (p << 2) | 0; - m = 112192 + (p + 2 << 2) | 0; - p = c[m >> 2] | 0; - i = p + 8 | 0; - l = c[i >> 2] | 0; - do { - if ((q | 0) == (l | 0)) { - c[28038] = e & ~(1 << r); - } else { - if (l >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - j = l + 12 | 0; - if ((c[j >> 2] | 0) == (p | 0)) { - c[j >> 2] = q; - c[m >> 2] = l; - break; - } else { - av(); - return 0; - } - } - } while (0); - l = r << 3; - m = l - b | 0; - c[p + 4 >> 2] = b | 3; - q = p; - e = q + b | 0; - c[q + (b | 4) >> 2] = m | 1; - c[q + l >> 2] = m; - l = c[28040] | 0; - if ((l | 0) != 0) { - q = c[28043] | 0; - d = l >>> 3; - l = d << 1; - f = 112192 + (l << 2) | 0; - k = c[28038] | 0; - h = 1 << d; - do { - if ((k & h | 0) == 0) { - c[28038] = k | h; - s = f; - t = 112192 + (l + 2 << 2) | 0; - } else { - d = 112192 + (l + 2 << 2) | 0; - g = c[d >> 2] | 0; - if (g >>> 0 >= (c[28042] | 0) >>> 0) { - s = g; - t = d; - break; - } - av(); - return 0; - } - } while (0); - c[t >> 2] = q; - c[s + 12 >> 2] = q; - c[q + 8 >> 2] = s; - c[q + 12 >> 2] = f; - } - c[28040] = m; - c[28043] = e; - n = i; - return n | 0; - } - l = c[28039] | 0; - if ((l | 0) == 0) { - o = b; - break; - } - h = (l & -l) - 1 | 0; - l = h >>> 12 & 16; - k = h >>> (l >>> 0); - h = k >>> 5 & 8; - p = k >>> (h >>> 0); - k = p >>> 2 & 4; - r = p >>> (k >>> 0); - p = r >>> 1 & 2; - d = r >>> (p >>> 0); - r = d >>> 1 & 1; - g = c[112456 + ((h | l | k | p | r) + (d >>> (r >>> 0)) << 2) >> 2] | 0; - r = g; - d = g; - p = (c[g + 4 >> 2] & -8) - b | 0; - while (1) { - g = c[r + 16 >> 2] | 0; - if ((g | 0) == 0) { - k = c[r + 20 >> 2] | 0; - if ((k | 0) == 0) { - break; - } else { - u = k; - } - } else { - u = g; - } - g = (c[u + 4 >> 2] & -8) - b | 0; - k = g >>> 0 < p >>> 0; - r = u; - d = k ? u : d; - p = k ? g : p; - } - r = d; - i = c[28042] | 0; - if (r >>> 0 < i >>> 0) { - av(); - return 0; - } - e = r + b | 0; - m = e; - if (r >>> 0 >= e >>> 0) { - av(); - return 0; - } - e = c[d + 24 >> 2] | 0; - f = c[d + 12 >> 2] | 0; - do { - if ((f | 0) == (d | 0)) { - q = d + 20 | 0; - g = c[q >> 2] | 0; - if ((g | 0) == 0) { - k = d + 16 | 0; - l = c[k >> 2] | 0; - if ((l | 0) == 0) { - v = 0; - break; - } else { - w = l; - x = k; - } - } else { - w = g; - x = q; - } - while (1) { - q = w + 20 | 0; - g = c[q >> 2] | 0; - if ((g | 0) != 0) { - w = g; - x = q; - continue; - } - q = w + 16 | 0; - g = c[q >> 2] | 0; - if ((g | 0) == 0) { - break; - } else { - w = g; - x = q; - } - } - if (x >>> 0 < i >>> 0) { - av(); - return 0; - } else { - c[x >> 2] = 0; - v = w; - break; - } - } else { - q = c[d + 8 >> 2] | 0; - if (q >>> 0 < i >>> 0) { - av(); - return 0; - } - g = q + 12 | 0; - if ((c[g >> 2] | 0) != (d | 0)) { - av(); - return 0; - } - k = f + 8 | 0; - if ((c[k >> 2] | 0) == (d | 0)) { - c[g >> 2] = f; - c[k >> 2] = q; - v = f; - break; - } else { - av(); - return 0; - } - } - } while (0); - L209 : do { - if ((e | 0) != 0) { - f = d + 28 | 0; - i = 112456 + (c[f >> 2] << 2) | 0; - do { - if ((d | 0) == (c[i >> 2] | 0)) { - c[i >> 2] = v; - if ((v | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[f >> 2]); - break L209; - } else { - if (e >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - q = e + 16 | 0; - if ((c[q >> 2] | 0) == (d | 0)) { - c[q >> 2] = v; - } else { - c[e + 20 >> 2] = v; - } - if ((v | 0) == 0) { - break L209; - } - } - } while (0); - if (v >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - c[v + 24 >> 2] = e; - f = c[d + 16 >> 2] | 0; - do { - if ((f | 0) != 0) { - if (f >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[v + 16 >> 2] = f; - c[f + 24 >> 2] = v; - break; - } - } - } while (0); - f = c[d + 20 >> 2] | 0; - if ((f | 0) == 0) { - break; - } - if (f >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[v + 20 >> 2] = f; - c[f + 24 >> 2] = v; - break; - } - } - } while (0); - if (p >>> 0 < 16) { - e = p + b | 0; - c[d + 4 >> 2] = e | 3; - f = r + (e + 4) | 0; - c[f >> 2] = c[f >> 2] | 1; - } else { - c[d + 4 >> 2] = b | 3; - c[r + (b | 4) >> 2] = p | 1; - c[r + (p + b) >> 2] = p; - f = c[28040] | 0; - if ((f | 0) != 0) { - e = c[28043] | 0; - i = f >>> 3; - f = i << 1; - q = 112192 + (f << 2) | 0; - k = c[28038] | 0; - g = 1 << i; - do { - if ((k & g | 0) == 0) { - c[28038] = k | g; - y = q; - z = 112192 + (f + 2 << 2) | 0; - } else { - i = 112192 + (f + 2 << 2) | 0; - l = c[i >> 2] | 0; - if (l >>> 0 >= (c[28042] | 0) >>> 0) { - y = l; - z = i; - break; - } - av(); - return 0; - } - } while (0); - c[z >> 2] = e; - c[y + 12 >> 2] = e; - c[e + 8 >> 2] = y; - c[e + 12 >> 2] = q; - } - c[28040] = p; - c[28043] = m; - } - f = d + 8 | 0; - if ((f | 0) == 0) { - o = b; - break; - } else { - n = f; - } - return n | 0; - } else { - if (a >>> 0 > 4294967231) { - o = -1; - break; - } - f = a + 11 | 0; - g = f & -8; - k = c[28039] | 0; - if ((k | 0) == 0) { - o = g; - break; - } - r = -g | 0; - i = f >>> 8; - do { - if ((i | 0) == 0) { - A = 0; - } else { - if (g >>> 0 > 16777215) { - A = 31; - break; - } - f = (i + 1048320 | 0) >>> 16 & 8; - l = i << f; - h = (l + 520192 | 0) >>> 16 & 4; - j = l << h; - l = (j + 245760 | 0) >>> 16 & 2; - B = 14 - (h | f | l) + (j << l >>> 15) | 0; - A = g >>> ((B + 7 | 0) >>> 0) & 1 | B << 1; - } - } while (0); - i = c[112456 + (A << 2) >> 2] | 0; - L257 : do { - if ((i | 0) == 0) { - C = 0; - D = r; - E = 0; - } else { - if ((A | 0) == 31) { - F = 0; - } else { - F = 25 - (A >>> 1) | 0; - } - d = 0; - m = r; - p = i; - q = g << F; - e = 0; - while (1) { - B = c[p + 4 >> 2] & -8; - l = B - g | 0; - if (l >>> 0 < m >>> 0) { - if ((B | 0) == (g | 0)) { - C = p; - D = l; - E = p; - break L257; - } else { - G = p; - H = l; - } - } else { - G = d; - H = m; - } - l = c[p + 20 >> 2] | 0; - B = c[p + 16 + (q >>> 31 << 2) >> 2] | 0; - j = (l | 0) == 0 | (l | 0) == (B | 0) ? e : l; - if ((B | 0) == 0) { - C = G; - D = H; - E = j; - break; - } else { - d = G; - m = H; - p = B; - q = q << 1; - e = j; - } - } - } - } while (0); - if ((E | 0) == 0 & (C | 0) == 0) { - i = 2 << A; - r = k & (i | -i); - if ((r | 0) == 0) { - o = g; - break; - } - i = (r & -r) - 1 | 0; - r = i >>> 12 & 16; - e = i >>> (r >>> 0); - i = e >>> 5 & 8; - q = e >>> (i >>> 0); - e = q >>> 2 & 4; - p = q >>> (e >>> 0); - q = p >>> 1 & 2; - m = p >>> (q >>> 0); - p = m >>> 1 & 1; - I = c[112456 + ((i | r | e | q | p) + (m >>> (p >>> 0)) << 2) >> 2] | 0; - } else { - I = E; - } - if ((I | 0) == 0) { - J = D; - K = C; - } else { - p = I; - m = D; - q = C; - while (1) { - e = (c[p + 4 >> 2] & -8) - g | 0; - r = e >>> 0 < m >>> 0; - i = r ? e : m; - e = r ? p : q; - r = c[p + 16 >> 2] | 0; - if ((r | 0) != 0) { - p = r; - m = i; - q = e; - continue; - } - r = c[p + 20 >> 2] | 0; - if ((r | 0) == 0) { - J = i; - K = e; - break; - } else { - p = r; - m = i; - q = e; - } - } - } - if ((K | 0) == 0) { - o = g; - break; - } - if (J >>> 0 >= ((c[28040] | 0) - g | 0) >>> 0) { - o = g; - break; - } - q = K; - m = c[28042] | 0; - if (q >>> 0 < m >>> 0) { - av(); - return 0; - } - p = q + g | 0; - k = p; - if (q >>> 0 >= p >>> 0) { - av(); - return 0; - } - e = c[K + 24 >> 2] | 0; - i = c[K + 12 >> 2] | 0; - do { - if ((i | 0) == (K | 0)) { - r = K + 20 | 0; - d = c[r >> 2] | 0; - if ((d | 0) == 0) { - j = K + 16 | 0; - B = c[j >> 2] | 0; - if ((B | 0) == 0) { - L = 0; - break; - } else { - M = B; - N = j; - } - } else { - M = d; - N = r; - } - while (1) { - r = M + 20 | 0; - d = c[r >> 2] | 0; - if ((d | 0) != 0) { - M = d; - N = r; - continue; - } - r = M + 16 | 0; - d = c[r >> 2] | 0; - if ((d | 0) == 0) { - break; - } else { - M = d; - N = r; - } - } - if (N >>> 0 < m >>> 0) { - av(); - return 0; - } else { - c[N >> 2] = 0; - L = M; - break; - } - } else { - r = c[K + 8 >> 2] | 0; - if (r >>> 0 < m >>> 0) { - av(); - return 0; - } - d = r + 12 | 0; - if ((c[d >> 2] | 0) != (K | 0)) { - av(); - return 0; - } - j = i + 8 | 0; - if ((c[j >> 2] | 0) == (K | 0)) { - c[d >> 2] = i; - c[j >> 2] = r; - L = i; - break; - } else { - av(); - return 0; - } - } - } while (0); - L307 : do { - if ((e | 0) != 0) { - i = K + 28 | 0; - m = 112456 + (c[i >> 2] << 2) | 0; - do { - if ((K | 0) == (c[m >> 2] | 0)) { - c[m >> 2] = L; - if ((L | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[i >> 2]); - break L307; - } else { - if (e >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - r = e + 16 | 0; - if ((c[r >> 2] | 0) == (K | 0)) { - c[r >> 2] = L; - } else { - c[e + 20 >> 2] = L; - } - if ((L | 0) == 0) { - break L307; - } - } - } while (0); - if (L >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - c[L + 24 >> 2] = e; - i = c[K + 16 >> 2] | 0; - do { - if ((i | 0) != 0) { - if (i >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[L + 16 >> 2] = i; - c[i + 24 >> 2] = L; - break; - } - } - } while (0); - i = c[K + 20 >> 2] | 0; - if ((i | 0) == 0) { - break; - } - if (i >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[L + 20 >> 2] = i; - c[i + 24 >> 2] = L; - break; - } - } - } while (0); - do { - if (J >>> 0 < 16) { - e = J + g | 0; - c[K + 4 >> 2] = e | 3; - i = q + (e + 4) | 0; - c[i >> 2] = c[i >> 2] | 1; - } else { - c[K + 4 >> 2] = g | 3; - c[q + (g | 4) >> 2] = J | 1; - c[q + (J + g) >> 2] = J; - i = J >>> 3; - if (J >>> 0 < 256) { - e = i << 1; - m = 112192 + (e << 2) | 0; - r = c[28038] | 0; - j = 1 << i; - do { - if ((r & j | 0) == 0) { - c[28038] = r | j; - O = m; - P = 112192 + (e + 2 << 2) | 0; - } else { - i = 112192 + (e + 2 << 2) | 0; - d = c[i >> 2] | 0; - if (d >>> 0 >= (c[28042] | 0) >>> 0) { - O = d; - P = i; - break; - } - av(); - return 0; - } - } while (0); - c[P >> 2] = k; - c[O + 12 >> 2] = k; - c[q + (g + 8) >> 2] = O; - c[q + (g + 12) >> 2] = m; - break; - } - e = p; - j = J >>> 8; - do { - if ((j | 0) == 0) { - Q = 0; - } else { - if (J >>> 0 > 16777215) { - Q = 31; - break; - } - r = (j + 1048320 | 0) >>> 16 & 8; - i = j << r; - d = (i + 520192 | 0) >>> 16 & 4; - B = i << d; - i = (B + 245760 | 0) >>> 16 & 2; - l = 14 - (d | r | i) + (B << i >>> 15) | 0; - Q = J >>> ((l + 7 | 0) >>> 0) & 1 | l << 1; - } - } while (0); - j = 112456 + (Q << 2) | 0; - c[q + (g + 28) >> 2] = Q; - c[q + (g + 20) >> 2] = 0; - c[q + (g + 16) >> 2] = 0; - m = c[28039] | 0; - l = 1 << Q; - if ((m & l | 0) == 0) { - c[28039] = m | l; - c[j >> 2] = e; - c[q + (g + 24) >> 2] = j; - c[q + (g + 12) >> 2] = e; - c[q + (g + 8) >> 2] = e; - break; - } - if ((Q | 0) == 31) { - R = 0; - } else { - R = 25 - (Q >>> 1) | 0; - } - l = J << R; - m = c[j >> 2] | 0; - while (1) { - if ((c[m + 4 >> 2] & -8 | 0) == (J | 0)) { - break; - } - S = m + 16 + (l >>> 31 << 2) | 0; - j = c[S >> 2] | 0; - if ((j | 0) == 0) { - T = 258; - break; - } else { - l = l << 1; - m = j; - } - } - if ((T | 0) == 258) { - if (S >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[S >> 2] = e; - c[q + (g + 24) >> 2] = m; - c[q + (g + 12) >> 2] = e; - c[q + (g + 8) >> 2] = e; - break; - } - } - l = m + 8 | 0; - j = c[l >> 2] | 0; - i = c[28042] | 0; - if (m >>> 0 < i >>> 0) { - av(); - return 0; - } - if (j >>> 0 < i >>> 0) { - av(); - return 0; - } else { - c[j + 12 >> 2] = e; - c[l >> 2] = e; - c[q + (g + 8) >> 2] = j; - c[q + (g + 12) >> 2] = m; - c[q + (g + 24) >> 2] = 0; - break; - } - } - } while (0); - q = K + 8 | 0; - if ((q | 0) == 0) { - o = g; - break; - } else { - n = q; - } - return n | 0; - } - } while (0); - K = c[28040] | 0; - if (o >>> 0 <= K >>> 0) { - S = K - o | 0; - J = c[28043] | 0; - if (S >>> 0 > 15) { - R = J; - c[28043] = R + o; - c[28040] = S; - c[R + (o + 4) >> 2] = S | 1; - c[R + K >> 2] = S; - c[J + 4 >> 2] = o | 3; - } else { - c[28040] = 0; - c[28043] = 0; - c[J + 4 >> 2] = K | 3; - S = J + (K + 4) | 0; - c[S >> 2] = c[S >> 2] | 1; - } - n = J + 8 | 0; - return n | 0; - } - J = c[28041] | 0; - if (o >>> 0 < J >>> 0) { - S = J - o | 0; - c[28041] = S; - J = c[28044] | 0; - K = J; - c[28044] = K + o; - c[K + (o + 4) >> 2] = S | 1; - c[J + 4 >> 2] = o | 3; - n = J + 8 | 0; - return n | 0; - } - do { - if ((c[28014] | 0) == 0) { - J = ar(8) | 0; - if ((J - 1 & J | 0) == 0) { - c[28016] = J; - c[28015] = J; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - return 0; - } - } - } while (0); - J = o + 48 | 0; - S = c[28016] | 0; - K = o + 47 | 0; - R = S + K | 0; - Q = -S | 0; - S = R & Q; - if (S >>> 0 <= o >>> 0) { - n = 0; - return n | 0; - } - O = c[28148] | 0; - do { - if ((O | 0) != 0) { - P = c[28146] | 0; - L = P + S | 0; - if (L >>> 0 <= P >>> 0 | L >>> 0 > O >>> 0) { - n = 0; - } else { - break; - } - return n | 0; - } - } while (0); - L399 : do { - if ((c[28149] & 4 | 0) == 0) { - O = c[28044] | 0; - L401 : do { - if ((O | 0) == 0) { - T = 288; - } else { - L = O; - P = 112600; - while (1) { - U = P | 0; - M = c[U >> 2] | 0; - if (M >>> 0 <= L >>> 0) { - V = P + 4 | 0; - if ((M + (c[V >> 2] | 0) | 0) >>> 0 > L >>> 0) { - break; - } - } - M = c[P + 8 >> 2] | 0; - if ((M | 0) == 0) { - T = 288; - break L401; - } else { - P = M; - } - } - if ((P | 0) == 0) { - T = 288; - break; - } - L = R - (c[28041] | 0) & Q; - if (L >>> 0 >= 2147483647) { - W = 0; - break; - } - m = aW(L | 0) | 0; - e = (m | 0) == ((c[U >> 2] | 0) + (c[V >> 2] | 0) | 0); - X = e ? m : -1; - Y = e ? L : 0; - Z = m; - _ = L; - T = 297; - } - } while (0); - do { - if ((T | 0) == 288) { - O = aW(0) | 0; - if ((O | 0) == -1) { - W = 0; - break; - } - g = O; - L = c[28015] | 0; - m = L - 1 | 0; - if ((m & g | 0) == 0) { - $ = S; - } else { - $ = S - g + (m + g & -L) | 0; - } - L = c[28146] | 0; - g = L + $ | 0; - if (!($ >>> 0 > o >>> 0 & $ >>> 0 < 2147483647)) { - W = 0; - break; - } - m = c[28148] | 0; - if ((m | 0) != 0) { - if (g >>> 0 <= L >>> 0 | g >>> 0 > m >>> 0) { - W = 0; - break; - } - } - m = aW($ | 0) | 0; - g = (m | 0) == (O | 0); - X = g ? O : -1; - Y = g ? $ : 0; - Z = m; - _ = $; - T = 297; - } - } while (0); - L421 : do { - if ((T | 0) == 297) { - m = -_ | 0; - if ((X | 0) != -1) { - aa = Y; - ab = X; - T = 308; - break L399; - } - do { - if ((Z | 0) != -1 & _ >>> 0 < 2147483647 & _ >>> 0 < J >>> 0) { - g = c[28016] | 0; - O = K - _ + g & -g; - if (O >>> 0 >= 2147483647) { - ac = _; - break; - } - if ((aW(O | 0) | 0) == -1) { - aW(m | 0) | 0; - W = Y; - break L421; - } else { - ac = O + _ | 0; - break; - } - } else { - ac = _; - } - } while (0); - if ((Z | 0) == -1) { - W = Y; - } else { - aa = ac; - ab = Z; - T = 308; - break L399; - } - } - } while (0); - c[28149] = c[28149] | 4; - ad = W; - T = 305; - } else { - ad = 0; - T = 305; - } - } while (0); - do { - if ((T | 0) == 305) { - if (S >>> 0 >= 2147483647) { - break; - } - W = aW(S | 0) | 0; - Z = aW(0) | 0; - if (!((Z | 0) != -1 & (W | 0) != -1 & W >>> 0 < Z >>> 0)) { - break; - } - ac = Z - W | 0; - Z = ac >>> 0 > (o + 40 | 0) >>> 0; - Y = Z ? W : -1; - if ((Y | 0) != -1) { - aa = Z ? ac : ad; - ab = Y; - T = 308; - } - } - } while (0); - do { - if ((T | 0) == 308) { - ad = (c[28146] | 0) + aa | 0; - c[28146] = ad; - if (ad >>> 0 > (c[28147] | 0) >>> 0) { - c[28147] = ad; - } - ad = c[28044] | 0; - L441 : do { - if ((ad | 0) == 0) { - S = c[28042] | 0; - if ((S | 0) == 0 | ab >>> 0 < S >>> 0) { - c[28042] = ab; - } - c[28150] = ab; - c[28151] = aa; - c[28153] = 0; - c[28047] = c[28014]; - c[28046] = -1; - S = 0; - do { - Y = S << 1; - ac = 112192 + (Y << 2) | 0; - c[112192 + (Y + 3 << 2) >> 2] = ac; - c[112192 + (Y + 2 << 2) >> 2] = ac; - S = S + 1 | 0; - } while (S >>> 0 < 32); - S = ab + 8 | 0; - if ((S & 7 | 0) == 0) { - ae = 0; - } else { - ae = -S & 7; - } - S = aa - 40 - ae | 0; - c[28044] = ab + ae; - c[28041] = S; - c[ab + (ae + 4) >> 2] = S | 1; - c[ab + (aa - 36) >> 2] = 40; - c[28045] = c[28018]; - } else { - S = 112600; - while (1) { - af = c[S >> 2] | 0; - ag = S + 4 | 0; - ah = c[ag >> 2] | 0; - if ((ab | 0) == (af + ah | 0)) { - T = 320; - break; - } - ac = c[S + 8 >> 2] | 0; - if ((ac | 0) == 0) { - break; - } else { - S = ac; - } - } - do { - if ((T | 0) == 320) { - if ((c[S + 12 >> 2] & 8 | 0) != 0) { - break; - } - ac = ad; - if (!(ac >>> 0 >= af >>> 0 & ac >>> 0 < ab >>> 0)) { - break; - } - c[ag >> 2] = ah + aa; - ac = c[28044] | 0; - Y = (c[28041] | 0) + aa | 0; - Z = ac; - W = ac + 8 | 0; - if ((W & 7 | 0) == 0) { - ai = 0; - } else { - ai = -W & 7; - } - W = Y - ai | 0; - c[28044] = Z + ai; - c[28041] = W; - c[Z + (ai + 4) >> 2] = W | 1; - c[Z + (Y + 4) >> 2] = 40; - c[28045] = c[28018]; - break L441; - } - } while (0); - if (ab >>> 0 < (c[28042] | 0) >>> 0) { - c[28042] = ab; - } - S = ab + aa | 0; - Y = 112600; - while (1) { - aj = Y | 0; - if ((c[aj >> 2] | 0) == (S | 0)) { - T = 330; - break; - } - Z = c[Y + 8 >> 2] | 0; - if ((Z | 0) == 0) { - break; - } else { - Y = Z; - } - } - do { - if ((T | 0) == 330) { - if ((c[Y + 12 >> 2] & 8 | 0) != 0) { - break; - } - c[aj >> 2] = ab; - S = Y + 4 | 0; - c[S >> 2] = (c[S >> 2] | 0) + aa; - S = ab + 8 | 0; - if ((S & 7 | 0) == 0) { - ak = 0; - } else { - ak = -S & 7; - } - S = ab + (aa + 8) | 0; - if ((S & 7 | 0) == 0) { - al = 0; - } else { - al = -S & 7; - } - S = ab + (al + aa) | 0; - Z = S; - W = ak + o | 0; - ac = ab + W | 0; - _ = ac; - K = S - (ab + ak) - o | 0; - c[ab + (ak + 4) >> 2] = o | 3; - do { - if ((Z | 0) == (c[28044] | 0)) { - J = (c[28041] | 0) + K | 0; - c[28041] = J; - c[28044] = _; - c[ab + (W + 4) >> 2] = J | 1; - } else { - if ((Z | 0) == (c[28043] | 0)) { - J = (c[28040] | 0) + K | 0; - c[28040] = J; - c[28043] = _; - c[ab + (W + 4) >> 2] = J | 1; - c[ab + (J + W) >> 2] = J; - break; - } - J = aa + 4 | 0; - X = c[ab + (J + al) >> 2] | 0; - if ((X & 3 | 0) == 1) { - $ = X & -8; - V = X >>> 3; - L486 : do { - if (X >>> 0 < 256) { - U = c[ab + ((al | 8) + aa) >> 2] | 0; - Q = c[ab + (aa + 12 + al) >> 2] | 0; - R = 112192 + (V << 1 << 2) | 0; - do { - if ((U | 0) != (R | 0)) { - if (U >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - if ((c[U + 12 >> 2] | 0) == (Z | 0)) { - break; - } - av(); - return 0; - } - } while (0); - if ((Q | 0) == (U | 0)) { - c[28038] = c[28038] & ~(1 << V); - break; - } - do { - if ((Q | 0) == (R | 0)) { - am = Q + 8 | 0; - } else { - if (Q >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - m = Q + 8 | 0; - if ((c[m >> 2] | 0) == (Z | 0)) { - am = m; - break; - } - av(); - return 0; - } - } while (0); - c[U + 12 >> 2] = Q; - c[am >> 2] = U; - } else { - R = S; - m = c[ab + ((al | 24) + aa) >> 2] | 0; - P = c[ab + (aa + 12 + al) >> 2] | 0; - do { - if ((P | 0) == (R | 0)) { - O = al | 16; - g = ab + (J + O) | 0; - L = c[g >> 2] | 0; - if ((L | 0) == 0) { - e = ab + (O + aa) | 0; - O = c[e >> 2] | 0; - if ((O | 0) == 0) { - an = 0; - break; - } else { - ao = O; - ap = e; - } - } else { - ao = L; - ap = g; - } - while (1) { - g = ao + 20 | 0; - L = c[g >> 2] | 0; - if ((L | 0) != 0) { - ao = L; - ap = g; - continue; - } - g = ao + 16 | 0; - L = c[g >> 2] | 0; - if ((L | 0) == 0) { - break; - } else { - ao = L; - ap = g; - } - } - if (ap >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[ap >> 2] = 0; - an = ao; - break; - } - } else { - g = c[ab + ((al | 8) + aa) >> 2] | 0; - if (g >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - L = g + 12 | 0; - if ((c[L >> 2] | 0) != (R | 0)) { - av(); - return 0; - } - e = P + 8 | 0; - if ((c[e >> 2] | 0) == (R | 0)) { - c[L >> 2] = P; - c[e >> 2] = g; - an = P; - break; - } else { - av(); - return 0; - } - } - } while (0); - if ((m | 0) == 0) { - break; - } - P = ab + (aa + 28 + al) | 0; - U = 112456 + (c[P >> 2] << 2) | 0; - do { - if ((R | 0) == (c[U >> 2] | 0)) { - c[U >> 2] = an; - if ((an | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[P >> 2]); - break L486; - } else { - if (m >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - Q = m + 16 | 0; - if ((c[Q >> 2] | 0) == (R | 0)) { - c[Q >> 2] = an; - } else { - c[m + 20 >> 2] = an; - } - if ((an | 0) == 0) { - break L486; - } - } - } while (0); - if (an >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - c[an + 24 >> 2] = m; - R = al | 16; - P = c[ab + (R + aa) >> 2] | 0; - do { - if ((P | 0) != 0) { - if (P >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[an + 16 >> 2] = P; - c[P + 24 >> 2] = an; - break; - } - } - } while (0); - P = c[ab + (J + R) >> 2] | 0; - if ((P | 0) == 0) { - break; - } - if (P >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[an + 20 >> 2] = P; - c[P + 24 >> 2] = an; - break; - } - } - } while (0); - aq = ab + (($ | al) + aa) | 0; - as = $ + K | 0; - } else { - aq = Z; - as = K; - } - J = aq + 4 | 0; - c[J >> 2] = c[J >> 2] & -2; - c[ab + (W + 4) >> 2] = as | 1; - c[ab + (as + W) >> 2] = as; - J = as >>> 3; - if (as >>> 0 < 256) { - V = J << 1; - X = 112192 + (V << 2) | 0; - P = c[28038] | 0; - m = 1 << J; - do { - if ((P & m | 0) == 0) { - c[28038] = P | m; - at = X; - au = 112192 + (V + 2 << 2) | 0; - } else { - J = 112192 + (V + 2 << 2) | 0; - U = c[J >> 2] | 0; - if (U >>> 0 >= (c[28042] | 0) >>> 0) { - at = U; - au = J; - break; - } - av(); - return 0; - } - } while (0); - c[au >> 2] = _; - c[at + 12 >> 2] = _; - c[ab + (W + 8) >> 2] = at; - c[ab + (W + 12) >> 2] = X; - break; - } - V = ac; - m = as >>> 8; - do { - if ((m | 0) == 0) { - aw = 0; - } else { - if (as >>> 0 > 16777215) { - aw = 31; - break; - } - P = (m + 1048320 | 0) >>> 16 & 8; - $ = m << P; - J = ($ + 520192 | 0) >>> 16 & 4; - U = $ << J; - $ = (U + 245760 | 0) >>> 16 & 2; - Q = 14 - (J | P | $) + (U << $ >>> 15) | 0; - aw = as >>> ((Q + 7 | 0) >>> 0) & 1 | Q << 1; - } - } while (0); - m = 112456 + (aw << 2) | 0; - c[ab + (W + 28) >> 2] = aw; - c[ab + (W + 20) >> 2] = 0; - c[ab + (W + 16) >> 2] = 0; - X = c[28039] | 0; - Q = 1 << aw; - if ((X & Q | 0) == 0) { - c[28039] = X | Q; - c[m >> 2] = V; - c[ab + (W + 24) >> 2] = m; - c[ab + (W + 12) >> 2] = V; - c[ab + (W + 8) >> 2] = V; - break; - } - if ((aw | 0) == 31) { - ax = 0; - } else { - ax = 25 - (aw >>> 1) | 0; - } - Q = as << ax; - X = c[m >> 2] | 0; - while (1) { - if ((c[X + 4 >> 2] & -8 | 0) == (as | 0)) { - break; - } - ay = X + 16 + (Q >>> 31 << 2) | 0; - m = c[ay >> 2] | 0; - if ((m | 0) == 0) { - T = 403; - break; - } else { - Q = Q << 1; - X = m; - } - } - if ((T | 0) == 403) { - if (ay >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[ay >> 2] = V; - c[ab + (W + 24) >> 2] = X; - c[ab + (W + 12) >> 2] = V; - c[ab + (W + 8) >> 2] = V; - break; - } - } - Q = X + 8 | 0; - m = c[Q >> 2] | 0; - $ = c[28042] | 0; - if (X >>> 0 < $ >>> 0) { - av(); - return 0; - } - if (m >>> 0 < $ >>> 0) { - av(); - return 0; - } else { - c[m + 12 >> 2] = V; - c[Q >> 2] = V; - c[ab + (W + 8) >> 2] = m; - c[ab + (W + 12) >> 2] = X; - c[ab + (W + 24) >> 2] = 0; - break; - } - } - } while (0); - n = ab + (ak | 8) | 0; - return n | 0; - } - } while (0); - Y = ad; - W = 112600; - while (1) { - az = c[W >> 2] | 0; - if (az >>> 0 <= Y >>> 0) { - aA = c[W + 4 >> 2] | 0; - aB = az + aA | 0; - if (aB >>> 0 > Y >>> 0) { - break; - } - } - W = c[W + 8 >> 2] | 0; - } - W = az + (aA - 39) | 0; - if ((W & 7 | 0) == 0) { - aC = 0; - } else { - aC = -W & 7; - } - W = az + (aA - 47 + aC) | 0; - ac = W >>> 0 < (ad + 16 | 0) >>> 0 ? Y : W; - W = ac + 8 | 0; - _ = ab + 8 | 0; - if ((_ & 7 | 0) == 0) { - aD = 0; - } else { - aD = -_ & 7; - } - _ = aa - 40 - aD | 0; - c[28044] = ab + aD; - c[28041] = _; - c[ab + (aD + 4) >> 2] = _ | 1; - c[ab + (aa - 36) >> 2] = 40; - c[28045] = c[28018]; - c[ac + 4 >> 2] = 27; - c[W >> 2] = c[28150]; - c[W + 4 >> 2] = c[112604 >> 2]; - c[W + 8 >> 2] = c[112608 >> 2]; - c[W + 12 >> 2] = c[112612 >> 2]; - c[28150] = ab; - c[28151] = aa; - c[28153] = 0; - c[28152] = W; - W = ac + 28 | 0; - c[W >> 2] = 7; - if ((ac + 32 | 0) >>> 0 < aB >>> 0) { - _ = W; - while (1) { - W = _ + 4 | 0; - c[W >> 2] = 7; - if ((_ + 8 | 0) >>> 0 < aB >>> 0) { - _ = W; - } else { - break; - } - } - } - if ((ac | 0) == (Y | 0)) { - break; - } - _ = ac - ad | 0; - W = Y + (_ + 4) | 0; - c[W >> 2] = c[W >> 2] & -2; - c[ad + 4 >> 2] = _ | 1; - c[Y + _ >> 2] = _; - W = _ >>> 3; - if (_ >>> 0 < 256) { - K = W << 1; - Z = 112192 + (K << 2) | 0; - S = c[28038] | 0; - m = 1 << W; - do { - if ((S & m | 0) == 0) { - c[28038] = S | m; - aE = Z; - aF = 112192 + (K + 2 << 2) | 0; - } else { - W = 112192 + (K + 2 << 2) | 0; - Q = c[W >> 2] | 0; - if (Q >>> 0 >= (c[28042] | 0) >>> 0) { - aE = Q; - aF = W; - break; - } - av(); - return 0; - } - } while (0); - c[aF >> 2] = ad; - c[aE + 12 >> 2] = ad; - c[ad + 8 >> 2] = aE; - c[ad + 12 >> 2] = Z; - break; - } - K = ad; - m = _ >>> 8; - do { - if ((m | 0) == 0) { - aG = 0; - } else { - if (_ >>> 0 > 16777215) { - aG = 31; - break; - } - S = (m + 1048320 | 0) >>> 16 & 8; - Y = m << S; - ac = (Y + 520192 | 0) >>> 16 & 4; - W = Y << ac; - Y = (W + 245760 | 0) >>> 16 & 2; - Q = 14 - (ac | S | Y) + (W << Y >>> 15) | 0; - aG = _ >>> ((Q + 7 | 0) >>> 0) & 1 | Q << 1; - } - } while (0); - m = 112456 + (aG << 2) | 0; - c[ad + 28 >> 2] = aG; - c[ad + 20 >> 2] = 0; - c[ad + 16 >> 2] = 0; - Z = c[28039] | 0; - Q = 1 << aG; - if ((Z & Q | 0) == 0) { - c[28039] = Z | Q; - c[m >> 2] = K; - c[ad + 24 >> 2] = m; - c[ad + 12 >> 2] = ad; - c[ad + 8 >> 2] = ad; - break; - } - if ((aG | 0) == 31) { - aH = 0; - } else { - aH = 25 - (aG >>> 1) | 0; - } - Q = _ << aH; - Z = c[m >> 2] | 0; - while (1) { - if ((c[Z + 4 >> 2] & -8 | 0) == (_ | 0)) { - break; - } - aI = Z + 16 + (Q >>> 31 << 2) | 0; - m = c[aI >> 2] | 0; - if ((m | 0) == 0) { - T = 438; - break; - } else { - Q = Q << 1; - Z = m; - } - } - if ((T | 0) == 438) { - if (aI >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[aI >> 2] = K; - c[ad + 24 >> 2] = Z; - c[ad + 12 >> 2] = ad; - c[ad + 8 >> 2] = ad; - break; - } - } - Q = Z + 8 | 0; - _ = c[Q >> 2] | 0; - m = c[28042] | 0; - if (Z >>> 0 < m >>> 0) { - av(); - return 0; - } - if (_ >>> 0 < m >>> 0) { - av(); - return 0; - } else { - c[_ + 12 >> 2] = K; - c[Q >> 2] = K; - c[ad + 8 >> 2] = _; - c[ad + 12 >> 2] = Z; - c[ad + 24 >> 2] = 0; - break; - } - } - } while (0); - ad = c[28041] | 0; - if (ad >>> 0 <= o >>> 0) { - break; - } - _ = ad - o | 0; - c[28041] = _; - ad = c[28044] | 0; - Q = ad; - c[28044] = Q + o; - c[Q + (o + 4) >> 2] = _ | 1; - c[ad + 4 >> 2] = o | 3; - n = ad + 8 | 0; - return n | 0; - } - } while (0); - c[(aY() | 0) >> 2] = 12; - n = 0; - return n | 0; -} -function eo(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0; - if ((a | 0) == 0) { - return; - } - b = a - 8 | 0; - d = b; - e = c[28042] | 0; - if (b >>> 0 < e >>> 0) { - av(); - } - f = c[a - 4 >> 2] | 0; - g = f & 3; - if ((g | 0) == 1) { - av(); - } - h = f & -8; - i = a + (h - 8) | 0; - j = i; - L658 : do { - if ((f & 1 | 0) == 0) { - k = c[b >> 2] | 0; - if ((g | 0) == 0) { - return; - } - l = -8 - k | 0; - m = a + l | 0; - n = m; - o = k + h | 0; - if (m >>> 0 < e >>> 0) { - av(); - } - if ((n | 0) == (c[28043] | 0)) { - p = a + (h - 4) | 0; - if ((c[p >> 2] & 3 | 0) != 3) { - q = n; - r = o; - break; - } - c[28040] = o; - c[p >> 2] = c[p >> 2] & -2; - c[a + (l + 4) >> 2] = o | 1; - c[i >> 2] = o; - return; - } - p = k >>> 3; - if (k >>> 0 < 256) { - k = c[a + (l + 8) >> 2] | 0; - s = c[a + (l + 12) >> 2] | 0; - t = 112192 + (p << 1 << 2) | 0; - do { - if ((k | 0) != (t | 0)) { - if (k >>> 0 < e >>> 0) { - av(); - } - if ((c[k + 12 >> 2] | 0) == (n | 0)) { - break; - } - av(); - } - } while (0); - if ((s | 0) == (k | 0)) { - c[28038] = c[28038] & ~(1 << p); - q = n; - r = o; - break; - } - do { - if ((s | 0) == (t | 0)) { - u = s + 8 | 0; - } else { - if (s >>> 0 < e >>> 0) { - av(); - } - v = s + 8 | 0; - if ((c[v >> 2] | 0) == (n | 0)) { - u = v; - break; - } - av(); - } - } while (0); - c[k + 12 >> 2] = s; - c[u >> 2] = k; - q = n; - r = o; - break; - } - t = m; - p = c[a + (l + 24) >> 2] | 0; - v = c[a + (l + 12) >> 2] | 0; - do { - if ((v | 0) == (t | 0)) { - w = a + (l + 20) | 0; - x = c[w >> 2] | 0; - if ((x | 0) == 0) { - y = a + (l + 16) | 0; - z = c[y >> 2] | 0; - if ((z | 0) == 0) { - A = 0; - break; - } else { - B = z; - C = y; - } - } else { - B = x; - C = w; - } - while (1) { - w = B + 20 | 0; - x = c[w >> 2] | 0; - if ((x | 0) != 0) { - B = x; - C = w; - continue; - } - w = B + 16 | 0; - x = c[w >> 2] | 0; - if ((x | 0) == 0) { - break; - } else { - B = x; - C = w; - } - } - if (C >>> 0 < e >>> 0) { - av(); - } else { - c[C >> 2] = 0; - A = B; - break; - } - } else { - w = c[a + (l + 8) >> 2] | 0; - if (w >>> 0 < e >>> 0) { - av(); - } - x = w + 12 | 0; - if ((c[x >> 2] | 0) != (t | 0)) { - av(); - } - y = v + 8 | 0; - if ((c[y >> 2] | 0) == (t | 0)) { - c[x >> 2] = v; - c[y >> 2] = w; - A = v; - break; - } else { - av(); - } - } - } while (0); - if ((p | 0) == 0) { - q = n; - r = o; - break; - } - v = a + (l + 28) | 0; - m = 112456 + (c[v >> 2] << 2) | 0; - do { - if ((t | 0) == (c[m >> 2] | 0)) { - c[m >> 2] = A; - if ((A | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[v >> 2]); - q = n; - r = o; - break L658; - } else { - if (p >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - k = p + 16 | 0; - if ((c[k >> 2] | 0) == (t | 0)) { - c[k >> 2] = A; - } else { - c[p + 20 >> 2] = A; - } - if ((A | 0) == 0) { - q = n; - r = o; - break L658; - } - } - } while (0); - if (A >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - c[A + 24 >> 2] = p; - t = c[a + (l + 16) >> 2] | 0; - do { - if ((t | 0) != 0) { - if (t >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[A + 16 >> 2] = t; - c[t + 24 >> 2] = A; - break; - } - } - } while (0); - t = c[a + (l + 20) >> 2] | 0; - if ((t | 0) == 0) { - q = n; - r = o; - break; - } - if (t >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[A + 20 >> 2] = t; - c[t + 24 >> 2] = A; - q = n; - r = o; - break; - } - } else { - q = d; - r = h; - } - } while (0); - d = q; - if (d >>> 0 >= i >>> 0) { - av(); - } - A = a + (h - 4) | 0; - e = c[A >> 2] | 0; - if ((e & 1 | 0) == 0) { - av(); - } - do { - if ((e & 2 | 0) == 0) { - if ((j | 0) == (c[28044] | 0)) { - B = (c[28041] | 0) + r | 0; - c[28041] = B; - c[28044] = q; - c[q + 4 >> 2] = B | 1; - if ((q | 0) == (c[28043] | 0)) { - c[28043] = 0; - c[28040] = 0; - } - if (B >>> 0 <= (c[28045] | 0) >>> 0) { - return; - } - eu(0) | 0; - return; - } - if ((j | 0) == (c[28043] | 0)) { - B = (c[28040] | 0) + r | 0; - c[28040] = B; - c[28043] = q; - c[q + 4 >> 2] = B | 1; - c[d + B >> 2] = B; - return; - } - B = (e & -8) + r | 0; - C = e >>> 3; - L764 : do { - if (e >>> 0 < 256) { - u = c[a + h >> 2] | 0; - g = c[a + (h | 4) >> 2] | 0; - b = 112192 + (C << 1 << 2) | 0; - do { - if ((u | 0) != (b | 0)) { - if (u >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - if ((c[u + 12 >> 2] | 0) == (j | 0)) { - break; - } - av(); - } - } while (0); - if ((g | 0) == (u | 0)) { - c[28038] = c[28038] & ~(1 << C); - break; - } - do { - if ((g | 0) == (b | 0)) { - D = g + 8 | 0; - } else { - if (g >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - f = g + 8 | 0; - if ((c[f >> 2] | 0) == (j | 0)) { - D = f; - break; - } - av(); - } - } while (0); - c[u + 12 >> 2] = g; - c[D >> 2] = u; - } else { - b = i; - f = c[a + (h + 16) >> 2] | 0; - t = c[a + (h | 4) >> 2] | 0; - do { - if ((t | 0) == (b | 0)) { - p = a + (h + 12) | 0; - v = c[p >> 2] | 0; - if ((v | 0) == 0) { - m = a + (h + 8) | 0; - k = c[m >> 2] | 0; - if ((k | 0) == 0) { - E = 0; - break; - } else { - F = k; - G = m; - } - } else { - F = v; - G = p; - } - while (1) { - p = F + 20 | 0; - v = c[p >> 2] | 0; - if ((v | 0) != 0) { - F = v; - G = p; - continue; - } - p = F + 16 | 0; - v = c[p >> 2] | 0; - if ((v | 0) == 0) { - break; - } else { - F = v; - G = p; - } - } - if (G >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[G >> 2] = 0; - E = F; - break; - } - } else { - p = c[a + h >> 2] | 0; - if (p >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - v = p + 12 | 0; - if ((c[v >> 2] | 0) != (b | 0)) { - av(); - } - m = t + 8 | 0; - if ((c[m >> 2] | 0) == (b | 0)) { - c[v >> 2] = t; - c[m >> 2] = p; - E = t; - break; - } else { - av(); - } - } - } while (0); - if ((f | 0) == 0) { - break; - } - t = a + (h + 20) | 0; - u = 112456 + (c[t >> 2] << 2) | 0; - do { - if ((b | 0) == (c[u >> 2] | 0)) { - c[u >> 2] = E; - if ((E | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[t >> 2]); - break L764; - } else { - if (f >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - g = f + 16 | 0; - if ((c[g >> 2] | 0) == (b | 0)) { - c[g >> 2] = E; - } else { - c[f + 20 >> 2] = E; - } - if ((E | 0) == 0) { - break L764; - } - } - } while (0); - if (E >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - c[E + 24 >> 2] = f; - b = c[a + (h + 8) >> 2] | 0; - do { - if ((b | 0) != 0) { - if (b >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[E + 16 >> 2] = b; - c[b + 24 >> 2] = E; - break; - } - } - } while (0); - b = c[a + (h + 12) >> 2] | 0; - if ((b | 0) == 0) { - break; - } - if (b >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[E + 20 >> 2] = b; - c[b + 24 >> 2] = E; - break; - } - } - } while (0); - c[q + 4 >> 2] = B | 1; - c[d + B >> 2] = B; - if ((q | 0) != (c[28043] | 0)) { - H = B; - break; - } - c[28040] = B; - return; - } else { - c[A >> 2] = e & -2; - c[q + 4 >> 2] = r | 1; - c[d + r >> 2] = r; - H = r; - } - } while (0); - r = H >>> 3; - if (H >>> 0 < 256) { - d = r << 1; - e = 112192 + (d << 2) | 0; - A = c[28038] | 0; - E = 1 << r; - do { - if ((A & E | 0) == 0) { - c[28038] = A | E; - I = e; - J = 112192 + (d + 2 << 2) | 0; - } else { - r = 112192 + (d + 2 << 2) | 0; - h = c[r >> 2] | 0; - if (h >>> 0 >= (c[28042] | 0) >>> 0) { - I = h; - J = r; - break; - } - av(); - } - } while (0); - c[J >> 2] = q; - c[I + 12 >> 2] = q; - c[q + 8 >> 2] = I; - c[q + 12 >> 2] = e; - return; - } - e = q; - I = H >>> 8; - do { - if ((I | 0) == 0) { - K = 0; - } else { - if (H >>> 0 > 16777215) { - K = 31; - break; - } - J = (I + 1048320 | 0) >>> 16 & 8; - d = I << J; - E = (d + 520192 | 0) >>> 16 & 4; - A = d << E; - d = (A + 245760 | 0) >>> 16 & 2; - r = 14 - (E | J | d) + (A << d >>> 15) | 0; - K = H >>> ((r + 7 | 0) >>> 0) & 1 | r << 1; - } - } while (0); - I = 112456 + (K << 2) | 0; - c[q + 28 >> 2] = K; - c[q + 20 >> 2] = 0; - c[q + 16 >> 2] = 0; - r = c[28039] | 0; - d = 1 << K; - do { - if ((r & d | 0) == 0) { - c[28039] = r | d; - c[I >> 2] = e; - c[q + 24 >> 2] = I; - c[q + 12 >> 2] = q; - c[q + 8 >> 2] = q; - } else { - if ((K | 0) == 31) { - L = 0; - } else { - L = 25 - (K >>> 1) | 0; - } - A = H << L; - J = c[I >> 2] | 0; - while (1) { - if ((c[J + 4 >> 2] & -8 | 0) == (H | 0)) { - break; - } - M = J + 16 + (A >>> 31 << 2) | 0; - E = c[M >> 2] | 0; - if ((E | 0) == 0) { - N = 617; - break; - } else { - A = A << 1; - J = E; - } - } - if ((N | 0) == 617) { - if (M >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[M >> 2] = e; - c[q + 24 >> 2] = J; - c[q + 12 >> 2] = q; - c[q + 8 >> 2] = q; - break; - } - } - A = J + 8 | 0; - B = c[A >> 2] | 0; - E = c[28042] | 0; - if (J >>> 0 < E >>> 0) { - av(); - } - if (B >>> 0 < E >>> 0) { - av(); - } else { - c[B + 12 >> 2] = e; - c[A >> 2] = e; - c[q + 8 >> 2] = B; - c[q + 12 >> 2] = J; - c[q + 24 >> 2] = 0; - break; - } - } - } while (0); - q = (c[28046] | 0) - 1 | 0; - c[28046] = q; - if ((q | 0) == 0) { - O = 112608; - } else { - return; - } - while (1) { - q = c[O >> 2] | 0; - if ((q | 0) == 0) { - break; - } else { - O = q + 8 | 0; - } - } - c[28046] = -1; - return; -} -function ep(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0; - do { - if ((a | 0) == 0) { - d = 0; - } else { - e = ad(b, a) | 0; - if ((b | a) >>> 0 <= 65535) { - d = e; - break; - } - d = ((e >>> 0) / (a >>> 0) | 0 | 0) == (b | 0) ? e : -1; - } - } while (0); - b = en(d) | 0; - if ((b | 0) == 0) { - return b | 0; - } - if ((c[b - 4 >> 2] & 3 | 0) == 0) { - return b | 0; - } - fm(b | 0, 0, d | 0); - return b | 0; -} -function eq(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0; - if ((a | 0) == 0) { - d = en(b) | 0; - return d | 0; - } - if (b >>> 0 > 4294967231) { - c[(aY() | 0) >> 2] = 12; - d = 0; - return d | 0; - } - if (b >>> 0 < 11) { - e = 16; - } else { - e = b + 11 & -8; - } - f = ev(a - 8 | 0, e) | 0; - if ((f | 0) != 0) { - d = f + 8 | 0; - return d | 0; - } - f = en(b) | 0; - if ((f | 0) == 0) { - d = 0; - return d | 0; - } - e = c[a - 4 >> 2] | 0; - g = (e & -8) - ((e & 3 | 0) == 0 ? 8 : 4) | 0; - e = g >>> 0 < b >>> 0 ? g : b; - fn(f | 0, a | 0, e) | 0; - eo(a); - d = f; - return d | 0; -} -function er(a, b) { - a = a | 0; - b = b | 0; - var d = 0; - if ((a | 0) == 0) { - return 0; - } - if (b >>> 0 > 4294967231) { - c[(aY() | 0) >> 2] = 12; - return 0; - } - if (b >>> 0 < 11) { - d = 16; - } else { - d = b + 11 & -8; - } - b = a - 8 | 0; - return ((ev(b, d) | 0) == (b | 0) ? a : 0) | 0; -} -function es(a, b) { - a = a | 0; - b = b | 0; - var c = 0; - if (a >>> 0 < 9) { - c = en(b) | 0; - return c | 0; - } else { - c = et(a, b) | 0; - return c | 0; - } - return 0; -} -function et(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; - d = a >>> 0 < 16 ? 16 : a; - if ((d - 1 & d | 0) == 0) { - e = d; - } else { - a = 16; - while (1) { - if (a >>> 0 < d >>> 0) { - a = a << 1; - } else { - e = a; - break; - } - } - } - if ((-64 - e | 0) >>> 0 <= b >>> 0) { - c[(aY() | 0) >> 2] = 12; - f = 0; - return f | 0; - } - if (b >>> 0 < 11) { - g = 16; - } else { - g = b + 11 & -8; - } - b = en(e + 12 + g | 0) | 0; - if ((b | 0) == 0) { - f = 0; - return f | 0; - } - a = b - 8 | 0; - d = a; - h = e - 1 | 0; - do { - if ((b & h | 0) == 0) { - i = d; - } else { - j = b + h & -e; - k = j - 8 | 0; - l = a; - if ((k - l | 0) >>> 0 > 15) { - m = k; - } else { - m = j + (e - 8) | 0; - } - j = m; - k = m - l | 0; - l = b - 4 | 0; - n = c[l >> 2] | 0; - o = (n & -8) - k | 0; - if ((n & 3 | 0) == 0) { - c[m >> 2] = (c[a >> 2] | 0) + k; - c[m + 4 >> 2] = o; - i = j; - break; - } else { - n = m + 4 | 0; - c[n >> 2] = o | c[n >> 2] & 1 | 2; - n = m + (o + 4) | 0; - c[n >> 2] = c[n >> 2] | 1; - c[l >> 2] = k | c[l >> 2] & 1 | 2; - l = b + (k - 4) | 0; - c[l >> 2] = c[l >> 2] | 1; - eN(d, k); - i = j; - break; - } - } - } while (0); - d = i + 4 | 0; - b = c[d >> 2] | 0; - do { - if ((b & 3 | 0) != 0) { - m = b & -8; - if (m >>> 0 <= (g + 16 | 0) >>> 0) { - break; - } - a = m - g | 0; - e = i; - c[d >> 2] = g | b & 1 | 2; - c[e + (g | 4) >> 2] = a | 3; - h = e + (m | 4) | 0; - c[h >> 2] = c[h >> 2] | 1; - eN(e + g | 0, a); - } - } while (0); - f = i + 8 | 0; - return f | 0; -} -function eu(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; - do { - if ((c[28014] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[28016] = b; - c[28015] = b; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - return 0; - } - } - } while (0); - if (a >>> 0 >= 4294967232) { - d = 0; - return d | 0; - } - b = c[28044] | 0; - if ((b | 0) == 0) { - d = 0; - return d | 0; - } - e = c[28041] | 0; - do { - if (e >>> 0 > (a + 40 | 0) >>> 0) { - f = c[28016] | 0; - g = ad((((-40 - a - 1 + e + f | 0) >>> 0) / (f >>> 0) | 0) - 1 | 0, f) | 0; - h = b; - i = 112600; - while (1) { - j = c[i >> 2] | 0; - if (j >>> 0 <= h >>> 0) { - if ((j + (c[i + 4 >> 2] | 0) | 0) >>> 0 > h >>> 0) { - k = i; - break; - } - } - j = c[i + 8 >> 2] | 0; - if ((j | 0) == 0) { - k = 0; - break; - } else { - i = j; - } - } - if ((c[k + 12 >> 2] & 8 | 0) != 0) { - break; - } - i = aW(0) | 0; - h = k + 4 | 0; - if ((i | 0) != ((c[k >> 2] | 0) + (c[h >> 2] | 0) | 0)) { - break; - } - j = aW(-(g >>> 0 > 2147483646 ? -2147483648 - f | 0 : g) | 0) | 0; - l = aW(0) | 0; - if (!((j | 0) != -1 & l >>> 0 < i >>> 0)) { - break; - } - j = i - l | 0; - if ((i | 0) == (l | 0)) { - break; - } - c[h >> 2] = (c[h >> 2] | 0) - j; - c[28146] = (c[28146] | 0) - j; - h = c[28044] | 0; - m = (c[28041] | 0) - j | 0; - j = h; - n = h + 8 | 0; - if ((n & 7 | 0) == 0) { - o = 0; - } else { - o = -n & 7; - } - n = m - o | 0; - c[28044] = j + o; - c[28041] = n; - c[j + (o + 4) >> 2] = n | 1; - c[j + (m + 4) >> 2] = 40; - c[28045] = c[28018]; - d = (i | 0) != (l | 0) | 0; - return d | 0; - } - } while (0); - if ((c[28041] | 0) >>> 0 <= (c[28045] | 0) >>> 0) { - d = 0; - return d | 0; - } - c[28045] = -1; - d = 0; - return d | 0; -} -function ev(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0; - d = a + 4 | 0; - e = c[d >> 2] | 0; - f = e & -8; - g = a; - h = g + f | 0; - i = h; - j = c[28042] | 0; - if (g >>> 0 < j >>> 0) { - av(); - return 0; - } - k = e & 3; - if (!((k | 0) != 1 & g >>> 0 < h >>> 0)) { - av(); - return 0; - } - l = g + (f | 4) | 0; - m = c[l >> 2] | 0; - if ((m & 1 | 0) == 0) { - av(); - return 0; - } - if ((k | 0) == 0) { - if (b >>> 0 < 256) { - n = 0; - return n | 0; - } - do { - if (f >>> 0 >= (b + 4 | 0) >>> 0) { - if ((f - b | 0) >>> 0 > c[28016] << 1 >>> 0) { - break; - } else { - n = a; - } - return n | 0; - } - } while (0); - n = 0; - return n | 0; - } - if (f >>> 0 >= b >>> 0) { - k = f - b | 0; - if (k >>> 0 <= 15) { - n = a; - return n | 0; - } - c[d >> 2] = e & 1 | b | 2; - c[g + (b + 4) >> 2] = k | 3; - c[l >> 2] = c[l >> 2] | 1; - eN(g + b | 0, k); - n = a; - return n | 0; - } - if ((i | 0) == (c[28044] | 0)) { - k = (c[28041] | 0) + f | 0; - if (k >>> 0 <= b >>> 0) { - n = 0; - return n | 0; - } - l = k - b | 0; - c[d >> 2] = e & 1 | b | 2; - c[g + (b + 4) >> 2] = l | 1; - c[28044] = g + b; - c[28041] = l; - n = a; - return n | 0; - } - if ((i | 0) == (c[28043] | 0)) { - l = (c[28040] | 0) + f | 0; - if (l >>> 0 < b >>> 0) { - n = 0; - return n | 0; - } - k = l - b | 0; - if (k >>> 0 > 15) { - c[d >> 2] = e & 1 | b | 2; - c[g + (b + 4) >> 2] = k | 1; - c[g + l >> 2] = k; - o = g + (l + 4) | 0; - c[o >> 2] = c[o >> 2] & -2; - p = g + b | 0; - q = k; - } else { - c[d >> 2] = e & 1 | l | 2; - e = g + (l + 4) | 0; - c[e >> 2] = c[e >> 2] | 1; - p = 0; - q = 0; - } - c[28040] = q; - c[28043] = p; - n = a; - return n | 0; - } - if ((m & 2 | 0) != 0) { - n = 0; - return n | 0; - } - p = (m & -8) + f | 0; - if (p >>> 0 < b >>> 0) { - n = 0; - return n | 0; - } - q = p - b | 0; - e = m >>> 3; - L1042 : do { - if (m >>> 0 < 256) { - l = c[g + (f + 8) >> 2] | 0; - k = c[g + (f + 12) >> 2] | 0; - o = 112192 + (e << 1 << 2) | 0; - do { - if ((l | 0) != (o | 0)) { - if (l >>> 0 < j >>> 0) { - av(); - return 0; - } - if ((c[l + 12 >> 2] | 0) == (i | 0)) { - break; - } - av(); - return 0; - } - } while (0); - if ((k | 0) == (l | 0)) { - c[28038] = c[28038] & ~(1 << e); - break; - } - do { - if ((k | 0) == (o | 0)) { - r = k + 8 | 0; - } else { - if (k >>> 0 < j >>> 0) { - av(); - return 0; - } - s = k + 8 | 0; - if ((c[s >> 2] | 0) == (i | 0)) { - r = s; - break; - } - av(); - return 0; - } - } while (0); - c[l + 12 >> 2] = k; - c[r >> 2] = l; - } else { - o = h; - s = c[g + (f + 24) >> 2] | 0; - t = c[g + (f + 12) >> 2] | 0; - do { - if ((t | 0) == (o | 0)) { - u = g + (f + 20) | 0; - v = c[u >> 2] | 0; - if ((v | 0) == 0) { - w = g + (f + 16) | 0; - x = c[w >> 2] | 0; - if ((x | 0) == 0) { - y = 0; - break; - } else { - z = x; - A = w; - } - } else { - z = v; - A = u; - } - while (1) { - u = z + 20 | 0; - v = c[u >> 2] | 0; - if ((v | 0) != 0) { - z = v; - A = u; - continue; - } - u = z + 16 | 0; - v = c[u >> 2] | 0; - if ((v | 0) == 0) { - break; - } else { - z = v; - A = u; - } - } - if (A >>> 0 < j >>> 0) { - av(); - return 0; - } else { - c[A >> 2] = 0; - y = z; - break; - } - } else { - u = c[g + (f + 8) >> 2] | 0; - if (u >>> 0 < j >>> 0) { - av(); - return 0; - } - v = u + 12 | 0; - if ((c[v >> 2] | 0) != (o | 0)) { - av(); - return 0; - } - w = t + 8 | 0; - if ((c[w >> 2] | 0) == (o | 0)) { - c[v >> 2] = t; - c[w >> 2] = u; - y = t; - break; - } else { - av(); - return 0; - } - } - } while (0); - if ((s | 0) == 0) { - break; - } - t = g + (f + 28) | 0; - l = 112456 + (c[t >> 2] << 2) | 0; - do { - if ((o | 0) == (c[l >> 2] | 0)) { - c[l >> 2] = y; - if ((y | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[t >> 2]); - break L1042; - } else { - if (s >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - k = s + 16 | 0; - if ((c[k >> 2] | 0) == (o | 0)) { - c[k >> 2] = y; - } else { - c[s + 20 >> 2] = y; - } - if ((y | 0) == 0) { - break L1042; - } - } - } while (0); - if (y >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - c[y + 24 >> 2] = s; - o = c[g + (f + 16) >> 2] | 0; - do { - if ((o | 0) != 0) { - if (o >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[y + 16 >> 2] = o; - c[o + 24 >> 2] = y; - break; - } - } - } while (0); - o = c[g + (f + 20) >> 2] | 0; - if ((o | 0) == 0) { - break; - } - if (o >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[y + 20 >> 2] = o; - c[o + 24 >> 2] = y; - break; - } - } - } while (0); - if (q >>> 0 < 16) { - c[d >> 2] = p | c[d >> 2] & 1 | 2; - y = g + (p | 4) | 0; - c[y >> 2] = c[y >> 2] | 1; - n = a; - return n | 0; - } else { - c[d >> 2] = c[d >> 2] & 1 | b | 2; - c[g + (b + 4) >> 2] = q | 3; - d = g + (p | 4) | 0; - c[d >> 2] = c[d >> 2] | 1; - eN(g + b | 0, q); - n = a; - return n | 0; - } - return 0; -} -function ew() { - return c[28146] | 0; -} -function ex() { - return c[28147] | 0; -} -function ey() { - var a = 0; - a = c[28148] | 0; - return ((a | 0) == 0 ? -1 : a) | 0; -} -function ez(a) { - a = a | 0; - var b = 0, d = 0; - if ((a | 0) == -1) { - b = 0; - } else { - d = c[28016] | 0; - b = a - 1 + d & -d; - } - c[28148] = b; - return b | 0; -} -function eA(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - do { - if ((a | 0) == 0) { - b = 0; - } else { - d = c[a - 4 >> 2] | 0; - e = d & 3; - if ((e | 0) == 1) { - b = 0; - break; - } - b = (d & -8) - ((e | 0) == 0 ? 8 : 4) | 0; - } - } while (0); - return b | 0; -} -function eB(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - do { - if ((b | 0) == 8) { - e = en(d) | 0; - } else { - f = b >>> 2; - if ((b & 3 | 0) != 0 | (f | 0) == 0) { - g = 22; - return g | 0; - } - if ((f + 1073741823 & f | 0) != 0) { - g = 22; - return g | 0; - } - if ((-64 - b | 0) >>> 0 < d >>> 0) { - g = 12; - return g | 0; - } else { - e = et(b >>> 0 < 16 ? 16 : b, d) | 0; - break; - } - } - } while (0); - if ((e | 0) == 0) { - g = 12; - return g | 0; - } - c[a >> 2] = e; - g = 0; - return g | 0; -} -function eC(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = i; - i = i + 8 | 0; - f = e | 0; - c[f >> 2] = b; - b = eG(a, f, 3, d) | 0; - i = e; - return b | 0; -} -function eD(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return eG(a, b, 0, c) | 0; -} -function eE(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - if ((c[28014] | 0) != 0) { - b = c[28015] | 0; - d = es(b, a) | 0; - return d | 0; - } - e = ar(8) | 0; - if ((e - 1 & e | 0) != 0) { - av(); - return 0; - } - c[28016] = e; - c[28015] = e; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - b = c[28015] | 0; - d = es(b, a) | 0; - return d | 0; -} -function eF(a) { - a = a | 0; - var b = 0; - do { - if ((c[28014] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[28016] = b; - c[28015] = b; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - return 0; - } - } - } while (0); - b = c[28015] | 0; - return es(b, a - 1 + b & -b) | 0; -} -function eG(a, b, d, e) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; - do { - if ((c[28014] | 0) == 0) { - f = ar(8) | 0; - if ((f - 1 & f | 0) == 0) { - c[28016] = f; - c[28015] = f; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - return 0; - } - } - } while (0); - f = (a | 0) == 0; - do { - if ((e | 0) == 0) { - if (f) { - g = en(0) | 0; - return g | 0; - } else { - h = a << 2; - if (h >>> 0 < 11) { - i = 0; - j = 16; - break; - } - i = 0; - j = h + 11 & -8; - break; - } - } else { - if (f) { - g = e; - } else { - i = e; - j = 0; - break; - } - return g | 0; - } - } while (0); - do { - if ((d & 1 | 0) == 0) { - if (f) { - k = 0; - l = 0; - break; - } else { - m = 0; - n = 0; - } - while (1) { - e = c[b + (n << 2) >> 2] | 0; - if (e >>> 0 < 11) { - o = 16; - } else { - o = e + 11 & -8; - } - e = o + m | 0; - h = n + 1 | 0; - if ((h | 0) == (a | 0)) { - k = 0; - l = e; - break; - } else { - m = e; - n = h; - } - } - } else { - h = c[b >> 2] | 0; - if (h >>> 0 < 11) { - p = 16; - } else { - p = h + 11 & -8; - } - k = p; - l = ad(p, a) | 0; - } - } while (0); - p = en(j - 4 + l | 0) | 0; - if ((p | 0) == 0) { - g = 0; - return g | 0; - } - n = p - 8 | 0; - m = c[p - 4 >> 2] & -8; - if ((d & 2 | 0) != 0) { - fm(p | 0, 0, -4 - j + m | 0); - } - if ((i | 0) == 0) { - c[p + (l - 4) >> 2] = m - l | 3; - q = p + l | 0; - r = l; - } else { - q = i; - r = m; - } - c[q >> 2] = p; - p = a - 1 | 0; - L1202 : do { - if ((p | 0) == 0) { - s = n; - t = r; - } else { - if ((k | 0) == 0) { - u = n; - v = r; - w = 0; - } else { - a = n; - m = r; - i = 0; - while (1) { - l = m - k | 0; - c[a + 4 >> 2] = k | 3; - j = a + k | 0; - d = i + 1 | 0; - c[q + (d << 2) >> 2] = a + (k + 8); - if ((d | 0) == (p | 0)) { - s = j; - t = l; - break L1202; - } else { - a = j; - m = l; - i = d; - } - } - } - while (1) { - i = c[b + (w << 2) >> 2] | 0; - if (i >>> 0 < 11) { - x = 16; - } else { - x = i + 11 & -8; - } - i = v - x | 0; - c[u + 4 >> 2] = x | 3; - m = u + x | 0; - a = w + 1 | 0; - c[q + (a << 2) >> 2] = u + (x + 8); - if ((a | 0) == (p | 0)) { - s = m; - t = i; - break; - } else { - u = m; - v = i; - w = a; - } - } - } - } while (0); - c[s + 4 >> 2] = t | 3; - g = q; - return g | 0; -} -function eH(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; - d = a + (b << 2) | 0; - L1215 : do { - if ((b | 0) != 0) { - e = a; - L1216 : while (1) { - f = c[e >> 2] | 0; - L1218 : do { - if ((f | 0) == 0) { - g = e + 4 | 0; - } else { - h = f - 8 | 0; - i = h; - j = f - 4 | 0; - k = c[j >> 2] & -8; - c[e >> 2] = 0; - if (h >>> 0 < (c[28042] | 0) >>> 0) { - l = 932; - break L1216; - } - h = c[j >> 2] | 0; - if ((h & 3 | 0) == 1) { - l = 931; - break L1216; - } - m = e + 4 | 0; - n = h - 8 & -8; - do { - if ((m | 0) != (d | 0)) { - if ((c[m >> 2] | 0) != (f + (n + 8) | 0)) { - break; - } - o = (c[f + (n | 4) >> 2] & -8) + k | 0; - c[j >> 2] = h & 1 | o | 2; - p = f + (o - 4) | 0; - c[p >> 2] = c[p >> 2] | 1; - c[m >> 2] = f; - g = m; - break L1218; - } - } while (0); - eN(i, k); - g = m; - } - } while (0); - if ((g | 0) == (d | 0)) { - break L1215; - } else { - e = g; - } - } - if ((l | 0) == 932) { - av(); - return 0; - } else if ((l | 0) == 931) { - av(); - return 0; - } - } - } while (0); - if ((c[28041] | 0) >>> 0 <= (c[28045] | 0) >>> 0) { - return 0; - } - eu(0) | 0; - return 0; -} -function eI(a) { - a = a | 0; - var b = 0, d = 0; - if ((c[28014] | 0) != 0) { - b = eu(a) | 0; - return b | 0; - } - d = ar(8) | 0; - if ((d - 1 & d | 0) != 0) { - av(); - return 0; - } - c[28016] = d; - c[28015] = d; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - b = eu(a) | 0; - return b | 0; -} -function eJ(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0; - do { - if ((c[28014] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[28016] = b; - c[28015] = b; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - } - } - } while (0); - b = c[28044] | 0; - if ((b | 0) == 0) { - d = 0; - e = 0; - f = 0; - g = 0; - h = 0; - i = 0; - j = 0; - } else { - k = c[28041] | 0; - l = k + 40 | 0; - m = 1; - n = l; - o = l; - l = 112600; - while (1) { - p = c[l >> 2] | 0; - q = p + 8 | 0; - if ((q & 7 | 0) == 0) { - r = 0; - } else { - r = -q & 7; - } - q = p + (c[l + 4 >> 2] | 0) | 0; - s = m; - t = n; - u = o; - v = p + r | 0; - while (1) { - if (v >>> 0 >= q >>> 0 | (v | 0) == (b | 0)) { - w = s; - x = t; - y = u; - break; - } - z = c[v + 4 >> 2] | 0; - if ((z | 0) == 7) { - w = s; - x = t; - y = u; - break; - } - A = z & -8; - B = A + u | 0; - if ((z & 3 | 0) == 1) { - C = A + t | 0; - D = s + 1 | 0; - } else { - C = t; - D = s; - } - z = v + A | 0; - if (z >>> 0 < p >>> 0) { - w = D; - x = C; - y = B; - break; - } else { - s = D; - t = C; - u = B; - v = z; - } - } - v = c[l + 8 >> 2] | 0; - if ((v | 0) == 0) { - break; - } else { - m = w; - n = x; - o = y; - l = v; - } - } - l = c[28146] | 0; - d = k; - e = y; - f = w; - g = l - y | 0; - h = c[28147] | 0; - i = l - x | 0; - j = x; - } - c[a >> 2] = e; - c[a + 4 >> 2] = f; - f = a + 8 | 0; - c[f >> 2] = 0; - c[f + 4 >> 2] = 0; - c[a + 16 >> 2] = g; - c[a + 20 >> 2] = h; - c[a + 24 >> 2] = 0; - c[a + 28 >> 2] = i; - c[a + 32 >> 2] = j; - c[a + 36 >> 2] = d; - return; -} -function eK() { - var a = 0, b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, s = 0, t = 0, u = 0; - a = i; - do { - if ((c[28014] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[28016] = b; - c[28015] = b; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - } - } - } while (0); - b = c[28044] | 0; - if ((b | 0) == 0) { - d = 0; - e = 0; - f = 0; - } else { - g = c[28147] | 0; - h = c[28146] | 0; - j = h - 40 - (c[28041] | 0) | 0; - k = 112600; - while (1) { - l = c[k >> 2] | 0; - m = l + 8 | 0; - if ((m & 7 | 0) == 0) { - n = 0; - } else { - n = -m & 7; - } - m = l + (c[k + 4 >> 2] | 0) | 0; - o = j; - q = l + n | 0; - while (1) { - if (q >>> 0 >= m >>> 0 | (q | 0) == (b | 0)) { - r = o; - break; - } - s = c[q + 4 >> 2] | 0; - if ((s | 0) == 7) { - r = o; - break; - } - t = s & -8; - u = o - ((s & 3 | 0) == 1 ? t : 0) | 0; - s = q + t | 0; - if (s >>> 0 < l >>> 0) { - r = u; - break; - } else { - o = u; - q = s; - } - } - q = c[k + 8 >> 2] | 0; - if ((q | 0) == 0) { - d = r; - e = h; - f = g; - break; - } else { - j = r; - k = q; - } - } - } - aw(c[p >> 2] | 0, 111824, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; - aw(c[p >> 2] | 0, 111792, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; - aw(c[p >> 2] | 0, 111704, (y = i, i = i + 8 | 0, c[y >> 2] = d, y) | 0) | 0; - i = a; - return; -} -function eL(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0; - do { - if ((c[28014] | 0) == 0) { - d = ar(8) | 0; - if ((d - 1 & d | 0) == 0) { - c[28016] = d; - c[28015] = d; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - return 0; - } - } - } while (0); - if ((a | 0) == (-2 | 0)) { - if ((c[28015] | 0) >>> 0 > b >>> 0) { - e = 0; - return e | 0; - } - if ((b - 1 & b | 0) != 0) { - e = 0; - return e | 0; - } - c[28016] = b; - e = 1; - return e | 0; - } else if ((a | 0) == (-3 | 0)) { - c[28017] = b; - e = 1; - return e | 0; - } else if ((a | 0) == (-1 | 0)) { - c[28018] = b; - e = 1; - return e | 0; - } else { - e = 0; - return e | 0; - } - return 0; -} -function eM() { - return (F = c[28158] | 0, c[28158] = F + 0, F) | 0; -} -function eN(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0; - d = a; - e = d + b | 0; - f = e; - g = c[a + 4 >> 2] | 0; - L1311 : do { - if ((g & 1 | 0) == 0) { - h = c[a >> 2] | 0; - if ((g & 3 | 0) == 0) { - return; - } - i = d + (-h | 0) | 0; - j = i; - k = h + b | 0; - l = c[28042] | 0; - if (i >>> 0 < l >>> 0) { - av(); - } - if ((j | 0) == (c[28043] | 0)) { - m = d + (b + 4) | 0; - if ((c[m >> 2] & 3 | 0) != 3) { - n = j; - o = k; - break; - } - c[28040] = k; - c[m >> 2] = c[m >> 2] & -2; - c[d + (4 - h) >> 2] = k | 1; - c[e >> 2] = k; - return; - } - m = h >>> 3; - if (h >>> 0 < 256) { - p = c[d + (8 - h) >> 2] | 0; - q = c[d + (12 - h) >> 2] | 0; - r = 112192 + (m << 1 << 2) | 0; - do { - if ((p | 0) != (r | 0)) { - if (p >>> 0 < l >>> 0) { - av(); - } - if ((c[p + 12 >> 2] | 0) == (j | 0)) { - break; - } - av(); - } - } while (0); - if ((q | 0) == (p | 0)) { - c[28038] = c[28038] & ~(1 << m); - n = j; - o = k; - break; - } - do { - if ((q | 0) == (r | 0)) { - s = q + 8 | 0; - } else { - if (q >>> 0 < l >>> 0) { - av(); - } - t = q + 8 | 0; - if ((c[t >> 2] | 0) == (j | 0)) { - s = t; - break; - } - av(); - } - } while (0); - c[p + 12 >> 2] = q; - c[s >> 2] = p; - n = j; - o = k; - break; - } - r = i; - m = c[d + (24 - h) >> 2] | 0; - t = c[d + (12 - h) >> 2] | 0; - do { - if ((t | 0) == (r | 0)) { - u = 16 - h | 0; - v = d + (u + 4) | 0; - w = c[v >> 2] | 0; - if ((w | 0) == 0) { - x = d + u | 0; - u = c[x >> 2] | 0; - if ((u | 0) == 0) { - y = 0; - break; - } else { - z = u; - A = x; - } - } else { - z = w; - A = v; - } - while (1) { - v = z + 20 | 0; - w = c[v >> 2] | 0; - if ((w | 0) != 0) { - z = w; - A = v; - continue; - } - v = z + 16 | 0; - w = c[v >> 2] | 0; - if ((w | 0) == 0) { - break; - } else { - z = w; - A = v; - } - } - if (A >>> 0 < l >>> 0) { - av(); - } else { - c[A >> 2] = 0; - y = z; - break; - } - } else { - v = c[d + (8 - h) >> 2] | 0; - if (v >>> 0 < l >>> 0) { - av(); - } - w = v + 12 | 0; - if ((c[w >> 2] | 0) != (r | 0)) { - av(); - } - x = t + 8 | 0; - if ((c[x >> 2] | 0) == (r | 0)) { - c[w >> 2] = t; - c[x >> 2] = v; - y = t; - break; - } else { - av(); - } - } - } while (0); - if ((m | 0) == 0) { - n = j; - o = k; - break; - } - t = d + (28 - h) | 0; - l = 112456 + (c[t >> 2] << 2) | 0; - do { - if ((r | 0) == (c[l >> 2] | 0)) { - c[l >> 2] = y; - if ((y | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[t >> 2]); - n = j; - o = k; - break L1311; - } else { - if (m >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - i = m + 16 | 0; - if ((c[i >> 2] | 0) == (r | 0)) { - c[i >> 2] = y; - } else { - c[m + 20 >> 2] = y; - } - if ((y | 0) == 0) { - n = j; - o = k; - break L1311; - } - } - } while (0); - if (y >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - c[y + 24 >> 2] = m; - r = 16 - h | 0; - t = c[d + r >> 2] | 0; - do { - if ((t | 0) != 0) { - if (t >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[y + 16 >> 2] = t; - c[t + 24 >> 2] = y; - break; - } - } - } while (0); - t = c[d + (r + 4) >> 2] | 0; - if ((t | 0) == 0) { - n = j; - o = k; - break; - } - if (t >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[y + 20 >> 2] = t; - c[t + 24 >> 2] = y; - n = j; - o = k; - break; - } - } else { - n = a; - o = b; - } - } while (0); - a = c[28042] | 0; - if (e >>> 0 < a >>> 0) { - av(); - } - y = d + (b + 4) | 0; - z = c[y >> 2] | 0; - do { - if ((z & 2 | 0) == 0) { - if ((f | 0) == (c[28044] | 0)) { - A = (c[28041] | 0) + o | 0; - c[28041] = A; - c[28044] = n; - c[n + 4 >> 2] = A | 1; - if ((n | 0) != (c[28043] | 0)) { - return; - } - c[28043] = 0; - c[28040] = 0; - return; - } - if ((f | 0) == (c[28043] | 0)) { - A = (c[28040] | 0) + o | 0; - c[28040] = A; - c[28043] = n; - c[n + 4 >> 2] = A | 1; - c[n + A >> 2] = A; - return; - } - A = (z & -8) + o | 0; - s = z >>> 3; - L1410 : do { - if (z >>> 0 < 256) { - g = c[d + (b + 8) >> 2] | 0; - t = c[d + (b + 12) >> 2] | 0; - h = 112192 + (s << 1 << 2) | 0; - do { - if ((g | 0) != (h | 0)) { - if (g >>> 0 < a >>> 0) { - av(); - } - if ((c[g + 12 >> 2] | 0) == (f | 0)) { - break; - } - av(); - } - } while (0); - if ((t | 0) == (g | 0)) { - c[28038] = c[28038] & ~(1 << s); - break; - } - do { - if ((t | 0) == (h | 0)) { - B = t + 8 | 0; - } else { - if (t >>> 0 < a >>> 0) { - av(); - } - m = t + 8 | 0; - if ((c[m >> 2] | 0) == (f | 0)) { - B = m; - break; - } - av(); - } - } while (0); - c[g + 12 >> 2] = t; - c[B >> 2] = g; - } else { - h = e; - m = c[d + (b + 24) >> 2] | 0; - l = c[d + (b + 12) >> 2] | 0; - do { - if ((l | 0) == (h | 0)) { - i = d + (b + 20) | 0; - p = c[i >> 2] | 0; - if ((p | 0) == 0) { - q = d + (b + 16) | 0; - v = c[q >> 2] | 0; - if ((v | 0) == 0) { - C = 0; - break; - } else { - D = v; - E = q; - } - } else { - D = p; - E = i; - } - while (1) { - i = D + 20 | 0; - p = c[i >> 2] | 0; - if ((p | 0) != 0) { - D = p; - E = i; - continue; - } - i = D + 16 | 0; - p = c[i >> 2] | 0; - if ((p | 0) == 0) { - break; - } else { - D = p; - E = i; - } - } - if (E >>> 0 < a >>> 0) { - av(); - } else { - c[E >> 2] = 0; - C = D; - break; - } - } else { - i = c[d + (b + 8) >> 2] | 0; - if (i >>> 0 < a >>> 0) { - av(); - } - p = i + 12 | 0; - if ((c[p >> 2] | 0) != (h | 0)) { - av(); - } - q = l + 8 | 0; - if ((c[q >> 2] | 0) == (h | 0)) { - c[p >> 2] = l; - c[q >> 2] = i; - C = l; - break; - } else { - av(); - } - } - } while (0); - if ((m | 0) == 0) { - break; - } - l = d + (b + 28) | 0; - g = 112456 + (c[l >> 2] << 2) | 0; - do { - if ((h | 0) == (c[g >> 2] | 0)) { - c[g >> 2] = C; - if ((C | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[l >> 2]); - break L1410; - } else { - if (m >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - t = m + 16 | 0; - if ((c[t >> 2] | 0) == (h | 0)) { - c[t >> 2] = C; - } else { - c[m + 20 >> 2] = C; - } - if ((C | 0) == 0) { - break L1410; - } - } - } while (0); - if (C >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - c[C + 24 >> 2] = m; - h = c[d + (b + 16) >> 2] | 0; - do { - if ((h | 0) != 0) { - if (h >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[C + 16 >> 2] = h; - c[h + 24 >> 2] = C; - break; - } - } - } while (0); - h = c[d + (b + 20) >> 2] | 0; - if ((h | 0) == 0) { - break; - } - if (h >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[C + 20 >> 2] = h; - c[h + 24 >> 2] = C; - break; - } - } - } while (0); - c[n + 4 >> 2] = A | 1; - c[n + A >> 2] = A; - if ((n | 0) != (c[28043] | 0)) { - F = A; - break; - } - c[28040] = A; - return; - } else { - c[y >> 2] = z & -2; - c[n + 4 >> 2] = o | 1; - c[n + o >> 2] = o; - F = o; - } - } while (0); - o = F >>> 3; - if (F >>> 0 < 256) { - z = o << 1; - y = 112192 + (z << 2) | 0; - C = c[28038] | 0; - b = 1 << o; - do { - if ((C & b | 0) == 0) { - c[28038] = C | b; - G = y; - H = 112192 + (z + 2 << 2) | 0; - } else { - o = 112192 + (z + 2 << 2) | 0; - d = c[o >> 2] | 0; - if (d >>> 0 >= (c[28042] | 0) >>> 0) { - G = d; - H = o; - break; - } - av(); - } - } while (0); - c[H >> 2] = n; - c[G + 12 >> 2] = n; - c[n + 8 >> 2] = G; - c[n + 12 >> 2] = y; - return; - } - y = n; - G = F >>> 8; - do { - if ((G | 0) == 0) { - I = 0; - } else { - if (F >>> 0 > 16777215) { - I = 31; - break; - } - H = (G + 1048320 | 0) >>> 16 & 8; - z = G << H; - b = (z + 520192 | 0) >>> 16 & 4; - C = z << b; - z = (C + 245760 | 0) >>> 16 & 2; - o = 14 - (b | H | z) + (C << z >>> 15) | 0; - I = F >>> ((o + 7 | 0) >>> 0) & 1 | o << 1; - } - } while (0); - G = 112456 + (I << 2) | 0; - c[n + 28 >> 2] = I; - c[n + 20 >> 2] = 0; - c[n + 16 >> 2] = 0; - o = c[28039] | 0; - z = 1 << I; - if ((o & z | 0) == 0) { - c[28039] = o | z; - c[G >> 2] = y; - c[n + 24 >> 2] = G; - c[n + 12 >> 2] = n; - c[n + 8 >> 2] = n; - return; - } - if ((I | 0) == 31) { - J = 0; - } else { - J = 25 - (I >>> 1) | 0; - } - I = F << J; - J = c[G >> 2] | 0; - while (1) { - if ((c[J + 4 >> 2] & -8 | 0) == (F | 0)) { - break; - } - K = J + 16 + (I >>> 31 << 2) | 0; - G = c[K >> 2] | 0; - if ((G | 0) == 0) { - L = 1116; - break; - } else { - I = I << 1; - J = G; - } - } - if ((L | 0) == 1116) { - if (K >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - c[K >> 2] = y; - c[n + 24 >> 2] = J; - c[n + 12 >> 2] = n; - c[n + 8 >> 2] = n; - return; - } - K = J + 8 | 0; - L = c[K >> 2] | 0; - I = c[28042] | 0; - if (J >>> 0 < I >>> 0) { - av(); - } - if (L >>> 0 < I >>> 0) { - av(); - } - c[L + 12 >> 2] = y; - c[K >> 2] = y; - c[n + 8 >> 2] = L; - c[n + 12 >> 2] = J; - c[n + 24 >> 2] = 0; - return; -} -function eO(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - b = (a | 0) == 0 ? 1 : a; - while (1) { - d = en(b) | 0; - if ((d | 0) != 0) { - e = 1160; - break; - } - a = (F = c[28158] | 0, c[28158] = F + 0, F); - if ((a | 0) == 0) { - break; - } - a5[a & 1](); - } - if ((e | 0) == 1160) { - return d | 0; - } - d = aK(4) | 0; - c[d >> 2] = 111864; - as(d | 0, 111992, 6); - return 0; -} -function eP(a, b) { - a = a | 0; - b = b | 0; - return eO(a) | 0; -} -function eQ(a) { - a = a | 0; - return; -} -function eR(a) { - a = a | 0; - return 111664 | 0; -} -function eS(a) { - a = a | 0; - return 111752 | 0; -} -function eT(a) { - a = a | 0; - return (F = c[28158] | 0, c[28158] = a, F) | 0; -} -function eU(a) { - a = a | 0; - c[a >> 2] = 111864; - return; -} -function eV(a) { - a = a | 0; - c[a >> 2] = 111896; - return; -} -function eW(a) { - a = a | 0; - if ((a | 0) != 0) { - eo(a); - } - return; -} -function eX(a, b) { - a = a | 0; - b = b | 0; - eW(a); - return; -} -function eY(a) { - a = a | 0; - eW(a); - return; -} -function eZ(a, b) { - a = a | 0; - b = b | 0; - eY(a); - return; -} -function e_(a) { - a = a | 0; - eW(a); - return; -} -function e$(a) { - a = a | 0; - eW(a); - return; -} -function e0(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return e1(a, b, c, 0, 0, 0) | 0; -} -function e1(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0; - j = i; - if ((e | 0) == 0) { - k = -1; - i = j; - return k | 0; - } - l = c[80] | 0; - if ((l | 0) == 0) { - c[28006] = 1; - c[80] = 1; - m = 1; - n = 1; - o = 1186; - } else { - p = c[28006] | 0; - q = c[348] | 0; - if ((q | 0) == -1 | (p | 0) != 0) { - m = p; - n = l; - o = 1186; - } else { - r = q; - s = p; - t = l; - } - } - if ((o | 0) == 1186) { - l = (aQ(111648) | 0) != 0 | 0; - c[348] = l; - r = l; - s = m; - t = n; - } - n = a[e] | 0; - if (n << 24 >> 24 == 45) { - u = h | 2; - o = 1190; - } else { - m = (r | 0) != 0 | n << 24 >> 24 == 43 ? h & -2 : h; - if (n << 24 >> 24 == 43) { - u = m; - o = 1190; - } else { - v = e; - w = m; - } - } - if ((o | 0) == 1190) { - v = e + 1 | 0; - w = u; - } - c[28008] = 0; - if ((s | 0) == 0) { - x = t; - o = 1194; - } else { - c[86] = -1; - c[84] = -1; - z = t; - A = s; - o = 1193; - } - while (1) { - if ((o | 0) == 1193) { - o = 0; - if ((A | 0) == 0) { - x = z; - o = 1194; - continue; - } else { - B = z; - } - } else if ((o | 0) == 1194) { - o = 0; - s = c[76] | 0; - if ((a[s] | 0) == 0) { - B = x; - } else { - C = s; - D = x; - break; - } - } - c[28006] = 0; - if ((B | 0) >= (b | 0)) { - o = 1196; - break; - } - E = d + (B << 2) | 0; - F = c[E >> 2] | 0; - c[76] = F; - if ((a[F] | 0) == 45) { - G = F + 1 | 0; - H = a[G] | 0; - if (H << 24 >> 24 != 0) { - o = 1228; - break; - } - if ((aC(v | 0, 45) | 0) != 0) { - o = 1228; - break; - } - } - c[76] = 112144; - if ((w & 2 | 0) != 0) { - o = 1213; - break; - } - if ((w & 1 | 0) == 0) { - k = -1; - o = 1299; - break; - } - s = c[84] | 0; - do { - if ((s | 0) == -1) { - c[84] = B; - I = B; - J = 0; - } else { - t = c[86] | 0; - if ((t | 0) == -1) { - I = B; - J = 0; - break; - } - u = t - s | 0; - e = B - t | 0; - m = (u | 0) % (e | 0) | 0; - if ((m | 0) == 0) { - K = e; - } else { - n = e; - h = m; - while (1) { - m = (n | 0) % (h | 0) | 0; - if ((m | 0) == 0) { - K = h; - break; - } else { - n = h; - h = m; - } - } - } - h = (B - s | 0) / (K | 0) | 0; - do { - if ((K | 0) > 0) { - n = -u | 0; - if ((h | 0) > 0) { - L = 0; - } else { - M = B; - N = t; - O = s; - P = 0; - break; - } - do { - m = L + t | 0; - r = d + (m << 2) | 0; - l = 0; - p = m; - m = c[r >> 2] | 0; - while (1) { - q = ((p | 0) < (t | 0) ? e : n) + p | 0; - Q = d + (q << 2) | 0; - R = c[Q >> 2] | 0; - c[Q >> 2] = m; - c[r >> 2] = R; - Q = l + 1 | 0; - if ((Q | 0) < (h | 0)) { - l = Q; - p = q; - m = R; - } else { - break; - } - } - L = L + 1 | 0; - } while ((L | 0) < (K | 0)); - M = c[80] | 0; - N = c[86] | 0; - O = c[84] | 0; - P = c[28006] | 0; - } else { - M = B; - N = t; - O = s; - P = 0; - } - } while (0); - c[84] = M - N + O; - c[86] = -1; - I = M; - J = P; - } - } while (0); - s = I + 1 | 0; - c[80] = s; - z = s; - A = J; - o = 1193; - } - do { - if ((o | 0) == 1299) { - i = j; - return k | 0; - } else if ((o | 0) == 1196) { - c[76] = 112144; - J = c[86] | 0; - A = c[84] | 0; - do { - if ((J | 0) == -1) { - if ((A | 0) == -1) { - break; - } - c[80] = A; - } else { - z = J - A | 0; - I = B - J | 0; - P = (z | 0) % (I | 0) | 0; - if ((P | 0) == 0) { - S = I; - } else { - M = I; - O = P; - while (1) { - P = (M | 0) % (O | 0) | 0; - if ((P | 0) == 0) { - S = O; - break; - } else { - M = O; - O = P; - } - } - } - O = (B - A | 0) / (S | 0) | 0; - do { - if ((S | 0) > 0) { - M = -z | 0; - if ((O | 0) > 0) { - T = 0; - } else { - U = J; - V = A; - W = B; - break; - } - do { - P = T + J | 0; - N = d + (P << 2) | 0; - K = 0; - L = P; - P = c[N >> 2] | 0; - while (1) { - x = ((L | 0) < (J | 0) ? I : M) + L | 0; - s = d + (x << 2) | 0; - t = c[s >> 2] | 0; - c[s >> 2] = P; - c[N >> 2] = t; - s = K + 1 | 0; - if ((s | 0) < (O | 0)) { - K = s; - L = x; - P = t; - } else { - break; - } - } - T = T + 1 | 0; - } while ((T | 0) < (S | 0)); - U = c[86] | 0; - V = c[84] | 0; - W = c[80] | 0; - } else { - U = J; - V = A; - W = B; - } - } while (0); - c[80] = V - U + W; - } - } while (0); - c[86] = -1; - c[84] = -1; - k = -1; - i = j; - return k | 0; - } else if ((o | 0) == 1213) { - c[80] = B + 1; - c[28008] = c[E >> 2]; - k = 1; - i = j; - return k | 0; - } else if ((o | 0) == 1228) { - A = c[84] | 0; - J = c[86] | 0; - if ((A | 0) != -1 & (J | 0) == -1) { - c[86] = B; - X = a[G] | 0; - Y = B; - } else { - X = H; - Y = J; - } - if (X << 24 >> 24 == 0) { - C = F; - D = B; - break; - } - c[76] = G; - if ((a[G] | 0) != 45) { - C = G; - D = B; - break; - } - if ((a[F + 2 | 0] | 0) != 0) { - C = G; - D = B; - break; - } - J = B + 1 | 0; - c[80] = J; - c[76] = 112144; - if ((Y | 0) != -1) { - O = Y - A | 0; - I = J - Y | 0; - z = (O | 0) % (I | 0) | 0; - if ((z | 0) == 0) { - Z = I; - } else { - M = I; - P = z; - while (1) { - z = (M | 0) % (P | 0) | 0; - if ((z | 0) == 0) { - Z = P; - break; - } else { - M = P; - P = z; - } - } - } - P = (J - A | 0) / (Z | 0) | 0; - do { - if ((Z | 0) > 0) { - M = -O | 0; - if ((P | 0) > 0) { - _ = 0; - } else { - $ = Y; - aa = A; - ab = J; - break; - } - do { - z = _ + Y | 0; - L = d + (z << 2) | 0; - K = 0; - N = z; - z = c[L >> 2] | 0; - while (1) { - t = ((N | 0) < (Y | 0) ? I : M) + N | 0; - x = d + (t << 2) | 0; - s = c[x >> 2] | 0; - c[x >> 2] = z; - c[L >> 2] = s; - x = K + 1 | 0; - if ((x | 0) < (P | 0)) { - K = x; - N = t; - z = s; - } else { - break; - } - } - _ = _ + 1 | 0; - } while ((_ | 0) < (Z | 0)); - $ = c[86] | 0; - aa = c[84] | 0; - ab = c[80] | 0; - } else { - $ = Y; - aa = A; - ab = J; - } - } while (0); - c[80] = aa - $ + ab; - } - c[86] = -1; - c[84] = -1; - k = -1; - i = j; - return k | 0; - } - } while (0); - ab = (f | 0) != 0; - L1645 : do { - if (ab) { - if ((C | 0) == (c[d + (D << 2) >> 2] | 0)) { - ac = C; - break; - } - $ = a[C] | 0; - do { - if ($ << 24 >> 24 == 45) { - c[76] = C + 1; - ad = 0; - } else { - if ((w & 4 | 0) == 0) { - ac = C; - break L1645; - } - if ($ << 24 >> 24 == 58) { - ad = 0; - break; - } - ad = (aC(v | 0, $ << 24 >> 24 | 0) | 0) != 0 | 0; - } - } while (0); - $ = e7(d, v, f, g, ad) | 0; - if (($ | 0) == -1) { - ac = c[76] | 0; - break; - } - c[76] = 112144; - k = $; - i = j; - return k | 0; - } else { - ac = C; - } - } while (0); - C = ac + 1 | 0; - c[76] = C; - ad = a[ac] | 0; - ac = ad << 24 >> 24; - if ((ad << 24 >> 24 | 0) == 58) { - o = 1259; - } else if ((ad << 24 >> 24 | 0) == 45) { - if ((a[C] | 0) == 0) { - o = 1256; - } - } else { - o = 1256; - } - do { - if ((o | 0) == 1256) { - w = aC(v | 0, ac | 0) | 0; - if ((w | 0) == 0) { - if (ad << 24 >> 24 != 45) { - o = 1259; - break; - } - if ((a[C] | 0) == 0) { - k = -1; - } else { - break; - } - i = j; - return k | 0; - } - D = a[w + 1 | 0] | 0; - if (ab & ad << 24 >> 24 == 87 & D << 24 >> 24 == 59) { - do { - if ((a[C] | 0) == 0) { - $ = (c[80] | 0) + 1 | 0; - c[80] = $; - if (($ | 0) < (b | 0)) { - c[76] = c[d + ($ << 2) >> 2]; - break; - } - c[76] = 112144; - do { - if ((c[82] | 0) != 0) { - if ((a[v] | 0) == 58) { - break; - } - e9(192, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); - } - } while (0); - c[78] = ac; - k = (a[v] | 0) == 58 ? 58 : 63; - i = j; - return k | 0; - } - } while (0); - $ = e7(d, v, f, g, 0) | 0; - c[76] = 112144; - k = $; - i = j; - return k | 0; - } - if (D << 24 >> 24 != 58) { - if ((a[C] | 0) != 0) { - k = ac; - i = j; - return k | 0; - } - c[80] = (c[80] | 0) + 1; - k = ac; - i = j; - return k | 0; - } - c[28008] = 0; - do { - if ((a[C] | 0) == 0) { - if ((a[w + 2 | 0] | 0) == 58) { - break; - } - $ = (c[80] | 0) + 1 | 0; - c[80] = $; - if (($ | 0) < (b | 0)) { - c[28008] = c[d + ($ << 2) >> 2]; - break; - } - c[76] = 112144; - do { - if ((c[82] | 0) != 0) { - if ((a[v] | 0) == 58) { - break; - } - e9(192, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); - } - } while (0); - c[78] = ac; - k = (a[v] | 0) == 58 ? 58 : 63; - i = j; - return k | 0; - } else { - c[28008] = C; - } - } while (0); - c[76] = 112144; - c[80] = (c[80] | 0) + 1; - k = ac; - i = j; - return k | 0; - } - } while (0); - do { - if ((o | 0) == 1259) { - if ((a[C] | 0) != 0) { - break; - } - c[80] = (c[80] | 0) + 1; - } - } while (0); - do { - if ((c[82] | 0) != 0) { - if ((a[v] | 0) == 58) { - break; - } - e9(1368, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); - } - } while (0); - c[78] = ac; - k = 63; - i = j; - return k | 0; -} -function e2(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - return e1(a, b, c, d, e, 1) | 0; -} -function e3(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - return e1(a, b, c, d, e, 5) | 0; -} -function e4(a) { - a = a | 0; - return eO(a) | 0; -} -function e5(a, b) { - a = a | 0; - b = b | 0; - return e4(a) | 0; -} -function e6() { - var a = 0; - a = aK(4) | 0; - c[a >> 2] = 111864; - as(a | 0, 111992, 6); -} -function e7(b, d, e, f, g) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, z = 0; - h = i; - j = c[76] | 0; - k = c[80] | 0; - l = k + 1 | 0; - c[80] = l; - m = aC(j | 0, 61) | 0; - if ((m | 0) == 0) { - n = fo(j | 0) | 0; - o = 0; - } else { - n = m - j | 0; - o = m + 1 | 0; - } - m = c[e >> 2] | 0; - L1725 : do { - if ((m | 0) != 0) { - L1727 : do { - if ((g | 0) != 0 & (n | 0) == 1) { - p = 0; - q = m; - while (1) { - if ((a[j] | 0) == (a[q] | 0)) { - if ((fo(q | 0) | 0) == 1) { - r = p; - break L1727; - } - } - p = p + 1 | 0; - q = c[e + (p << 4) >> 2] | 0; - if ((q | 0) == 0) { - break L1725; - } - } - } else { - q = 0; - p = -1; - s = m; - while (1) { - if ((ap(j | 0, s | 0, n | 0) | 0) == 0) { - if ((fo(s | 0) | 0) == (n | 0)) { - r = q; - break L1727; - } - if ((p | 0) == -1) { - t = q; - } else { - break; - } - } else { - t = p; - } - u = q + 1 | 0; - v = c[e + (u << 4) >> 2] | 0; - if ((v | 0) == 0) { - r = t; - break L1727; - } else { - q = u; - p = t; - s = v; - } - } - do { - if ((c[82] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - e9(111608, (y = i, i = i + 16 | 0, c[y >> 2] = n, c[y + 8 >> 2] = j, y) | 0); - } - } while (0); - c[78] = 0; - w = 63; - i = h; - return w | 0; - } - } while (0); - if ((r | 0) == -1) { - break; - } - s = e + (r << 4) + 4 | 0; - p = c[s >> 2] | 0; - q = (o | 0) == 0; - if (!((p | 0) != 0 | q)) { - do { - if ((c[82] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - e9(352, (y = i, i = i + 16 | 0, c[y >> 2] = n, c[y + 8 >> 2] = j, y) | 0); - } - } while (0); - if ((c[e + (r << 4) + 8 >> 2] | 0) == 0) { - x = c[e + (r << 4) + 12 >> 2] | 0; - } else { - x = 0; - } - c[78] = x; - w = (a[d] | 0) == 58 ? 58 : 63; - i = h; - return w | 0; - } - do { - if ((p - 1 | 0) >>> 0 < 2) { - if (!q) { - c[28008] = o; - break; - } - if ((p | 0) != 1) { - break; - } - c[80] = k + 2; - c[28008] = c[b + (l << 2) >> 2]; - } - } while (0); - if (!((c[s >> 2] | 0) == 1 & (c[28008] | 0) == 0)) { - if ((f | 0) != 0) { - c[f >> 2] = r; - } - p = c[e + (r << 4) + 8 >> 2] | 0; - q = c[e + (r << 4) + 12 >> 2] | 0; - if ((p | 0) == 0) { - w = q; - i = h; - return w | 0; - } - c[p >> 2] = q; - w = 0; - i = h; - return w | 0; - } - do { - if ((c[82] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - e9(152, (y = i, i = i + 8 | 0, c[y >> 2] = j, y) | 0); - } - } while (0); - if ((c[e + (r << 4) + 8 >> 2] | 0) == 0) { - z = c[e + (r << 4) + 12 >> 2] | 0; - } else { - z = 0; - } - c[78] = z; - c[80] = (c[80] | 0) - 1; - w = (a[d] | 0) == 58 ? 58 : 63; - i = h; - return w | 0; - } - } while (0); - if ((g | 0) != 0) { - c[80] = k; - w = -1; - i = h; - return w | 0; - } - do { - if ((c[82] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - e9(1344, (y = i, i = i + 8 | 0, c[y >> 2] = j, y) | 0); - } - } while (0); - c[78] = 0; - w = 63; - i = h; - return w | 0; -} -function e8(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = i; - i = i + 16 | 0; - e = d | 0; - f = e; - c[f >> 2] = b; - c[f + 4 >> 2] = 0; - fa(a, e | 0); - i = d; - return; -} -function e9(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = i; - i = i + 16 | 0; - e = d | 0; - f = e; - c[f >> 2] = b; - c[f + 4 >> 2] = 0; - fb(a, e | 0); - i = d; - return; -} -function fa(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = i; - e = c[(aY() | 0) >> 2] | 0; - f = c[r >> 2] | 0; - aw(c[p >> 2] | 0, 111736, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; - if ((a | 0) != 0) { - f = c[p >> 2] | 0; - aR(f | 0, a | 0, b | 0) | 0; - b = c[p >> 2] | 0; - aF(111776, 2, 1, b | 0) | 0; - } - b = c[p >> 2] | 0; - a = au(e | 0) | 0; - aw(b | 0, 111688, (y = i, i = i + 8 | 0, c[y >> 2] = a, y) | 0) | 0; - i = d; - return; -} -function fb(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0; - d = i; - e = c[r >> 2] | 0; - aw(c[p >> 2] | 0, 111680, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; - if ((a | 0) != 0) { - e = c[p >> 2] | 0; - aR(e | 0, a | 0, b | 0) | 0; - } - aD(10, c[p >> 2] | 0) | 0; - i = d; - return; -} -function fc(b, d) { - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0, s = 0, t = 0, u = 0, v = 0.0, w = 0, x = 0, y = 0, z = 0.0, A = 0.0, B = 0, C = 0, D = 0, E = 0.0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0.0, O = 0, P = 0, Q = 0.0, R = 0.0, S = 0.0; - e = b; - while (1) { - f = e + 1 | 0; - if ((aL(a[e] | 0) | 0) == 0) { - break; - } else { - e = f; - } - } - g = a[e] | 0; - if ((g << 24 >> 24 | 0) == 45) { - i = f; - j = 1; - } else if ((g << 24 >> 24 | 0) == 43) { - i = f; - j = 0; - } else { - i = e; - j = 0; - } - e = -1; - f = 0; - g = i; - while (1) { - k = a[g] | 0; - if (((k << 24 >> 24) - 48 | 0) >>> 0 < 10) { - l = e; - } else { - if (k << 24 >> 24 != 46 | (e | 0) > -1) { - break; - } else { - l = f; - } - } - e = l; - f = f + 1 | 0; - g = g + 1 | 0; - } - l = g + (-f | 0) | 0; - i = (e | 0) < 0; - m = ((i ^ 1) << 31 >> 31) + f | 0; - n = (m | 0) > 18; - o = (n ? -18 : -m | 0) + (i ? f : e) | 0; - e = n ? 18 : m; - do { - if ((e | 0) == 0) { - p = b; - q = 0.0; - } else { - if ((e | 0) > 9) { - m = l; - n = e; - f = 0; - while (1) { - i = a[m] | 0; - r = m + 1 | 0; - if (i << 24 >> 24 == 46) { - s = a[r] | 0; - t = m + 2 | 0; - } else { - s = i; - t = r; - } - u = (f * 10 | 0) - 48 + (s << 24 >> 24) | 0; - r = n - 1 | 0; - if ((r | 0) > 9) { - m = t; - n = r; - f = u; - } else { - break; - } - } - v = +(u | 0) * 1.0e9; - w = 9; - x = t; - y = 1389; - } else { - if ((e | 0) > 0) { - v = 0.0; - w = e; - x = l; - y = 1389; - } else { - z = 0.0; - A = 0.0; - } - } - if ((y | 0) == 1389) { - f = x; - n = w; - m = 0; - while (1) { - r = a[f] | 0; - i = f + 1 | 0; - if (r << 24 >> 24 == 46) { - B = a[i] | 0; - C = f + 2 | 0; - } else { - B = r; - C = i; - } - D = (m * 10 | 0) - 48 + (B << 24 >> 24) | 0; - i = n - 1 | 0; - if ((i | 0) > 0) { - f = C; - n = i; - m = D; - } else { - break; - } - } - z = +(D | 0); - A = v; - } - E = A + z; - do { - if ((k << 24 >> 24 | 0) == 69 | (k << 24 >> 24 | 0) == 101) { - m = g + 1 | 0; - n = a[m] | 0; - if ((n << 24 >> 24 | 0) == 45) { - F = g + 2 | 0; - G = 1; - } else if ((n << 24 >> 24 | 0) == 43) { - F = g + 2 | 0; - G = 0; - } else { - F = m; - G = 0; - } - m = a[F] | 0; - if (((m << 24 >> 24) - 48 | 0) >>> 0 < 10) { - H = F; - I = 0; - J = m; - } else { - K = 0; - L = F; - M = G; - break; - } - while (1) { - m = (I * 10 | 0) - 48 + (J << 24 >> 24) | 0; - n = H + 1 | 0; - f = a[n] | 0; - if (((f << 24 >> 24) - 48 | 0) >>> 0 < 10) { - H = n; - I = m; - J = f; - } else { - K = m; - L = n; - M = G; - break; - } - } - } else { - K = 0; - L = g; - M = 0; - } - } while (0); - n = o + ((M | 0) == 0 ? K : -K | 0) | 0; - m = (n | 0) < 0 ? -n | 0 : n; - if ((m | 0) > 511) { - c[(aY() | 0) >> 2] = 34; - N = 1.0; - O = 232; - P = 511; - y = 1406; - } else { - if ((m | 0) == 0) { - Q = 1.0; - } else { - N = 1.0; - O = 232; - P = m; - y = 1406; - } - } - if ((y | 0) == 1406) { - while (1) { - y = 0; - if ((P & 1 | 0) == 0) { - R = N; - } else { - R = N * +h[O >> 3]; - } - m = P >> 1; - if ((m | 0) == 0) { - Q = R; - break; - } else { - N = R; - O = O + 8 | 0; - P = m; - y = 1406; - } - } - } - if ((n | 0) > -1) { - p = L; - q = E * Q; - break; - } else { - p = L; - q = E / Q; - break; - } - } - } while (0); - if ((d | 0) != 0) { - c[d >> 2] = p; - } - if ((j | 0) == 0) { - S = q; - return +S; - } - S = -0.0 - q; - return +S; -} -function fd(a, b) { - a = a | 0; - b = b | 0; - return +(+fc(a, b)); -} -function fe(a, b) { - a = a | 0; - b = b | 0; - return +(+fc(a, b)); -} -function ff(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return +(+fc(a, b)); -} -function fg(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return +(+fc(a, b)); -} -function fh(a) { - a = a | 0; - return +(+fc(a, 0)); -} -function fi(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = i; - i = i + 16 | 0; - f = e | 0; - e = f; - c[e >> 2] = d; - c[e + 4 >> 2] = 0; - fk(a, b, f | 0); -} -function fj(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = i; - i = i + 16 | 0; - f = e | 0; - e = f; - c[e >> 2] = d; - c[e + 4 >> 2] = 0; - fl(a, b, f | 0); -} -function fk(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = c[(aY() | 0) >> 2] | 0; - f = c[r >> 2] | 0; - aw(c[p >> 2] | 0, 111640, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; - if ((b | 0) != 0) { - f = c[p >> 2] | 0; - aR(f | 0, b | 0, d | 0) | 0; - d = c[p >> 2] | 0; - aF(111784, 2, 1, d | 0) | 0; - } - d = c[p >> 2] | 0; - b = au(e | 0) | 0; - aw(d | 0, 111696, (y = i, i = i + 8 | 0, c[y >> 2] = b, y) | 0) | 0; - aI(a | 0); -} -function fl(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0; - e = c[r >> 2] | 0; - aw(c[p >> 2] | 0, 111744, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; - if ((b | 0) != 0) { - e = c[p >> 2] | 0; - aR(e | 0, b | 0, d | 0) | 0; - } - aD(10, c[p >> 2] | 0) | 0; - aI(a | 0); -} -function fm(b, d, e) { - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0; - f = b + e | 0; - if ((e | 0) >= 20) { - d = d & 255; - e = b & 3; - g = d | d << 8 | d << 16 | d << 24; - h = f & ~3; - if (e) { - e = b + 4 - e | 0; - while ((b | 0) < (e | 0)) { - a[b] = d; - b = b + 1 | 0; - } - } - while ((b | 0) < (h | 0)) { - c[b >> 2] = g; - b = b + 4 | 0; - } - } - while ((b | 0) < (f | 0)) { - a[b] = d; - b = b + 1 | 0; - } -} -function fn(b, d, e) { - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0; - f = b | 0; - if ((b & 3) == (d & 3)) { - while (b & 3) { - if ((e | 0) == 0) return f | 0; - a[b] = a[d] | 0; - b = b + 1 | 0; - d = d + 1 | 0; - e = e - 1 | 0; - } - while ((e | 0) >= 4) { - c[b >> 2] = c[d >> 2]; - b = b + 4 | 0; - d = d + 4 | 0; - e = e - 4 | 0; - } - } - while ((e | 0) > 0) { - a[b] = a[d] | 0; - b = b + 1 | 0; - d = d + 1 | 0; - e = e - 1 | 0; - } - return f | 0; -} -function fo(b) { - b = b | 0; - var c = 0; - c = b; - while (a[c] | 0) { - c = c + 1 | 0; - } - return c - b | 0; -} -function fp(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - e = a + c >>> 0; - return (H = b + d + (e >>> 0 < a >>> 0 | 0) >>> 0, e | 0) | 0; -} -function fq(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - e = b - d >>> 0; - e = b - d - (c >>> 0 > a >>> 0 | 0) >>> 0; - return (H = e, a - c >>> 0 | 0) | 0; -} -function fr(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - if ((c | 0) < 32) { - H = b << c | (a & (1 << c) - 1 << 32 - c) >>> 32 - c; - return a << c; - } - H = a << c - 32; - return 0; -} -function fs(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - if ((c | 0) < 32) { - H = b >>> c; - return a >>> c | (b & (1 << c) - 1) << 32 - c; - } - H = 0; - return b >>> c - 32 | 0; -} -function ft(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - if ((c | 0) < 32) { - H = b >> c; - return a >>> c | (b & (1 << c) - 1) << 32 - c; - } - H = (b | 0) < 0 ? -1 : 0; - return b >> c - 32 | 0; -} -function fu(b) { - b = b | 0; - var c = 0; - c = a[n + (b >>> 24) | 0] | 0; - if ((c | 0) < 8) return c | 0; - c = a[n + (b >> 16 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 8 | 0; - c = a[n + (b >> 8 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 16 | 0; - return (a[n + (b & 255) | 0] | 0) + 24 | 0; -} -function fv(b) { - b = b | 0; - var c = 0; - c = a[m + (b & 255) | 0] | 0; - if ((c | 0) < 8) return c | 0; - c = a[m + (b >> 8 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 8 | 0; - c = a[m + (b >> 16 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 16 | 0; - return (a[m + (b >>> 24) | 0] | 0) + 24 | 0; -} -function fw(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0; - c = a & 65535; - d = b & 65535; - e = ad(d, c) | 0; - f = a >>> 16; - a = (e >>> 16) + (ad(d, f) | 0) | 0; - d = b >>> 16; - b = ad(d, c) | 0; - return (H = (a >>> 16) + (ad(d, f) | 0) + (((a & 65535) + b | 0) >>> 16) | 0, a + b << 16 | e & 65535 | 0) | 0; -} -function fx(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0; - e = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - f = ((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - g = d >> 31 | ((d | 0) < 0 ? -1 : 0) << 1; - h = ((d | 0) < 0 ? -1 : 0) >> 31 | ((d | 0) < 0 ? -1 : 0) << 1; - i = fq(e ^ a, f ^ b, e, f) | 0; - b = H; - a = g ^ e; - e = h ^ f; - f = fq((fC(i, b, fq(g ^ c, h ^ d, g, h) | 0, H, 0) | 0) ^ a, H ^ e, a, e) | 0; - return (H = H, f) | 0; -} -function fy(a, b, d, e) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - f = i; - i = i + 8 | 0; - g = f | 0; - h = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - j = ((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - k = e >> 31 | ((e | 0) < 0 ? -1 : 0) << 1; - l = ((e | 0) < 0 ? -1 : 0) >> 31 | ((e | 0) < 0 ? -1 : 0) << 1; - m = fq(h ^ a, j ^ b, h, j) | 0; - b = H; - a = fq(k ^ d, l ^ e, k, l) | 0; - fC(m, b, a, H, g) | 0; - a = fq(c[g >> 2] ^ h, c[g + 4 >> 2] ^ j, h, j) | 0; - j = H; - i = f; - return (H = j, a) | 0; -} -function fz(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0; - e = a; - a = c; - c = fw(e, a) | 0; - f = H; - return (H = (ad(b, a) | 0) + (ad(d, e) | 0) + f | f & 0, c | 0 | 0) | 0; -} -function fA(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - e = fC(a, b, c, d, 0) | 0; - return (H = H, e) | 0; -} -function fB(a, b, d, e) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 8 | 0; - g = f | 0; - fC(a, b, d, e, g) | 0; - i = f; - return (H = c[g + 4 >> 2] | 0, c[g >> 2] | 0) | 0; -} -function fC(a, b, d, e, f) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0; - g = a; - h = b; - i = h; - j = d; - k = e; - l = k; - if ((i | 0) == 0) { - m = (f | 0) != 0; - if ((l | 0) == 0) { - if (m) { - c[f >> 2] = (g >>> 0) % (j >>> 0); - c[f + 4 >> 2] = 0; - } - n = 0; - o = (g >>> 0) / (j >>> 0) >>> 0; - return (H = n, o) | 0; - } else { - if (!m) { - n = 0; - o = 0; - return (H = n, o) | 0; - } - c[f >> 2] = a | 0; - c[f + 4 >> 2] = b & 0; - n = 0; - o = 0; - return (H = n, o) | 0; - } - } - m = (l | 0) == 0; - do { - if ((j | 0) == 0) { - if (m) { - if ((f | 0) != 0) { - c[f >> 2] = (i >>> 0) % (j >>> 0); - c[f + 4 >> 2] = 0; - } - n = 0; - o = (i >>> 0) / (j >>> 0) >>> 0; - return (H = n, o) | 0; - } - if ((g | 0) == 0) { - if ((f | 0) != 0) { - c[f >> 2] = 0; - c[f + 4 >> 2] = (i >>> 0) % (l >>> 0); - } - n = 0; - o = (i >>> 0) / (l >>> 0) >>> 0; - return (H = n, o) | 0; - } - p = l - 1 | 0; - if ((p & l | 0) == 0) { - if ((f | 0) != 0) { - c[f >> 2] = a | 0; - c[f + 4 >> 2] = p & i | b & 0; - } - n = 0; - o = i >>> ((fv(l | 0) | 0) >>> 0); - return (H = n, o) | 0; - } - p = (fu(l | 0) | 0) - (fu(i | 0) | 0) | 0; - if (p >>> 0 <= 30) { - q = p + 1 | 0; - r = 31 - p | 0; - s = q; - t = i << r | g >>> (q >>> 0); - u = i >>> (q >>> 0); - v = 0; - w = g << r; - break; - } - if ((f | 0) == 0) { - n = 0; - o = 0; - return (H = n, o) | 0; - } - c[f >> 2] = a | 0; - c[f + 4 >> 2] = h | b & 0; - n = 0; - o = 0; - return (H = n, o) | 0; - } else { - if (!m) { - r = (fu(l | 0) | 0) - (fu(i | 0) | 0) | 0; - if (r >>> 0 <= 31) { - q = r + 1 | 0; - p = 31 - r | 0; - x = r - 31 >> 31; - s = q; - t = g >>> (q >>> 0) & x | i << p; - u = i >>> (q >>> 0) & x; - v = 0; - w = g << p; - break; - } - if ((f | 0) == 0) { - n = 0; - o = 0; - return (H = n, o) | 0; - } - c[f >> 2] = a | 0; - c[f + 4 >> 2] = h | b & 0; - n = 0; - o = 0; - return (H = n, o) | 0; - } - p = j - 1 | 0; - if ((p & j | 0) != 0) { - x = (fu(j | 0) | 0) + 33 - (fu(i | 0) | 0) | 0; - q = 64 - x | 0; - r = 32 - x | 0; - y = r >> 31; - z = x - 32 | 0; - A = z >> 31; - s = x; - t = r - 1 >> 31 & i >>> (z >>> 0) | (i << r | g >>> (x >>> 0)) & A; - u = A & i >>> (x >>> 0); - v = g << q & y; - w = (i << q | g >>> (z >>> 0)) & y | g << r & x - 33 >> 31; - break; - } - if ((f | 0) != 0) { - c[f >> 2] = p & g; - c[f + 4 >> 2] = 0; - } - if ((j | 0) == 1) { - n = h | b & 0; - o = a | 0 | 0; - return (H = n, o) | 0; - } else { - p = fv(j | 0) | 0; - n = i >>> (p >>> 0) | 0; - o = i << 32 - p | g >>> (p >>> 0) | 0; - return (H = n, o) | 0; - } - } - } while (0); - if ((s | 0) == 0) { - B = w; - C = v; - D = u; - E = t; - F = 0; - G = 0; - } else { - g = d | 0 | 0; - d = k | e & 0; - e = fp(g, d, -1, -1) | 0; - k = H; - i = w; - w = v; - v = u; - u = t; - t = s; - s = 0; - while (1) { - I = w >>> 31 | i << 1; - J = s | w << 1; - j = u << 1 | i >>> 31 | 0; - a = u >>> 31 | v << 1 | 0; - fq(e, k, j, a) | 0; - b = H; - h = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - K = h & 1; - L = fq(j, a, h & g, (((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1) & d) | 0; - M = H; - b = t - 1 | 0; - if ((b | 0) == 0) { - break; - } else { - i = I; - w = J; - v = M; - u = L; - t = b; - s = K; - } - } - B = I; - C = J; - D = M; - E = L; - F = 0; - G = K; - } - K = C; - C = 0; - if ((f | 0) != 0) { - c[f >> 2] = E; - c[f + 4 >> 2] = D; - } - n = (K | 0) >>> 31 | (B | C) << 1 | (C << 1 | K >>> 31) & 0 | F; - o = (K << 1 | 0 >>> 31) & -2 | G; - return (H = n, o) | 0; -} -function fD(a, b) { - a = a | 0; - b = b | 0; - a1[a & 15](b | 0); -} -function fE(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - a2[a & 15](b | 0, c | 0); -} -function fF(a, b) { - a = a | 0; - b = b | 0; - return a3[a & 7](b | 0) | 0; -} -function fG(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - a4[a & 15](b | 0, c | 0, d | 0); -} -function fH(a) { - a = a | 0; - a5[a & 1](); -} -function fI(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return a6[a & 1](b | 0, c | 0) | 0; -} -function fJ(a) { - a = a | 0; - ae(0); -} -function fK(a, b) { - a = a | 0; - b = b | 0; - ae(1); -} -function fL(a) { - a = a | 0; - ae(2); - return 0; -} -function fM(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - ae(3); -} -function fN() { - ae(4); -} -function fO(a, b) { - a = a | 0; - b = b | 0; - ae(5); - return 0; -} -// EMSCRIPTEN_END_FUNCS - var a1 = [ fJ, fJ, eV, fJ, e$, fJ, eQ, fJ, eU, fJ, e_, fJ, fJ, fJ, fJ, fJ ]; - var a2 = [ fK, fK, e8, fK, fa, fK, e9, fK, fb, fK, fK, fK, fK, fK, fK, fK ]; - var a3 = [ fL, fL, eR, fL, eS, fL, fL, fL ]; - var a4 = [ fM, fM, fl, fM, fk, fM, fi, fM, fj, fM, fM, fM, fM, fM, fM, fM ]; - var a5 = [ fN, fN ]; - var a6 = [ fO, fO ]; - return { - _strlen: fo, - _crypto_auth_hmacsha256: bw, - _crypto_sign_edwards25519sha512batch: dQ, - _crypto_core_salsa208: bP, - _crypto_box_curve25519xsalsa20poly1305_afternm: bA, - _crypto_secretbox_xsalsa20poly1305: ci, - _crypto_stream_salsa20_xor: ef, - _crypto_stream_aes128ctr_xor_afternm: ec, - _crypto_sign_edwards25519sha512batch_keypair: dP, - _crypto_hashblocks_sha512: bV, - _crypto_hashblocks_sha256: bS, - _crypto_scalarmult_curve25519_base: b2, - _realloc: eq, - _crypto_sign_ed25519_open: cn, - _crypto_sign_keypair_from_raw_sk: bu, - _calloc: ep, - _crypto_box_curve25519xsalsa20poly1305_keypair: bF, - _crypto_stream_salsa2012_xor: eh, - _memset: fm, - _crypto_stream_salsa20: ee, - _memcpy: fn, - _crypto_onetimeauth_poly1305: b_, - _crypto_sign_ed25519_keypair: ck, - _crypto_auth_hmacsha512256: by, - _crypto_sign_ed25519: cl, - _crypto_box_curve25519xsalsa20poly1305_open: bE, - _crypto_stream_aes128ctr_beforenm: dT, - _crypto_stream_salsa208: ei, - _crypto_stream_xsalsa20: ek, - _crypto_scalarmult_curve25519: b3, - _crypto_box_curve25519xsalsa20poly1305: bD, - _crypto_onetimeauth_poly1305_verify: b1, - _crypto_hash_sha512: bR, - _crypto_secretbox_xsalsa20poly1305_open: cj, - _crypto_sign_edwards25519sha512batch_open: dR, - _crypto_hash_sha256: bQ, - _crypto_auth_hmacsha256_verify: bx, - _crypto_verify_32: em, - _crypto_auth_hmacsha512256_verify: bz, - _free: eo, - _crypto_box_curve25519xsalsa20poly1305_beforenm: bC, - _crypto_stream_aes128ctr: ea, - _crypto_core_salsa2012: bO, - _crypto_verify_16: ed, - _crypto_core_salsa20: bH, - _crypto_stream_salsa208_xor: ej, - _malloc: en, - _crypto_stream_aes128ctr_xor: eb, - _crypto_box_curve25519xsalsa20poly1305_open_afternm: bB, - _crypto_stream_xsalsa20_xor: el, - _crypto_stream_aes128ctr_afternm: dS, - _crypto_stream_salsa2012: eg, - _crypto_core_hsalsa20: bG, - runPostSets: bn, - stackAlloc: a7, - stackSave: a8, - stackRestore: a9, - setThrew: ba, - setTempRet0: bd, - setTempRet1: be, - setTempRet2: bf, - setTempRet3: bg, - setTempRet4: bh, - setTempRet5: bi, - setTempRet6: bj, - setTempRet7: bk, - setTempRet8: bl, - setTempRet9: bm, - dynCall_vi: fD, - dynCall_vii: fE, - dynCall_ii: fF, - dynCall_viii: fG, - dynCall_v: fH, - dynCall_iii: fI - }; -// EMSCRIPTEN_END_ASM -})({Math:Math, Int8Array:Int8Array, Int16Array:Int16Array, Int32Array:Int32Array, Uint8Array:Uint8Array, Uint16Array:Uint16Array, Uint32Array:Uint32Array, Float32Array:Float32Array, Float64Array:Float64Array}, {abort:wa, assert:v, asmPrintInt:function(a, b) { - r.print("int " + a + "," + b) -}, asmPrintFloat:function(a, b) { - r.print("float " + a + "," + b) -}, min:Zc, invoke_vi:function(a, b) { - try { - r.dynCall_vi(a, b) - }catch(c) { - "number" !== typeof c && "longjmp" !== c && e(c), V.setThrew(1, 0) - } -}, invoke_vii:function(a, b, c) { - try { - r.dynCall_vii(a, b, c) - }catch(d) { - "number" !== typeof d && "longjmp" !== d && e(d), V.setThrew(1, 0) - } -}, invoke_ii:function(a, b) { - try { - return r.dynCall_ii(a, b) - }catch(c) { - "number" !== typeof c && "longjmp" !== c && e(c), V.setThrew(1, 0) - } -}, invoke_viii:function(a, b, c, d) { - try { - r.dynCall_viii(a, b, c, d) - }catch(f) { - "number" !== typeof f && "longjmp" !== f && e(f), V.setThrew(1, 0) - } -}, invoke_v:function(a) { - try { - r.dynCall_v(a) - }catch(b) { - "number" !== typeof b && "longjmp" !== b && e(b), V.setThrew(1, 0) - } -}, invoke_iii:function(a, b, c) { - try { - return r.dynCall_iii(a, b, c) - }catch(d) { - "number" !== typeof d && "longjmp" !== d && e(d), V.setThrew(1, 0) - } -}, _strncmp:function(a, b, c) { - for(var d = 0;d < c;) { - var f = G[a + d | 0], g = G[b + d | 0]; - if(f == g && 0 == f) { - break - } - if(0 == f) { - return-1 - } - if(0 == g) { - return 1 - } - if(f == g) { - d++ - }else { - return f > g ? 1 : -1 - } - } - return 0 -}, _llvm_va_end:aa(), _sysconf:function(a) { - switch(a) { - case 8: - return 4096; - case 54: - ; - case 56: - ; - case 21: - ; - case 61: - ; - case 63: - ; - case 22: - ; - case 67: - ; - case 23: - ; - case 24: - ; - case 25: - ; - case 26: - ; - case 27: - ; - case 69: - ; - case 28: - ; - case 101: - ; - case 70: - ; - case 71: - ; - case 29: - ; - case 30: - ; - case 199: - ; - case 75: - ; - case 76: - ; - case 32: - ; - case 43: - ; - case 44: - ; - case 80: - ; - case 46: - ; - case 47: - ; - case 45: - ; - case 48: - ; - case 49: - ; - case 42: - ; - case 82: - ; - case 33: - ; - case 7: - ; - case 108: - ; - case 109: - ; - case 107: - ; - case 112: - ; - case 119: - ; - case 121: - return 200809; - case 13: - ; - case 104: - ; - case 94: - ; - case 95: - ; - case 34: - ; - case 35: - ; - case 77: - ; - case 81: - ; - case 83: - ; - case 84: - ; - case 85: - ; - case 86: - ; - case 87: - ; - case 88: - ; - case 89: - ; - case 90: - ; - case 91: - ; - case 94: - ; - case 95: - ; - case 110: - ; - case 111: - ; - case 113: - ; - case 114: - ; - case 115: - ; - case 116: - ; - case 117: - ; - case 118: - ; - case 120: - ; - case 40: - ; - case 16: - ; - case 79: - ; - case 19: - return-1; - case 92: - ; - case 93: - ; - case 5: - ; - case 72: - ; - case 6: - ; - case 74: - ; - case 92: - ; - case 93: - ; - case 96: - ; - case 97: - ; - case 98: - ; - case 99: - ; - case 102: - ; - case 103: - ; - case 105: - return 1; - case 38: - ; - case 66: - ; - case 50: - ; - case 51: - ; - case 4: - return 1024; - case 15: - ; - case 64: - ; - case 41: - return 32; - case 55: - ; - case 37: - ; - case 17: - return 2147483647; - case 18: - ; - case 1: - return 47839; - case 59: - ; - case 57: - return 99; - case 68: - ; - case 58: - return 2048; - case 0: - return 2097152; - case 3: - return 65536; - case 14: - return 32768; - case 73: - return 32767; - case 39: - return 16384; - case 60: - return 1E3; - case 106: - return 700; - case 52: - return 256; - case 62: - return 255; - case 2: - return 100; - case 65: - return 64; - case 36: - return 20; - case 100: - return 16; - case 20: - return 6; - case 53: - return 4; - case 10: - return 1 - } - M(N.A); - return-1 -}, ___cxa_throw:tc, _randombytes:ub, _strerror:Bc, _abort:function() { - r.abort() -}, _fprintf:oc, _llvm_eh_exception:U, ___cxa_free_exception:uc, _fflush:aa(), ___buildEnvironment:yc, __reallyNegative:lc, _strchr:function(a, b) { - a--; - do { - a++; - var c = A[a]; - if(c == b) { - return a - } - }while(c); - return 0 -}, _fputc:Dc, ___setErrNo:M, _fwrite:jc, _send:hc, _write:ic, _exit:function(a) { - Cc(a) -}, ___cxa_find_matching_catch:function(a, b) { - -1 == a && (a = B[U.m >> 2]); - -1 == b && (b = B[U.m + 4 >> 2]); - var c = Array.prototype.slice.call(arguments, 2); - 0 != b && !rc(b) && 0 == B[B[b >> 2] - 8 >> 2] && (a = B[a >> 2]); - for(var d = 0;d < c.length;d++) { - if(sc(c[d], b, a)) { - return(V.setTempRet0(c[d]), a) | 0 - } - } - return(V.setTempRet0(b), a) | 0 -}, ___cxa_allocate_exception:function(a) { - return Oa(a) -}, _isspace:function(a) { - return 32 == a || 9 <= a && 13 >= a -}, ___cxa_is_number_type:rc, ___resumeException:function(a) { - 0 == B[U.m >> 2] && (B[U.m >> 2] = a); - e(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.") -}, __formatString:mc, ___cxa_does_inherit:sc, _getenv:zc, _vfprintf:function(a, b, c) { - return oc(a, b, B[c >> 2]) -}, ___cxa_begin_catch:function(a) { - qc.ta--; - return a -}, __ZSt18uncaught_exceptionv:qc, _pwrite:function(a, b, c, d) { - a = R[a]; - if(!a) { - return M(N.$), -1 - } - try { - return Kb(a, A, b, c, d) - }catch(f) { - return ac(f), -1 - } -}, ___cxa_call_unexpected:function(a) { - r.P("Unexpected exception thrown, this is not properly supported - aborting"); - za = l; - e(a) -}, _sbrk:pc, _strerror_r:Ac, ___errno_location:function() { - return vb -}, ___gxx_personality_v0:aa(), _time:function(a) { - var b = Math.floor(Date.now() / 1E3); - a && (B[a >> 2] = b); - return b -}, __exit:Cc, ___cxa_end_catch:wc, STACKTOP:u, STACK_MAX:Ta, tempDoublePtr:qb, ABORT:za, cttz_i8:Yc, ctlz_i8:Xc, NaN:NaN, Infinity:Infinity, __ZTVN10__cxxabiv120__si_class_type_infoE:ob, _stderr:nb, __ZTVN10__cxxabiv117__class_type_infoE:pb, ___progname:k}, I), kc = r._strlen = V._strlen; -r._crypto_auth_hmacsha256 = V._crypto_auth_hmacsha256; -r._crypto_sign_edwards25519sha512batch = V._crypto_sign_edwards25519sha512batch; -r._crypto_core_salsa208 = V._crypto_core_salsa208; -r._crypto_box_curve25519xsalsa20poly1305_afternm = V._crypto_box_curve25519xsalsa20poly1305_afternm; -r._crypto_secretbox_xsalsa20poly1305 = V._crypto_secretbox_xsalsa20poly1305; -r._crypto_stream_salsa20_xor = V._crypto_stream_salsa20_xor; -r._crypto_stream_aes128ctr_xor_afternm = V._crypto_stream_aes128ctr_xor_afternm; -r._crypto_sign_edwards25519sha512batch_keypair = V._crypto_sign_edwards25519sha512batch_keypair; -r._crypto_hashblocks_sha512 = V._crypto_hashblocks_sha512; -r._crypto_hashblocks_sha256 = V._crypto_hashblocks_sha256; -r._crypto_scalarmult_curve25519_base = V._crypto_scalarmult_curve25519_base; -r._realloc = V._realloc; -r._crypto_sign_ed25519_open = V._crypto_sign_ed25519_open; -r._crypto_sign_keypair_from_raw_sk = V._crypto_sign_keypair_from_raw_sk; -r._calloc = V._calloc; -r._crypto_box_curve25519xsalsa20poly1305_keypair = V._crypto_box_curve25519xsalsa20poly1305_keypair; -r._crypto_stream_salsa2012_xor = V._crypto_stream_salsa2012_xor; -var rb = r._memset = V._memset; -r._crypto_stream_salsa20 = V._crypto_stream_salsa20; -var sb = r._memcpy = V._memcpy; -r._crypto_onetimeauth_poly1305 = V._crypto_onetimeauth_poly1305; -r._crypto_sign_ed25519_keypair = V._crypto_sign_ed25519_keypair; -r._crypto_auth_hmacsha512256 = V._crypto_auth_hmacsha512256; -r._crypto_sign_ed25519 = V._crypto_sign_ed25519; -r._crypto_box_curve25519xsalsa20poly1305_open = V._crypto_box_curve25519xsalsa20poly1305_open; -r._crypto_stream_aes128ctr_beforenm = V._crypto_stream_aes128ctr_beforenm; -r._crypto_stream_salsa208 = V._crypto_stream_salsa208; -r._crypto_stream_xsalsa20 = V._crypto_stream_xsalsa20; -r._crypto_scalarmult_curve25519 = V._crypto_scalarmult_curve25519; -r._crypto_box_curve25519xsalsa20poly1305 = V._crypto_box_curve25519xsalsa20poly1305; -r._crypto_onetimeauth_poly1305_verify = V._crypto_onetimeauth_poly1305_verify; -r._crypto_hash_sha512 = V._crypto_hash_sha512; -r._crypto_secretbox_xsalsa20poly1305_open = V._crypto_secretbox_xsalsa20poly1305_open; -r._crypto_sign_edwards25519sha512batch_open = V._crypto_sign_edwards25519sha512batch_open; -r._crypto_hash_sha256 = V._crypto_hash_sha256; -r._crypto_auth_hmacsha256_verify = V._crypto_auth_hmacsha256_verify; -r._crypto_verify_32 = V._crypto_verify_32; -r._crypto_auth_hmacsha512256_verify = V._crypto_auth_hmacsha512256_verify; -var vc = r._free = V._free; -r._crypto_box_curve25519xsalsa20poly1305_beforenm = V._crypto_box_curve25519xsalsa20poly1305_beforenm; -r._crypto_stream_aes128ctr = V._crypto_stream_aes128ctr; -r._crypto_core_salsa2012 = V._crypto_core_salsa2012; -r._crypto_verify_16 = V._crypto_verify_16; -r._crypto_core_salsa20 = V._crypto_core_salsa20; -r._crypto_stream_salsa208_xor = V._crypto_stream_salsa208_xor; -var Oa = r._malloc = V._malloc; -r._crypto_stream_aes128ctr_xor = V._crypto_stream_aes128ctr_xor; -r._crypto_box_curve25519xsalsa20poly1305_open_afternm = V._crypto_box_curve25519xsalsa20poly1305_open_afternm; -r._crypto_stream_xsalsa20_xor = V._crypto_stream_xsalsa20_xor; -r._crypto_stream_aes128ctr_afternm = V._crypto_stream_aes128ctr_afternm; -r._crypto_stream_salsa2012 = V._crypto_stream_salsa2012; -r._crypto_core_hsalsa20 = V._crypto_core_hsalsa20; -var mb = r.runPostSets = V.runPostSets; -r.dynCall_vi = V.dynCall_vi; -r.dynCall_vii = V.dynCall_vii; -r.dynCall_ii = V.dynCall_ii; -r.dynCall_viii = V.dynCall_viii; -r.dynCall_v = V.dynCall_v; -r.dynCall_iii = V.dynCall_iii; -var qa = function(a) { - return V.stackAlloc(a) -}, ja = function() { - return V.stackSave() -}, ka = function(a) { - V.stackRestore(a) -}, nc; -function X(a, b) { - a != m && ("number" == typeof a ? this.p(a) : b == m && "string" != typeof a ? this.k(a, 256) : this.k(a, b)) -} -function $c() { - return new X(m) -} -function ad(a, b) { - var c = bd[a.charCodeAt(b)]; - return c == m ? -1 : c -} -function cd(a) { - var b = $c(); - b.D(a); - return b -} -function Y(a, b) { - this.h = a | 0; - this.j = b | 0 -} -Y.Ca = {}; -Y.D = function(a) { - if(-128 <= a && 128 > a) { - var b = Y.Ca[a]; - if(b) { - return b - } - } - b = new Y(a | 0, 0 > a ? -1 : 0); - -128 <= a && 128 > a && (Y.Ca[a] = b); - return b -}; -Y.p = function(a) { - return isNaN(a) || !isFinite(a) ? Y.ZERO : a <= -Y.Ea ? Y.MIN_VALUE : a + 1 >= Y.Ea ? Y.MAX_VALUE : 0 > a ? Y.p(-a).i() : new Y(a % Y.B | 0, a / Y.B | 0) -}; -Y.v = function(a, b) { - return new Y(a, b) -}; -Y.k = function(a, b) { - 0 == a.length && e(Error("number format error: empty string")); - var c = b || 10; - (2 > c || 36 < c) && e(Error("radix out of range: " + c)); - if("-" == a.charAt(0)) { - return Y.k(a.substring(1), c).i() - } - 0 <= a.indexOf("-") && e(Error('number format error: interior "-" character: ' + a)); - for(var d = Y.p(Math.pow(c, 8)), f = Y.ZERO, g = 0;g < a.length;g += 8) { - var h = Math.min(8, a.length - g), i = parseInt(a.substring(g, g + h), c); - 8 > h ? (h = Y.p(Math.pow(c, h)), f = f.multiply(h).add(Y.p(i))) : (f = f.multiply(d), f = f.add(Y.p(i))) - } - return f -}; -Y.ea = 65536; -Y.Od = 16777216; -Y.B = Y.ea * Y.ea; -Y.Pd = Y.B / 2; -Y.Qd = Y.B * Y.ea; -Y.eb = Y.B * Y.B; -Y.Ea = Y.eb / 2; -Y.ZERO = Y.D(0); -Y.ONE = Y.D(1); -Y.Da = Y.D(-1); -Y.MAX_VALUE = Y.v(-1, 2147483647); -Y.MIN_VALUE = Y.v(0, -2147483648); -Y.cb = Y.D(16777216); -q = Y.prototype; -q.Z = function() { - return this.j * Y.B + this.ob() -}; -q.toString = function(a) { - a = a || 10; - (2 > a || 36 < a) && e(Error("radix out of range: " + a)); - if(this.G()) { - return"0" - } - if(this.n()) { - if(this.o(Y.MIN_VALUE)) { - var b = Y.p(a), c = this.F(b), b = c.multiply(b).R(this); - return c.toString(a) + b.h.toString(a) - } - return"-" + this.i().toString(a) - } - for(var c = Y.p(Math.pow(a, 6)), b = this, d = "";;) { - var f = b.F(c), g = b.R(f.multiply(c)).h.toString(a), b = f; - if(b.G()) { - return g + d - } - for(;6 > g.length;) { - g = "0" + g - } - d = "" + g + d - } -}; -q.ob = function() { - return 0 <= this.h ? this.h : Y.B + this.h -}; -q.G = function() { - return 0 == this.j && 0 == this.h -}; -q.n = function() { - return 0 > this.j -}; -q.Pa = function() { - return 1 == (this.h & 1) -}; -q.o = function(a) { - return this.j == a.j && this.h == a.h -}; -q.Ra = function() { - return 0 > this.ja(Y.cb) -}; -q.qb = function(a) { - return 0 < this.ja(a) -}; -q.rb = function(a) { - return 0 <= this.ja(a) -}; -q.ja = function(a) { - if(this.o(a)) { - return 0 - } - var b = this.n(), c = a.n(); - return b && !c ? -1 : !b && c ? 1 : this.R(a).n() ? -1 : 1 -}; -q.i = function() { - return this.o(Y.MIN_VALUE) ? Y.MIN_VALUE : this.xb().add(Y.ONE) -}; -q.add = function(a) { - var b = this.j >>> 16, c = this.j & 65535, d = this.h >>> 16, f = a.j >>> 16, g = a.j & 65535, h = a.h >>> 16, i; - i = 0 + ((this.h & 65535) + (a.h & 65535)); - a = 0 + (i >>> 16); - a += d + h; - d = 0 + (a >>> 16); - d += c + g; - c = 0 + (d >>> 16); - c = c + (b + f) & 65535; - return Y.v((a & 65535) << 16 | i & 65535, c << 16 | d & 65535) -}; -q.R = function(a) { - return this.add(a.i()) -}; -q.multiply = function(a) { - if(this.G() || a.G()) { - return Y.ZERO - } - if(this.o(Y.MIN_VALUE)) { - return a.Pa() ? Y.MIN_VALUE : Y.ZERO - } - if(a.o(Y.MIN_VALUE)) { - return this.Pa() ? Y.MIN_VALUE : Y.ZERO - } - if(this.n()) { - return a.n() ? this.i().multiply(a.i()) : this.i().multiply(a).i() - } - if(a.n()) { - return this.multiply(a.i()).i() - } - if(this.Ra() && a.Ra()) { - return Y.p(this.Z() * a.Z()) - } - var b = this.j >>> 16, c = this.j & 65535, d = this.h >>> 16, f = this.h & 65535, g = a.j >>> 16, h = a.j & 65535, i = a.h >>> 16, a = a.h & 65535, j, p, z, w; - w = 0 + f * a; - z = 0 + (w >>> 16); - z += d * a; - p = 0 + (z >>> 16); - z = (z & 65535) + f * i; - p += z >>> 16; - z &= 65535; - p += c * a; - j = 0 + (p >>> 16); - p = (p & 65535) + d * i; - j += p >>> 16; - p &= 65535; - p += f * h; - j += p >>> 16; - p &= 65535; - j = j + (b * a + c * i + d * h + f * g) & 65535; - return Y.v(z << 16 | w & 65535, j << 16 | p) -}; -q.F = function(a) { - a.G() && e(Error("division by zero")); - if(this.G()) { - return Y.ZERO - } - if(this.o(Y.MIN_VALUE)) { - if(a.o(Y.ONE) || a.o(Y.Da)) { - return Y.MIN_VALUE - } - if(a.o(Y.MIN_VALUE)) { - return Y.ONE - } - var b = this.Db().F(a).shiftLeft(1); - if(b.o(Y.ZERO)) { - return a.n() ? Y.ONE : Y.Da - } - var c = this.R(a.multiply(b)); - return b.add(c.F(a)) - } - if(a.o(Y.MIN_VALUE)) { - return Y.ZERO - } - if(this.n()) { - return a.n() ? this.i().F(a.i()) : this.i().F(a).i() - } - if(a.n()) { - return this.F(a.i()).i() - } - for(var d = Y.ZERO, c = this;c.rb(a);) { - for(var b = Math.max(1, Math.floor(c.Z() / a.Z())), f = Math.ceil(Math.log(b) / Math.LN2), f = 48 >= f ? 1 : Math.pow(2, f - 48), g = Y.p(b), h = g.multiply(a);h.n() || h.qb(c);) { - b -= f, g = Y.p(b), h = g.multiply(a) - } - g.G() && (g = Y.ONE); - d = d.add(g); - c = c.R(h) - } - return d -}; -q.xb = function() { - return Y.v(~this.h, ~this.j) -}; -q.shiftLeft = function(a) { - a &= 63; - if(0 == a) { - return this - } - var b = this.h; - return 32 > a ? Y.v(b << a, this.j << a | b >>> 32 - a) : Y.v(0, b << a - 32) -}; -q.Db = function() { - var a; - a = 1; - if(0 == a) { - return this - } - var b = this.j; - return 32 > a ? Y.v(this.h >>> a | b << 32 - a, b >> a) : Y.v(b >> a - 32, 0 <= b ? 0 : -1) -}; -q = X.prototype; -q.ga = function(a, b, c, d) { - for(var f = 0, g = 0;0 <= --d;) { - var h = a * this[f++] + b[c] + g, g = Math.floor(h / 67108864); - b[c++] = h & 67108863 - } - return g -}; -q.f = 26; -q.u = 67108863; -q.K = 67108864; -q.bb = Math.pow(2, 52); -q.Aa = 26; -q.Ba = 0; -var bd = [], dd, Z; -dd = 48; -for(Z = 0;9 >= Z;++Z) { - bd[dd++] = Z -} -dd = 97; -for(Z = 10;36 > Z;++Z) { - bd[dd++] = Z -} -dd = 65; -for(Z = 10;36 > Z;++Z) { - bd[dd++] = Z -} -q = X.prototype; -q.copyTo = function(a) { - for(var b = this.b - 1;0 <= b;--b) { - a[b] = this[b] - } - a.b = this.b; - a.c = this.c -}; -q.D = function(a) { - this.b = 1; - this.c = 0 > a ? -1 : 0; - 0 < a ? this[0] = a : -1 > a ? this[0] = a + DV : this.b = 0 -}; -q.k = function(a, b) { - var c; - if(16 == b) { - c = 4 - }else { - if(8 == b) { - c = 3 - }else { - if(256 == b) { - c = 8 - }else { - if(2 == b) { - c = 1 - }else { - if(32 == b) { - c = 5 - }else { - if(4 == b) { - c = 2 - }else { - this.nb(a, b); - return - } - } - } - } - } - } - this.c = this.b = 0; - for(var d = a.length, f = n, g = 0;0 <= --d;) { - var h = 8 == c ? a[d] & 255 : ad(a, d); - 0 > h ? "-" == a.charAt(d) && (f = l) : (f = n, 0 == g ? this[this.b++] = h : g + c > this.f ? (this[this.b - 1] |= (h & (1 << this.f - g) - 1) << g, this[this.b++] = h >> this.f - g) : this[this.b - 1] |= h << g, g += c, g >= this.f && (g -= this.f)) - } - 8 == c && 0 != (a[0] & 128) && (this.c = -1, 0 < g && (this[this.b - 1] |= (1 << this.f - g) - 1 << g)); - this.C(); - f && X.ZERO.t(this, this) -}; -q.C = function() { - for(var a = this.c & this.u;0 < this.b && this[this.b - 1] == a;) { - --this.b - } -}; -q.la = function(a, b) { - var c; - for(c = this.b - 1;0 <= c;--c) { - b[c + a] = this[c] - } - for(c = a - 1;0 <= c;--c) { - b[c] = 0 - } - b.b = this.b + a; - b.c = this.c -}; -q.jb = function(a, b) { - for(var c = a;c < this.b;++c) { - b[c - a] = this[c] - } - b.b = Math.max(this.b - a, 0); - b.c = this.c -}; -q.Qa = function(a, b) { - var c = a % this.f, d = this.f - c, f = (1 << d) - 1, g = Math.floor(a / this.f), h = this.c << c & this.u, i; - for(i = this.b - 1;0 <= i;--i) { - b[i + g + 1] = this[i] >> d | h, h = (this[i] & f) << c - } - for(i = g - 1;0 <= i;--i) { - b[i] = 0 - } - b[g] = h; - b.b = this.b + g + 1; - b.c = this.c; - b.C() -}; -q.zb = function(a, b) { - b.c = this.c; - var c = Math.floor(a / this.f); - if(c >= this.b) { - b.b = 0 - }else { - var d = a % this.f, f = this.f - d, g = (1 << d) - 1; - b[0] = this[c] >> d; - for(var h = c + 1;h < this.b;++h) { - b[h - c - 1] |= (this[h] & g) << f, b[h - c] = this[h] >> d - } - 0 < d && (b[this.b - c - 1] |= (this.c & g) << f); - b.b = this.b - c; - b.C() - } -}; -q.t = function(a, b) { - for(var c = 0, d = 0, f = Math.min(a.b, this.b);c < f;) { - d += this[c] - a[c], b[c++] = d & this.u, d >>= this.f - } - if(a.b < this.b) { - for(d -= a.c;c < this.b;) { - d += this[c], b[c++] = d & this.u, d >>= this.f - } - d += this.c - }else { - for(d += this.c;c < a.b;) { - d -= a[c], b[c++] = d & this.u, d >>= this.f - } - d -= a.c - } - b.c = 0 > d ? -1 : 0; - -1 > d ? b[c++] = this.K + d : 0 < d && (b[c++] = d); - b.b = c; - b.C() -}; -q.vb = function(a) { - var b = $.Xa, c = this.abs(), d = b.abs(), f = c.b; - for(a.b = f + d.b;0 <= --f;) { - a[f] = 0 - } - for(f = 0;f < d.b;++f) { - a[f + c.b] = c.ga(d[f], a, f, c.b) - } - a.c = 0; - a.C(); - this.c != b.c && X.ZERO.t(a, a) -}; -q.Ja = function(a, b, c) { - var d = a.abs(); - if(!(0 >= d.b)) { - var f = this.abs(); - if(f.b < d.b) { - b != m && b.D(0), c != m && this.copyTo(c) - }else { - c == m && (c = $c()); - var g = $c(), h = this.c, a = a.c, i = d[d.b - 1], j = 1, p; - if(0 != (p = i >>> 16)) { - i = p, j += 16 - } - if(0 != (p = i >> 8)) { - i = p, j += 8 - } - if(0 != (p = i >> 4)) { - i = p, j += 4 - } - if(0 != (p = i >> 2)) { - i = p, j += 2 - } - 0 != i >> 1 && (j += 1); - i = this.f - j; - 0 < i ? (d.Qa(i, g), f.Qa(i, c)) : (d.copyTo(g), f.copyTo(c)); - d = g.b; - f = g[d - 1]; - if(0 != f) { - p = f * (1 << this.Aa) + (1 < d ? g[d - 2] >> this.Ba : 0); - j = this.bb / p; - p = (1 << this.Aa) / p; - var z = 1 << this.Ba, w = c.b, C = w - d, D = b == m ? $c() : b; - g.la(C, D); - 0 <= c.U(D) && (c[c.b++] = 1, c.t(D, c)); - X.ONE.la(d, D); - for(D.t(g, g);g.b < d;) { - g[g.b++] = 0 - } - for(;0 <= --C;) { - var L = c[--w] == f ? this.u : Math.floor(c[w] * j + (c[w - 1] + z) * p); - if((c[w] += g.ga(L, c, C, d)) < L) { - g.la(C, D); - for(c.t(D, c);c[w] < --L;) { - c.t(D, c) - } - } - } - b != m && (c.jb(d, b), h != a && X.ZERO.t(b, b)); - c.b = d; - c.C(); - 0 < i && c.zb(i, c); - 0 > h && X.ZERO.t(c, c) - } - } - } -}; -q.toString = function(a) { - if(0 > this.c) { - return"-" + this.i().toString(a) - } - if(16 == a) { - a = 4 - }else { - if(8 == a) { - a = 3 - }else { - if(2 == a) { - a = 1 - }else { - if(32 == a) { - a = 5 - }else { - if(4 == a) { - a = 2 - }else { - return this.Fb(a) - } - } - } - } - } - var b = (1 << a) - 1, c, d = n, f = "", g = this.b, h = this.f - g * this.f % a; - if(0 < g--) { - if(h < this.f && 0 < (c = this[g] >> h)) { - d = l, f = "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c) - } - for(;0 <= g;) { - h < a ? (c = (this[g] & (1 << h) - 1) << a - h, c |= this[--g] >> (h += this.f - a)) : (c = this[g] >> (h -= a) & b, 0 >= h && (h += this.f, --g)), 0 < c && (d = l), d && (f += "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c)) - } - } - return d ? f : "0" -}; -q.i = function() { - var a = $c(); - X.ZERO.t(this, a); - return a -}; -q.abs = function() { - return 0 > this.c ? this.i() : this -}; -q.U = function(a) { - var b = this.c - a.c; - if(0 != b) { - return b - } - var c = this.b, b = c - a.b; - if(0 != b) { - return 0 > this.c ? -b : b - } - for(;0 <= --c;) { - if(0 != (b = this[c] - a[c])) { - return b - } - } - return 0 -}; -X.ZERO = cd(0); -X.ONE = cd(1); -q = X.prototype; -q.nb = function(a, b) { - this.D(0); - b == m && (b = 10); - for(var c = this.S(b), d = Math.pow(b, c), f = n, g = 0, h = 0, i = 0;i < a.length;++i) { - var j = ad(a, i); - 0 > j ? "-" == a.charAt(i) && 0 == this.ra() && (f = l) : (h = b * h + j, ++g >= c && (this.Ia(d), this.Ha(h), h = g = 0)) - } - 0 < g && (this.Ia(Math.pow(b, g)), this.Ha(h)); - f && X.ZERO.t(this, this) -}; -q.S = function(a) { - return Math.floor(Math.LN2 * this.f / Math.log(a)) -}; -q.ra = function() { - return 0 > this.c ? -1 : 0 >= this.b || 1 == this.b && 0 >= this[0] ? 0 : 1 -}; -q.Ia = function(a) { - this[this.b] = this.ga(a - 1, this, 0, this.b); - ++this.b; - this.C() -}; -q.Ha = function(a) { - var b = 0; - if(0 != a) { - for(;this.b <= b;) { - this[this.b++] = 0 - } - for(this[b] += a;this[b] >= this.K;) { - this[b] -= this.K, ++b >= this.b && (this[this.b++] = 0), ++this[b] - } - } -}; -q.Fb = function(a) { - a == m && (a = 10); - if(0 == this.ra() || 2 > a || 36 < a) { - return"0" - } - var b = this.S(a), b = Math.pow(a, b), c = cd(b), d = $c(), f = $c(), g = ""; - for(this.Ja(c, d, f);0 < d.ra();) { - g = (b + f.Oa()).toString(a).substr(1) + g, d.Ja(c, d, f) - } - return f.Oa().toString(a) + g -}; -q.Oa = function() { - if(0 > this.c) { - if(1 == this.b) { - return this[0] - this.K - } - if(0 == this.b) { - return-1 - } - }else { - if(1 == this.b) { - return this[0] - } - if(0 == this.b) { - return 0 - } - } - return(this[1] & (1 << 32 - this.f) - 1) << this.f | this[0] -}; -q.fa = function(a, b) { - for(var c = 0, d = 0, f = Math.min(a.b, this.b);c < f;) { - d += this[c] + a[c], b[c++] = d & this.u, d >>= this.f - } - if(a.b < this.b) { - for(d += a.c;c < this.b;) { - d += this[c], b[c++] = d & this.u, d >>= this.f - } - d += this.c - }else { - for(d += this.c;c < a.b;) { - d += a[c], b[c++] = d & this.u, d >>= this.f - } - d += a.c - } - b.c = 0 > d ? -1 : 0; - 0 < d ? b[c++] = d : -1 > d && (b[c++] = this.K + d); - b.b = c; - b.C() -}; -var $ = {abs:function(a, b) { - var c = new Y(a, b), c = c.n() ? c.i() : c; - B[qb >> 2] = c.h; - B[qb + 4 >> 2] = c.j -}, Ka:function() { - $.kb || ($.kb = l, $.Xa = new X, $.Xa.k("4294967296", 10), $.sa = new X, $.sa.k("18446744073709551616", 10), $.xe = new X, $.ye = new X) -}, me:function(a, b) { - var c = new X; - c.k(b.toString(), 10); - var d = new X; - c.vb(d); - c = new X; - c.k(a.toString(), 10); - var f = new X; - c.fa(d, f); - return f -}, stringify:function(a, b, c) { - a = (new Y(a, b)).toString(); - c && "-" == a[0] && ($.Ka(), c = new X, c.k(a, 10), a = new X, $.sa.fa(c, a), a = a.toString(10)); - return a -}, k:function(a, b, c, d, f) { - $.Ka(); - var g = new X; - g.k(a, b); - a = new X; - a.k(c, 10); - c = new X; - c.k(d, 10); - f && 0 > g.U(X.ZERO) && (d = new X, g.fa($.sa, d), g = d); - d = n; - 0 > g.U(a) ? (g = a, d = l) : 0 < g.U(c) && (g = c, d = l); - g = Y.k(g.toString()); - B[qb >> 2] = g.h; - B[qb + 4 >> 2] = g.j; - d && e("range error") -}}; -nc = $; -var ed, fd; -r.callMain = r.$d = function(a) { - function b() { - for(var a = 0;3 > a;a++) { - d.push(0) - } - } - v(0 == K, "cannot call main when async dependencies remain! (listen on __ATMAIN__)"); - v(0 == Wa.length, "cannot call main when preRun functions remain to be called"); - a = a || []; - ab || (ab = l, Va(Xa)); - var c = a.length + 1, d = [F(J("/bin/this.program"), "i8", Ka)]; - b(); - for(var f = 0;f < c - 1;f += 1) { - d.push(F(J(a[f]), "i8", Ka)), b() - } - d.push(0); - d = F(d, "i32", Ka); - ed = u; - fd = l; - var g; - try { - g = r._main(c, d, 0) - }catch(h) { - if(h && "object" == typeof h && "ExitStatus" == h.type) { - return r.print("Exit Status: " + h.value), h.value - } - "SimulateInfiniteLoop" == h ? r.noExitRuntime = l : e(h) - }finally { - fd = n - } - r.noExitRuntime || gd(g) -}; -function lb(a) { - function b() { - ab || (ab = l, Va(Xa)); - Va(Ya); - gb = l; - r._main && kb && r.callMain(a); - if(r.postRun) { - for("function" == typeof r.postRun && (r.postRun = [r.postRun]);r.postRun.length;) { - cb(r.postRun.shift()) - } - } - Va($a) - } - a = a || r.arguments; - if(0 < K) { - r.P("run() called, but dependencies remain, so not running") - }else { - if(r.preRun) { - for("function" == typeof r.preRun && (r.preRun = [r.preRun]);r.preRun.length;) { - bb(r.preRun.shift()) - } - } - Va(Wa); - 0 < K || (r.setStatus ? (r.setStatus("Running..."), setTimeout(function() { - setTimeout(function() { - r.setStatus("") - }, 1); - za || b() - }, 1)) : b()) - } -} -r.run = r.we = lb; -function gd(a) { - za = l; - u = ed; - Va(Za); - fd && e({type:"ExitStatus", value:a}) -} -r.exit = r.de = gd; -function wa(a) { - a && r.print(a); - za = l; - e("abort() at " + Error().stack) -} -r.abort = r.abort = wa; -if(r.preInit) { - for("function" == typeof r.preInit && (r.preInit = [r.preInit]);0 < r.preInit.length;) { - r.preInit.pop()() - } -} -var kb = l; -r.noInitialRun && (kb = n); -lb(); -r._crypto_auth_hmacsha256_BYTES = 32; -r._crypto_core_salsa2012_INPUTBYTES = 16; -r._crypto_box_curve25519xsalsa20poly1305_ZEROBYTES = 32; -r._crypto_core_salsa20_KEYBYTES = 32; -r._crypto_core_hsalsa20_OUTPUTBYTES = 32; -r._crypto_sign_edwards25519sha512batch_PUBLICKEYBYTES = 32; -r._crypto_secretbox_xsalsa20poly1305_ZEROBYTES = 32; -r._crypto_stream_salsa2012_NONCEBYTES = 8; -r._crypto_scalarmult_curve25519_SCALARBYTES = 32; -r._crypto_sign_edwards25519sha512batch_BYTES = 64; -r._crypto_auth_hmacsha512256_BYTES = 32; -r._crypto_core_salsa208_INPUTBYTES = 16; -r._crypto_stream_xsalsa20_KEYBYTES = 32; -r._crypto_sign_ed25519_BYTES = 64; -r._crypto_stream_salsa2012_KEYBYTES = 32; -r._crypto_stream_salsa20_KEYBYTES = 32; -r._crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES = 16; -r._crypto_core_salsa20_INPUTBYTES = 16; -r._crypto_hashblocks_sha256_BLOCKBYTES = 64; -r._crypto_onetimeauth_poly1305_KEYBYTES = 32; -r._crypto_auth_hmacsha512256_KEYBYTES = 32; -r._crypto_hash_sha256_BYTES = 32; -r._crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES = 32; -r._crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES = 32; -r._crypto_sign_ed25519_SECRETKEYBYTES = 64; -r._crypto_stream_salsa208_NONCEBYTES = 8; -r._crypto_scalarmult_curve25519_BYTES = 32; -r._crypto_hashblocks_sha512_STATEBYTES = 64; -r._crypto_stream_salsa20_NONCEBYTES = 8; -r._crypto_sign_ed25519_PUBLICKEYBYTES = 32; -r._crypto_core_salsa208_OUTPUTBYTES = 64; -r._crypto_core_hsalsa20_INPUTBYTES = 16; -r._crypto_stream_aes128ctr_BEFORENMBYTES = 1408; -r._crypto_auth_hmacsha256_KEYBYTES = 32; -r._crypto_verify_32_BYTES = 32; -r._crypto_verify_16_BYTES = 16; -r._crypto_box_curve25519xsalsa20poly1305_NONCEBYTES = 24; -r._crypto_core_salsa2012_KEYBYTES = 32; -r._crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES = 16; -r._crypto_hashblocks_sha256_STATEBYTES = 32; -r._crypto_secretbox_xsalsa20poly1305_KEYBYTES = 32; -r._crypto_stream_xsalsa20_NONCEBYTES = 24; -r._crypto_onetimeauth_poly1305_BYTES = 16; -r._crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES = 32; -r._crypto_hash_sha512_BYTES = 64; -r._crypto_core_salsa20_CONSTBYTES = 16; -r._crypto_core_salsa2012_CONSTBYTES = 16; -r._crypto_core_salsa2012_OUTPUTBYTES = 64; -r._crypto_core_salsa20_OUTPUTBYTES = 64; -r._crypto_core_hsalsa20_CONSTBYTES = 16; -r._crypto_stream_salsa208_KEYBYTES = 32; -r._crypto_stream_aes128ctr_NONCEBYTES = 16; -r._crypto_core_salsa208_CONSTBYTES = 16; -r._crypto_stream_aes128ctr_KEYBYTES = 16; -r._crypto_core_hsalsa20_KEYBYTES = 32; -r._crypto_secretbox_xsalsa20poly1305_NONCEBYTES = 24; -r._crypto_sign_edwards25519sha512batch_SECRETKEYBYTES = 64; -r._crypto_core_salsa208_KEYBYTES = 32; -r._crypto_hashblocks_sha512_BLOCKBYTES = 128; -r._crypto_hash_BYTES = r._crypto_hash_sha512_BYTES; -r._crypto_sign = r._crypto_sign_ed25519; -r._crypto_stream_xor_afternm = r._crypto_stream_xsalsa20_xor_afternm; -r._crypto_box_PUBLICKEYBYTES = r._crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES; -r._crypto_box_SECRETKEYBYTES = r._crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES; -r._crypto_box_open_afternm = r._crypto_box_curve25519xsalsa20poly1305_open_afternm; -r._crypto_sign_SECRETKEYBYTES = r._crypto_sign_ed25519_SECRETKEYBYTES; -r._crypto_box_beforenm = r._crypto_box_curve25519xsalsa20poly1305_beforenm; -r._crypto_secretbox = r._crypto_secretbox_xsalsa20poly1305; -r._crypto_hash = r._crypto_hash_sha512; -r._crypto_sign_PUBLICKEYBYTES = r._crypto_sign_ed25519_PUBLICKEYBYTES; -r._crypto_stream_xor = r._crypto_stream_xsalsa20_xor; -r._crypto_box = r._crypto_box_curve25519xsalsa20poly1305; -r._crypto_secretbox_ZEROBYTES = r._crypto_secretbox_xsalsa20poly1305_ZEROBYTES; -r._crypto_box_ZEROBYTES = r._crypto_box_curve25519xsalsa20poly1305_ZEROBYTES; -r._crypto_secretbox_KEYBYTES = r._crypto_secretbox_xsalsa20poly1305_KEYBYTES; -r._crypto_stream_beforenm = r._crypto_stream_xsalsa20_beforenm; -r._crypto_onetimeauth_verify = r._crypto_onetimeauth_poly1305_verify; -r._crypto_box_BOXZEROBYTES = r._crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES; -r._crypto_hashblocks = r._crypto_hashblocks_sha512; -r._crypto_stream = r._crypto_stream_xsalsa20; -r._crypto_onetimeauth_KEYBYTES = r._crypto_onetimeauth_poly1305_KEYBYTES; -r._crypto_box_afternm = r._crypto_box_curve25519xsalsa20poly1305_afternm; -r._crypto_secretbox_BOXZEROBYTES = r._crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES; -r._crypto_hashblocks_BLOCKBYTES = r._crypto_hashblocks_sha512_BLOCKBYTES; -r._crypto_box_keypair = r._crypto_box_curve25519xsalsa20poly1305_keypair; -r._crypto_auth = r._crypto_auth_hmacsha512256; -r._crypto_box_BEFORENMBYTES = r._crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES; -r._crypto_secretbox_NONCEBYTES = r._crypto_secretbox_xsalsa20poly1305_NONCEBYTES; -r._crypto_stream_KEYBYTES = r._crypto_stream_xsalsa20_KEYBYTES; -r._crypto_box_NONCEBYTES = r._crypto_box_curve25519xsalsa20poly1305_NONCEBYTES; -r._crypto_auth_verify = r._crypto_auth_hmacsha512256_verify; -r._crypto_secretbox_open = r._crypto_secretbox_xsalsa20poly1305_open; -r._crypto_sign_BYTES = r._crypto_sign_ed25519_BYTES; -r._crypto_hashblocks_STATEBYTES = r._crypto_hashblocks_sha512_STATEBYTES; -r._crypto_auth_BYTES = r._crypto_auth_hmacsha512256_BYTES; -r._crypto_stream_BEFORENMBYTES = r._crypto_stream_xsalsa20_BEFORENMBYTES; -r._crypto_auth_KEYBYTES = r._crypto_auth_hmacsha512256_KEYBYTES; -r._crypto_stream_afternm = r._crypto_stream_xsalsa20_afternm; -r._crypto_sign_keypair = r._crypto_sign_ed25519_keypair; -r._crypto_sign_open = r._crypto_sign_ed25519_open; -r._crypto_onetimeauth_BYTES = r._crypto_onetimeauth_poly1305_BYTES; -r._crypto_box_open = r._crypto_box_curve25519xsalsa20poly1305_open; -r._crypto_stream_NONCEBYTES = r._crypto_stream_xsalsa20_NONCEBYTES; -r._crypto_onetimeauth = r._crypto_onetimeauth_poly1305; -var nacl = (function () { - 'use strict'; - var exports = {}; - - //--------------------------------------------------------------------------- - // Horrifying UTF-8 and hex codecs - - function encode_utf8(s) { - return encode_latin1(unescape(encodeURIComponent(s))); - } - - function encode_latin1(s) { - var result = new Uint8Array(s.length); - for (var i = 0; i < s.length; i++) { - var c = s.charCodeAt(i); - if ((c & 0xff) !== c) throw {message: "Cannot encode string in Latin1", str: s}; - result[i] = (c & 0xff); - } - return result; - } - - function decode_utf8(bs) { - return decodeURIComponent(escape(decode_latin1(bs))); - } - - function decode_latin1(bs) { - var encoded = []; - for (var i = 0; i < bs.length; i++) { - encoded.push(String.fromCharCode(bs[i])); - } - return encoded.join(''); - } - - function to_hex(bs) { - var encoded = []; - for (var i = 0; i < bs.length; i++) { - encoded.push("0123456789abcdef"[(bs[i] >> 4) & 15]); - encoded.push("0123456789abcdef"[bs[i] & 15]); - } - return encoded.join(''); - } - - function from_hex(s) { - var result = new Uint8Array(s.length / 2); - for (var i = 0; i < s.length / 2; i++) { - result[i] = parseInt(s.substr(2*i,2),16); - } - return result; - } - - //--------------------------------------------------------------------------- - // Allocation - - function MALLOC(nbytes) { - var result = nacl_raw._malloc(nbytes); - if (result === 0) { - throw {message: "malloc() failed", nbytes: nbytes}; - } - return result; - } - - function FREE(pointer) { - nacl_raw._free(pointer); - } - - //--------------------------------------------------------------------------- - - function injectBytes(bs, leftPadding) { - var p = leftPadding || 0; - var address = MALLOC(bs.length + p); - nacl_raw.HEAPU8.set(bs, address + p); - for (var i = address; i < address + p; i++) { - nacl_raw.HEAPU8[i] = 0; - } - return address; - } - - function check_injectBytes(function_name, what, thing, expected_length, leftPadding) { - check_length(function_name, what, thing, expected_length); - return injectBytes(thing, leftPadding); - } - - function extractBytes(address, length) { - var result = new Uint8Array(length); - result.set(nacl_raw.HEAPU8.subarray(address, address + length)); - return result; - } - - //--------------------------------------------------------------------------- - - function check(function_name, result) { - if (result !== 0) { - throw {message: "nacl_raw." + function_name + " signalled an error"}; - } - } - - function check_length(function_name, what, thing, expected_length) { - if (thing.length !== expected_length) { - throw {message: "nacl." + function_name + " expected " + - expected_length + "-byte " + what + " but got length " + thing.length}; - } - } - - function Target(length) { - this.length = length; - this.address = MALLOC(length); - } - - Target.prototype.extractBytes = function (offset) { - var result = extractBytes(this.address + (offset || 0), this.length - (offset || 0)); - FREE(this.address); - this.address = null; - return result; - }; - - function free_all(addresses) { - for (var i = 0; i < addresses.length; i++) { - FREE(addresses[i]); - } - } - - //--------------------------------------------------------------------------- - // Boxing - - function crypto_box_keypair() { - var pk = new Target(nacl_raw._crypto_box_PUBLICKEYBYTES); - var sk = new Target(nacl_raw._crypto_box_SECRETKEYBYTES); - check("_crypto_box_keypair", nacl_raw._crypto_box_keypair(pk.address, sk.address)); - return {boxPk: pk.extractBytes(), boxSk: sk.extractBytes()}; - } - - function crypto_box_random_nonce() { - return nacl_raw.RandomBytes.crypto.randomBytes(nacl_raw._crypto_box_NONCEBYTES); - } - - function crypto_box(msg, nonce, pk, sk) { - var m = injectBytes(msg, nacl_raw._crypto_box_ZEROBYTES); - var na = check_injectBytes("crypto_box", "nonce", nonce, nacl_raw._crypto_box_NONCEBYTES); - var pka = check_injectBytes("crypto_box", "pk", pk, nacl_raw._crypto_box_PUBLICKEYBYTES); - var ska = check_injectBytes("crypto_box", "sk", sk, nacl_raw._crypto_box_SECRETKEYBYTES); - var c = new Target(msg.length + nacl_raw._crypto_box_ZEROBYTES); - check("_crypto_box", nacl_raw._crypto_box(c.address, m, c.length, 0, na, pka, ska)); - free_all([m, na, pka, ska]); - return c.extractBytes(nacl_raw._crypto_box_BOXZEROBYTES); - } - - function crypto_box_open(ciphertext, nonce, pk, sk) { - var c = injectBytes(ciphertext, nacl_raw._crypto_box_BOXZEROBYTES); - var na = check_injectBytes("crypto_box_open", - "nonce", nonce, nacl_raw._crypto_box_NONCEBYTES); - var pka = check_injectBytes("crypto_box_open", - "pk", pk, nacl_raw._crypto_box_PUBLICKEYBYTES); - var ska = check_injectBytes("crypto_box_open", - "sk", sk, nacl_raw._crypto_box_SECRETKEYBYTES); - var m = new Target(ciphertext.length + nacl_raw._crypto_box_BOXZEROBYTES); - check("_crypto_box_open", nacl_raw._crypto_box_open(m.address, c, m.length, 0, na, pka, ska)); - free_all([c, na, pka, ska]); - return m.extractBytes(nacl_raw._crypto_box_ZEROBYTES); - } - - function crypto_box_precompute(pk, sk) { - var pka = check_injectBytes("crypto_box_precompute", - "pk", pk, nacl_raw._crypto_box_PUBLICKEYBYTES); - var ska = check_injectBytes("crypto_box_precompute", - "sk", sk, nacl_raw._crypto_box_SECRETKEYBYTES); - var k = new Target(nacl_raw._crypto_box_BEFORENMBYTES); - check("_crypto_box_beforenm", - nacl_raw._crypto_box_beforenm(k.address, pka, ska)); - free_all([pka, ska]); - return {boxK: k.extractBytes()}; - } - - function crypto_box_precomputed(msg, nonce, state) { - var m = injectBytes(msg, nacl_raw._crypto_box_ZEROBYTES); - var na = check_injectBytes("crypto_box_precomputed", - "nonce", nonce, nacl_raw._crypto_box_NONCEBYTES); - var ka = check_injectBytes("crypto_box_precomputed", - "boxK", state.boxK, nacl_raw._crypto_box_BEFORENMBYTES); - var c = new Target(msg.length + nacl_raw._crypto_box_ZEROBYTES); - check("_crypto_box_afternm", - nacl_raw._crypto_box_afternm(c.address, m, c.length, 0, na, ka)); - free_all([m, na, ka]); - return c.extractBytes(nacl_raw._crypto_box_BOXZEROBYTES); - } - - function crypto_box_open_precomputed(ciphertext, nonce, state) { - var c = injectBytes(ciphertext, nacl_raw._crypto_box_BOXZEROBYTES); - var na = check_injectBytes("crypto_box_open_precomputed", - "nonce", nonce, nacl_raw._crypto_box_NONCEBYTES); - var ka = check_injectBytes("crypto_box_open_precomputed", - "boxK", state.boxK, nacl_raw._crypto_box_BEFORENMBYTES); - var m = new Target(ciphertext.length + nacl_raw._crypto_box_BOXZEROBYTES); - check("_crypto_box_open_afternm", - nacl_raw._crypto_box_open_afternm(m.address, c, m.length, 0, na, ka)); - free_all([c, na, ka]); - return m.extractBytes(nacl_raw._crypto_box_ZEROBYTES); - } - - //--------------------------------------------------------------------------- - // Hashing - - function crypto_hash(bs) { - var address = injectBytes(bs); - var hash = new Target(nacl_raw._crypto_hash_BYTES); - check("_crypto_hash", nacl_raw._crypto_hash(hash.address, address, bs.length, 0)); - FREE(address); - return hash.extractBytes(); - } - - function crypto_hash_sha256(bs) { - var address = injectBytes(bs); - var hash = new Target(nacl_raw._crypto_hash_sha256_BYTES); - check("_crypto_hash_sha256", - nacl_raw._crypto_hash_sha256(hash.address, address, bs.length, 0)); - FREE(address); - return hash.extractBytes(); - } - - function crypto_hash_string(s) { - return crypto_hash(encode_utf8(s)); - } - - //--------------------------------------------------------------------------- - // Symmetric-key encryption - - function crypto_stream_random_nonce() { - return nacl_raw.RandomBytes.crypto.randomBytes(nacl_raw._crypto_stream_NONCEBYTES); - } - - function crypto_stream(len, nonce, key) { - var na = check_injectBytes("crypto_stream", - "nonce", nonce, nacl_raw._crypto_stream_NONCEBYTES); - var ka = check_injectBytes("crypto_stream", - "key", key, nacl_raw._crypto_stream_KEYBYTES); - var out = new Target(len); - check("_crypto_stream", nacl_raw._crypto_stream(out.address, len, 0, na, ka)); - free_all([na, ka]); - return out.extractBytes(); - } - - function crypto_stream_xor(msg, nonce, key) { - var na = check_injectBytes("crypto_stream_xor", - "nonce", nonce, nacl_raw._crypto_stream_NONCEBYTES); - var ka = check_injectBytes("crypto_stream_xor", - "key", key, nacl_raw._crypto_stream_KEYBYTES); - var ma = injectBytes(msg); - var out = new Target(msg.length); - check("_crypto_stream_xor", - nacl_raw._crypto_stream_xor(out.address, ma, msg.length, 0, na, ka)); - free_all([na, ka, ma]); - return out.extractBytes(); - } - - //--------------------------------------------------------------------------- - // One-time authentication - - function crypto_onetimeauth(msg, key) { - var ka = check_injectBytes("crypto_onetimeauth", - "key", key, nacl_raw._crypto_onetimeauth_KEYBYTES); - var ma = injectBytes(msg); - var authenticator = new Target(nacl_raw._crypto_onetimeauth_BYTES); - check("_crypto_onetimeauth", - nacl_raw._crypto_onetimeauth(authenticator.address, ma, msg.length, 0, ka)); - free_all([ka, ma]); - return authenticator.extractBytes(); - } - - function crypto_onetimeauth_verify(authenticator, msg, key) { - if (authenticator.length != nacl_raw._crypto_onetimeauth_BYTES) return false; - var ka = check_injectBytes("crypto_onetimeauth_verify", - "key", key, nacl_raw._crypto_onetimeauth_KEYBYTES); - var ma = injectBytes(msg); - var aa = injectBytes(authenticator); - var result = nacl_raw._crypto_onetimeauth_verify(aa, ma, msg.length, 0, ka); - free_all([ka, ma, aa]); - return (result == 0); - } - - //--------------------------------------------------------------------------- - // Authentication - - function crypto_auth(msg, key) { - var ka = check_injectBytes("crypto_auth", "key", key, nacl_raw._crypto_auth_KEYBYTES); - var ma = injectBytes(msg); - var authenticator = new Target(nacl_raw._crypto_auth_BYTES); - check("_crypto_auth", nacl_raw._crypto_auth(authenticator.address, ma, msg.length, 0, ka)); - free_all([ka, ma]); - return authenticator.extractBytes(); - } - - function crypto_auth_verify(authenticator, msg, key) { - if (authenticator.length != nacl_raw._crypto_auth_BYTES) return false; - var ka = check_injectBytes("crypto_auth_verify", - "key", key, nacl_raw._crypto_auth_KEYBYTES); - var ma = injectBytes(msg); - var aa = injectBytes(authenticator); - var result = nacl_raw._crypto_auth_verify(aa, ma, msg.length, 0, ka); - free_all([ka, ma, aa]); - return (result == 0); - } - - //--------------------------------------------------------------------------- - // Authenticated symmetric-key encryption - - function crypto_secretbox_random_nonce() { - return nacl_raw.RandomBytes.crypto.randomBytes(nacl_raw._crypto_secretbox_NONCEBYTES); - } - - function crypto_secretbox(msg, nonce, key) { - var m = injectBytes(msg, nacl_raw._crypto_secretbox_ZEROBYTES); - var na = check_injectBytes("crypto_secretbox", - "nonce", nonce, nacl_raw._crypto_secretbox_NONCEBYTES); - var ka = check_injectBytes("crypto_secretbox", - "key", key, nacl_raw._crypto_secretbox_KEYBYTES); - var c = new Target(msg.length + nacl_raw._crypto_secretbox_ZEROBYTES); - check("_crypto_secretbox", nacl_raw._crypto_secretbox(c.address, m, c.length, 0, na, ka)); - free_all([m, na, ka]); - return c.extractBytes(nacl_raw._crypto_secretbox_BOXZEROBYTES); - } - - function crypto_secretbox_open(ciphertext, nonce, key) { - var c = injectBytes(ciphertext, nacl_raw._crypto_secretbox_BOXZEROBYTES); - var na = check_injectBytes("crypto_secretbox_open", - "nonce", nonce, nacl_raw._crypto_secretbox_NONCEBYTES); - var ka = check_injectBytes("crypto_secretbox_open", - "key", key, nacl_raw._crypto_secretbox_KEYBYTES); - var m = new Target(ciphertext.length + nacl_raw._crypto_secretbox_BOXZEROBYTES); - check("_crypto_secretbox_open", - nacl_raw._crypto_secretbox_open(m.address, c, m.length, 0, na, ka)); - free_all([c, na, ka]); - return m.extractBytes(nacl_raw._crypto_secretbox_ZEROBYTES); - } - - //--------------------------------------------------------------------------- - // Signing - - function crypto_sign_keypair() { - var pk = new Target(nacl_raw._crypto_sign_PUBLICKEYBYTES); - var sk = new Target(nacl_raw._crypto_sign_SECRETKEYBYTES); - check("_crypto_sign_keypair", nacl_raw._crypto_sign_keypair(pk.address, sk.address)); - return {signPk: pk.extractBytes(), signSk: sk.extractBytes()}; - } - - function crypto_sign(msg, sk) { - var ma = injectBytes(msg); - var ska = check_injectBytes("crypto_sign", "sk", sk, nacl_raw._crypto_sign_SECRETKEYBYTES); - var sm = new Target(msg.length + nacl_raw._crypto_sign_BYTES); - var smlen = new Target(8); - check("_crypto_sign", - nacl_raw._crypto_sign(sm.address, smlen.address, ma, msg.length, 0, ska)); - free_all([ma, ska]); - sm.length = nacl_raw.HEAPU32[smlen.address >> 2]; - FREE(smlen.address); - return sm.extractBytes(); - } - - function crypto_sign_detached(msg, sk) { - // WARNING: Experimental. Works for ed25519 but not necessarily other implementations. - var signed_msg = crypto_sign(msg, sk); - return signed_msg.subarray(0, nacl_raw._crypto_sign_BYTES); - } - - function crypto_sign_open(sm, pk) { - var sma = injectBytes(sm); - var pka = check_injectBytes("crypto_sign_open", - "pk", pk, nacl_raw._crypto_sign_PUBLICKEYBYTES); - var m = new Target(sm.length); - var mlen = new Target(8); - if (nacl_raw._crypto_sign_open(m.address, mlen.address, sma, sm.length, 0, pka) === 0) { - free_all([sma, pka]); - m.length = nacl_raw.HEAPU32[mlen.address >> 2]; - FREE(mlen.address); - return m.extractBytes(); - } else { - free_all([sma, pka, m.address, mlen.address]); - return null; - } - } - - function crypto_sign_verify_detached(detached_signature, msg, pk) { - // WARNING: Experimental. Works for ed25519 but not necessarily other implementations. - var signed_msg = new Uint8Array(detached_signature.length + msg.length); - signed_msg.set(detached_signature, 0); - signed_msg.set(msg, detached_signature.length); - return crypto_sign_open(signed_msg, pk) !== null; - } - - //--------------------------------------------------------------------------- - // Keys - - function crypto_sign_keypair_from_seed(bs) { - var seeda = check_injectBytes("crypto_sign_keypair_from_seed", - "seed", bs, nacl_raw._crypto_sign_SECRETKEYBYTES / 2); - var pk = new Target(nacl_raw._crypto_sign_PUBLICKEYBYTES); - var sk = new Target(nacl_raw._crypto_sign_SECRETKEYBYTES); - check("_crypto_sign_keypair_from_raw_sk", - nacl_raw._crypto_sign_keypair_from_raw_sk(pk.address, sk.address, seeda)); - FREE(seeda); - return {signPk: pk.extractBytes(), signSk: sk.extractBytes()}; - } - - function crypto_box_keypair_from_seed(bs) { - var hash = new Uint8Array(crypto_hash(bs)); - return crypto_box_keypair_from_raw_sk(hash.subarray(0, - nacl_raw._crypto_box_SECRETKEYBYTES)); - } - - function crypto_box_keypair_from_raw_sk(sk) { - return {boxPk: crypto_scalarmult_base(sk), boxSk: sk}; - } - - //--------------------------------------------------------------------------- - // Scalarmult - - function crypto_scalarmult(n,p) { - var na = check_injectBytes("crypto_scalarmult", "n", n, - nacl_raw._crypto_scalarmult_curve25519_SCALARBYTES); - var pa = check_injectBytes("crypto_scalarmult", "p", p, - nacl_raw._crypto_scalarmult_curve25519_BYTES); - var q = new Target(nacl_raw._crypto_scalarmult_curve25519_BYTES); - check("_crypto_scalarmult_curve25519", - nacl_raw._crypto_scalarmult_curve25519(q.address, na, pa)); - FREE(na); - FREE(pa); - return q.extractBytes(); - } - - function crypto_scalarmult_base(n) { - var na = check_injectBytes("crypto_scalarmult_base", "n", n, - nacl_raw._crypto_scalarmult_curve25519_SCALARBYTES); - var q = new Target(nacl_raw._crypto_scalarmult_curve25519_BYTES); - check("_crypto_scalarmult_curve25519_base", - nacl_raw._crypto_scalarmult_curve25519_base(q.address, na)); - FREE(na); - return q.extractBytes(); - } - - //--------------------------------------------------------------------------- - - exports.crypto_auth_BYTES = nacl_raw._crypto_auth_BYTES; - exports.crypto_auth_KEYBYTES = nacl_raw._crypto_auth_KEYBYTES; - exports.crypto_box_BEFORENMBYTES = nacl_raw._crypto_box_BEFORENMBYTES; - exports.crypto_box_BOXZEROBYTES = nacl_raw._crypto_box_BOXZEROBYTES; - exports.crypto_box_NONCEBYTES = nacl_raw._crypto_box_NONCEBYTES; - exports.crypto_box_PUBLICKEYBYTES = nacl_raw._crypto_box_PUBLICKEYBYTES; - exports.crypto_box_SECRETKEYBYTES = nacl_raw._crypto_box_SECRETKEYBYTES; - exports.crypto_box_ZEROBYTES = nacl_raw._crypto_box_ZEROBYTES; - exports.crypto_hash_BYTES = nacl_raw._crypto_hash_BYTES; - exports.crypto_hash_sha256_BYTES = nacl_raw._crypto_hash_sha256_BYTES; - exports.crypto_hashblocks_BLOCKBYTES = nacl_raw._crypto_hashblocks_BLOCKBYTES; - exports.crypto_hashblocks_STATEBYTES = nacl_raw._crypto_hashblocks_STATEBYTES; - exports.crypto_onetimeauth_BYTES = nacl_raw._crypto_onetimeauth_BYTES; - exports.crypto_onetimeauth_KEYBYTES = nacl_raw._crypto_onetimeauth_KEYBYTES; - exports.crypto_secretbox_BOXZEROBYTES = nacl_raw._crypto_secretbox_BOXZEROBYTES; - exports.crypto_secretbox_KEYBYTES = nacl_raw._crypto_secretbox_KEYBYTES; - exports.crypto_secretbox_NONCEBYTES = nacl_raw._crypto_secretbox_NONCEBYTES; - exports.crypto_secretbox_ZEROBYTES = nacl_raw._crypto_secretbox_ZEROBYTES; - exports.crypto_sign_BYTES = nacl_raw._crypto_sign_BYTES; - exports.crypto_sign_PUBLICKEYBYTES = nacl_raw._crypto_sign_PUBLICKEYBYTES; - exports.crypto_sign_SECRETKEYBYTES = nacl_raw._crypto_sign_SECRETKEYBYTES; - exports.crypto_stream_BEFORENMBYTES = nacl_raw._crypto_stream_BEFORENMBYTES; - exports.crypto_stream_KEYBYTES = nacl_raw._crypto_stream_KEYBYTES; - exports.crypto_stream_NONCEBYTES = nacl_raw._crypto_stream_NONCEBYTES; - exports.crypto_scalarmult_SCALARBYTES = nacl_raw._crypto_scalarmult_curve25519_SCALARBYTES; - exports.crypto_scalarmult_BYTES = nacl_raw._crypto_scalarmult_curve25519_BYTES; - - exports.encode_utf8 = encode_utf8; - exports.encode_latin1 = encode_latin1; - exports.decode_utf8 = decode_utf8; - exports.decode_latin1 = decode_latin1; - exports.to_hex = to_hex; - exports.from_hex = from_hex; - - exports.crypto_box_keypair = crypto_box_keypair; - exports.crypto_box_random_nonce = crypto_box_random_nonce; - exports.crypto_box = crypto_box; - exports.crypto_box_open = crypto_box_open; - exports.crypto_box_precompute = crypto_box_precompute; - exports.crypto_box_precomputed = crypto_box_precomputed; - exports.crypto_box_open_precomputed = crypto_box_open_precomputed; - - exports.crypto_stream_random_nonce = crypto_stream_random_nonce; - exports.crypto_stream = crypto_stream; - exports.crypto_stream_xor = crypto_stream_xor; - - exports.crypto_onetimeauth = crypto_onetimeauth; - exports.crypto_onetimeauth_verify = crypto_onetimeauth_verify; - - exports.crypto_auth = crypto_auth; - exports.crypto_auth_verify = crypto_auth_verify; - - exports.crypto_secretbox_random_nonce = crypto_secretbox_random_nonce; - exports.crypto_secretbox = crypto_secretbox; - exports.crypto_secretbox_open = crypto_secretbox_open; - - exports.crypto_sign_keypair = crypto_sign_keypair; - exports.crypto_sign = crypto_sign; - exports.crypto_sign_detached = crypto_sign_detached; - exports.crypto_sign_open = crypto_sign_open; - exports.crypto_sign_verify_detached = crypto_sign_verify_detached; - - exports.crypto_hash = crypto_hash; - exports.crypto_hash_sha256 = crypto_hash_sha256; - exports.crypto_hash_string = crypto_hash_string; - - exports.crypto_sign_keypair_from_seed = crypto_sign_keypair_from_seed; - exports.crypto_box_keypair_from_seed = crypto_box_keypair_from_seed; - exports.crypto_box_keypair_from_raw_sk = crypto_box_keypair_from_raw_sk; - - exports.crypto_scalarmult = crypto_scalarmult; - exports.crypto_scalarmult_base = crypto_scalarmult_base; - - return exports; -})(); - var randomBytes; - if (typeof module !== 'undefined' && module.exports) { - // add node.js implementations - var crypto = require('crypto'); - randomBytes = crypto.randomBytes; - } else if (window && window.crypto && window.crypto.getRandomValues) { - // add in-browser implementation - randomBytes = function (count) { - var bs = new Uint8Array(count); - window.crypto.getRandomValues(bs); - return bs; - }; - } else { - randomBytes = function (count) { - throw { name: "No cryptographic random number generator", - message: "Your browser does not support cryptographic random number generation." }; - }; - } - - nacl_raw.RandomBytes.crypto = { "randomBytes": randomBytes }; - nacl.random_bytes = randomBytes; - nacl.nacl_raw = nacl_raw; - return nacl; - })((typeof window !== 'undefined') ? window : null, (typeof document !== 'undefined') ? document : null); - } -}; - -// export common.js module to allow one js file for browser and node.js -if (typeof module !== 'undefined' && module.exports) { - module.exports = nacl_factory; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/js/scrypt-em.js b/ucoinj-ui-wicket/src/main/webapp/js/scrypt-em.js deleted file mode 100644 index a98182e6..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/scrypt-em.js +++ /dev/null @@ -1,10306 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -var scrypt_module_factory = (function (requested_total_memory) { - var Module = {TOTAL_MEMORY: (requested_total_memory || 33554432)}; - var scrypt_raw = Module; -function g(a) { - throw a; -} -var k = void 0, l = !0, m = null, p = !1; -function aa() { - return function() { - } -} -var q, s; -s || (s = eval("(function() { try { return Module || {} } catch(e) { return {} } })()")); -var ba = {}, t; -for(t in s) { - s.hasOwnProperty(t) && (ba[t] = s[t]) -} -var ca = "object" === typeof process && "function" === typeof require, da = "object" === typeof window, ea = "function" === typeof importScripts, fa = !da && !ca && !ea; -if(ca) { - s.print = function(a) { - process.stdout.write(a + "\n") - }; - s.printErr = function(a) { - process.stderr.write(a + "\n") - }; - var ga = require("fs"), ha = require("path"); - s.read = function(a, b) { - var a = ha.normalize(a), c = ga.readFileSync(a); - !c && a != ha.resolve(a) && (a = path.join(__dirname, "..", "src", a), c = ga.readFileSync(a)); - c && !b && (c = c.toString()); - return c - }; - s.readBinary = function(a) { - return s.read(a, l) - }; - s.load = function(a) { - ia(read(a)) - }; - s.arguments = process.argv.slice(2); - module.ee = s -}else { - fa ? (s.print = print, "undefined" != typeof printErr && (s.printErr = printErr), s.read = read, s.readBinary = function(a) { - return read(a, "binary") - }, "undefined" != typeof scriptArgs ? s.arguments = scriptArgs : "undefined" != typeof arguments && (s.arguments = arguments), this.Module = s) : da || ea ? (s.read = function(a) { - var b = new XMLHttpRequest; - b.open("GET", a, p); - b.send(m); - return b.responseText - }, "undefined" != typeof arguments && (s.arguments = arguments), da ? (s.print = function(a) { - console.log(a) - }, s.printErr = function(a) { - console.log(a) - }, this.Module = s) : ea && (s.print = aa(), s.load = importScripts)) : g("Unknown runtime environment. Where are we?") -} -function ia(a) { - eval.call(m, a) -} -"undefined" == !s.load && s.read && (s.load = function(a) { - ia(s.read(a)) -}); -s.print || (s.print = aa()); -s.printErr || (s.printErr = s.print); -s.arguments || (s.arguments = []); -s.print = s.print; -s.P = s.printErr; -s.preRun = []; -s.postRun = []; -for(t in ba) { - ba.hasOwnProperty(t) && (s[t] = ba[t]) -} -function ja() { - return u -} -function ka(a) { - u = a -} -function la(a) { - if(1 == ma) { - return 1 - } - var b = {"%i1":1, "%i8":1, "%i16":2, "%i32":4, "%i64":8, "%float":4, "%double":8}["%" + a]; - b || ("*" == a.charAt(a.length - 1) ? b = ma : "i" == a[0] && (a = parseInt(a.substr(1)), w(0 == a % 8), b = a / 8)); - return b -} -function na(a, b, c) { - c && c.length ? (c.splice || (c = Array.prototype.slice.call(c)), c.splice(0, 0, b), s["dynCall_" + a].apply(m, c)) : s["dynCall_" + a].call(m, b) -} -var oa; -function pa() { - var a = [], b = 0; - this.oa = function(c) { - c &= 255; - b && (a.push(c), b--); - if(0 == a.length) { - if(128 > c) { - return String.fromCharCode(c) - } - a.push(c); - b = 191 < c && 224 > c ? 1 : 2; - return"" - } - if(0 < b) { - return"" - } - var c = a[0], d = a[1], e = a[2], c = 191 < c && 224 > c ? String.fromCharCode((c & 31) << 6 | d & 63) : String.fromCharCode((c & 15) << 12 | (d & 63) << 6 | e & 63); - a.length = 0; - return c - }; - this.yb = function(a) { - for(var a = unescape(encodeURIComponent(a)), b = [], e = 0;e < a.length;e++) { - b.push(a.charCodeAt(e)) - } - return b - } -} -function qa(a) { - var b = u; - u = u + a | 0; - u = u + 7 >> 3 << 3; - return b -} -function ra(a) { - var b = sa; - sa = sa + a | 0; - sa = sa + 7 >> 3 << 3; - return b -} -function ua(a) { - var b = z; - z = z + a | 0; - z = z + 7 >> 3 << 3; - z >= va && wa("Cannot enlarge memory arrays in asm.js. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value, or (2) set Module.TOTAL_MEMORY before the program runs."); - return b -} -function xa(a, b) { - return Math.ceil(a / (b ? b : 8)) * (b ? b : 8) -} -var ma = 4, ya = {}, za = p, Aa; -function w(a, b) { - a || wa("Assertion failed: " + b) -} -s.ccall = function(a, b, c, d) { - return Ba(Ca(a), b, c, d) -}; -function Ca(a) { - try { - var b = s["_" + a]; - b || (b = eval("_" + a)) - }catch(c) { - } - w(b, "Cannot call unknown function " + a + " (perhaps LLVM optimizations or closure removed it?)"); - return b -} -function Ba(a, b, c, d) { - function e(a, b) { - if("string" == b) { - if(a === m || a === k || 0 === a) { - return 0 - } - f || (f = ja()); - var c = qa(a.length + 1); - Da(a, c); - return c - } - return"array" == b ? (f || (f = ja()), c = qa(a.length), Ea(a, c), c) : a - } - var f = 0, h = 0, d = d ? d.map(function(a) { - return e(a, c[h++]) - }) : []; - a = a.apply(m, d); - "string" == b ? b = Fa(a) : (w("array" != b), b = a); - f && ka(f); - return b -} -s.cwrap = function(a, b, c) { - var d = Ca(a); - return function() { - return Ba(d, b, c, Array.prototype.slice.call(arguments)) - } -}; -function Ga(a, b, c) { - c = c || "i8"; - "*" === c.charAt(c.length - 1) && (c = "i32"); - switch(c) { - case "i1": - A[a] = b; - break; - case "i8": - A[a] = b; - break; - case "i16": - Ha[a >> 1] = b; - break; - case "i32": - B[a >> 2] = b; - break; - case "i64": - Aa = [b >>> 0, (Math.min(+Math.floor(b / 4294967296), 4294967295) | 0) >>> 0]; - B[a >> 2] = Aa[0]; - B[a + 4 >> 2] = Aa[1]; - break; - case "float": - Ia[a >> 2] = b; - break; - case "double": - Ja[a >> 3] = b; - break; - default: - wa("invalid type for setValue: " + c) - } -} -s.setValue = Ga; -s.getValue = function(a, b) { - b = b || "i8"; - "*" === b.charAt(b.length - 1) && (b = "i32"); - switch(b) { - case "i1": - return A[a]; - case "i8": - return A[a]; - case "i16": - return Ha[a >> 1]; - case "i32": - return B[a >> 2]; - case "i64": - return B[a >> 2]; - case "float": - return Ia[a >> 2]; - case "double": - return Ja[a >> 3]; - default: - wa("invalid type for setValue: " + b) - } - return m -}; -var Ka = 0, La = 1, E = 2, Na = 4; -s.ALLOC_NORMAL = Ka; -s.ALLOC_STACK = La; -s.ALLOC_STATIC = E; -s.ALLOC_DYNAMIC = 3; -s.ALLOC_NONE = Na; -function F(a, b, c, d) { - var e, f; - "number" === typeof a ? (e = l, f = a) : (e = p, f = a.length); - var h = "string" === typeof b ? b : m, c = c == Na ? d : [Oa, qa, ra, ua][c === k ? E : c](Math.max(f, h ? 1 : b.length)); - if(e) { - d = c; - w(0 == (c & 3)); - for(a = c + (f & -4);d < a;d += 4) { - B[d >> 2] = 0 - } - for(a = c + f;d < a;) { - A[d++ | 0] = 0 - } - return c - } - if("i8" === h) { - return a.subarray || a.slice ? G.set(a, c) : G.set(new Uint8Array(a), c), c - } - for(var d = 0, i, j;d < f;) { - var n = a[d]; - "function" === typeof n && (n = ya.fe(n)); - e = h || b[d]; - 0 === e ? d++ : ("i64" == e && (e = "i32"), Ga(c + d, n, e), j !== e && (i = la(e), j = e), d += i) - } - return c -} -s.allocate = F; -function Fa(a, b) { - for(var c = p, d, e = 0;;) { - d = G[a + e | 0]; - if(128 <= d) { - c = l - }else { - if(0 == d && !b) { - break - } - } - e++; - if(b && e == b) { - break - } - } - b || (b = e); - var f = ""; - if(!c) { - for(;0 < b;) { - d = String.fromCharCode.apply(String, G.subarray(a, a + Math.min(b, 1024))), f = f ? f + d : d, a += 1024, b -= 1024 - } - return f - } - c = new pa; - for(e = 0;e < b;e++) { - d = G[a + e | 0], f += c.oa(d) - } - return f -} -s.Pointer_stringify = Fa; -var A, G, Ha, Pa, B, Qa, Ia, Ja, Ra = 0, sa = 0, Sa = 0, u = 0, Ta = 0, Ua = 0, z = 0, va = s.TOTAL_MEMORY || 33554432; -w(!!Int32Array && !!Float64Array && !!(new Int32Array(1)).subarray && !!(new Int32Array(1)).set, "Cannot fallback to non-typed array case: Code is too specialized"); -var I = new ArrayBuffer(va); -A = new Int8Array(I); -Ha = new Int16Array(I); -B = new Int32Array(I); -G = new Uint8Array(I); -Pa = new Uint16Array(I); -Qa = new Uint32Array(I); -Ia = new Float32Array(I); -Ja = new Float64Array(I); -B[0] = 255; -w(255 === G[0] && 0 === G[3], "Typed arrays 2 must be run on a little-endian system"); -s.HEAP = k; -s.HEAP8 = A; -s.HEAP16 = Ha; -s.HEAP32 = B; -s.HEAPU8 = G; -s.HEAPU16 = Pa; -s.HEAPU32 = Qa; -s.HEAPF32 = Ia; -s.HEAPF64 = Ja; -function Va(a) { - for(;0 < a.length;) { - var b = a.shift(); - if("function" == typeof b) { - b() - }else { - var c = b.V; - "number" === typeof c ? b.ha === k ? na("v", c) : na("vi", c, [b.ha]) : c(b.ha === k ? m : b.ha) - } - } -} -var Wa = [], Xa = [], Ya = [], Za = [], $a = [], ab = p; -function bb(a) { - Wa.unshift(a) -} -s.addOnPreRun = s.Vd = bb; -s.addOnInit = s.Sd = function(a) { - Xa.unshift(a) -}; -s.addOnPreMain = s.Ud = function(a) { - Ya.unshift(a) -}; -s.addOnExit = s.Rd = function(a) { - Za.unshift(a) -}; -function cb(a) { - $a.unshift(a) -} -s.addOnPostRun = s.Td = cb; -function J(a, b, c) { - a = (new pa).yb(a); - c && (a.length = c); - b || a.push(0); - return a -} -s.intArrayFromString = J; -s.intArrayToString = function(a) { - for(var b = [], c = 0;c < a.length;c++) { - var d = a[c]; - 255 < d && (d &= 255); - b.push(String.fromCharCode(d)) - } - return b.join("") -}; -function Da(a, b, c) { - a = J(a, c); - for(c = 0;c < a.length;) { - A[b + c | 0] = a[c], c += 1 - } -} -s.writeStringToMemory = Da; -function Ea(a, b) { - for(var c = 0;c < a.length;c++) { - A[b + c | 0] = a[c] - } -} -s.writeArrayToMemory = Ea; -function db(a, b) { - return 0 <= a ? a : 32 >= b ? 2 * Math.abs(1 << b - 1) + a : Math.pow(2, b) + a -} -function eb(a, b) { - if(0 >= a) { - return a - } - var c = 32 >= b ? Math.abs(1 << b - 1) : Math.pow(2, b - 1); - if(a >= c && (32 >= b || a > c)) { - a = -2 * c + a - } - return a -} -Math.imul || (Math.imul = function(a, b) { - var c = a & 65535, d = b & 65535; - return c * d + ((a >>> 16) * d + c * (b >>> 16) << 16) | 0 -}); -Math.ie = Math.imul; -var L = 0, fb = {}, gb = p, hb = m; -function ib(a) { - L++; - s.monitorRunDependencies && s.monitorRunDependencies(L); - a ? (w(!fb[a]), fb[a] = 1) : s.P("warning: run dependency added without ID") -} -s.addRunDependency = ib; -function jb(a) { - L--; - s.monitorRunDependencies && s.monitorRunDependencies(L); - a ? (w(fb[a]), delete fb[a]) : s.P("warning: run dependency removed without ID"); - 0 == L && (hb !== m && (clearInterval(hb), hb = m), !gb && kb && lb()) -} -s.removeRunDependency = jb; -s.preloadedImages = {}; -s.preloadedAudios = {}; -Ra = 8; -sa = Ra + 1312; -Xa.push({V:function() { - mb() -}}); -var nb, ob, pb; -nb = nb = F([0, 0, 0, 0, 0, 0, 0, 0], "i8", E); -ob = ob = F([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", E); -pb = pb = F([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", E); -F([111, 112, 116, 105, 111, 110, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 115, 0, 0, 0, 0, 0, 0, 0, 111, 112, 116, 105, 111, 110, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 64, 0, 0, 0, 0, 0, 0, 89, 64, 0, 0, 0, 0, 0, 136, 195, 64, 0, 0, 0, 0, 132, 215, 151, 65, 0, 128, 224, 55, 121, 195, 65, 67, -23, 110, 5, 181, 181, 184, 147, 70, 245, 249, 63, 233, 3, 79, 56, 77, 50, 29, 48, 249, 72, 119, 130, 90, 60, 191, 115, 127, 221, 79, 21, 117, 56, 3, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 111, 112, 116, 105, 111, 110, 32, 100, 111, 101, 115, 110, 39, 116, 32, 116, 97, 107, 101, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 46, 42, 115, 0, 117, 110, 107, -110, 111, 119, 110, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 115, 0, 0, 0, 0, 117, 110, 107, 110, 111, 119, 110, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 99, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 97, 109, 98, 105, 103, 117, 111, 117, 115, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 46, 42, 115, 0, 0, 0, 0, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 80, 79, 83, 73, 88, 76, 89, 95, 67, 79, 82, 82, 69, 67, 84, 0, 115, 116, 100, 58, 58, 98, 97, 100, 95, 97, 108, -108, 111, 99, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 37, 115, 10, 0, 0, 0, 0, 0, 37, 115, 10, 0, 0, 0, 0, 0, 105, 110, 32, 117, 115, 101, 32, 98, 121, 116, 101, 115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0, 0, 0, 0, 58, 32, 0, 0, 0, 0, 0, 0, 58, 32, 0, 0, 0, 0, 0, 0, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, -115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, 109, 97, 120, 32, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, 115, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 2, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 2, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 116, 57, 101, 120, 99, 101, 112, 116, 105, 111, 110, 0, 0, 0, 0, 83, 116, 57, 98, 97, -100, 95, 97, 108, 108, 111, 99, 0, 0, 0, 0, 83, 116, 50, 48, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 2, 0, 0, 0, 0, 0, 0, 120, 2, 0, 0, 168, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 2, 0, 0, 176, 2, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], -"i8", Na, 8); -var qb = xa(F(12, "i8", E), 8); -w(0 == qb % 8); -var rb = 0; -function M(a) { - return B[rb >> 2] = a -} -s._memcpy = sb; -s._memset = tb; -var N = {L:1, ca:2, Bd:3, sc:4, I:5, za:6, Jb:7, Sc:8, $:9, Zb:10, ua:11, Ld:11, $a:12, Ya:13, kc:14, ed:15, Wb:16, va:17, Md:18, wa:19, gd:20, aa:21, A:22, Mc:23, Za:24, ld:25, Id:26, lc:27, ad:28, da:29, yd:30, Fc:31, rd:32, hc:33, ab:34, Wc:35, pc:36, $b:37, vc:38, wc:39, xc:40, Ec:41, Jd:42, Qc:43, uc:44, ec:45, Tc:46, Pb:50, Sb:51, Nd:52, Oc:53, Tb:54, Ub:55, fc:56, Vb:57, cd:60, Rc:61, Fd:62, bd:63, Xc:64, Yc:65, xd:66, Uc:67, Mb:68, Cd:69, ac:70, td:71, Hc:74, yc:75, ic:76, Rb:77, mc:79, md:80, -Qb:81, wd:82, zc:83, Ac:84, Dc:85, Cc:86, Bc:87, dd:88, Nc:89, ya:90, Ic:91, ba:92, nd:95, qd:96, dc:104, Pc:105, Nb:106, vd:107, jd:108, Zc:109, zd:110, cc:111, Kb:112, bc:113, Lc:114, Jc:115, Gd:116, nc:117, oc:118, rc:119, Ob:120, gc:121, Gc:122, ud:123, Ad:124, Lb:125, Kc:126, tc:127, fd:128, Hd:129, sd:130, Kd:131, jc:132, Dd:133, kd:134, Vc:135, $c:136, Yb:137, qc:138, od:139, Xb:140, hd:141, pd:142, Ed:143}, ub = {"0":"Success", 1:"Not super-user", 2:"No such file or directory", 3:"No such process", -4:"Interrupted system call", 5:"I/O error", 6:"No such device or address", 7:"Arg list too long", 8:"Exec format error", 9:"Bad file number", 10:"No children", 11:"No more processes", 12:"Not enough core", 13:"Permission denied", 14:"Bad address", 15:"Block device required", 16:"Mount device busy", 17:"File exists", 18:"Cross-device link", 19:"No such device", 20:"Not a directory", 21:"Is a directory", 22:"Invalid argument", 23:"Too many open files in system", 24:"Too many open files", 25:"Not a typewriter", -26:"Text file busy", 27:"File too large", 28:"No space left on device", 29:"Illegal seek", 30:"Read only file system", 31:"Too many links", 32:"Broken pipe", 33:"Math arg out of domain of func", 34:"Math result not representable", 35:"No message of desired type", 36:"Identifier removed", 37:"Channel number out of range", 38:"Level 2 not synchronized", 39:"Level 3 halted", 40:"Level 3 reset", 41:"Link number out of range", 42:"Protocol driver not attached", 43:"No CSI structure available", 44:"Level 2 halted", -45:"Deadlock condition", 46:"No record locks available", 50:"Invalid exchange", 51:"Invalid request descriptor", 52:"Exchange full", 53:"No anode", 54:"Invalid request code", 55:"Invalid slot", 56:"File locking deadlock error", 57:"Bad font file fmt", 60:"Device not a stream", 61:"No data (for no delay io)", 62:"Timer expired", 63:"Out of streams resources", 64:"Machine is not on the network", 65:"Package not installed", 66:"The object is remote", 67:"The link has been severed", 68:"Advertise error", -69:"Srmount error", 70:"Communication error on send", 71:"Protocol error", 74:"Multihop attempted", 75:"Inode is remote (not really error)", 76:"Cross mount point (not really error)", 77:"Trying to read unreadable message", 79:"Inappropriate file type or format", 80:"Given log. name not unique", 81:"f.d. invalid for this operation", 82:"Remote address changed", 83:"Can\t access a needed shared lib", 84:"Accessing a corrupted shared lib", 85:".lib section in a.out corrupted", 86:"Attempting to link in too many libs", -87:"Attempting to exec a shared library", 88:"Function not implemented", 89:"No more files", 90:"Directory not empty", 91:"File or path name too long", 92:"Too many symbolic links", 95:"Operation not supported on transport endpoint", 96:"Protocol family not supported", 104:"Connection reset by peer", 105:"No buffer space available", 106:"Address family not supported by protocol family", 107:"Protocol wrong type for socket", 108:"Socket operation on non-socket", 109:"Protocol not available", 110:"Can't send after socket shutdown", -111:"Connection refused", 112:"Address already in use", 113:"Connection aborted", 114:"Network is unreachable", 115:"Network interface is not configured", 116:"Connection timed out", 117:"Host is down", 118:"Host is unreachable", 119:"Connection already in progress", 120:"Socket already connected", 121:"Destination address required", 122:"Message too long", 123:"Unknown protocol", 124:"Socket type not supported", 125:"Address not available", 126:"ENETRESET", 127:"Socket is already connected", 128:"Socket is not connected", -129:"TOOMANYREFS", 130:"EPROCLIM", 131:"EUSERS", 132:"EDQUOT", 133:"ESTALE", 134:"Not supported", 135:"No medium (in tape drive)", 136:"No such host or network path", 137:"Filename exists with different case", 138:"EILSEQ", 139:"Value too large for defined data type", 140:"Operation canceled", 141:"State not recoverable", 142:"Previous owner died", 143:"Streams pipe error"}; -function vb(a, b, c) { - var d = O(a, {parent:l}).d, a = "/" === a ? "/" : wb(a)[2], e = xb(d, a); - e && g(new Q(e)); - d.l.Ta || g(new Q(N.L)); - return d.l.Ta(d, a, b, c) -} -function yb(a, b) { - b = b & 4095 | 32768; - return vb(a, b, 0) -} -function zb(a, b) { - b = b & 1023 | 16384; - return vb(a, b, 0) -} -function Ab(a, b, c) { - return vb(a, b | 8192, c) -} -function Bb(a, b) { - var c = O(b, {parent:l}).d, d = "/" === b ? "/" : wb(b)[2], e = xb(c, d); - e && g(new Q(e)); - c.l.Wa || g(new Q(N.L)); - return c.l.Wa(c, d, a) -} -function Cb(a, b) { - var c; - c = "string" === typeof a ? O(a, {N:l}).d : a; - c.l.Y || g(new Q(N.L)); - c.l.Y(c, {mode:b & 4095 | c.mode & -4096, timestamp:Date.now()}) -} -function Db(a, b) { - var c, a = Eb(a), d; - "string" === typeof b ? (d = Fb[b], "undefined" === typeof d && g(Error("Unknown file open mode: " + b))) : d = b; - b = d; - c = b & 512 ? c & 4095 | 32768 : 0; - var e; - try { - var f = O(a, {N:!(b & 65536)}); - e = f.d; - a = f.path - }catch(h) { - } - b & 512 && (e ? b & 2048 && g(new Q(N.va)) : e = vb(a, c, 0)); - e || g(new Q(N.ca)); - 8192 === (e.mode & 61440) && (b &= -1025); - e ? 40960 === (e.mode & 61440) ? c = N.ba : 16384 === (e.mode & 61440) && (0 !== (b & 3) || b & 1024) ? c = N.aa : (c = ["r", "w", "rw"][b & 3], b & 1024 && (c += "w"), c = Gb(e, c)) : c = N.ca; - c && g(new Q(c)); - b & 1024 && (c = e, c = "string" === typeof c ? O(c, {N:l}).d : c, c.l.Y || g(new Q(N.L)), 16384 === (c.mode & 61440) && g(new Q(N.aa)), 32768 !== (c.mode & 61440) && g(new Q(N.A)), (f = Gb(c, "w")) && g(new Q(f)), c.l.Y(c, {size:0, timestamp:Date.now()})); - var i = {path:a, d:e, M:b, seekable:l, position:0, e:e.e, Gb:[], error:p}, j; - a: { - e = k || 4096; - for(c = k || 1;c <= e;c++) { - if(!R[c]) { - j = c; - break a - } - } - g(new Q(N.Za)) - } - i.s = j; - Object.defineProperty(i, "object", {get:function() { - return i.d - }, set:function(a) { - i.d = a - }}); - Object.defineProperty(i, "isRead", {get:function() { - return 1 !== (i.M & 3) - }}); - Object.defineProperty(i, "isWrite", {get:function() { - return 0 !== (i.M & 3) - }}); - Object.defineProperty(i, "isAppend", {get:function() { - return i.M & 8 - }}); - R[j] = i; - i.e.open && i.e.open(i); - return i -} -function Hb(a) { - try { - a.e.close && a.e.close(a) - }catch(b) { - g(b) - }finally { - R[a.s] = m - } -} -function Ib(a, b, c, d, e) { - (0 > d || 0 > e) && g(new Q(N.A)); - 0 === (a.M & 3) && g(new Q(N.$)); - 16384 === (a.d.mode & 61440) && g(new Q(N.aa)); - a.e.write || g(new Q(N.A)); - var f = l; - "undefined" === typeof e ? (e = a.position, f = p) : a.seekable || g(new Q(N.da)); - a.M & 8 && ((!a.seekable || !a.e.na) && g(new Q(N.da)), a.e.na(a, 0, 2)); - b = a.e.write(a, b, c, d, e); - f || (a.position += b); - return b -} -function wb(a) { - return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1) -} -function Jb(a, b) { - for(var c = 0, d = a.length - 1;0 <= d;d--) { - var e = a[d]; - "." === e ? a.splice(d, 1) : ".." === e ? (a.splice(d, 1), c++) : c && (a.splice(d, 1), c--) - } - if(b) { - for(;c--;c) { - a.unshift("..") - } - } - return a -} -function Eb(a) { - var b = "/" === a.charAt(0), c = "/" === a.substr(-1), a = Jb(a.split("/").filter(function(a) { - return!!a - }), !b).join("/"); - !a && !b && (a = "."); - a && c && (a += "/"); - return(b ? "/" : "") + a -} -function S() { - var a = Array.prototype.slice.call(arguments, 0); - return Eb(a.filter(function(a) { - "string" !== typeof a && g(new TypeError("Arguments to path.join must be strings")); - return a - }).join("/")) -} -function Kb() { - for(var a = "", b = p, c = arguments.length - 1;-1 <= c && !b;c--) { - var d = 0 <= c ? arguments[c] : "/"; - "string" !== typeof d && g(new TypeError("Arguments to path.resolve must be strings")); - d && (a = d + "/" + a, b = "/" === d.charAt(0)) - } - a = Jb(a.split("/").filter(function(a) { - return!!a - }), !b).join("/"); - return(b ? "/" : "") + a || "." -} -var Lb = []; -function Mb(a, b) { - Lb[a] = {input:[], H:[], O:b}; - Nb[a] = {e:Ob} -} -var Ob = {open:function(a) { - Pb || (Pb = new pa); - var b = Lb[a.d.X]; - b || g(new Q(N.wa)); - a.q = b; - a.seekable = p -}, close:function(a) { - a.q.H.length && a.q.O.W(a.q, 10) -}, Q:function(a, b, c, d) { - (!a.q || !a.q.O.Na) && g(new Q(N.za)); - for(var e = 0, f = 0;f < d;f++) { - var h; - try { - h = a.q.O.Na(a.q) - }catch(i) { - g(new Q(N.I)) - } - h === k && 0 === e && g(new Q(N.ua)); - if(h === m || h === k) { - break - } - e++; - b[c + f] = h - } - e && (a.d.timestamp = Date.now()); - return e -}, write:function(a, b, c, d) { - (!a.q || !a.q.O.W) && g(new Q(N.za)); - for(var e = 0;e < d;e++) { - try { - a.q.O.W(a.q, b[c + e]) - }catch(f) { - g(new Q(N.I)) - } - } - d && (a.d.timestamp = Date.now()); - return e -}}, Pb, T = {z:function() { - return T.ka(m, "/", 16895, 0) -}, ka:function(a, b, c, d) { - (24576 === (c & 61440) || 4096 === (c & 61440)) && g(new Q(N.L)); - c = Qb(a, b, c, d); - c.l = T.l; - 16384 === (c.mode & 61440) ? (c.e = T.e, c.g = {}) : 32768 === (c.mode & 61440) ? (c.e = T.e, c.g = []) : 40960 === (c.mode & 61440) ? c.e = T.e : 8192 === (c.mode & 61440) && (c.e = Rb); - c.timestamp = Date.now(); - a && (a.g[b] = c); - return c -}, l:{ge:function(a) { - var b = {}; - b.ce = 8192 === (a.mode & 61440) ? a.id : 1; - b.je = a.id; - b.mode = a.mode; - b.pe = 1; - b.uid = 0; - b.he = 0; - b.X = a.X; - b.size = 16384 === (a.mode & 61440) ? 4096 : 32768 === (a.mode & 61440) ? a.g.length : 40960 === (a.mode & 61440) ? a.link.length : 0; - b.Yd = new Date(a.timestamp); - b.oe = new Date(a.timestamp); - b.ae = new Date(a.timestamp); - b.ib = 4096; - b.Zd = Math.ceil(b.size / b.ib); - return b -}, Y:function(a, b) { - b.mode !== k && (a.mode = b.mode); - b.timestamp !== k && (a.timestamp = b.timestamp); - if(b.size !== k) { - var c = a.g; - if(b.size < c.length) { - c.length = b.size - }else { - for(;b.size > c.length;) { - c.push(0) - } - } - } -}, tb:function() { - g(new Q(N.ca)) -}, Ta:function(a, b, c, d) { - return T.ka(a, b, c, d) -}, rename:function(a, b, c) { - if(16384 === (a.mode & 61440)) { - var d; - try { - d = Sb(b, c) - }catch(e) { - } - if(d) { - for(var f in d.g) { - g(new Q(N.ya)) - } - } - } - delete a.parent.g[a.name]; - a.name = c; - b.g[c] = a -}, ze:function(a, b) { - delete a.g[b] -}, ve:function(a, b) { - var c = Sb(a, b), d; - for(d in c.g) { - g(new Q(N.ya)) - } - delete a.g[b] -}, Wa:function(a, b, c) { - a = T.ka(a, b, 41471, 0); - a.link = c; - return a -}, Va:function(a) { - 40960 !== (a.mode & 61440) && g(new Q(N.A)); - return a.link -}}, e:{open:function(a) { - if(16384 === (a.d.mode & 61440)) { - var b = [".", ".."], c; - for(c in a.d.g) { - a.d.g.hasOwnProperty(c) && b.push(c) - } - a.lb = b - } -}, Q:function(a, b, c, d, e) { - a = a.d.g; - d = Math.min(a.length - e, d); - if(a.subarray) { - b.set(a.subarray(e, e + d), c) - }else { - for(var f = 0;f < d;f++) { - b[c + f] = a[e + f] - } - } - return d -}, write:function(a, b, c, d, e) { - for(var f = a.d.g;f.length < e;) { - f.push(0) - } - for(var h = 0;h < d;h++) { - f[e + h] = b[c + h] - } - a.d.timestamp = Date.now(); - return d -}, na:function(a, b, c) { - 1 === c ? b += a.position : 2 === c && 32768 === (a.d.mode & 61440) && (b += a.d.g.length); - 0 > b && g(new Q(N.A)); - a.Gb = []; - return a.position = b -}, ue:function(a) { - return a.lb -}, Wd:function(a, b, c) { - a = a.d.g; - for(b += c;b > a.length;) { - a.push(0) - } -}, ne:function(a, b, c, d, e, f, h) { - 32768 !== (a.d.mode & 61440) && g(new Q(N.wa)); - a = a.d.g; - if(h & 2) { - if(0 < e || e + d < a.length) { - a = a.subarray ? a.subarray(e, e + d) : Array.prototype.slice.call(a, e, e + d) - } - e = l; - (d = Oa(d)) || g(new Q(N.$a)); - b.set(a, d) - }else { - w(a.buffer === b || a.buffer === b.buffer), e = p, d = a.byteOffset - } - return{te:d, Xd:e} -}}}, Tb = F(1, "i32*", E), Ub = F(1, "i32*", E); -nb = F(1, "i32*", E); -var Vb = m, Nb = [m], R = [m], Wb = 1, Xb = [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], Yb = l; -function Q(a) { - this.mb = a; - for(var b in N) { - if(N[b] === a) { - this.code = b; - break - } - } - this.message = ub[a] -} -function Zb(a) { - a instanceof Q || g(a + " : " + Error().stack); - M(a.mb) -} -function $b(a, b) { - for(var c = 0, d = 0;d < b.length;d++) { - c = (c << 5) - c + b.charCodeAt(d) | 0 - } - return(a + c) % Xb.length -} -function Sb(a, b) { - var c = Gb(a, "x"); - c && g(new Q(c)); - for(c = Xb[$b(a.id, b)];c;c = c.wb) { - if(c.parent.id === a.id && c.name === b) { - return c - } - } - return a.l.tb(a, b) -} -function Qb(a, b, c, d) { - var e = {id:Wb++, name:b, mode:c, l:{}, e:{}, X:d, parent:m, z:m}; - a || (a = e); - e.parent = a; - e.z = a.z; - Object.defineProperty(e, "read", {get:function() { - return 365 === (e.mode & 365) - }, set:function(a) { - a ? e.mode |= 365 : e.mode &= -366 - }}); - Object.defineProperty(e, "write", {get:function() { - return 146 === (e.mode & 146) - }, set:function(a) { - a ? e.mode |= 146 : e.mode &= -147 - }}); - a = $b(e.parent.id, e.name); - e.wb = Xb[a]; - return Xb[a] = e -} -function O(a, b) { - a = Kb("/", a); - b = b || {pa:0}; - 8 < b.pa && g(new Q(N.ba)); - for(var c = Jb(a.split("/").filter(function(a) { - return!!a - }), p), d = Vb, e = "/", f = 0;f < c.length;f++) { - var h = f === c.length - 1; - if(h && b.parent) { - break - } - d = Sb(d, c[f]); - e = S(e, c[f]); - d.ub && (d = d.z.root); - if(!h || b.N) { - for(h = 0;40960 === (d.mode & 61440);) { - d = O(e, {N:p}).d; - d.l.Va || g(new Q(N.A)); - var d = d.l.Va(d), i = Kb; - var j = wb(e), e = j[0], j = j[1]; - !e && !j ? e = "." : (j && (j = j.substr(0, j.length - 1)), e += j); - e = i(e, d); - d = O(e, {pa:b.pa}).d; - 40 < h++ && g(new Q(N.ba)) - } - } - } - return{path:e, d:d} -} -function ac(a) { - for(var b;;) { - if(a === a.parent) { - return b ? S(a.z.Ua, b) : a.z.Ua - } - b = b ? S(a.name, b) : a.name; - a = a.parent - } -} -var Fb = {r:0, rs:8192, "r+":2, w:1537, wx:3585, xw:3585, "w+":1538, "wx+":3586, "xw+":3586, a:521, ax:2569, xa:2569, "a+":522, "ax+":2570, "xa+":2570}; -function Gb(a, b) { - return Yb ? 0 : -1 !== b.indexOf("r") && !(a.mode & 292) || -1 !== b.indexOf("w") && !(a.mode & 146) || -1 !== b.indexOf("x") && !(a.mode & 73) ? N.Ya : 0 -} -function xb(a, b) { - try { - return Sb(a, b), N.va - }catch(c) { - } - return Gb(a, "wx") -} -var Rb = {open:function(a) { - a.e = Nb[a.d.X].e; - a.e.open && a.e.open(a) -}, na:function() { - g(new Q(N.da)) -}}, bc; -function cc(a, b) { - var c = 0; - a && (c |= 365); - b && (c |= 146); - return c -} -function dc(a, b, c, d, e) { - a = S("string" === typeof a ? a : ac(a), b); - d = cc(d, e); - e = yb(a, d); - if(c) { - if("string" === typeof c) { - for(var b = Array(c.length), f = 0, h = c.length;f < h;++f) { - b[f] = c.charCodeAt(f) - } - c = b - } - Cb(a, d | 146); - b = Db(a, "w"); - Ib(b, c, 0, c.length, 0); - Hb(b); - Cb(a, d) - } - return e -} -function ec(a, b, c, d) { - a = S("string" === typeof a ? a : ac(a), b); - ec.Sa || (ec.Sa = 64); - b = ec.Sa++ << 8 | 0; - Nb[b] = {e:{open:function(a) { - a.seekable = p - }, close:function() { - d && (d.buffer && d.buffer.length) && d(10) - }, Q:function(a, b, d, i) { - for(var j = 0, n = 0;n < i;n++) { - var y; - try { - y = c() - }catch(v) { - g(new Q(N.I)) - } - y === k && 0 === j && g(new Q(N.ua)); - if(y === m || y === k) { - break - } - j++; - b[d + n] = y - } - j && (a.d.timestamp = Date.now()); - return j - }, write:function(a, b, c, i) { - for(var j = 0;j < i;j++) { - try { - d(b[c + j]) - }catch(n) { - g(new Q(N.I)) - } - } - i && (a.d.timestamp = Date.now()); - return j - }}}; - return Ab(a, c && d ? 511 : c ? 219 : 365, b) -} -function fc(a, b, c) { - a = R[a]; - if(!a) { - return-1 - } - a.sender(G.subarray(b, b + c)); - return c -} -function gc(a, b, c) { - var d = R[a]; - if(!d) { - return M(N.$), -1 - } - if(d && "socket" in d) { - return fc(a, b, c) - } - try { - return Ib(d, A, b, c) - }catch(e) { - return Zb(e), -1 - } -} -function hc(a, b, c, d) { - c *= b; - if(0 == c) { - return 0 - } - a = gc(d, a, c); - if(-1 == a) { - if(b = R[d]) { - b.error = l - } - return 0 - } - return Math.floor(a / b) -} -s._strlen = ic; -function jc(a) { - return 0 > a || 0 === a && -Infinity === 1 / a -} -function kc(a, b) { - function c(a) { - var c; - "double" === a ? c = Ja[b + e >> 3] : "i64" == a ? (c = [B[b + e >> 2], B[b + (e + 8) >> 2]], e += 8) : (a = "i32", c = B[b + e >> 2]); - e += Math.max(Math.max(la(a), ma), 8); - return c - } - for(var d = a, e = 0, f = [], h, i;;) { - var j = d; - h = A[d]; - if(0 === h) { - break - } - i = A[d + 1 | 0]; - if(37 == h) { - var n = p, y = p, v = p, C = p; - a:for(;;) { - switch(i) { - case 43: - n = l; - break; - case 45: - y = l; - break; - case 35: - v = l; - break; - case 48: - if(C) { - break a - }else { - C = l; - break - } - ; - default: - break a - } - d++; - i = A[d + 1 | 0] - } - var D = 0; - if(42 == i) { - D = c("i32"), d++, i = A[d + 1 | 0] - }else { - for(;48 <= i && 57 >= i;) { - D = 10 * D + (i - 48), d++, i = A[d + 1 | 0] - } - } - var K = p; - if(46 == i) { - var H = 0, K = l; - d++; - i = A[d + 1 | 0]; - if(42 == i) { - H = c("i32"), d++ - }else { - for(;;) { - i = A[d + 1 | 0]; - if(48 > i || 57 < i) { - break - } - H = 10 * H + (i - 48); - d++ - } - } - i = A[d + 1 | 0] - }else { - H = 6 - } - var x; - switch(String.fromCharCode(i)) { - case "h": - i = A[d + 2 | 0]; - 104 == i ? (d++, x = 1) : x = 2; - break; - case "l": - i = A[d + 2 | 0]; - 108 == i ? (d++, x = 8) : x = 4; - break; - case "L": - ; - case "q": - ; - case "j": - x = 8; - break; - case "z": - ; - case "t": - ; - case "I": - x = 4; - break; - default: - x = m - } - x && d++; - i = A[d + 1 | 0]; - switch(String.fromCharCode(i)) { - case "d": - ; - case "i": - ; - case "u": - ; - case "o": - ; - case "x": - ; - case "X": - ; - case "p": - j = 100 == i || 105 == i; - x = x || 4; - var P = h = c("i" + 8 * x), r; - 8 == x && (h = 117 == i ? +(h[0] >>> 0) + 4294967296 * +(h[1] >>> 0) : +(h[0] >>> 0) + 4294967296 * +(h[1] | 0)); - 4 >= x && (h = (j ? eb : db)(h & Math.pow(256, x) - 1, 8 * x)); - var ta = Math.abs(h), j = ""; - if(100 == i || 105 == i) { - r = 8 == x && lc ? lc.stringify(P[0], P[1], m) : eb(h, 8 * x).toString(10) - }else { - if(117 == i) { - r = 8 == x && lc ? lc.stringify(P[0], P[1], l) : db(h, 8 * x).toString(10), h = Math.abs(h) - }else { - if(111 == i) { - r = (v ? "0" : "") + ta.toString(8) - }else { - if(120 == i || 88 == i) { - j = v && 0 != h ? "0x" : ""; - if(8 == x && lc) { - if(P[1]) { - r = (P[1] >>> 0).toString(16); - for(v = (P[0] >>> 0).toString(16);8 > v.length;) { - v = "0" + v - } - r += v - }else { - r = (P[0] >>> 0).toString(16) - } - }else { - if(0 > h) { - h = -h; - r = (ta - 1).toString(16); - P = []; - for(v = 0;v < r.length;v++) { - P.push((15 - parseInt(r[v], 16)).toString(16)) - } - for(r = P.join("");r.length < 2 * x;) { - r = "f" + r - } - }else { - r = ta.toString(16) - } - } - 88 == i && (j = j.toUpperCase(), r = r.toUpperCase()) - }else { - 112 == i && (0 === ta ? r = "(nil)" : (j = "0x", r = ta.toString(16))) - } - } - } - } - if(K) { - for(;r.length < H;) { - r = "0" + r - } - } - for(n && (j = 0 > h ? "-" + j : "+" + j);j.length + r.length < D;) { - y ? r += " " : C ? r = "0" + r : j = " " + j - } - r = j + r; - r.split("").forEach(function(a) { - f.push(a.charCodeAt(0)) - }); - break; - case "f": - ; - case "F": - ; - case "e": - ; - case "E": - ; - case "g": - ; - case "G": - h = c("double"); - if(isNaN(h)) { - r = "nan", C = p - }else { - if(isFinite(h)) { - K = p; - x = Math.min(H, 20); - if(103 == i || 71 == i) { - K = l, H = H || 1, x = parseInt(h.toExponential(x).split("e")[1], 10), H > x && -4 <= x ? (i = (103 == i ? "f" : "F").charCodeAt(0), H -= x + 1) : (i = (103 == i ? "e" : "E").charCodeAt(0), H--), x = Math.min(H, 20) - } - if(101 == i || 69 == i) { - r = h.toExponential(x), /[eE][-+]\d$/.test(r) && (r = r.slice(0, -1) + "0" + r.slice(-1)) - }else { - if(102 == i || 70 == i) { - r = h.toFixed(x), 0 === h && jc(h) && (r = "-" + r) - } - } - j = r.split("e"); - if(K && !v) { - for(;1 < j[0].length && -1 != j[0].indexOf(".") && ("0" == j[0].slice(-1) || "." == j[0].slice(-1));) { - j[0] = j[0].slice(0, -1) - } - }else { - for(v && -1 == r.indexOf(".") && (j[0] += ".");H > x++;) { - j[0] += "0" - } - } - r = j[0] + (1 < j.length ? "e" + j[1] : ""); - 69 == i && (r = r.toUpperCase()); - n && 0 <= h && (r = "+" + r) - }else { - r = (0 > h ? "-" : "") + "inf", C = p - } - } - for(;r.length < D;) { - r = y ? r + " " : C && ("-" == r[0] || "+" == r[0]) ? r[0] + "0" + r.slice(1) : (C ? "0" : " ") + r - } - 97 > i && (r = r.toUpperCase()); - r.split("").forEach(function(a) { - f.push(a.charCodeAt(0)) - }); - break; - case "s": - C = (n = c("i8*")) ? ic(n) : 6; - K && (C = Math.min(C, H)); - if(!y) { - for(;C < D--;) { - f.push(32) - } - } - if(n) { - for(v = 0;v < C;v++) { - f.push(G[n++ | 0]) - } - }else { - f = f.concat(J("(null)".substr(0, C), l)) - } - if(y) { - for(;C < D--;) { - f.push(32) - } - } - break; - case "c": - for(y && f.push(c("i8"));0 < --D;) { - f.push(32) - } - y || f.push(c("i8")); - break; - case "n": - y = c("i32*"); - B[y >> 2] = f.length; - break; - case "%": - f.push(h); - break; - default: - for(v = j;v < d + 2;v++) { - f.push(A[v]) - } - } - d += 2 - }else { - f.push(h), d += 1 - } - } - return f -} -function mc(a, b, c) { - c = kc(b, c); - b = ja(); - a = hc(F(c, "i8", La), 1, c.length, a); - ka(b); - return a -} -function nc(a) { - nc.ia || (z = z + 4095 >> 12 << 12, nc.ia = l, w(ua), nc.hb = ua, ua = function() { - wa("cannot dynamically allocate, sbrk now has control") - }); - var b = z; - 0 != a && nc.hb(a); - return b -} -function U() { - return B[U.m >> 2] -} -function oc() { - return!!oc.ta -} -function pc(a) { - var b = p; - try { - a == __ZTIi && (b = l) - }catch(c) { - } - try { - a == __ZTIj && (b = l) - }catch(d) { - } - try { - a == __ZTIl && (b = l) - }catch(e) { - } - try { - a == __ZTIm && (b = l) - }catch(f) { - } - try { - a == __ZTIx && (b = l) - }catch(h) { - } - try { - a == __ZTIy && (b = l) - }catch(i) { - } - try { - a == __ZTIf && (b = l) - }catch(j) { - } - try { - a == __ZTId && (b = l) - }catch(n) { - } - try { - a == __ZTIe && (b = l) - }catch(y) { - } - try { - a == __ZTIc && (b = l) - }catch(v) { - } - try { - a == __ZTIa && (b = l) - }catch(C) { - } - try { - a == __ZTIh && (b = l) - }catch(D) { - } - try { - a == __ZTIs && (b = l) - }catch(K) { - } - try { - a == __ZTIt && (b = l) - }catch(H) { - } - return b -} -function qc(a, b, c) { - if(0 == c) { - return p - } - if(0 == b || b == a) { - return l - } - switch(pc(b) ? b : B[B[b >> 2] - 8 >> 2]) { - case 0: - return 0 == B[B[a >> 2] - 8 >> 2] ? qc(B[a + 8 >> 2], B[b + 8 >> 2], c) : p; - case 1: - return p; - case 2: - return qc(a, B[b + 8 >> 2], c); - default: - return p - } -} -function rc(a, b, c) { - if(!rc.sb) { - try { - B[__ZTVN10__cxxabiv119__pointer_type_infoE >> 2] = 0 - }catch(d) { - } - try { - B[pb >> 2] = 1 - }catch(e) { - } - try { - B[ob >> 2] = 2 - }catch(f) { - } - rc.sb = l - } - B[U.m >> 2] = a; - B[U.m + 4 >> 2] = b; - B[U.m + 8 >> 2] = c; - "uncaught_exception" in oc ? oc.ta++ : oc.ta = 1; - g(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.") -} -function sc(a) { - try { - return tc(a) - }catch(b) { - } -} -function uc() { - if(uc.Bb) { - uc.Bb = p - }else { - V.setThrew(0); - B[U.m + 4 >> 2] = 0; - var a = B[U.m >> 2], b = B[U.m + 8 >> 2]; - b && (na("vi", b, [a]), B[U.m + 8 >> 2] = 0); - a && (sc(a), B[U.m >> 2] = 0) - } -} -var vc = F(1, "i32*", E); -function wc(a) { - var b, c; - wc.ia ? (c = B[vc >> 2], b = B[c >> 2]) : (wc.ia = l, W.USER = "root", W.PATH = "/", W.PWD = "/", W.HOME = "/home/emscripten", W.LANG = "en_US.UTF-8", W._ = "./this.program", b = F(1024, "i8", E), c = F(256, "i8*", E), B[c >> 2] = b, B[vc >> 2] = c); - var d = [], e = 0, f; - for(f in a) { - if("string" === typeof a[f]) { - var h = f + "=" + a[f]; - d.push(h); - e += h.length - } - } - 1024 < e && g(Error("Environment size exceeded TOTAL_ENV_SIZE!")); - for(a = 0;a < d.length;a++) { - h = d[a]; - for(e = 0;e < h.length;e++) { - A[b + e | 0] = h.charCodeAt(e) - } - A[b + e | 0] = 0; - B[c + 4 * a >> 2] = b; - b += h.length + 1 - } - B[c + 4 * d.length >> 2] = 0 -} -var W = {}; -function xc(a) { - if(0 === a) { - return 0 - } - a = Fa(a); - if(!W.hasOwnProperty(a)) { - return 0 - } - xc.J && tc(xc.J); - xc.J = F(J(W[a]), "i8", Ka); - return xc.J -} -function yc(a, b, c) { - if(a in ub) { - if(ub[a].length > c - 1) { - return M(N.ab) - } - a = ub[a]; - for(c = 0;c < a.length;c++) { - A[b + c | 0] = a.charCodeAt(c) - } - return A[b + c | 0] = 0 - } - return M(N.A) -} -function zc(a) { - zc.buffer || (zc.buffer = Oa(256)); - yc(a, zc.buffer, 256); - return zc.buffer -} -function Ac(a) { - s.exit(a) -} -function Bc(a, b) { - var c = db(a & 255); - A[Bc.J | 0] = c; - if(-1 == gc(b, Bc.J, 1)) { - if(c = R[b]) { - c.error = l - } - return-1 - } - return c -} -var Cc = p, Dc = p, Ec = p, Fc = p, Gc = k, Hc = k; -function Ic(a) { - return{jpg:"image/jpeg", jpeg:"image/jpeg", png:"image/png", bmp:"image/bmp", ogg:"audio/ogg", wav:"audio/wav", mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".") + 1)] -} -var Jc = []; -function Kc() { - var a = s.canvas; - Jc.forEach(function(b) { - b(a.width, a.height) - }) -} -function Lc() { - var a = s.canvas; - this.Ib = a.width; - this.Hb = a.height; - a.width = screen.width; - a.height = screen.height; - "undefined" != typeof SDL && (a = Qa[SDL.screen + 0 * ma >> 2], B[SDL.screen + 0 * ma >> 2] = a | 8388608); - Kc() -} -function Mc() { - var a = s.canvas; - a.width = this.Ib; - a.height = this.Hb; - "undefined" != typeof SDL && (a = Qa[SDL.screen + 0 * ma >> 2], B[SDL.screen + 0 * ma >> 2] = a & -8388609); - Kc() -} -var Nc, Oc, Pc, Qc, rb = ra(4); -B[rb >> 2] = 0; -var Vb = Qb(m, "/", 16895, 0), Rc = T, Sc = {type:Rc, se:{}, Ua:"/", root:m}, Tc; -Tc = O("/", {N:p}); -var Uc = Rc.z(Sc); -Uc.z = Sc; -Sc.root = Uc; -Tc && (Tc.d.z = Sc, Tc.d.ub = l, Vb = Sc.root); -zb("/tmp", 511); -zb("/dev", 511); -Nb[259] = {e:{Q:function() { - return 0 -}, write:function() { - return 0 -}}}; -Ab("/dev/null", 438, 259); -Mb(1280, {Na:function(a) { - if(!a.input.length) { - var b = m; - if(ca) { - if(process.Eb.be) { - return - } - b = process.Eb.Q() - }else { - "undefined" != typeof window && "function" == typeof window.prompt ? (b = window.prompt("Input: "), b !== m && (b += "\n")) : "function" == typeof readline && (b = readline(), b !== m && (b += "\n")) - } - if(!b) { - return m - } - a.input = J(b, l) - } - return a.input.shift() -}, W:function(a, b) { - b === m || 10 === b ? (s.print(a.H.join("")), a.H = []) : a.H.push(Pb.oa(b)) -}}); -Mb(1536, {W:function(a, b) { - b === m || 10 === b ? (s.printErr(a.H.join("")), a.H = []) : a.H.push(Pb.oa(b)) -}}); -Ab("/dev/tty", 438, 1280); -Ab("/dev/tty1", 438, 1536); -zb("/dev/shm", 511); -zb("/dev/shm/tmp", 511); -Xa.unshift({V:function() { - if(!s.noFSInit && !bc) { - w(!bc, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); - bc = l; - s.stdin = s.stdin; - s.stdout = s.stdout; - s.stderr = s.stderr; - s.stdin ? ec("/dev", "stdin", s.stdin) : Bb("/dev/tty", "/dev/stdin"); - s.stdout ? ec("/dev", "stdout", m, s.stdout) : Bb("/dev/tty", "/dev/stdout"); - s.stderr ? ec("/dev", "stderr", m, s.stderr) : Bb("/dev/tty1", "/dev/stderr"); - var a = Db("/dev/stdin", "r"); - B[Tb >> 2] = a.s; - w(1 === a.s, "invalid handle for stdin (" + a.s + ")"); - a = Db("/dev/stdout", "w"); - B[Ub >> 2] = a.s; - w(2 === a.s, "invalid handle for stdout (" + a.s + ")"); - a = Db("/dev/stderr", "w"); - B[nb >> 2] = a.s; - w(3 === a.s, "invalid handle for stderr (" + a.s + ")") - } -}}); -Ya.push({V:function() { - Yb = p -}}); -Za.push({V:function() { - bc = p; - for(var a = 0;a < R.length;a++) { - var b = R[a]; - b && Hb(b) - } -}}); -s.FS_createFolder = function(a, b, c, d) { - a = S("string" === typeof a ? a : ac(a), b); - return zb(a, cc(c, d)) -}; -s.FS_createPath = function(a, b) { - for(var a = "string" === typeof a ? a : ac(a), c = b.split("/").reverse();c.length;) { - var d = c.pop(); - if(d) { - var e = S(a, d); - try { - zb(e, 511) - }catch(f) { - } - a = e - } - } - return e -}; -s.FS_createDataFile = dc; -s.FS_createPreloadedFile = function(a, b, c, d, e, f, h, i) { - function j() { - Ec = document.pointerLockElement === v || document.mozPointerLockElement === v || document.webkitPointerLockElement === v - } - function n(c) { - function j(c) { - i || dc(a, b, c, d, e); - f && f(); - jb("cp " + C) - } - var n = p; - s.preloadPlugins.forEach(function(a) { - !n && a.canHandle(C) && (a.handle(c, C, j, function() { - h && h(); - jb("cp " + C) - }), n = l) - }); - n || j(c) - } - s.preloadPlugins || (s.preloadPlugins = []); - if(!Nc && !ea) { - Nc = l; - try { - new Blob, Oc = l - }catch(y) { - Oc = p, console.log("warning: no blob constructor, cannot create blobs with mimetypes") - } - Pc = "undefined" != typeof MozBlobBuilder ? MozBlobBuilder : "undefined" != typeof WebKitBlobBuilder ? WebKitBlobBuilder : !Oc ? console.log("warning: no BlobBuilder") : m; - Qc = "undefined" != typeof window ? window.URL ? window.URL : window.webkitURL : console.log("warning: cannot create object URLs"); - s.preloadPlugins.push({canHandle:function(a) { - return!s.re && /\.(jpg|jpeg|png|bmp)$/i.test(a) - }, handle:function(a, b, c, d) { - var e = m; - if(Oc) { - try { - e = new Blob([a], {type:Ic(b)}), e.size !== a.length && (e = new Blob([(new Uint8Array(a)).buffer], {type:Ic(b)})) - }catch(f) { - var h = "Blob constructor present but fails: " + f + "; falling back to blob builder"; - oa || (oa = {}); - oa[h] || (oa[h] = 1, s.P(h)) - } - } - e || (e = new Pc, e.append((new Uint8Array(a)).buffer), e = e.getBlob()); - var i = Qc.createObjectURL(e), j = new Image; - j.onload = function() { - w(j.complete, "Image " + b + " could not be decoded"); - var d = document.createElement("canvas"); - d.width = j.width; - d.height = j.height; - d.getContext("2d").drawImage(j, 0, 0); - s.preloadedImages[b] = d; - Qc.revokeObjectURL(i); - c && c(a) - }; - j.onerror = function() { - console.log("Image " + i + " could not be decoded"); - d && d() - }; - j.src = i - }}); - s.preloadPlugins.push({canHandle:function(a) { - return!s.qe && a.substr(-4) in {".ogg":1, ".wav":1, ".mp3":1} - }, handle:function(a, b, c, d) { - function e(d) { - h || (h = l, s.preloadedAudios[b] = d, c && c(a)) - } - function f() { - h || (h = l, s.preloadedAudios[b] = new Audio, d && d()) - } - var h = p; - if(Oc) { - try { - var i = new Blob([a], {type:Ic(b)}) - }catch(j) { - return f() - } - var i = Qc.createObjectURL(i), n = new Audio; - n.addEventListener("canplaythrough", function() { - e(n) - }, p); - n.onerror = function() { - if(!h) { - console.log("warning: browser could not fully decode audio " + b + ", trying slower base64 approach"); - for(var c = "", d = 0, f = 0, i = 0;i < a.length;i++) { - d = d << 8 | a[i]; - for(f += 8;6 <= f;) { - var j = d >> f - 6 & 63, f = f - 6, c = c + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[j] - } - } - 2 == f ? (c += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d & 3) << 4], c += "==") : 4 == f && (c += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d & 15) << 2], c += "="); - n.src = "data:audio/x-" + b.substr(-3) + ";base64," + c; - e(n) - } - }; - n.src = i; - setTimeout(function() { - za || e(n) - }, 1E4) - }else { - return f() - } - }}); - var v = s.canvas; - v.qa = v.requestPointerLock || v.mozRequestPointerLock || v.webkitRequestPointerLock; - v.La = document.exitPointerLock || document.mozExitPointerLock || document.webkitExitPointerLock || aa(); - v.La = v.La.bind(document); - document.addEventListener("pointerlockchange", j, p); - document.addEventListener("mozpointerlockchange", j, p); - document.addEventListener("webkitpointerlockchange", j, p); - s.elementPointerLock && v.addEventListener("click", function(a) { - !Ec && v.qa && (v.qa(), a.preventDefault()) - }, p) - } - var C, D = S.apply(m, [a, b]); - "/" == D[0] && (D = D.substr(1)); - C = D; - ib("cp " + C); - if("string" == typeof c) { - var K = h, H = function() { - K ? K() : g('Loading data file "' + c + '" failed.') - }, x = new XMLHttpRequest; - x.open("GET", c, l); - x.responseType = "arraybuffer"; - x.onload = function() { - if(200 == x.status || 0 == x.status && x.response) { - var a = x.response; - w(a, 'Loading data file "' + c + '" failed (no arrayBuffer).'); - a = new Uint8Array(a); - n(a); - jb("al " + c) - }else { - H() - } - }; - x.onerror = H; - x.send(m); - ib("al " + c) - }else { - n(c) - } -}; -s.FS_createLazyFile = function(a, b, c, d, e) { - var f, h; - "undefined" !== typeof XMLHttpRequest ? (ea || g("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"), f = function() { - this.ma = p; - this.T = [] - }, f.prototype.get = function(a) { - if(!(a > this.length - 1 || 0 > a)) { - var b = a % this.S; - return this.pb(Math.floor(a / this.S))[b] - } - }, f.prototype.Cb = function(a) { - this.pb = a - }, f.prototype.Fa = function() { - var a = new XMLHttpRequest; - a.open("HEAD", c, p); - a.send(m); - 200 <= a.status && 300 > a.status || 304 === a.status || g(Error("Couldn't load " + c + ". Status: " + a.status)); - var b = Number(a.getResponseHeader("Content-length")), d, e = 1048576; - if(!((d = a.getResponseHeader("Accept-Ranges")) && "bytes" === d)) { - e = b - } - var f = this; - f.Cb(function(a) { - var d = a * e, h = (a + 1) * e - 1, h = Math.min(h, b - 1); - if("undefined" === typeof f.T[a]) { - var i = f.T; - d > h && g(Error("invalid range (" + d + ", " + h + ") or no bytes requested!")); - h > b - 1 && g(Error("only " + b + " bytes available! programmer error!")); - var j = new XMLHttpRequest; - j.open("GET", c, p); - b !== e && j.setRequestHeader("Range", "bytes=" + d + "-" + h); - "undefined" != typeof Uint8Array && (j.responseType = "arraybuffer"); - j.overrideMimeType && j.overrideMimeType("text/plain; charset=x-user-defined"); - j.send(m); - 200 <= j.status && 300 > j.status || 304 === j.status || g(Error("Couldn't load " + c + ". Status: " + j.status)); - d = j.response !== k ? new Uint8Array(j.response || []) : J(j.responseText || "", l); - i[a] = d - } - "undefined" === typeof f.T[a] && g(Error("doXHR failed!")); - return f.T[a] - }); - this.gb = b; - this.fb = e; - this.ma = l - }, f = new f, Object.defineProperty(f, "length", {get:function() { - this.ma || this.Fa(); - return this.gb - }}), Object.defineProperty(f, "chunkSize", {get:function() { - this.ma || this.Fa(); - return this.fb - }}), h = k) : (h = c, f = k); - var i, a = S("string" === typeof a ? a : ac(a), b); - i = yb(a, cc(d, e)); - f ? i.g = f : h && (i.g = m, i.url = h); - var j = {}; - Object.keys(i.e).forEach(function(a) { - var b = i.e[a]; - j[a] = function() { - var a; - if(i.ke || i.le || i.link || i.g) { - a = l - }else { - a = l; - "undefined" !== typeof XMLHttpRequest && g(Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")); - if(s.read) { - try { - i.g = J(s.read(i.url), l) - }catch(c) { - a = p - } - }else { - g(Error("Cannot load without read() or XMLHttpRequest.")) - } - a || M(N.I) - } - a || g(new Q(N.I)); - return b.apply(m, arguments) - } - }); - j.Q = function(a, b, c, d, e) { - a = a.d.g; - d = Math.min(a.length - e, d); - if(a.slice) { - for(var f = 0;f < d;f++) { - b[c + f] = a[e + f] - } - }else { - for(f = 0;f < d;f++) { - b[c + f] = a.get(e + f) - } - } - return d - }; - i.e = j; - return i -}; -s.FS_createLink = function(a, b, c) { - a = S("string" === typeof a ? a : ac(a), b); - return Bb(c, a) -}; -s.FS_createDevice = ec; -U.m = F(12, "void*", E); -wc(W); -Bc.J = F([0], "i8", E); -s.requestFullScreen = function(a, b) { - function c() { - Dc = p; - (document.webkitFullScreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.mozFullscreenElement || document.fullScreenElement || document.fullscreenElement) === d ? (d.Ga = document.cancelFullScreen || document.mozCancelFullScreen || document.webkitCancelFullScreen, d.Ga = d.Ga.bind(document), Gc && d.qa(), Dc = l, Hc && Lc()) : Hc && Mc(); - if(s.onFullScreen) { - s.onFullScreen(Dc) - } - } - Gc = a; - Hc = b; - "undefined" === typeof Gc && (Gc = l); - "undefined" === typeof Hc && (Hc = p); - var d = s.canvas; - Fc || (Fc = l, document.addEventListener("fullscreenchange", c, p), document.addEventListener("mozfullscreenchange", c, p), document.addEventListener("webkitfullscreenchange", c, p)); - d.Ab = d.requestFullScreen || d.mozRequestFullScreen || (d.webkitRequestFullScreen ? function() { - d.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT) - } : m); - d.Ab() -}; -s.requestAnimationFrame = function(a) { - window.requestAnimationFrame || (window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame || window.setTimeout); - window.requestAnimationFrame(a) -}; -s.pauseMainLoop = aa(); -s.resumeMainLoop = function() { - Cc && (Cc = p, m()) -}; -s.getUserMedia = function() { - window.Ma || (window.Ma = navigator.getUserMedia || navigator.mozGetUserMedia); - window.Ma(k) -}; -Sa = u = xa(sa); -Ta = Sa + 5242880; -Ua = z = xa(Ta); -w(Ua < va); -var Vc = F([8, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", 3), Wc = F([8, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, -2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, -0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0], "i8", 3), Xc = Math.min; -var V = (function(global,env,buffer) { -// EMSCRIPTEN_START_ASM - "use asm"; - var a = new global.Int8Array(buffer); - var b = new global.Int16Array(buffer); - var c = new global.Int32Array(buffer); - var d = new global.Uint8Array(buffer); - var e = new global.Uint16Array(buffer); - var f = new global.Uint32Array(buffer); - var g = new global.Float32Array(buffer); - var h = new global.Float64Array(buffer); - var i = env.STACKTOP | 0; - var j = env.STACK_MAX | 0; - var k = env.tempDoublePtr | 0; - var l = env.ABORT | 0; - var m = env.cttz_i8 | 0; - var n = env.ctlz_i8 | 0; - var o = env._stderr | 0; - var p = env.__ZTVN10__cxxabiv120__si_class_type_infoE | 0; - var q = env.__ZTVN10__cxxabiv117__class_type_infoE | 0; - var r = env.___progname | 0; - var s = +env.NaN; - var t = +env.Infinity; - var u = 0; - var v = 0; - var w = 0; - var x = 0; - var y = 0, z = 0, A = 0, B = 0, C = 0.0, D = 0, E = 0, F = 0, G = 0.0; - var H = 0; - var I = 0; - var J = 0; - var K = 0; - var L = 0; - var M = 0; - var N = 0; - var O = 0; - var P = 0; - var Q = 0; - var R = global.Math.floor; - var S = global.Math.abs; - var T = global.Math.sqrt; - var U = global.Math.pow; - var V = global.Math.cos; - var W = global.Math.sin; - var X = global.Math.tan; - var Y = global.Math.acos; - var Z = global.Math.asin; - var _ = global.Math.atan; - var $ = global.Math.atan2; - var aa = global.Math.exp; - var ab = global.Math.log; - var ac = global.Math.ceil; - var ad = global.Math.imul; - var ae = env.abort; - var af = env.assert; - var ag = env.asmPrintInt; - var ah = env.asmPrintFloat; - var ai = env.min; - var aj = env.invoke_vi; - var ak = env.invoke_vii; - var al = env.invoke_ii; - var am = env.invoke_viii; - var an = env.invoke_v; - var ao = env.invoke_iii; - var ap = env._strncmp; - var aq = env._llvm_va_end; - var ar = env._sysconf; - var as = env.___cxa_throw; - var at = env._strerror; - var au = env._abort; - var av = env._fprintf; - var aw = env._llvm_eh_exception; - var ax = env.___cxa_free_exception; - var ay = env._fflush; - var az = env.___buildEnvironment; - var aA = env.__reallyNegative; - var aB = env._strchr; - var aC = env._fputc; - var aD = env.___setErrNo; - var aE = env._fwrite; - var aF = env._send; - var aG = env._write; - var aH = env._exit; - var aI = env.___cxa_find_matching_catch; - var aJ = env.___cxa_allocate_exception; - var aK = env._isspace; - var aL = env.__formatString; - var aM = env.___resumeException; - var aN = env._llvm_uadd_with_overflow_i32; - var aO = env.___cxa_does_inherit; - var aP = env._getenv; - var aQ = env._vfprintf; - var aR = env.___cxa_begin_catch; - var aS = env.__ZSt18uncaught_exceptionv; - var aT = env._pwrite; - var aU = env.___cxa_call_unexpected; - var aV = env._sbrk; - var aW = env._strerror_r; - var aX = env.___errno_location; - var aY = env.___gxx_personality_v0; - var aZ = env.___cxa_is_number_type; - var a_ = env._time; - var a$ = env.__exit; - var a0 = env.___cxa_end_catch; -// EMSCRIPTEN_START_FUNCS -function a7(a) { - a = a | 0; - var b = 0; - b = i; - i = i + a | 0; - i = i + 7 >> 3 << 3; - return b | 0; -} -function a8() { - return i | 0; -} -function a9(a) { - a = a | 0; - i = a; -} -function ba(a, b) { - a = a | 0; - b = b | 0; - if ((u | 0) == 0) { - u = a; - v = b; - } -} -function bb(b) { - b = b | 0; - a[k] = a[b]; - a[k + 1 | 0] = a[b + 1 | 0]; - a[k + 2 | 0] = a[b + 2 | 0]; - a[k + 3 | 0] = a[b + 3 | 0]; -} -function bc(b) { - b = b | 0; - a[k] = a[b]; - a[k + 1 | 0] = a[b + 1 | 0]; - a[k + 2 | 0] = a[b + 2 | 0]; - a[k + 3 | 0] = a[b + 3 | 0]; - a[k + 4 | 0] = a[b + 4 | 0]; - a[k + 5 | 0] = a[b + 5 | 0]; - a[k + 6 | 0] = a[b + 6 | 0]; - a[k + 7 | 0] = a[b + 7 | 0]; -} -function bd(a) { - a = a | 0; - H = a; -} -function be(a) { - a = a | 0; - I = a; -} -function bf(a) { - a = a | 0; - J = a; -} -function bg(a) { - a = a | 0; - K = a; -} -function bh(a) { - a = a | 0; - L = a; -} -function bi(a) { - a = a | 0; - M = a; -} -function bj(a) { - a = a | 0; - N = a; -} -function bk(a) { - a = a | 0; - O = a; -} -function bl(a) { - a = a | 0; - P = a; -} -function bm(a) { - a = a | 0; - Q = a; -} -function bn() { - c[170] = q + 8; - c[172] = p + 8; - c[176] = p + 8; -} -function bo(b, c, d) { - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - if ((d | 0) == 0) { - return; - } else { - e = 0; - } - do { - a[b + e | 0] = a[c + e | 0] | 0; - e = e + 1 | 0; - } while (e >>> 0 < d >>> 0); - return; -} -function bp(b, c, d) { - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0; - if ((d | 0) == 0) { - return; - } else { - e = 0; - } - do { - f = b + e | 0; - a[f] = a[f] ^ a[c + e | 0]; - e = e + 1 | 0; - } while (e >>> 0 < d >>> 0); - return; -} -function bq(a) { - a = a | 0; - var b = 0, c = 0, e = 0, f = 0; - b = d[a + 1 | 0] | 0; - c = d[a + 2 | 0] | 0; - e = d[a + 3 | 0] | 0; - f = cN(b << 8 | 0 >>> 24 | (d[a] | 0) | (c << 16 | 0 >>> 16) | (e << 24 | 0 >>> 8) | (0 << 8 | 0 >>> 24), 0 << 8 | b >>> 24 | (0 << 16 | c >>> 16) | (0 << 24 | e >>> 8) | (d[a + 4 | 0] | 0) | ((d[a + 5 | 0] | 0) << 8 | 0 >>> 24), 0 << 16 | 0 >>> 16, (d[a + 6 | 0] | 0) << 16 | 0 >>> 16) | 0; - e = cN(f, H, 0 << 24 | 0 >>> 8, (d[a + 7 | 0] | 0) << 24 | 0 >>> 8) | 0; - return (H = H, e) | 0; -} -function br(a) { - a = a | 0; - return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; -} -function bs(b, c) { - b = b | 0; - c = c | 0; - a[b] = c & 255; - a[b + 1 | 0] = c >>> 8 & 255; - a[b + 2 | 0] = c >>> 16 & 255; - a[b + 3 | 0] = c >>> 24 & 255; - return; -} -function bt(a) { - a = a | 0; - c[a + 36 >> 2] = 0; - c[a + 32 >> 2] = 0; - c[a >> 2] = 1779033703; - c[a + 4 >> 2] = -1150833019; - c[a + 8 >> 2] = 1013904242; - c[a + 12 >> 2] = -1521486534; - c[a + 16 >> 2] = 1359893119; - c[a + 20 >> 2] = -1694144372; - c[a + 24 >> 2] = 528734635; - c[a + 28 >> 2] = 1541459225; - return; -} -function bu(a, b, d, e, f, g, h, i, j, k) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - i = i | 0; - j = j | 0; - k = k | 0; - var l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; - l = cX(i, 0, h, 0) | 0; - m = H; - n = 0; - if (m >>> 0 > n >>> 0 | m >>> 0 == n >>> 0 & l >>> 0 > 1073741823 >>> 0) { - c[(aX() | 0) >> 2] = 27; - o = -1; - return o | 0; - } - l = cN(f, g, -1, -1) | 0; - if ((l & f | 0) != 0 | (H & g | 0) != 0 | (f | 0) == 0 & (g | 0) == 0) { - c[(aX() | 0) >> 2] = 22; - o = -1; - return o | 0; - } - do { - if (!((33554431 / (i >>> 0) | 0) >>> 0 < h >>> 0 | h >>> 0 > 16777215)) { - l = 0; - if (l >>> 0 < g >>> 0 | l >>> 0 == g >>> 0 & (33554431 / (h >>> 0) | 0) >>> 0 < f >>> 0) { - break; - } - l = h << 7; - n = bL(ad(l, i) | 0) | 0; - if ((n | 0) == 0) { - o = -1; - return o | 0; - } - m = bL(h << 8) | 0; - do { - if ((m | 0) != 0) { - p = cX(l, 0, f, g) | 0; - q = bL(p) | 0; - if ((q | 0) == 0) { - bM(m); - break; - } - p = ad(i << 7, h) | 0; - bJ(a, b, d, e, 1, 0, n, p); - if ((i | 0) != 0) { - r = h << 7; - s = 0; - do { - bv(n + (ad(r, s) | 0) | 0, h, f, g, q, m); - s = s + 1 | 0; - } while (s >>> 0 < i >>> 0); - } - bJ(a, b, n, p, 1, 0, j, k); - bM(q); - bM(m); - bM(n); - o = 0; - return o | 0; - } - } while (0); - bM(n); - o = -1; - return o | 0; - } - } while (0); - c[(aX() | 0) >> 2] = 12; - o = -1; - return o | 0; -} -function bv(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; - g = b << 7; - h = f + g | 0; - bo(f, a, g); - if ((c | 0) == 0 & (d | 0) == 0) { - bo(a, f, g); - return; - } - i = g; - j = 0; - k = 0; - l = 0; - do { - m = cX(l, k, i, j) | 0; - bo(e + m | 0, f, g); - bw(f, h, b); - l = cN(l, k, 1, 0) | 0; - k = H; - } while (k >>> 0 < d >>> 0 | k >>> 0 == d >>> 0 & l >>> 0 < c >>> 0); - if ((c | 0) == 0 & (d | 0) == 0) { - bo(a, f, g); - return; - } - l = cN(c, d, -1, -1) | 0; - k = H; - j = g; - i = 0; - m = 0; - n = 0; - do { - o = bx(f, b) | 0; - p = cX(o & l, H & k, j, i) | 0; - bp(f, e + p | 0, g); - bw(f, h, b); - n = cN(n, m, 1, 0) | 0; - m = H; - } while (m >>> 0 < d >>> 0 | m >>> 0 == d >>> 0 & n >>> 0 < c >>> 0); - bo(a, f, g); - return; -} -function bw(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0; - d = i; - i = i + 64 | 0; - e = d | 0; - f = c << 1; - bo(e, a + ((c << 7) - 64) | 0, 64); - if ((f | 0) != 0) { - g = 0; - do { - h = g << 6; - bp(e, a + h | 0, 64); - by(e); - bo(b + h | 0, e, 64); - g = g + 1 | 0; - } while (g >>> 0 < f >>> 0); - } - if ((c | 0) == 0) { - i = d; - return; - } else { - j = 0; - } - do { - bo(a + (j << 6) | 0, b + (j << 7) | 0, 64); - j = j + 1 | 0; - } while (j >>> 0 < c >>> 0); - if ((c | 0) == 0) { - i = d; - return; - } else { - k = 0; - } - do { - bo(a + (k + c << 6) | 0, b + (k << 7 | 64) | 0, 64); - k = k + 1 | 0; - } while (k >>> 0 < c >>> 0); - i = d; - return; -} -function bx(a, b) { - a = a | 0; - b = b | 0; - var c = 0; - c = bq(a + ((b << 7) - 64) | 0) | 0; - return (H = H, c) | 0; -} -function by(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0; - b = i; - i = i + 128 | 0; - d = b | 0; - e = b + 64 | 0; - f = 0; - do { - c[d + (f << 2) >> 2] = br(a + (f << 2) | 0) | 0; - f = f + 1 | 0; - } while (f >>> 0 < 16); - f = d; - g = e; - cK(g | 0, f | 0, 64) | 0; - f = e | 0; - g = e + 48 | 0; - h = e + 16 | 0; - j = e + 32 | 0; - k = e + 20 | 0; - l = e + 4 | 0; - m = e + 36 | 0; - n = e + 52 | 0; - o = e + 40 | 0; - p = e + 24 | 0; - q = e + 56 | 0; - r = e + 8 | 0; - s = e + 60 | 0; - t = e + 44 | 0; - u = e + 12 | 0; - v = e + 28 | 0; - w = 0; - x = c[f >> 2] | 0; - y = c[g >> 2] | 0; - z = c[h >> 2] | 0; - A = c[j >> 2] | 0; - B = c[k >> 2] | 0; - C = c[l >> 2] | 0; - D = c[m >> 2] | 0; - E = c[n >> 2] | 0; - F = c[o >> 2] | 0; - G = c[p >> 2] | 0; - H = c[q >> 2] | 0; - I = c[r >> 2] | 0; - J = c[s >> 2] | 0; - K = c[t >> 2] | 0; - L = c[u >> 2] | 0; - M = c[v >> 2] | 0; - do { - N = y + x | 0; - O = (N << 7 | N >>> 25) ^ z; - N = O + x | 0; - P = (N << 9 | N >>> 23) ^ A; - N = P + O | 0; - Q = (N << 13 | N >>> 19) ^ y; - N = Q + P | 0; - R = (N << 18 | N >>> 14) ^ x; - N = C + B | 0; - S = (N << 7 | N >>> 25) ^ D; - N = S + B | 0; - T = (N << 9 | N >>> 23) ^ E; - N = T + S | 0; - U = (N << 13 | N >>> 19) ^ C; - N = U + T | 0; - V = (N << 18 | N >>> 14) ^ B; - N = G + F | 0; - W = (N << 7 | N >>> 25) ^ H; - N = W + F | 0; - X = (N << 9 | N >>> 23) ^ I; - N = X + W | 0; - Y = (N << 13 | N >>> 19) ^ G; - N = Y + X | 0; - Z = (N << 18 | N >>> 14) ^ F; - N = K + J | 0; - _ = (N << 7 | N >>> 25) ^ L; - N = _ + J | 0; - $ = (N << 9 | N >>> 23) ^ M; - N = $ + _ | 0; - aa = (N << 13 | N >>> 19) ^ K; - N = aa + $ | 0; - ab = (N << 18 | N >>> 14) ^ J; - N = _ + R | 0; - C = (N << 7 | N >>> 25) ^ U; - U = C + R | 0; - I = (U << 9 | U >>> 23) ^ X; - X = I + C | 0; - L = (X << 13 | X >>> 19) ^ _; - _ = L + I | 0; - x = (_ << 18 | _ >>> 14) ^ R; - R = O + V | 0; - G = (R << 7 | R >>> 25) ^ Y; - Y = G + V | 0; - M = (Y << 9 | Y >>> 23) ^ $; - $ = M + G | 0; - z = ($ << 13 | $ >>> 19) ^ O; - O = z + M | 0; - B = (O << 18 | O >>> 14) ^ V; - V = S + Z | 0; - K = (V << 7 | V >>> 25) ^ aa; - aa = K + Z | 0; - A = (aa << 9 | aa >>> 23) ^ P; - P = A + K | 0; - D = (P << 13 | P >>> 19) ^ S; - S = D + A | 0; - F = (S << 18 | S >>> 14) ^ Z; - Z = W + ab | 0; - y = (Z << 7 | Z >>> 25) ^ Q; - Q = y + ab | 0; - E = (Q << 9 | Q >>> 23) ^ T; - T = E + y | 0; - H = (T << 13 | T >>> 19) ^ W; - W = H + E | 0; - J = (W << 18 | W >>> 14) ^ ab; - w = w + 2 | 0; - } while (w >>> 0 < 8); - c[f >> 2] = x; - c[g >> 2] = y; - c[h >> 2] = z; - c[j >> 2] = A; - c[k >> 2] = B; - c[l >> 2] = C; - c[m >> 2] = D; - c[n >> 2] = E; - c[o >> 2] = F; - c[p >> 2] = G; - c[q >> 2] = H; - c[r >> 2] = I; - c[s >> 2] = J; - c[t >> 2] = K; - c[u >> 2] = L; - c[v >> 2] = M; - M = d | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e >> 2] | 0); - M = d + 4 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 4 >> 2] | 0); - M = d + 8 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 8 >> 2] | 0); - M = d + 12 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 12 >> 2] | 0); - M = d + 16 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 16 >> 2] | 0); - M = d + 20 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 20 >> 2] | 0); - M = d + 24 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 24 >> 2] | 0); - M = d + 28 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 28 >> 2] | 0); - M = d + 32 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 32 >> 2] | 0); - M = d + 36 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 36 >> 2] | 0); - M = d + 40 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 40 >> 2] | 0); - M = d + 44 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 44 >> 2] | 0); - M = d + 48 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 48 >> 2] | 0); - M = d + 52 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 52 >> 2] | 0); - M = d + 56 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 56 >> 2] | 0); - M = d + 60 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 60 >> 2] | 0); - e = 0; - do { - bs(a + (e << 2) | 0, c[d + (e << 2) >> 2] | 0); - e = e + 1 | 0; - } while (e >>> 0 < 16); - i = b; - return; -} -function bz(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; - e = a + 32 | 0; - f = a + 36 | 0; - g = c[f >> 2] | 0; - h = g >>> 3 & 63; - i = aN(g | 0, d << 3 | 0) | 0; - c[f >> 2] = i; - if (H) { - i = e | 0; - c[i >> 2] = (c[i >> 2] | 0) + 1; - } - i = e | 0; - c[i >> 2] = (c[i >> 2] | 0) + (d >>> 29); - i = 64 - h | 0; - e = a + 40 + h | 0; - if (i >>> 0 > d >>> 0) { - cK(e | 0, b | 0, d) | 0; - return; - } - cK(e | 0, b | 0, i) | 0; - e = a | 0; - h = a + 40 | 0; - bA(e, h); - a = b + i | 0; - b = d - i | 0; - if (b >>> 0 > 63) { - i = b; - d = a; - while (1) { - bA(e, d); - f = d + 64 | 0; - g = i - 64 | 0; - if (g >>> 0 > 63) { - i = g; - d = f; - } else { - j = g; - k = f; - break; - } - } - } else { - j = b; - k = a; - } - cK(h | 0, k | 0, j) | 0; - return; -} -function bA(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; - d = i; - i = i + 288 | 0; - e = d | 0; - f = d + 256 | 0; - g = e | 0; - bK(g, b); - b = 16; - do { - h = c[e + (b - 2 << 2) >> 2] | 0; - j = c[e + (b - 15 << 2) >> 2] | 0; - c[e + (b << 2) >> 2] = (c[e + (b - 16 << 2) >> 2] | 0) + (c[e + (b - 7 << 2) >> 2] | 0) + ((h >>> 19 | h << 13) ^ h >>> 10 ^ (h >>> 17 | h << 15)) + ((j >>> 18 | j << 14) ^ j >>> 3 ^ (j >>> 7 | j << 25)); - b = b + 1 | 0; - } while ((b | 0) < 64); - b = f; - j = a; - cK(b | 0, j | 0, 32) | 0; - j = f + 28 | 0; - b = f + 16 | 0; - h = c[b >> 2] | 0; - k = f + 20 | 0; - l = f + 24 | 0; - m = c[l >> 2] | 0; - n = (c[j >> 2] | 0) + 1116352408 + (c[g >> 2] | 0) + ((h >>> 6 | h << 26) ^ (h >>> 11 | h << 21) ^ (h >>> 25 | h << 7)) + ((m ^ c[k >> 2]) & h ^ m) | 0; - m = f | 0; - h = c[m >> 2] | 0; - g = f + 4 | 0; - o = c[g >> 2] | 0; - p = f + 8 | 0; - q = c[p >> 2] | 0; - r = f + 12 | 0; - c[r >> 2] = (c[r >> 2] | 0) + n; - s = ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + n + ((q | o) & h | q & o) | 0; - c[j >> 2] = s; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - h = (c[l >> 2] | 0) + 1899447441 + (c[e + 4 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[l >> 2] = n; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - s = (c[k >> 2] | 0) - 1245643825 + (c[e + 8 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[k >> 2] = h; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - n = (c[b >> 2] | 0) - 373957723 + (c[e + 12 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[b >> 2] = s; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - h = (c[r >> 2] | 0) + 961987163 + (c[e + 16 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[r >> 2] = n; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - s = (c[p >> 2] | 0) + 1508970993 + (c[e + 20 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[p >> 2] = h; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - n = (c[g >> 2] | 0) - 1841331548 + (c[e + 24 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[g >> 2] = s; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - h = (c[m >> 2] | 0) - 1424204075 + (c[e + 28 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[m >> 2] = n; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - s = (c[j >> 2] | 0) - 670586216 + (c[e + 32 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[j >> 2] = h; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - n = (c[l >> 2] | 0) + 310598401 + (c[e + 36 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[l >> 2] = s; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - h = (c[k >> 2] | 0) + 607225278 + (c[e + 40 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[k >> 2] = n; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - s = (c[b >> 2] | 0) + 1426881987 + (c[e + 44 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[b >> 2] = h; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - n = (c[r >> 2] | 0) + 1925078388 + (c[e + 48 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[r >> 2] = s; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - h = (c[p >> 2] | 0) - 2132889090 + (c[e + 52 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[p >> 2] = n; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - s = (c[g >> 2] | 0) - 1680079193 + (c[e + 56 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[g >> 2] = h; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - n = (c[m >> 2] | 0) - 1046744716 + (c[e + 60 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[m >> 2] = s; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - h = (c[j >> 2] | 0) - 459576895 + (c[e + 64 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[j >> 2] = n; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - s = (c[l >> 2] | 0) - 272742522 + (c[e + 68 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[l >> 2] = h; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - n = (c[k >> 2] | 0) + 264347078 + (c[e + 72 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[k >> 2] = s; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - h = (c[b >> 2] | 0) + 604807628 + (c[e + 76 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[b >> 2] = n; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - s = (c[r >> 2] | 0) + 770255983 + (c[e + 80 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[r >> 2] = h; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - n = (c[p >> 2] | 0) + 1249150122 + (c[e + 84 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[p >> 2] = s; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - h = (c[g >> 2] | 0) + 1555081692 + (c[e + 88 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[g >> 2] = n; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - s = (c[m >> 2] | 0) + 1996064986 + (c[e + 92 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[m >> 2] = h; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - n = (c[j >> 2] | 0) - 1740746414 + (c[e + 96 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[j >> 2] = s; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - h = (c[l >> 2] | 0) - 1473132947 + (c[e + 100 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[l >> 2] = n; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - s = (c[k >> 2] | 0) - 1341970488 + (c[e + 104 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[k >> 2] = h; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - n = (c[b >> 2] | 0) - 1084653625 + (c[e + 108 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[b >> 2] = s; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - h = (c[r >> 2] | 0) - 958395405 + (c[e + 112 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[r >> 2] = n; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - s = (c[p >> 2] | 0) - 710438585 + (c[e + 116 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[p >> 2] = h; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - n = (c[g >> 2] | 0) + 113926993 + (c[e + 120 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[g >> 2] = s; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - h = (c[m >> 2] | 0) + 338241895 + (c[e + 124 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[m >> 2] = n; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - s = (c[j >> 2] | 0) + 666307205 + (c[e + 128 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[j >> 2] = h; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - n = (c[l >> 2] | 0) + 773529912 + (c[e + 132 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[l >> 2] = s; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - h = (c[k >> 2] | 0) + 1294757372 + (c[e + 136 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[k >> 2] = n; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - s = (c[b >> 2] | 0) + 1396182291 + (c[e + 140 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[b >> 2] = h; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - n = (c[r >> 2] | 0) + 1695183700 + (c[e + 144 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[r >> 2] = s; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - h = (c[p >> 2] | 0) + 1986661051 + (c[e + 148 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[p >> 2] = n; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - s = (c[g >> 2] | 0) - 2117940946 + (c[e + 152 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[g >> 2] = h; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - n = (c[m >> 2] | 0) - 1838011259 + (c[e + 156 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[m >> 2] = s; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - h = (c[j >> 2] | 0) - 1564481375 + (c[e + 160 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[j >> 2] = n; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - s = (c[l >> 2] | 0) - 1474664885 + (c[e + 164 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[l >> 2] = h; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - n = (c[k >> 2] | 0) - 1035236496 + (c[e + 168 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[k >> 2] = s; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - h = (c[b >> 2] | 0) - 949202525 + (c[e + 172 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[b >> 2] = n; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - s = (c[r >> 2] | 0) - 778901479 + (c[e + 176 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[r >> 2] = h; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - n = (c[p >> 2] | 0) - 694614492 + (c[e + 180 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[p >> 2] = s; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - h = (c[g >> 2] | 0) - 200395387 + (c[e + 184 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[g >> 2] = n; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - s = (c[m >> 2] | 0) + 275423344 + (c[e + 188 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[m >> 2] = h; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - n = (c[j >> 2] | 0) + 430227734 + (c[e + 192 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[j >> 2] = s; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - h = (c[l >> 2] | 0) + 506948616 + (c[e + 196 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[l >> 2] = n; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - s = (c[k >> 2] | 0) + 659060556 + (c[e + 200 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[k >> 2] = h; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - n = (c[b >> 2] | 0) + 883997877 + (c[e + 204 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[b >> 2] = s; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - h = (c[r >> 2] | 0) + 958139571 + (c[e + 208 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[r >> 2] = n; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - s = (c[p >> 2] | 0) + 1322822218 + (c[e + 212 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[p >> 2] = h; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - n = (c[g >> 2] | 0) + 1537002063 + (c[e + 216 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[g >> 2] = s; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - h = (c[m >> 2] | 0) + 1747873779 + (c[e + 220 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[m >> 2] = n; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - s = (c[j >> 2] | 0) + 1955562222 + (c[e + 224 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[j >> 2] = h; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - n = (c[l >> 2] | 0) + 2024104815 + (c[e + 228 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[l >> 2] = s; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - h = (c[k >> 2] | 0) - 2067236844 + (c[e + 232 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[k >> 2] = n; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - s = (c[b >> 2] | 0) - 1933114872 + (c[e + 236 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[b >> 2] = h; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - n = (c[r >> 2] | 0) - 1866530822 + (c[e + 240 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[r >> 2] = s; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - h = (c[p >> 2] | 0) - 1538233109 + (c[e + 244 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[p >> 2] = n; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - s = (c[g >> 2] | 0) - 1090935817 + (c[e + 248 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[g >> 2] = h; - g = c[k >> 2] | 0; - k = c[j >> 2] | 0; - j = (c[m >> 2] | 0) - 965641998 + (c[e + 252 >> 2] | 0) + ((g >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7)) + ((k ^ c[l >> 2]) & g ^ k) | 0; - k = c[p >> 2] | 0; - p = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + j; - b = j + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((p | k) & h | p & k) | 0; - c[m >> 2] = b; - c[a >> 2] = (c[a >> 2] | 0) + b; - b = a + 4 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 4 >> 2] | 0); - b = a + 8 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 8 >> 2] | 0); - b = a + 12 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 12 >> 2] | 0); - b = a + 16 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 16 >> 2] | 0); - b = a + 20 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 20 >> 2] | 0); - b = a + 24 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 24 >> 2] | 0); - b = a + 28 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 28 >> 2] | 0); - i = d; - return; -} -function bB(b, c) { - b = b | 0; - c = c | 0; - a[b + 3 | 0] = c & 255; - a[b + 2 | 0] = c >>> 8 & 255; - a[b + 1 | 0] = c >>> 16 & 255; - a[b] = c >>> 24 & 255; - return; -} -function bC(a) { - a = a | 0; - return (d[a + 2 | 0] | 0) << 8 | (d[a + 3 | 0] | 0) | (d[a + 1 | 0] | 0) << 16 | (d[a] | 0) << 24 | 0; -} -function bD(a, b) { - a = a | 0; - b = b | 0; - bE(b); - bF(a, b | 0, 32); - cL(b | 0, 0, 104); - return; -} -function bE(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - b = i; - i = i + 8 | 0; - d = b | 0; - bF(d, a + 32 | 0, 8); - e = (c[a + 36 >> 2] | 0) >>> 3 & 63; - bz(a, 720, (e >>> 0 < 56 ? 56 : 120) - e | 0); - bz(a, d, 8); - i = b; - return; -} -function bF(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = d >>> 2; - if ((e | 0) == 0) { - return; - } else { - f = 0; - } - do { - bB(a + (f << 2) | 0, c[b + (f << 2) >> 2] | 0); - f = f + 1 | 0; - } while (f >>> 0 < e >>> 0); - return; -} -function bG(b, c, d) { - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0; - e = i; - i = i + 96 | 0; - f = e | 0; - if (d >>> 0 > 64) { - g = b | 0; - bt(g); - bz(g, c, d); - h = e + 64 | 0; - bD(h, g); - j = h; - k = 32; - } else { - j = c; - k = d; - } - d = b | 0; - bt(d); - c = f | 0; - cL(c | 0, 54, 64); - if ((k | 0) != 0) { - h = 0; - do { - g = f + h | 0; - a[g] = a[g] ^ a[j + h | 0]; - h = h + 1 | 0; - } while (h >>> 0 < k >>> 0); - } - bz(d, c, 64); - d = b + 104 | 0; - bt(d); - cL(c | 0, 92, 64); - if ((k | 0) == 0) { - bz(d, c, 64); - i = e; - return; - } else { - l = 0; - } - do { - b = f + l | 0; - a[b] = a[b] ^ a[j + l | 0]; - l = l + 1 | 0; - } while (l >>> 0 < k >>> 0); - bz(d, c, 64); - i = e; - return; -} -function bH(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - bz(a | 0, b, c); - return; -} -function bI(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0; - c = i; - i = i + 32 | 0; - d = c | 0; - bD(d, b | 0); - e = b + 104 | 0; - bz(e, d, 32); - bD(a, e); - i = c; - return; -} -function bJ(b, c, d, e, f, g, h, j) { - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - j = j | 0; - var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; - k = i; - i = i + 488 | 0; - l = k | 0; - m = k + 208 | 0; - n = k + 424 | 0; - o = k + 456 | 0; - bG(l, b, c); - bH(l, d, e); - if ((j | 0) == 0) { - i = k; - return; - } - e = k + 416 | 0; - d = m; - p = l; - l = n | 0; - q = o | 0; - r = 0; - s = g >>> 0 < r >>> 0 | g >>> 0 == r >>> 0 & f >>> 0 < 2 >>> 0; - r = 0; - t = 0; - do { - r = r + 1 | 0; - bB(e, r); - cK(d | 0, p | 0, 208) | 0; - bH(m, e, 4); - bI(l, m); - cK(q | 0, l | 0, 32) | 0; - if (!s) { - u = 0; - v = 2; - do { - bG(m, b, c); - bH(m, l, 32); - bI(l, m); - w = 0; - do { - x = o + w | 0; - a[x] = a[x] ^ a[n + w | 0]; - w = w + 1 | 0; - } while ((w | 0) < 32); - v = cN(v, u, 1, 0) | 0; - u = H; - } while (!(u >>> 0 > g >>> 0 | u >>> 0 == g >>> 0 & v >>> 0 > f >>> 0)); - } - v = j - t | 0; - u = v >>> 0 > 32 ? 32 : v; - v = h + t | 0; - cK(v | 0, q | 0, u) | 0; - t = r << 5; - } while (t >>> 0 < j >>> 0); - i = k; - return; -} -function bK(a, b) { - a = a | 0; - b = b | 0; - var d = 0; - d = 0; - do { - c[a + (d << 2) >> 2] = bC(b + (d << 2) | 0) | 0; - d = d + 1 | 0; - } while (d >>> 0 < 16); - return; -} -function bL(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, as = 0, at = 0, av = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0; - do { - if (a >>> 0 < 245) { - if (a >>> 0 < 11) { - b = 16; - } else { - b = a + 11 & -8; - } - d = b >>> 3; - e = c[208] | 0; - f = e >>> (d >>> 0); - if ((f & 3 | 0) != 0) { - g = (f & 1 ^ 1) + d | 0; - h = g << 1; - i = 872 + (h << 2) | 0; - j = 872 + (h + 2 << 2) | 0; - h = c[j >> 2] | 0; - k = h + 8 | 0; - l = c[k >> 2] | 0; - do { - if ((i | 0) == (l | 0)) { - c[208] = e & ~(1 << g); - } else { - if (l >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - m = l + 12 | 0; - if ((c[m >> 2] | 0) == (h | 0)) { - c[m >> 2] = i; - c[j >> 2] = l; - break; - } else { - au(); - return 0; - } - } - } while (0); - l = g << 3; - c[h + 4 >> 2] = l | 3; - j = h + (l | 4) | 0; - c[j >> 2] = c[j >> 2] | 1; - n = k; - return n | 0; - } - if (b >>> 0 <= (c[210] | 0) >>> 0) { - o = b; - break; - } - if ((f | 0) != 0) { - j = 2 << d; - l = f << d & (j | -j); - j = (l & -l) - 1 | 0; - l = j >>> 12 & 16; - i = j >>> (l >>> 0); - j = i >>> 5 & 8; - m = i >>> (j >>> 0); - i = m >>> 2 & 4; - p = m >>> (i >>> 0); - m = p >>> 1 & 2; - q = p >>> (m >>> 0); - p = q >>> 1 & 1; - r = (j | l | i | m | p) + (q >>> (p >>> 0)) | 0; - p = r << 1; - q = 872 + (p << 2) | 0; - m = 872 + (p + 2 << 2) | 0; - p = c[m >> 2] | 0; - i = p + 8 | 0; - l = c[i >> 2] | 0; - do { - if ((q | 0) == (l | 0)) { - c[208] = e & ~(1 << r); - } else { - if (l >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - j = l + 12 | 0; - if ((c[j >> 2] | 0) == (p | 0)) { - c[j >> 2] = q; - c[m >> 2] = l; - break; - } else { - au(); - return 0; - } - } - } while (0); - l = r << 3; - m = l - b | 0; - c[p + 4 >> 2] = b | 3; - q = p; - e = q + b | 0; - c[q + (b | 4) >> 2] = m | 1; - c[q + l >> 2] = m; - l = c[210] | 0; - if ((l | 0) != 0) { - q = c[213] | 0; - d = l >>> 3; - l = d << 1; - f = 872 + (l << 2) | 0; - k = c[208] | 0; - h = 1 << d; - do { - if ((k & h | 0) == 0) { - c[208] = k | h; - s = f; - t = 872 + (l + 2 << 2) | 0; - } else { - d = 872 + (l + 2 << 2) | 0; - g = c[d >> 2] | 0; - if (g >>> 0 >= (c[212] | 0) >>> 0) { - s = g; - t = d; - break; - } - au(); - return 0; - } - } while (0); - c[t >> 2] = q; - c[s + 12 >> 2] = q; - c[q + 8 >> 2] = s; - c[q + 12 >> 2] = f; - } - c[210] = m; - c[213] = e; - n = i; - return n | 0; - } - l = c[209] | 0; - if ((l | 0) == 0) { - o = b; - break; - } - h = (l & -l) - 1 | 0; - l = h >>> 12 & 16; - k = h >>> (l >>> 0); - h = k >>> 5 & 8; - p = k >>> (h >>> 0); - k = p >>> 2 & 4; - r = p >>> (k >>> 0); - p = r >>> 1 & 2; - d = r >>> (p >>> 0); - r = d >>> 1 & 1; - g = c[1136 + ((h | l | k | p | r) + (d >>> (r >>> 0)) << 2) >> 2] | 0; - r = g; - d = g; - p = (c[g + 4 >> 2] & -8) - b | 0; - while (1) { - g = c[r + 16 >> 2] | 0; - if ((g | 0) == 0) { - k = c[r + 20 >> 2] | 0; - if ((k | 0) == 0) { - break; - } else { - u = k; - } - } else { - u = g; - } - g = (c[u + 4 >> 2] & -8) - b | 0; - k = g >>> 0 < p >>> 0; - r = u; - d = k ? u : d; - p = k ? g : p; - } - r = d; - i = c[212] | 0; - if (r >>> 0 < i >>> 0) { - au(); - return 0; - } - e = r + b | 0; - m = e; - if (r >>> 0 >= e >>> 0) { - au(); - return 0; - } - e = c[d + 24 >> 2] | 0; - f = c[d + 12 >> 2] | 0; - do { - if ((f | 0) == (d | 0)) { - q = d + 20 | 0; - g = c[q >> 2] | 0; - if ((g | 0) == 0) { - k = d + 16 | 0; - l = c[k >> 2] | 0; - if ((l | 0) == 0) { - v = 0; - break; - } else { - w = l; - x = k; - } - } else { - w = g; - x = q; - } - while (1) { - q = w + 20 | 0; - g = c[q >> 2] | 0; - if ((g | 0) != 0) { - w = g; - x = q; - continue; - } - q = w + 16 | 0; - g = c[q >> 2] | 0; - if ((g | 0) == 0) { - break; - } else { - w = g; - x = q; - } - } - if (x >>> 0 < i >>> 0) { - au(); - return 0; - } else { - c[x >> 2] = 0; - v = w; - break; - } - } else { - q = c[d + 8 >> 2] | 0; - if (q >>> 0 < i >>> 0) { - au(); - return 0; - } - g = q + 12 | 0; - if ((c[g >> 2] | 0) != (d | 0)) { - au(); - return 0; - } - k = f + 8 | 0; - if ((c[k >> 2] | 0) == (d | 0)) { - c[g >> 2] = f; - c[k >> 2] = q; - v = f; - break; - } else { - au(); - return 0; - } - } - } while (0); - L223 : do { - if ((e | 0) != 0) { - f = d + 28 | 0; - i = 1136 + (c[f >> 2] << 2) | 0; - do { - if ((d | 0) == (c[i >> 2] | 0)) { - c[i >> 2] = v; - if ((v | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[f >> 2]); - break L223; - } else { - if (e >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - q = e + 16 | 0; - if ((c[q >> 2] | 0) == (d | 0)) { - c[q >> 2] = v; - } else { - c[e + 20 >> 2] = v; - } - if ((v | 0) == 0) { - break L223; - } - } - } while (0); - if (v >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - c[v + 24 >> 2] = e; - f = c[d + 16 >> 2] | 0; - do { - if ((f | 0) != 0) { - if (f >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[v + 16 >> 2] = f; - c[f + 24 >> 2] = v; - break; - } - } - } while (0); - f = c[d + 20 >> 2] | 0; - if ((f | 0) == 0) { - break; - } - if (f >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[v + 20 >> 2] = f; - c[f + 24 >> 2] = v; - break; - } - } - } while (0); - if (p >>> 0 < 16) { - e = p + b | 0; - c[d + 4 >> 2] = e | 3; - f = r + (e + 4) | 0; - c[f >> 2] = c[f >> 2] | 1; - } else { - c[d + 4 >> 2] = b | 3; - c[r + (b | 4) >> 2] = p | 1; - c[r + (p + b) >> 2] = p; - f = c[210] | 0; - if ((f | 0) != 0) { - e = c[213] | 0; - i = f >>> 3; - f = i << 1; - q = 872 + (f << 2) | 0; - k = c[208] | 0; - g = 1 << i; - do { - if ((k & g | 0) == 0) { - c[208] = k | g; - y = q; - z = 872 + (f + 2 << 2) | 0; - } else { - i = 872 + (f + 2 << 2) | 0; - l = c[i >> 2] | 0; - if (l >>> 0 >= (c[212] | 0) >>> 0) { - y = l; - z = i; - break; - } - au(); - return 0; - } - } while (0); - c[z >> 2] = e; - c[y + 12 >> 2] = e; - c[e + 8 >> 2] = y; - c[e + 12 >> 2] = q; - } - c[210] = p; - c[213] = m; - } - f = d + 8 | 0; - if ((f | 0) == 0) { - o = b; - break; - } else { - n = f; - } - return n | 0; - } else { - if (a >>> 0 > 4294967231) { - o = -1; - break; - } - f = a + 11 | 0; - g = f & -8; - k = c[209] | 0; - if ((k | 0) == 0) { - o = g; - break; - } - r = -g | 0; - i = f >>> 8; - do { - if ((i | 0) == 0) { - A = 0; - } else { - if (g >>> 0 > 16777215) { - A = 31; - break; - } - f = (i + 1048320 | 0) >>> 16 & 8; - l = i << f; - h = (l + 520192 | 0) >>> 16 & 4; - j = l << h; - l = (j + 245760 | 0) >>> 16 & 2; - B = 14 - (h | f | l) + (j << l >>> 15) | 0; - A = g >>> ((B + 7 | 0) >>> 0) & 1 | B << 1; - } - } while (0); - i = c[1136 + (A << 2) >> 2] | 0; - L271 : do { - if ((i | 0) == 0) { - C = 0; - D = r; - E = 0; - } else { - if ((A | 0) == 31) { - F = 0; - } else { - F = 25 - (A >>> 1) | 0; - } - d = 0; - m = r; - p = i; - q = g << F; - e = 0; - while (1) { - B = c[p + 4 >> 2] & -8; - l = B - g | 0; - if (l >>> 0 < m >>> 0) { - if ((B | 0) == (g | 0)) { - C = p; - D = l; - E = p; - break L271; - } else { - G = p; - H = l; - } - } else { - G = d; - H = m; - } - l = c[p + 20 >> 2] | 0; - B = c[p + 16 + (q >>> 31 << 2) >> 2] | 0; - j = (l | 0) == 0 | (l | 0) == (B | 0) ? e : l; - if ((B | 0) == 0) { - C = G; - D = H; - E = j; - break; - } else { - d = G; - m = H; - p = B; - q = q << 1; - e = j; - } - } - } - } while (0); - if ((E | 0) == 0 & (C | 0) == 0) { - i = 2 << A; - r = k & (i | -i); - if ((r | 0) == 0) { - o = g; - break; - } - i = (r & -r) - 1 | 0; - r = i >>> 12 & 16; - e = i >>> (r >>> 0); - i = e >>> 5 & 8; - q = e >>> (i >>> 0); - e = q >>> 2 & 4; - p = q >>> (e >>> 0); - q = p >>> 1 & 2; - m = p >>> (q >>> 0); - p = m >>> 1 & 1; - I = c[1136 + ((i | r | e | q | p) + (m >>> (p >>> 0)) << 2) >> 2] | 0; - } else { - I = E; - } - if ((I | 0) == 0) { - J = D; - K = C; - } else { - p = I; - m = D; - q = C; - while (1) { - e = (c[p + 4 >> 2] & -8) - g | 0; - r = e >>> 0 < m >>> 0; - i = r ? e : m; - e = r ? p : q; - r = c[p + 16 >> 2] | 0; - if ((r | 0) != 0) { - p = r; - m = i; - q = e; - continue; - } - r = c[p + 20 >> 2] | 0; - if ((r | 0) == 0) { - J = i; - K = e; - break; - } else { - p = r; - m = i; - q = e; - } - } - } - if ((K | 0) == 0) { - o = g; - break; - } - if (J >>> 0 >= ((c[210] | 0) - g | 0) >>> 0) { - o = g; - break; - } - q = K; - m = c[212] | 0; - if (q >>> 0 < m >>> 0) { - au(); - return 0; - } - p = q + g | 0; - k = p; - if (q >>> 0 >= p >>> 0) { - au(); - return 0; - } - e = c[K + 24 >> 2] | 0; - i = c[K + 12 >> 2] | 0; - do { - if ((i | 0) == (K | 0)) { - r = K + 20 | 0; - d = c[r >> 2] | 0; - if ((d | 0) == 0) { - j = K + 16 | 0; - B = c[j >> 2] | 0; - if ((B | 0) == 0) { - L = 0; - break; - } else { - M = B; - N = j; - } - } else { - M = d; - N = r; - } - while (1) { - r = M + 20 | 0; - d = c[r >> 2] | 0; - if ((d | 0) != 0) { - M = d; - N = r; - continue; - } - r = M + 16 | 0; - d = c[r >> 2] | 0; - if ((d | 0) == 0) { - break; - } else { - M = d; - N = r; - } - } - if (N >>> 0 < m >>> 0) { - au(); - return 0; - } else { - c[N >> 2] = 0; - L = M; - break; - } - } else { - r = c[K + 8 >> 2] | 0; - if (r >>> 0 < m >>> 0) { - au(); - return 0; - } - d = r + 12 | 0; - if ((c[d >> 2] | 0) != (K | 0)) { - au(); - return 0; - } - j = i + 8 | 0; - if ((c[j >> 2] | 0) == (K | 0)) { - c[d >> 2] = i; - c[j >> 2] = r; - L = i; - break; - } else { - au(); - return 0; - } - } - } while (0); - L321 : do { - if ((e | 0) != 0) { - i = K + 28 | 0; - m = 1136 + (c[i >> 2] << 2) | 0; - do { - if ((K | 0) == (c[m >> 2] | 0)) { - c[m >> 2] = L; - if ((L | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[i >> 2]); - break L321; - } else { - if (e >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - r = e + 16 | 0; - if ((c[r >> 2] | 0) == (K | 0)) { - c[r >> 2] = L; - } else { - c[e + 20 >> 2] = L; - } - if ((L | 0) == 0) { - break L321; - } - } - } while (0); - if (L >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - c[L + 24 >> 2] = e; - i = c[K + 16 >> 2] | 0; - do { - if ((i | 0) != 0) { - if (i >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[L + 16 >> 2] = i; - c[i + 24 >> 2] = L; - break; - } - } - } while (0); - i = c[K + 20 >> 2] | 0; - if ((i | 0) == 0) { - break; - } - if (i >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[L + 20 >> 2] = i; - c[i + 24 >> 2] = L; - break; - } - } - } while (0); - do { - if (J >>> 0 < 16) { - e = J + g | 0; - c[K + 4 >> 2] = e | 3; - i = q + (e + 4) | 0; - c[i >> 2] = c[i >> 2] | 1; - } else { - c[K + 4 >> 2] = g | 3; - c[q + (g | 4) >> 2] = J | 1; - c[q + (J + g) >> 2] = J; - i = J >>> 3; - if (J >>> 0 < 256) { - e = i << 1; - m = 872 + (e << 2) | 0; - r = c[208] | 0; - j = 1 << i; - do { - if ((r & j | 0) == 0) { - c[208] = r | j; - O = m; - P = 872 + (e + 2 << 2) | 0; - } else { - i = 872 + (e + 2 << 2) | 0; - d = c[i >> 2] | 0; - if (d >>> 0 >= (c[212] | 0) >>> 0) { - O = d; - P = i; - break; - } - au(); - return 0; - } - } while (0); - c[P >> 2] = k; - c[O + 12 >> 2] = k; - c[q + (g + 8) >> 2] = O; - c[q + (g + 12) >> 2] = m; - break; - } - e = p; - j = J >>> 8; - do { - if ((j | 0) == 0) { - Q = 0; - } else { - if (J >>> 0 > 16777215) { - Q = 31; - break; - } - r = (j + 1048320 | 0) >>> 16 & 8; - i = j << r; - d = (i + 520192 | 0) >>> 16 & 4; - B = i << d; - i = (B + 245760 | 0) >>> 16 & 2; - l = 14 - (d | r | i) + (B << i >>> 15) | 0; - Q = J >>> ((l + 7 | 0) >>> 0) & 1 | l << 1; - } - } while (0); - j = 1136 + (Q << 2) | 0; - c[q + (g + 28) >> 2] = Q; - c[q + (g + 20) >> 2] = 0; - c[q + (g + 16) >> 2] = 0; - m = c[209] | 0; - l = 1 << Q; - if ((m & l | 0) == 0) { - c[209] = m | l; - c[j >> 2] = e; - c[q + (g + 24) >> 2] = j; - c[q + (g + 12) >> 2] = e; - c[q + (g + 8) >> 2] = e; - break; - } - if ((Q | 0) == 31) { - R = 0; - } else { - R = 25 - (Q >>> 1) | 0; - } - l = J << R; - m = c[j >> 2] | 0; - while (1) { - if ((c[m + 4 >> 2] & -8 | 0) == (J | 0)) { - break; - } - S = m + 16 + (l >>> 31 << 2) | 0; - j = c[S >> 2] | 0; - if ((j | 0) == 0) { - T = 262; - break; - } else { - l = l << 1; - m = j; - } - } - if ((T | 0) == 262) { - if (S >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[S >> 2] = e; - c[q + (g + 24) >> 2] = m; - c[q + (g + 12) >> 2] = e; - c[q + (g + 8) >> 2] = e; - break; - } - } - l = m + 8 | 0; - j = c[l >> 2] | 0; - i = c[212] | 0; - if (m >>> 0 < i >>> 0) { - au(); - return 0; - } - if (j >>> 0 < i >>> 0) { - au(); - return 0; - } else { - c[j + 12 >> 2] = e; - c[l >> 2] = e; - c[q + (g + 8) >> 2] = j; - c[q + (g + 12) >> 2] = m; - c[q + (g + 24) >> 2] = 0; - break; - } - } - } while (0); - q = K + 8 | 0; - if ((q | 0) == 0) { - o = g; - break; - } else { - n = q; - } - return n | 0; - } - } while (0); - K = c[210] | 0; - if (o >>> 0 <= K >>> 0) { - S = K - o | 0; - J = c[213] | 0; - if (S >>> 0 > 15) { - R = J; - c[213] = R + o; - c[210] = S; - c[R + (o + 4) >> 2] = S | 1; - c[R + K >> 2] = S; - c[J + 4 >> 2] = o | 3; - } else { - c[210] = 0; - c[213] = 0; - c[J + 4 >> 2] = K | 3; - S = J + (K + 4) | 0; - c[S >> 2] = c[S >> 2] | 1; - } - n = J + 8 | 0; - return n | 0; - } - J = c[211] | 0; - if (o >>> 0 < J >>> 0) { - S = J - o | 0; - c[211] = S; - J = c[214] | 0; - K = J; - c[214] = K + o; - c[K + (o + 4) >> 2] = S | 1; - c[J + 4 >> 2] = o | 3; - n = J + 8 | 0; - return n | 0; - } - do { - if ((c[200] | 0) == 0) { - J = ar(8) | 0; - if ((J - 1 & J | 0) == 0) { - c[202] = J; - c[201] = J; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - return 0; - } - } - } while (0); - J = o + 48 | 0; - S = c[202] | 0; - K = o + 47 | 0; - R = S + K | 0; - Q = -S | 0; - S = R & Q; - if (S >>> 0 <= o >>> 0) { - n = 0; - return n | 0; - } - O = c[318] | 0; - do { - if ((O | 0) != 0) { - P = c[316] | 0; - L = P + S | 0; - if (L >>> 0 <= P >>> 0 | L >>> 0 > O >>> 0) { - n = 0; - } else { - break; - } - return n | 0; - } - } while (0); - L413 : do { - if ((c[319] & 4 | 0) == 0) { - O = c[214] | 0; - L415 : do { - if ((O | 0) == 0) { - T = 292; - } else { - L = O; - P = 1280; - while (1) { - U = P | 0; - M = c[U >> 2] | 0; - if (M >>> 0 <= L >>> 0) { - V = P + 4 | 0; - if ((M + (c[V >> 2] | 0) | 0) >>> 0 > L >>> 0) { - break; - } - } - M = c[P + 8 >> 2] | 0; - if ((M | 0) == 0) { - T = 292; - break L415; - } else { - P = M; - } - } - if ((P | 0) == 0) { - T = 292; - break; - } - L = R - (c[211] | 0) & Q; - if (L >>> 0 >= 2147483647) { - W = 0; - break; - } - m = aV(L | 0) | 0; - e = (m | 0) == ((c[U >> 2] | 0) + (c[V >> 2] | 0) | 0); - X = e ? m : -1; - Y = e ? L : 0; - Z = m; - _ = L; - T = 301; - } - } while (0); - do { - if ((T | 0) == 292) { - O = aV(0) | 0; - if ((O | 0) == -1) { - W = 0; - break; - } - g = O; - L = c[201] | 0; - m = L - 1 | 0; - if ((m & g | 0) == 0) { - $ = S; - } else { - $ = S - g + (m + g & -L) | 0; - } - L = c[316] | 0; - g = L + $ | 0; - if (!($ >>> 0 > o >>> 0 & $ >>> 0 < 2147483647)) { - W = 0; - break; - } - m = c[318] | 0; - if ((m | 0) != 0) { - if (g >>> 0 <= L >>> 0 | g >>> 0 > m >>> 0) { - W = 0; - break; - } - } - m = aV($ | 0) | 0; - g = (m | 0) == (O | 0); - X = g ? O : -1; - Y = g ? $ : 0; - Z = m; - _ = $; - T = 301; - } - } while (0); - L435 : do { - if ((T | 0) == 301) { - m = -_ | 0; - if ((X | 0) != -1) { - aa = Y; - ab = X; - T = 312; - break L413; - } - do { - if ((Z | 0) != -1 & _ >>> 0 < 2147483647 & _ >>> 0 < J >>> 0) { - g = c[202] | 0; - O = K - _ + g & -g; - if (O >>> 0 >= 2147483647) { - ac = _; - break; - } - if ((aV(O | 0) | 0) == -1) { - aV(m | 0) | 0; - W = Y; - break L435; - } else { - ac = O + _ | 0; - break; - } - } else { - ac = _; - } - } while (0); - if ((Z | 0) == -1) { - W = Y; - } else { - aa = ac; - ab = Z; - T = 312; - break L413; - } - } - } while (0); - c[319] = c[319] | 4; - ad = W; - T = 309; - } else { - ad = 0; - T = 309; - } - } while (0); - do { - if ((T | 0) == 309) { - if (S >>> 0 >= 2147483647) { - break; - } - W = aV(S | 0) | 0; - Z = aV(0) | 0; - if (!((Z | 0) != -1 & (W | 0) != -1 & W >>> 0 < Z >>> 0)) { - break; - } - ac = Z - W | 0; - Z = ac >>> 0 > (o + 40 | 0) >>> 0; - Y = Z ? W : -1; - if ((Y | 0) != -1) { - aa = Z ? ac : ad; - ab = Y; - T = 312; - } - } - } while (0); - do { - if ((T | 0) == 312) { - ad = (c[316] | 0) + aa | 0; - c[316] = ad; - if (ad >>> 0 > (c[317] | 0) >>> 0) { - c[317] = ad; - } - ad = c[214] | 0; - L455 : do { - if ((ad | 0) == 0) { - S = c[212] | 0; - if ((S | 0) == 0 | ab >>> 0 < S >>> 0) { - c[212] = ab; - } - c[320] = ab; - c[321] = aa; - c[323] = 0; - c[217] = c[200]; - c[216] = -1; - S = 0; - do { - Y = S << 1; - ac = 872 + (Y << 2) | 0; - c[872 + (Y + 3 << 2) >> 2] = ac; - c[872 + (Y + 2 << 2) >> 2] = ac; - S = S + 1 | 0; - } while (S >>> 0 < 32); - S = ab + 8 | 0; - if ((S & 7 | 0) == 0) { - ae = 0; - } else { - ae = -S & 7; - } - S = aa - 40 - ae | 0; - c[214] = ab + ae; - c[211] = S; - c[ab + (ae + 4) >> 2] = S | 1; - c[ab + (aa - 36) >> 2] = 40; - c[215] = c[204]; - } else { - S = 1280; - while (1) { - af = c[S >> 2] | 0; - ag = S + 4 | 0; - ah = c[ag >> 2] | 0; - if ((ab | 0) == (af + ah | 0)) { - T = 324; - break; - } - ac = c[S + 8 >> 2] | 0; - if ((ac | 0) == 0) { - break; - } else { - S = ac; - } - } - do { - if ((T | 0) == 324) { - if ((c[S + 12 >> 2] & 8 | 0) != 0) { - break; - } - ac = ad; - if (!(ac >>> 0 >= af >>> 0 & ac >>> 0 < ab >>> 0)) { - break; - } - c[ag >> 2] = ah + aa; - ac = c[214] | 0; - Y = (c[211] | 0) + aa | 0; - Z = ac; - W = ac + 8 | 0; - if ((W & 7 | 0) == 0) { - ai = 0; - } else { - ai = -W & 7; - } - W = Y - ai | 0; - c[214] = Z + ai; - c[211] = W; - c[Z + (ai + 4) >> 2] = W | 1; - c[Z + (Y + 4) >> 2] = 40; - c[215] = c[204]; - break L455; - } - } while (0); - if (ab >>> 0 < (c[212] | 0) >>> 0) { - c[212] = ab; - } - S = ab + aa | 0; - Y = 1280; - while (1) { - aj = Y | 0; - if ((c[aj >> 2] | 0) == (S | 0)) { - T = 334; - break; - } - Z = c[Y + 8 >> 2] | 0; - if ((Z | 0) == 0) { - break; - } else { - Y = Z; - } - } - do { - if ((T | 0) == 334) { - if ((c[Y + 12 >> 2] & 8 | 0) != 0) { - break; - } - c[aj >> 2] = ab; - S = Y + 4 | 0; - c[S >> 2] = (c[S >> 2] | 0) + aa; - S = ab + 8 | 0; - if ((S & 7 | 0) == 0) { - ak = 0; - } else { - ak = -S & 7; - } - S = ab + (aa + 8) | 0; - if ((S & 7 | 0) == 0) { - al = 0; - } else { - al = -S & 7; - } - S = ab + (al + aa) | 0; - Z = S; - W = ak + o | 0; - ac = ab + W | 0; - _ = ac; - K = S - (ab + ak) - o | 0; - c[ab + (ak + 4) >> 2] = o | 3; - do { - if ((Z | 0) == (c[214] | 0)) { - J = (c[211] | 0) + K | 0; - c[211] = J; - c[214] = _; - c[ab + (W + 4) >> 2] = J | 1; - } else { - if ((Z | 0) == (c[213] | 0)) { - J = (c[210] | 0) + K | 0; - c[210] = J; - c[213] = _; - c[ab + (W + 4) >> 2] = J | 1; - c[ab + (J + W) >> 2] = J; - break; - } - J = aa + 4 | 0; - X = c[ab + (J + al) >> 2] | 0; - if ((X & 3 | 0) == 1) { - $ = X & -8; - V = X >>> 3; - L500 : do { - if (X >>> 0 < 256) { - U = c[ab + ((al | 8) + aa) >> 2] | 0; - Q = c[ab + (aa + 12 + al) >> 2] | 0; - R = 872 + (V << 1 << 2) | 0; - do { - if ((U | 0) != (R | 0)) { - if (U >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - if ((c[U + 12 >> 2] | 0) == (Z | 0)) { - break; - } - au(); - return 0; - } - } while (0); - if ((Q | 0) == (U | 0)) { - c[208] = c[208] & ~(1 << V); - break; - } - do { - if ((Q | 0) == (R | 0)) { - am = Q + 8 | 0; - } else { - if (Q >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - m = Q + 8 | 0; - if ((c[m >> 2] | 0) == (Z | 0)) { - am = m; - break; - } - au(); - return 0; - } - } while (0); - c[U + 12 >> 2] = Q; - c[am >> 2] = U; - } else { - R = S; - m = c[ab + ((al | 24) + aa) >> 2] | 0; - P = c[ab + (aa + 12 + al) >> 2] | 0; - do { - if ((P | 0) == (R | 0)) { - O = al | 16; - g = ab + (J + O) | 0; - L = c[g >> 2] | 0; - if ((L | 0) == 0) { - e = ab + (O + aa) | 0; - O = c[e >> 2] | 0; - if ((O | 0) == 0) { - an = 0; - break; - } else { - ao = O; - ap = e; - } - } else { - ao = L; - ap = g; - } - while (1) { - g = ao + 20 | 0; - L = c[g >> 2] | 0; - if ((L | 0) != 0) { - ao = L; - ap = g; - continue; - } - g = ao + 16 | 0; - L = c[g >> 2] | 0; - if ((L | 0) == 0) { - break; - } else { - ao = L; - ap = g; - } - } - if (ap >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[ap >> 2] = 0; - an = ao; - break; - } - } else { - g = c[ab + ((al | 8) + aa) >> 2] | 0; - if (g >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - L = g + 12 | 0; - if ((c[L >> 2] | 0) != (R | 0)) { - au(); - return 0; - } - e = P + 8 | 0; - if ((c[e >> 2] | 0) == (R | 0)) { - c[L >> 2] = P; - c[e >> 2] = g; - an = P; - break; - } else { - au(); - return 0; - } - } - } while (0); - if ((m | 0) == 0) { - break; - } - P = ab + (aa + 28 + al) | 0; - U = 1136 + (c[P >> 2] << 2) | 0; - do { - if ((R | 0) == (c[U >> 2] | 0)) { - c[U >> 2] = an; - if ((an | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[P >> 2]); - break L500; - } else { - if (m >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - Q = m + 16 | 0; - if ((c[Q >> 2] | 0) == (R | 0)) { - c[Q >> 2] = an; - } else { - c[m + 20 >> 2] = an; - } - if ((an | 0) == 0) { - break L500; - } - } - } while (0); - if (an >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - c[an + 24 >> 2] = m; - R = al | 16; - P = c[ab + (R + aa) >> 2] | 0; - do { - if ((P | 0) != 0) { - if (P >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[an + 16 >> 2] = P; - c[P + 24 >> 2] = an; - break; - } - } - } while (0); - P = c[ab + (J + R) >> 2] | 0; - if ((P | 0) == 0) { - break; - } - if (P >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[an + 20 >> 2] = P; - c[P + 24 >> 2] = an; - break; - } - } - } while (0); - aq = ab + (($ | al) + aa) | 0; - as = $ + K | 0; - } else { - aq = Z; - as = K; - } - J = aq + 4 | 0; - c[J >> 2] = c[J >> 2] & -2; - c[ab + (W + 4) >> 2] = as | 1; - c[ab + (as + W) >> 2] = as; - J = as >>> 3; - if (as >>> 0 < 256) { - V = J << 1; - X = 872 + (V << 2) | 0; - P = c[208] | 0; - m = 1 << J; - do { - if ((P & m | 0) == 0) { - c[208] = P | m; - at = X; - av = 872 + (V + 2 << 2) | 0; - } else { - J = 872 + (V + 2 << 2) | 0; - U = c[J >> 2] | 0; - if (U >>> 0 >= (c[212] | 0) >>> 0) { - at = U; - av = J; - break; - } - au(); - return 0; - } - } while (0); - c[av >> 2] = _; - c[at + 12 >> 2] = _; - c[ab + (W + 8) >> 2] = at; - c[ab + (W + 12) >> 2] = X; - break; - } - V = ac; - m = as >>> 8; - do { - if ((m | 0) == 0) { - aw = 0; - } else { - if (as >>> 0 > 16777215) { - aw = 31; - break; - } - P = (m + 1048320 | 0) >>> 16 & 8; - $ = m << P; - J = ($ + 520192 | 0) >>> 16 & 4; - U = $ << J; - $ = (U + 245760 | 0) >>> 16 & 2; - Q = 14 - (J | P | $) + (U << $ >>> 15) | 0; - aw = as >>> ((Q + 7 | 0) >>> 0) & 1 | Q << 1; - } - } while (0); - m = 1136 + (aw << 2) | 0; - c[ab + (W + 28) >> 2] = aw; - c[ab + (W + 20) >> 2] = 0; - c[ab + (W + 16) >> 2] = 0; - X = c[209] | 0; - Q = 1 << aw; - if ((X & Q | 0) == 0) { - c[209] = X | Q; - c[m >> 2] = V; - c[ab + (W + 24) >> 2] = m; - c[ab + (W + 12) >> 2] = V; - c[ab + (W + 8) >> 2] = V; - break; - } - if ((aw | 0) == 31) { - ax = 0; - } else { - ax = 25 - (aw >>> 1) | 0; - } - Q = as << ax; - X = c[m >> 2] | 0; - while (1) { - if ((c[X + 4 >> 2] & -8 | 0) == (as | 0)) { - break; - } - ay = X + 16 + (Q >>> 31 << 2) | 0; - m = c[ay >> 2] | 0; - if ((m | 0) == 0) { - T = 407; - break; - } else { - Q = Q << 1; - X = m; - } - } - if ((T | 0) == 407) { - if (ay >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[ay >> 2] = V; - c[ab + (W + 24) >> 2] = X; - c[ab + (W + 12) >> 2] = V; - c[ab + (W + 8) >> 2] = V; - break; - } - } - Q = X + 8 | 0; - m = c[Q >> 2] | 0; - $ = c[212] | 0; - if (X >>> 0 < $ >>> 0) { - au(); - return 0; - } - if (m >>> 0 < $ >>> 0) { - au(); - return 0; - } else { - c[m + 12 >> 2] = V; - c[Q >> 2] = V; - c[ab + (W + 8) >> 2] = m; - c[ab + (W + 12) >> 2] = X; - c[ab + (W + 24) >> 2] = 0; - break; - } - } - } while (0); - n = ab + (ak | 8) | 0; - return n | 0; - } - } while (0); - Y = ad; - W = 1280; - while (1) { - az = c[W >> 2] | 0; - if (az >>> 0 <= Y >>> 0) { - aA = c[W + 4 >> 2] | 0; - aB = az + aA | 0; - if (aB >>> 0 > Y >>> 0) { - break; - } - } - W = c[W + 8 >> 2] | 0; - } - W = az + (aA - 39) | 0; - if ((W & 7 | 0) == 0) { - aC = 0; - } else { - aC = -W & 7; - } - W = az + (aA - 47 + aC) | 0; - ac = W >>> 0 < (ad + 16 | 0) >>> 0 ? Y : W; - W = ac + 8 | 0; - _ = ab + 8 | 0; - if ((_ & 7 | 0) == 0) { - aD = 0; - } else { - aD = -_ & 7; - } - _ = aa - 40 - aD | 0; - c[214] = ab + aD; - c[211] = _; - c[ab + (aD + 4) >> 2] = _ | 1; - c[ab + (aa - 36) >> 2] = 40; - c[215] = c[204]; - c[ac + 4 >> 2] = 27; - c[W >> 2] = c[320]; - c[W + 4 >> 2] = c[1284 >> 2]; - c[W + 8 >> 2] = c[1288 >> 2]; - c[W + 12 >> 2] = c[1292 >> 2]; - c[320] = ab; - c[321] = aa; - c[323] = 0; - c[322] = W; - W = ac + 28 | 0; - c[W >> 2] = 7; - if ((ac + 32 | 0) >>> 0 < aB >>> 0) { - _ = W; - while (1) { - W = _ + 4 | 0; - c[W >> 2] = 7; - if ((_ + 8 | 0) >>> 0 < aB >>> 0) { - _ = W; - } else { - break; - } - } - } - if ((ac | 0) == (Y | 0)) { - break; - } - _ = ac - ad | 0; - W = Y + (_ + 4) | 0; - c[W >> 2] = c[W >> 2] & -2; - c[ad + 4 >> 2] = _ | 1; - c[Y + _ >> 2] = _; - W = _ >>> 3; - if (_ >>> 0 < 256) { - K = W << 1; - Z = 872 + (K << 2) | 0; - S = c[208] | 0; - m = 1 << W; - do { - if ((S & m | 0) == 0) { - c[208] = S | m; - aE = Z; - aF = 872 + (K + 2 << 2) | 0; - } else { - W = 872 + (K + 2 << 2) | 0; - Q = c[W >> 2] | 0; - if (Q >>> 0 >= (c[212] | 0) >>> 0) { - aE = Q; - aF = W; - break; - } - au(); - return 0; - } - } while (0); - c[aF >> 2] = ad; - c[aE + 12 >> 2] = ad; - c[ad + 8 >> 2] = aE; - c[ad + 12 >> 2] = Z; - break; - } - K = ad; - m = _ >>> 8; - do { - if ((m | 0) == 0) { - aG = 0; - } else { - if (_ >>> 0 > 16777215) { - aG = 31; - break; - } - S = (m + 1048320 | 0) >>> 16 & 8; - Y = m << S; - ac = (Y + 520192 | 0) >>> 16 & 4; - W = Y << ac; - Y = (W + 245760 | 0) >>> 16 & 2; - Q = 14 - (ac | S | Y) + (W << Y >>> 15) | 0; - aG = _ >>> ((Q + 7 | 0) >>> 0) & 1 | Q << 1; - } - } while (0); - m = 1136 + (aG << 2) | 0; - c[ad + 28 >> 2] = aG; - c[ad + 20 >> 2] = 0; - c[ad + 16 >> 2] = 0; - Z = c[209] | 0; - Q = 1 << aG; - if ((Z & Q | 0) == 0) { - c[209] = Z | Q; - c[m >> 2] = K; - c[ad + 24 >> 2] = m; - c[ad + 12 >> 2] = ad; - c[ad + 8 >> 2] = ad; - break; - } - if ((aG | 0) == 31) { - aH = 0; - } else { - aH = 25 - (aG >>> 1) | 0; - } - Q = _ << aH; - Z = c[m >> 2] | 0; - while (1) { - if ((c[Z + 4 >> 2] & -8 | 0) == (_ | 0)) { - break; - } - aI = Z + 16 + (Q >>> 31 << 2) | 0; - m = c[aI >> 2] | 0; - if ((m | 0) == 0) { - T = 442; - break; - } else { - Q = Q << 1; - Z = m; - } - } - if ((T | 0) == 442) { - if (aI >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[aI >> 2] = K; - c[ad + 24 >> 2] = Z; - c[ad + 12 >> 2] = ad; - c[ad + 8 >> 2] = ad; - break; - } - } - Q = Z + 8 | 0; - _ = c[Q >> 2] | 0; - m = c[212] | 0; - if (Z >>> 0 < m >>> 0) { - au(); - return 0; - } - if (_ >>> 0 < m >>> 0) { - au(); - return 0; - } else { - c[_ + 12 >> 2] = K; - c[Q >> 2] = K; - c[ad + 8 >> 2] = _; - c[ad + 12 >> 2] = Z; - c[ad + 24 >> 2] = 0; - break; - } - } - } while (0); - ad = c[211] | 0; - if (ad >>> 0 <= o >>> 0) { - break; - } - _ = ad - o | 0; - c[211] = _; - ad = c[214] | 0; - Q = ad; - c[214] = Q + o; - c[Q + (o + 4) >> 2] = _ | 1; - c[ad + 4 >> 2] = o | 3; - n = ad + 8 | 0; - return n | 0; - } - } while (0); - c[(aX() | 0) >> 2] = 12; - n = 0; - return n | 0; -} -function bM(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0; - if ((a | 0) == 0) { - return; - } - b = a - 8 | 0; - d = b; - e = c[212] | 0; - if (b >>> 0 < e >>> 0) { - au(); - } - f = c[a - 4 >> 2] | 0; - g = f & 3; - if ((g | 0) == 1) { - au(); - } - h = f & -8; - i = a + (h - 8) | 0; - j = i; - L672 : do { - if ((f & 1 | 0) == 0) { - k = c[b >> 2] | 0; - if ((g | 0) == 0) { - return; - } - l = -8 - k | 0; - m = a + l | 0; - n = m; - o = k + h | 0; - if (m >>> 0 < e >>> 0) { - au(); - } - if ((n | 0) == (c[213] | 0)) { - p = a + (h - 4) | 0; - if ((c[p >> 2] & 3 | 0) != 3) { - q = n; - r = o; - break; - } - c[210] = o; - c[p >> 2] = c[p >> 2] & -2; - c[a + (l + 4) >> 2] = o | 1; - c[i >> 2] = o; - return; - } - p = k >>> 3; - if (k >>> 0 < 256) { - k = c[a + (l + 8) >> 2] | 0; - s = c[a + (l + 12) >> 2] | 0; - t = 872 + (p << 1 << 2) | 0; - do { - if ((k | 0) != (t | 0)) { - if (k >>> 0 < e >>> 0) { - au(); - } - if ((c[k + 12 >> 2] | 0) == (n | 0)) { - break; - } - au(); - } - } while (0); - if ((s | 0) == (k | 0)) { - c[208] = c[208] & ~(1 << p); - q = n; - r = o; - break; - } - do { - if ((s | 0) == (t | 0)) { - u = s + 8 | 0; - } else { - if (s >>> 0 < e >>> 0) { - au(); - } - v = s + 8 | 0; - if ((c[v >> 2] | 0) == (n | 0)) { - u = v; - break; - } - au(); - } - } while (0); - c[k + 12 >> 2] = s; - c[u >> 2] = k; - q = n; - r = o; - break; - } - t = m; - p = c[a + (l + 24) >> 2] | 0; - v = c[a + (l + 12) >> 2] | 0; - do { - if ((v | 0) == (t | 0)) { - w = a + (l + 20) | 0; - x = c[w >> 2] | 0; - if ((x | 0) == 0) { - y = a + (l + 16) | 0; - z = c[y >> 2] | 0; - if ((z | 0) == 0) { - A = 0; - break; - } else { - B = z; - C = y; - } - } else { - B = x; - C = w; - } - while (1) { - w = B + 20 | 0; - x = c[w >> 2] | 0; - if ((x | 0) != 0) { - B = x; - C = w; - continue; - } - w = B + 16 | 0; - x = c[w >> 2] | 0; - if ((x | 0) == 0) { - break; - } else { - B = x; - C = w; - } - } - if (C >>> 0 < e >>> 0) { - au(); - } else { - c[C >> 2] = 0; - A = B; - break; - } - } else { - w = c[a + (l + 8) >> 2] | 0; - if (w >>> 0 < e >>> 0) { - au(); - } - x = w + 12 | 0; - if ((c[x >> 2] | 0) != (t | 0)) { - au(); - } - y = v + 8 | 0; - if ((c[y >> 2] | 0) == (t | 0)) { - c[x >> 2] = v; - c[y >> 2] = w; - A = v; - break; - } else { - au(); - } - } - } while (0); - if ((p | 0) == 0) { - q = n; - r = o; - break; - } - v = a + (l + 28) | 0; - m = 1136 + (c[v >> 2] << 2) | 0; - do { - if ((t | 0) == (c[m >> 2] | 0)) { - c[m >> 2] = A; - if ((A | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[v >> 2]); - q = n; - r = o; - break L672; - } else { - if (p >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - k = p + 16 | 0; - if ((c[k >> 2] | 0) == (t | 0)) { - c[k >> 2] = A; - } else { - c[p + 20 >> 2] = A; - } - if ((A | 0) == 0) { - q = n; - r = o; - break L672; - } - } - } while (0); - if (A >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - c[A + 24 >> 2] = p; - t = c[a + (l + 16) >> 2] | 0; - do { - if ((t | 0) != 0) { - if (t >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[A + 16 >> 2] = t; - c[t + 24 >> 2] = A; - break; - } - } - } while (0); - t = c[a + (l + 20) >> 2] | 0; - if ((t | 0) == 0) { - q = n; - r = o; - break; - } - if (t >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[A + 20 >> 2] = t; - c[t + 24 >> 2] = A; - q = n; - r = o; - break; - } - } else { - q = d; - r = h; - } - } while (0); - d = q; - if (d >>> 0 >= i >>> 0) { - au(); - } - A = a + (h - 4) | 0; - e = c[A >> 2] | 0; - if ((e & 1 | 0) == 0) { - au(); - } - do { - if ((e & 2 | 0) == 0) { - if ((j | 0) == (c[214] | 0)) { - B = (c[211] | 0) + r | 0; - c[211] = B; - c[214] = q; - c[q + 4 >> 2] = B | 1; - if ((q | 0) == (c[213] | 0)) { - c[213] = 0; - c[210] = 0; - } - if (B >>> 0 <= (c[215] | 0) >>> 0) { - return; - } - bS(0) | 0; - return; - } - if ((j | 0) == (c[213] | 0)) { - B = (c[210] | 0) + r | 0; - c[210] = B; - c[213] = q; - c[q + 4 >> 2] = B | 1; - c[d + B >> 2] = B; - return; - } - B = (e & -8) + r | 0; - C = e >>> 3; - L777 : do { - if (e >>> 0 < 256) { - u = c[a + h >> 2] | 0; - g = c[a + (h | 4) >> 2] | 0; - b = 872 + (C << 1 << 2) | 0; - do { - if ((u | 0) != (b | 0)) { - if (u >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - if ((c[u + 12 >> 2] | 0) == (j | 0)) { - break; - } - au(); - } - } while (0); - if ((g | 0) == (u | 0)) { - c[208] = c[208] & ~(1 << C); - break; - } - do { - if ((g | 0) == (b | 0)) { - D = g + 8 | 0; - } else { - if (g >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - f = g + 8 | 0; - if ((c[f >> 2] | 0) == (j | 0)) { - D = f; - break; - } - au(); - } - } while (0); - c[u + 12 >> 2] = g; - c[D >> 2] = u; - } else { - b = i; - f = c[a + (h + 16) >> 2] | 0; - t = c[a + (h | 4) >> 2] | 0; - do { - if ((t | 0) == (b | 0)) { - p = a + (h + 12) | 0; - v = c[p >> 2] | 0; - if ((v | 0) == 0) { - m = a + (h + 8) | 0; - k = c[m >> 2] | 0; - if ((k | 0) == 0) { - E = 0; - break; - } else { - F = k; - G = m; - } - } else { - F = v; - G = p; - } - while (1) { - p = F + 20 | 0; - v = c[p >> 2] | 0; - if ((v | 0) != 0) { - F = v; - G = p; - continue; - } - p = F + 16 | 0; - v = c[p >> 2] | 0; - if ((v | 0) == 0) { - break; - } else { - F = v; - G = p; - } - } - if (G >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[G >> 2] = 0; - E = F; - break; - } - } else { - p = c[a + h >> 2] | 0; - if (p >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - v = p + 12 | 0; - if ((c[v >> 2] | 0) != (b | 0)) { - au(); - } - m = t + 8 | 0; - if ((c[m >> 2] | 0) == (b | 0)) { - c[v >> 2] = t; - c[m >> 2] = p; - E = t; - break; - } else { - au(); - } - } - } while (0); - if ((f | 0) == 0) { - break; - } - t = a + (h + 20) | 0; - u = 1136 + (c[t >> 2] << 2) | 0; - do { - if ((b | 0) == (c[u >> 2] | 0)) { - c[u >> 2] = E; - if ((E | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[t >> 2]); - break L777; - } else { - if (f >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - g = f + 16 | 0; - if ((c[g >> 2] | 0) == (b | 0)) { - c[g >> 2] = E; - } else { - c[f + 20 >> 2] = E; - } - if ((E | 0) == 0) { - break L777; - } - } - } while (0); - if (E >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - c[E + 24 >> 2] = f; - b = c[a + (h + 8) >> 2] | 0; - do { - if ((b | 0) != 0) { - if (b >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[E + 16 >> 2] = b; - c[b + 24 >> 2] = E; - break; - } - } - } while (0); - b = c[a + (h + 12) >> 2] | 0; - if ((b | 0) == 0) { - break; - } - if (b >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[E + 20 >> 2] = b; - c[b + 24 >> 2] = E; - break; - } - } - } while (0); - c[q + 4 >> 2] = B | 1; - c[d + B >> 2] = B; - if ((q | 0) != (c[213] | 0)) { - H = B; - break; - } - c[210] = B; - return; - } else { - c[A >> 2] = e & -2; - c[q + 4 >> 2] = r | 1; - c[d + r >> 2] = r; - H = r; - } - } while (0); - r = H >>> 3; - if (H >>> 0 < 256) { - d = r << 1; - e = 872 + (d << 2) | 0; - A = c[208] | 0; - E = 1 << r; - do { - if ((A & E | 0) == 0) { - c[208] = A | E; - I = e; - J = 872 + (d + 2 << 2) | 0; - } else { - r = 872 + (d + 2 << 2) | 0; - h = c[r >> 2] | 0; - if (h >>> 0 >= (c[212] | 0) >>> 0) { - I = h; - J = r; - break; - } - au(); - } - } while (0); - c[J >> 2] = q; - c[I + 12 >> 2] = q; - c[q + 8 >> 2] = I; - c[q + 12 >> 2] = e; - return; - } - e = q; - I = H >>> 8; - do { - if ((I | 0) == 0) { - K = 0; - } else { - if (H >>> 0 > 16777215) { - K = 31; - break; - } - J = (I + 1048320 | 0) >>> 16 & 8; - d = I << J; - E = (d + 520192 | 0) >>> 16 & 4; - A = d << E; - d = (A + 245760 | 0) >>> 16 & 2; - r = 14 - (E | J | d) + (A << d >>> 15) | 0; - K = H >>> ((r + 7 | 0) >>> 0) & 1 | r << 1; - } - } while (0); - I = 1136 + (K << 2) | 0; - c[q + 28 >> 2] = K; - c[q + 20 >> 2] = 0; - c[q + 16 >> 2] = 0; - r = c[209] | 0; - d = 1 << K; - do { - if ((r & d | 0) == 0) { - c[209] = r | d; - c[I >> 2] = e; - c[q + 24 >> 2] = I; - c[q + 12 >> 2] = q; - c[q + 8 >> 2] = q; - } else { - if ((K | 0) == 31) { - L = 0; - } else { - L = 25 - (K >>> 1) | 0; - } - A = H << L; - J = c[I >> 2] | 0; - while (1) { - if ((c[J + 4 >> 2] & -8 | 0) == (H | 0)) { - break; - } - M = J + 16 + (A >>> 31 << 2) | 0; - E = c[M >> 2] | 0; - if ((E | 0) == 0) { - N = 621; - break; - } else { - A = A << 1; - J = E; - } - } - if ((N | 0) == 621) { - if (M >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[M >> 2] = e; - c[q + 24 >> 2] = J; - c[q + 12 >> 2] = q; - c[q + 8 >> 2] = q; - break; - } - } - A = J + 8 | 0; - B = c[A >> 2] | 0; - E = c[212] | 0; - if (J >>> 0 < E >>> 0) { - au(); - } - if (B >>> 0 < E >>> 0) { - au(); - } else { - c[B + 12 >> 2] = e; - c[A >> 2] = e; - c[q + 8 >> 2] = B; - c[q + 12 >> 2] = J; - c[q + 24 >> 2] = 0; - break; - } - } - } while (0); - q = (c[216] | 0) - 1 | 0; - c[216] = q; - if ((q | 0) == 0) { - O = 1288; - } else { - return; - } - while (1) { - q = c[O >> 2] | 0; - if ((q | 0) == 0) { - break; - } else { - O = q + 8 | 0; - } - } - c[216] = -1; - return; -} -function bN(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0; - do { - if ((a | 0) == 0) { - d = 0; - } else { - e = ad(b, a) | 0; - if ((b | a) >>> 0 <= 65535) { - d = e; - break; - } - d = ((e >>> 0) / (a >>> 0) | 0 | 0) == (b | 0) ? e : -1; - } - } while (0); - b = bL(d) | 0; - if ((b | 0) == 0) { - return b | 0; - } - if ((c[b - 4 >> 2] & 3 | 0) == 0) { - return b | 0; - } - cL(b | 0, 0, d | 0); - return b | 0; -} -function bO(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0; - if ((a | 0) == 0) { - d = bL(b) | 0; - return d | 0; - } - if (b >>> 0 > 4294967231) { - c[(aX() | 0) >> 2] = 12; - d = 0; - return d | 0; - } - if (b >>> 0 < 11) { - e = 16; - } else { - e = b + 11 & -8; - } - f = bT(a - 8 | 0, e) | 0; - if ((f | 0) != 0) { - d = f + 8 | 0; - return d | 0; - } - f = bL(b) | 0; - if ((f | 0) == 0) { - d = 0; - return d | 0; - } - e = c[a - 4 >> 2] | 0; - g = (e & -8) - ((e & 3 | 0) == 0 ? 8 : 4) | 0; - e = g >>> 0 < b >>> 0 ? g : b; - cK(f | 0, a | 0, e) | 0; - bM(a); - d = f; - return d | 0; -} -function bP(a, b) { - a = a | 0; - b = b | 0; - var d = 0; - if ((a | 0) == 0) { - return 0; - } - if (b >>> 0 > 4294967231) { - c[(aX() | 0) >> 2] = 12; - return 0; - } - if (b >>> 0 < 11) { - d = 16; - } else { - d = b + 11 & -8; - } - b = a - 8 | 0; - return ((bT(b, d) | 0) == (b | 0) ? a : 0) | 0; -} -function bQ(a, b) { - a = a | 0; - b = b | 0; - var c = 0; - if (a >>> 0 < 9) { - c = bL(b) | 0; - return c | 0; - } else { - c = bR(a, b) | 0; - return c | 0; - } - return 0; -} -function bR(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; - d = a >>> 0 < 16 ? 16 : a; - if ((d - 1 & d | 0) == 0) { - e = d; - } else { - a = 16; - while (1) { - if (a >>> 0 < d >>> 0) { - a = a << 1; - } else { - e = a; - break; - } - } - } - if ((-64 - e | 0) >>> 0 <= b >>> 0) { - c[(aX() | 0) >> 2] = 12; - f = 0; - return f | 0; - } - if (b >>> 0 < 11) { - g = 16; - } else { - g = b + 11 & -8; - } - b = bL(e + 12 + g | 0) | 0; - if ((b | 0) == 0) { - f = 0; - return f | 0; - } - a = b - 8 | 0; - d = a; - h = e - 1 | 0; - do { - if ((b & h | 0) == 0) { - i = d; - } else { - j = b + h & -e; - k = j - 8 | 0; - l = a; - if ((k - l | 0) >>> 0 > 15) { - m = k; - } else { - m = j + (e - 8) | 0; - } - j = m; - k = m - l | 0; - l = b - 4 | 0; - n = c[l >> 2] | 0; - o = (n & -8) - k | 0; - if ((n & 3 | 0) == 0) { - c[m >> 2] = (c[a >> 2] | 0) + k; - c[m + 4 >> 2] = o; - i = j; - break; - } else { - n = m + 4 | 0; - c[n >> 2] = o | c[n >> 2] & 1 | 2; - n = m + (o + 4) | 0; - c[n >> 2] = c[n >> 2] | 1; - c[l >> 2] = k | c[l >> 2] & 1 | 2; - l = b + (k - 4) | 0; - c[l >> 2] = c[l >> 2] | 1; - b9(d, k); - i = j; - break; - } - } - } while (0); - d = i + 4 | 0; - b = c[d >> 2] | 0; - do { - if ((b & 3 | 0) != 0) { - m = b & -8; - if (m >>> 0 <= (g + 16 | 0) >>> 0) { - break; - } - a = m - g | 0; - e = i; - c[d >> 2] = g | b & 1 | 2; - c[e + (g | 4) >> 2] = a | 3; - h = e + (m | 4) | 0; - c[h >> 2] = c[h >> 2] | 1; - b9(e + g | 0, a); - } - } while (0); - f = i + 8 | 0; - return f | 0; -} -function bS(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; - do { - if ((c[200] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[202] = b; - c[201] = b; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - return 0; - } - } - } while (0); - if (a >>> 0 >= 4294967232) { - d = 0; - return d | 0; - } - b = c[214] | 0; - if ((b | 0) == 0) { - d = 0; - return d | 0; - } - e = c[211] | 0; - do { - if (e >>> 0 > (a + 40 | 0) >>> 0) { - f = c[202] | 0; - g = ad((((-40 - a - 1 + e + f | 0) >>> 0) / (f >>> 0) | 0) - 1 | 0, f) | 0; - h = b; - i = 1280; - while (1) { - j = c[i >> 2] | 0; - if (j >>> 0 <= h >>> 0) { - if ((j + (c[i + 4 >> 2] | 0) | 0) >>> 0 > h >>> 0) { - k = i; - break; - } - } - j = c[i + 8 >> 2] | 0; - if ((j | 0) == 0) { - k = 0; - break; - } else { - i = j; - } - } - if ((c[k + 12 >> 2] & 8 | 0) != 0) { - break; - } - i = aV(0) | 0; - h = k + 4 | 0; - if ((i | 0) != ((c[k >> 2] | 0) + (c[h >> 2] | 0) | 0)) { - break; - } - j = aV(-(g >>> 0 > 2147483646 ? -2147483648 - f | 0 : g) | 0) | 0; - l = aV(0) | 0; - if (!((j | 0) != -1 & l >>> 0 < i >>> 0)) { - break; - } - j = i - l | 0; - if ((i | 0) == (l | 0)) { - break; - } - c[h >> 2] = (c[h >> 2] | 0) - j; - c[316] = (c[316] | 0) - j; - h = c[214] | 0; - m = (c[211] | 0) - j | 0; - j = h; - n = h + 8 | 0; - if ((n & 7 | 0) == 0) { - o = 0; - } else { - o = -n & 7; - } - n = m - o | 0; - c[214] = j + o; - c[211] = n; - c[j + (o + 4) >> 2] = n | 1; - c[j + (m + 4) >> 2] = 40; - c[215] = c[204]; - d = (i | 0) != (l | 0) | 0; - return d | 0; - } - } while (0); - if ((c[211] | 0) >>> 0 <= (c[215] | 0) >>> 0) { - d = 0; - return d | 0; - } - c[215] = -1; - d = 0; - return d | 0; -} -function bT(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0; - d = a + 4 | 0; - e = c[d >> 2] | 0; - f = e & -8; - g = a; - h = g + f | 0; - i = h; - j = c[212] | 0; - if (g >>> 0 < j >>> 0) { - au(); - return 0; - } - k = e & 3; - if (!((k | 0) != 1 & g >>> 0 < h >>> 0)) { - au(); - return 0; - } - l = g + (f | 4) | 0; - m = c[l >> 2] | 0; - if ((m & 1 | 0) == 0) { - au(); - return 0; - } - if ((k | 0) == 0) { - if (b >>> 0 < 256) { - n = 0; - return n | 0; - } - do { - if (f >>> 0 >= (b + 4 | 0) >>> 0) { - if ((f - b | 0) >>> 0 > c[202] << 1 >>> 0) { - break; - } else { - n = a; - } - return n | 0; - } - } while (0); - n = 0; - return n | 0; - } - if (f >>> 0 >= b >>> 0) { - k = f - b | 0; - if (k >>> 0 <= 15) { - n = a; - return n | 0; - } - c[d >> 2] = e & 1 | b | 2; - c[g + (b + 4) >> 2] = k | 3; - c[l >> 2] = c[l >> 2] | 1; - b9(g + b | 0, k); - n = a; - return n | 0; - } - if ((i | 0) == (c[214] | 0)) { - k = (c[211] | 0) + f | 0; - if (k >>> 0 <= b >>> 0) { - n = 0; - return n | 0; - } - l = k - b | 0; - c[d >> 2] = e & 1 | b | 2; - c[g + (b + 4) >> 2] = l | 1; - c[214] = g + b; - c[211] = l; - n = a; - return n | 0; - } - if ((i | 0) == (c[213] | 0)) { - l = (c[210] | 0) + f | 0; - if (l >>> 0 < b >>> 0) { - n = 0; - return n | 0; - } - k = l - b | 0; - if (k >>> 0 > 15) { - c[d >> 2] = e & 1 | b | 2; - c[g + (b + 4) >> 2] = k | 1; - c[g + l >> 2] = k; - o = g + (l + 4) | 0; - c[o >> 2] = c[o >> 2] & -2; - p = g + b | 0; - q = k; - } else { - c[d >> 2] = e & 1 | l | 2; - e = g + (l + 4) | 0; - c[e >> 2] = c[e >> 2] | 1; - p = 0; - q = 0; - } - c[210] = q; - c[213] = p; - n = a; - return n | 0; - } - if ((m & 2 | 0) != 0) { - n = 0; - return n | 0; - } - p = (m & -8) + f | 0; - if (p >>> 0 < b >>> 0) { - n = 0; - return n | 0; - } - q = p - b | 0; - e = m >>> 3; - L1056 : do { - if (m >>> 0 < 256) { - l = c[g + (f + 8) >> 2] | 0; - k = c[g + (f + 12) >> 2] | 0; - o = 872 + (e << 1 << 2) | 0; - do { - if ((l | 0) != (o | 0)) { - if (l >>> 0 < j >>> 0) { - au(); - return 0; - } - if ((c[l + 12 >> 2] | 0) == (i | 0)) { - break; - } - au(); - return 0; - } - } while (0); - if ((k | 0) == (l | 0)) { - c[208] = c[208] & ~(1 << e); - break; - } - do { - if ((k | 0) == (o | 0)) { - r = k + 8 | 0; - } else { - if (k >>> 0 < j >>> 0) { - au(); - return 0; - } - s = k + 8 | 0; - if ((c[s >> 2] | 0) == (i | 0)) { - r = s; - break; - } - au(); - return 0; - } - } while (0); - c[l + 12 >> 2] = k; - c[r >> 2] = l; - } else { - o = h; - s = c[g + (f + 24) >> 2] | 0; - t = c[g + (f + 12) >> 2] | 0; - do { - if ((t | 0) == (o | 0)) { - u = g + (f + 20) | 0; - v = c[u >> 2] | 0; - if ((v | 0) == 0) { - w = g + (f + 16) | 0; - x = c[w >> 2] | 0; - if ((x | 0) == 0) { - y = 0; - break; - } else { - z = x; - A = w; - } - } else { - z = v; - A = u; - } - while (1) { - u = z + 20 | 0; - v = c[u >> 2] | 0; - if ((v | 0) != 0) { - z = v; - A = u; - continue; - } - u = z + 16 | 0; - v = c[u >> 2] | 0; - if ((v | 0) == 0) { - break; - } else { - z = v; - A = u; - } - } - if (A >>> 0 < j >>> 0) { - au(); - return 0; - } else { - c[A >> 2] = 0; - y = z; - break; - } - } else { - u = c[g + (f + 8) >> 2] | 0; - if (u >>> 0 < j >>> 0) { - au(); - return 0; - } - v = u + 12 | 0; - if ((c[v >> 2] | 0) != (o | 0)) { - au(); - return 0; - } - w = t + 8 | 0; - if ((c[w >> 2] | 0) == (o | 0)) { - c[v >> 2] = t; - c[w >> 2] = u; - y = t; - break; - } else { - au(); - return 0; - } - } - } while (0); - if ((s | 0) == 0) { - break; - } - t = g + (f + 28) | 0; - l = 1136 + (c[t >> 2] << 2) | 0; - do { - if ((o | 0) == (c[l >> 2] | 0)) { - c[l >> 2] = y; - if ((y | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[t >> 2]); - break L1056; - } else { - if (s >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - k = s + 16 | 0; - if ((c[k >> 2] | 0) == (o | 0)) { - c[k >> 2] = y; - } else { - c[s + 20 >> 2] = y; - } - if ((y | 0) == 0) { - break L1056; - } - } - } while (0); - if (y >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - c[y + 24 >> 2] = s; - o = c[g + (f + 16) >> 2] | 0; - do { - if ((o | 0) != 0) { - if (o >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[y + 16 >> 2] = o; - c[o + 24 >> 2] = y; - break; - } - } - } while (0); - o = c[g + (f + 20) >> 2] | 0; - if ((o | 0) == 0) { - break; - } - if (o >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[y + 20 >> 2] = o; - c[o + 24 >> 2] = y; - break; - } - } - } while (0); - if (q >>> 0 < 16) { - c[d >> 2] = p | c[d >> 2] & 1 | 2; - y = g + (p | 4) | 0; - c[y >> 2] = c[y >> 2] | 1; - n = a; - return n | 0; - } else { - c[d >> 2] = c[d >> 2] & 1 | b | 2; - c[g + (b + 4) >> 2] = q | 3; - d = g + (p | 4) | 0; - c[d >> 2] = c[d >> 2] | 1; - b9(g + b | 0, q); - n = a; - return n | 0; - } - return 0; -} -function bU() { - return c[316] | 0; -} -function bV() { - return c[317] | 0; -} -function bW() { - var a = 0; - a = c[318] | 0; - return ((a | 0) == 0 ? -1 : a) | 0; -} -function bX(a) { - a = a | 0; - var b = 0, d = 0; - if ((a | 0) == -1) { - b = 0; - } else { - d = c[202] | 0; - b = a - 1 + d & -d; - } - c[318] = b; - return b | 0; -} -function bY(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - do { - if ((a | 0) == 0) { - b = 0; - } else { - d = c[a - 4 >> 2] | 0; - e = d & 3; - if ((e | 0) == 1) { - b = 0; - break; - } - b = (d & -8) - ((e | 0) == 0 ? 8 : 4) | 0; - } - } while (0); - return b | 0; -} -function bZ(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - do { - if ((b | 0) == 8) { - e = bL(d) | 0; - } else { - f = b >>> 2; - if ((b & 3 | 0) != 0 | (f | 0) == 0) { - g = 22; - return g | 0; - } - if ((f + 1073741823 & f | 0) != 0) { - g = 22; - return g | 0; - } - if ((-64 - b | 0) >>> 0 < d >>> 0) { - g = 12; - return g | 0; - } else { - e = bR(b >>> 0 < 16 ? 16 : b, d) | 0; - break; - } - } - } while (0); - if ((e | 0) == 0) { - g = 12; - return g | 0; - } - c[a >> 2] = e; - g = 0; - return g | 0; -} -function b_(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = i; - i = i + 8 | 0; - f = e | 0; - c[f >> 2] = b; - b = b2(a, f, 3, d) | 0; - i = e; - return b | 0; -} -function b$(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return b2(a, b, 0, c) | 0; -} -function b0(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - if ((c[200] | 0) != 0) { - b = c[201] | 0; - d = bQ(b, a) | 0; - return d | 0; - } - e = ar(8) | 0; - if ((e - 1 & e | 0) != 0) { - au(); - return 0; - } - c[202] = e; - c[201] = e; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - b = c[201] | 0; - d = bQ(b, a) | 0; - return d | 0; -} -function b1(a) { - a = a | 0; - var b = 0; - do { - if ((c[200] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[202] = b; - c[201] = b; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - return 0; - } - } - } while (0); - b = c[201] | 0; - return bQ(b, a - 1 + b & -b) | 0; -} -function b2(a, b, d, e) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; - do { - if ((c[200] | 0) == 0) { - f = ar(8) | 0; - if ((f - 1 & f | 0) == 0) { - c[202] = f; - c[201] = f; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - return 0; - } - } - } while (0); - f = (a | 0) == 0; - do { - if ((e | 0) == 0) { - if (f) { - g = bL(0) | 0; - return g | 0; - } else { - h = a << 2; - if (h >>> 0 < 11) { - i = 0; - j = 16; - break; - } - i = 0; - j = h + 11 & -8; - break; - } - } else { - if (f) { - g = e; - } else { - i = e; - j = 0; - break; - } - return g | 0; - } - } while (0); - do { - if ((d & 1 | 0) == 0) { - if (f) { - k = 0; - l = 0; - break; - } else { - m = 0; - n = 0; - } - while (1) { - e = c[b + (n << 2) >> 2] | 0; - if (e >>> 0 < 11) { - o = 16; - } else { - o = e + 11 & -8; - } - e = o + m | 0; - h = n + 1 | 0; - if ((h | 0) == (a | 0)) { - k = 0; - l = e; - break; - } else { - m = e; - n = h; - } - } - } else { - h = c[b >> 2] | 0; - if (h >>> 0 < 11) { - p = 16; - } else { - p = h + 11 & -8; - } - k = p; - l = ad(p, a) | 0; - } - } while (0); - p = bL(j - 4 + l | 0) | 0; - if ((p | 0) == 0) { - g = 0; - return g | 0; - } - n = p - 8 | 0; - m = c[p - 4 >> 2] & -8; - if ((d & 2 | 0) != 0) { - cL(p | 0, 0, -4 - j + m | 0); - } - if ((i | 0) == 0) { - c[p + (l - 4) >> 2] = m - l | 3; - q = p + l | 0; - r = l; - } else { - q = i; - r = m; - } - c[q >> 2] = p; - p = a - 1 | 0; - L1216 : do { - if ((p | 0) == 0) { - s = n; - t = r; - } else { - if ((k | 0) == 0) { - u = n; - v = r; - w = 0; - } else { - a = n; - m = r; - i = 0; - while (1) { - l = m - k | 0; - c[a + 4 >> 2] = k | 3; - j = a + k | 0; - d = i + 1 | 0; - c[q + (d << 2) >> 2] = a + (k + 8); - if ((d | 0) == (p | 0)) { - s = j; - t = l; - break L1216; - } else { - a = j; - m = l; - i = d; - } - } - } - while (1) { - i = c[b + (w << 2) >> 2] | 0; - if (i >>> 0 < 11) { - x = 16; - } else { - x = i + 11 & -8; - } - i = v - x | 0; - c[u + 4 >> 2] = x | 3; - m = u + x | 0; - a = w + 1 | 0; - c[q + (a << 2) >> 2] = u + (x + 8); - if ((a | 0) == (p | 0)) { - s = m; - t = i; - break; - } else { - u = m; - v = i; - w = a; - } - } - } - } while (0); - c[s + 4 >> 2] = t | 3; - g = q; - return g | 0; -} -function b3(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; - d = a + (b << 2) | 0; - L1229 : do { - if ((b | 0) != 0) { - e = a; - L1230 : while (1) { - f = c[e >> 2] | 0; - L1232 : do { - if ((f | 0) == 0) { - g = e + 4 | 0; - } else { - h = f - 8 | 0; - i = h; - j = f - 4 | 0; - k = c[j >> 2] & -8; - c[e >> 2] = 0; - if (h >>> 0 < (c[212] | 0) >>> 0) { - l = 935; - break L1230; - } - h = c[j >> 2] | 0; - if ((h & 3 | 0) == 1) { - l = 936; - break L1230; - } - m = e + 4 | 0; - n = h - 8 & -8; - do { - if ((m | 0) != (d | 0)) { - if ((c[m >> 2] | 0) != (f + (n + 8) | 0)) { - break; - } - o = (c[f + (n | 4) >> 2] & -8) + k | 0; - c[j >> 2] = h & 1 | o | 2; - p = f + (o - 4) | 0; - c[p >> 2] = c[p >> 2] | 1; - c[m >> 2] = f; - g = m; - break L1232; - } - } while (0); - b9(i, k); - g = m; - } - } while (0); - if ((g | 0) == (d | 0)) { - break L1229; - } else { - e = g; - } - } - if ((l | 0) == 935) { - au(); - return 0; - } else if ((l | 0) == 936) { - au(); - return 0; - } - } - } while (0); - if ((c[211] | 0) >>> 0 <= (c[215] | 0) >>> 0) { - return 0; - } - bS(0) | 0; - return 0; -} -function b4(a) { - a = a | 0; - var b = 0, d = 0; - if ((c[200] | 0) != 0) { - b = bS(a) | 0; - return b | 0; - } - d = ar(8) | 0; - if ((d - 1 & d | 0) != 0) { - au(); - return 0; - } - c[202] = d; - c[201] = d; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - b = bS(a) | 0; - return b | 0; -} -function b5(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0; - do { - if ((c[200] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[202] = b; - c[201] = b; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - } - } - } while (0); - b = c[214] | 0; - if ((b | 0) == 0) { - d = 0; - e = 0; - f = 0; - g = 0; - h = 0; - i = 0; - j = 0; - } else { - k = c[211] | 0; - l = k + 40 | 0; - m = 1; - n = l; - o = l; - l = 1280; - while (1) { - p = c[l >> 2] | 0; - q = p + 8 | 0; - if ((q & 7 | 0) == 0) { - r = 0; - } else { - r = -q & 7; - } - q = p + (c[l + 4 >> 2] | 0) | 0; - s = m; - t = n; - u = o; - v = p + r | 0; - while (1) { - if (v >>> 0 >= q >>> 0 | (v | 0) == (b | 0)) { - w = s; - x = t; - y = u; - break; - } - z = c[v + 4 >> 2] | 0; - if ((z | 0) == 7) { - w = s; - x = t; - y = u; - break; - } - A = z & -8; - B = A + u | 0; - if ((z & 3 | 0) == 1) { - C = A + t | 0; - D = s + 1 | 0; - } else { - C = t; - D = s; - } - z = v + A | 0; - if (z >>> 0 < p >>> 0) { - w = D; - x = C; - y = B; - break; - } else { - s = D; - t = C; - u = B; - v = z; - } - } - v = c[l + 8 >> 2] | 0; - if ((v | 0) == 0) { - break; - } else { - m = w; - n = x; - o = y; - l = v; - } - } - l = c[316] | 0; - d = k; - e = y; - f = w; - g = l - y | 0; - h = c[317] | 0; - i = l - x | 0; - j = x; - } - c[a >> 2] = e; - c[a + 4 >> 2] = f; - f = a + 8 | 0; - c[f >> 2] = 0; - c[f + 4 >> 2] = 0; - c[a + 16 >> 2] = g; - c[a + 20 >> 2] = h; - c[a + 24 >> 2] = 0; - c[a + 28 >> 2] = i; - c[a + 32 >> 2] = j; - c[a + 36 >> 2] = d; - return; -} -function b6() { - var a = 0, b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0; - a = i; - do { - if ((c[200] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[202] = b; - c[201] = b; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - } - } - } while (0); - b = c[214] | 0; - if ((b | 0) == 0) { - d = 0; - e = 0; - f = 0; - } else { - g = c[317] | 0; - h = c[316] | 0; - j = h - 40 - (c[211] | 0) | 0; - k = 1280; - while (1) { - l = c[k >> 2] | 0; - m = l + 8 | 0; - if ((m & 7 | 0) == 0) { - n = 0; - } else { - n = -m & 7; - } - m = l + (c[k + 4 >> 2] | 0) | 0; - p = j; - q = l + n | 0; - while (1) { - if (q >>> 0 >= m >>> 0 | (q | 0) == (b | 0)) { - r = p; - break; - } - s = c[q + 4 >> 2] | 0; - if ((s | 0) == 7) { - r = p; - break; - } - t = s & -8; - u = p - ((s & 3 | 0) == 1 ? t : 0) | 0; - s = q + t | 0; - if (s >>> 0 < l >>> 0) { - r = u; - break; - } else { - p = u; - q = s; - } - } - q = c[k + 8 >> 2] | 0; - if ((q | 0) == 0) { - d = r; - e = h; - f = g; - break; - } else { - j = r; - k = q; - } - } - } - av(c[o >> 2] | 0, 520, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; - av(c[o >> 2] | 0, 488, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; - av(c[o >> 2] | 0, 400, (y = i, i = i + 8 | 0, c[y >> 2] = d, y) | 0) | 0; - i = a; - return; -} -function b7(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0; - do { - if ((c[200] | 0) == 0) { - d = ar(8) | 0; - if ((d - 1 & d | 0) == 0) { - c[202] = d; - c[201] = d; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - return 0; - } - } - } while (0); - if ((a | 0) == (-1 | 0)) { - c[204] = b; - e = 1; - return e | 0; - } else if ((a | 0) == (-2 | 0)) { - if ((c[201] | 0) >>> 0 > b >>> 0) { - e = 0; - return e | 0; - } - if ((b - 1 & b | 0) != 0) { - e = 0; - return e | 0; - } - c[202] = b; - e = 1; - return e | 0; - } else if ((a | 0) == (-3 | 0)) { - c[203] = b; - e = 1; - return e | 0; - } else { - e = 0; - return e | 0; - } - return 0; -} -function b8() { - return (F = c[328] | 0, c[328] = F + 0, F) | 0; -} -function b9(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0; - d = a; - e = d + b | 0; - f = e; - g = c[a + 4 >> 2] | 0; - L1325 : do { - if ((g & 1 | 0) == 0) { - h = c[a >> 2] | 0; - if ((g & 3 | 0) == 0) { - return; - } - i = d + (-h | 0) | 0; - j = i; - k = h + b | 0; - l = c[212] | 0; - if (i >>> 0 < l >>> 0) { - au(); - } - if ((j | 0) == (c[213] | 0)) { - m = d + (b + 4) | 0; - if ((c[m >> 2] & 3 | 0) != 3) { - n = j; - o = k; - break; - } - c[210] = k; - c[m >> 2] = c[m >> 2] & -2; - c[d + (4 - h) >> 2] = k | 1; - c[e >> 2] = k; - return; - } - m = h >>> 3; - if (h >>> 0 < 256) { - p = c[d + (8 - h) >> 2] | 0; - q = c[d + (12 - h) >> 2] | 0; - r = 872 + (m << 1 << 2) | 0; - do { - if ((p | 0) != (r | 0)) { - if (p >>> 0 < l >>> 0) { - au(); - } - if ((c[p + 12 >> 2] | 0) == (j | 0)) { - break; - } - au(); - } - } while (0); - if ((q | 0) == (p | 0)) { - c[208] = c[208] & ~(1 << m); - n = j; - o = k; - break; - } - do { - if ((q | 0) == (r | 0)) { - s = q + 8 | 0; - } else { - if (q >>> 0 < l >>> 0) { - au(); - } - t = q + 8 | 0; - if ((c[t >> 2] | 0) == (j | 0)) { - s = t; - break; - } - au(); - } - } while (0); - c[p + 12 >> 2] = q; - c[s >> 2] = p; - n = j; - o = k; - break; - } - r = i; - m = c[d + (24 - h) >> 2] | 0; - t = c[d + (12 - h) >> 2] | 0; - do { - if ((t | 0) == (r | 0)) { - u = 16 - h | 0; - v = d + (u + 4) | 0; - w = c[v >> 2] | 0; - if ((w | 0) == 0) { - x = d + u | 0; - u = c[x >> 2] | 0; - if ((u | 0) == 0) { - y = 0; - break; - } else { - z = u; - A = x; - } - } else { - z = w; - A = v; - } - while (1) { - v = z + 20 | 0; - w = c[v >> 2] | 0; - if ((w | 0) != 0) { - z = w; - A = v; - continue; - } - v = z + 16 | 0; - w = c[v >> 2] | 0; - if ((w | 0) == 0) { - break; - } else { - z = w; - A = v; - } - } - if (A >>> 0 < l >>> 0) { - au(); - } else { - c[A >> 2] = 0; - y = z; - break; - } - } else { - v = c[d + (8 - h) >> 2] | 0; - if (v >>> 0 < l >>> 0) { - au(); - } - w = v + 12 | 0; - if ((c[w >> 2] | 0) != (r | 0)) { - au(); - } - x = t + 8 | 0; - if ((c[x >> 2] | 0) == (r | 0)) { - c[w >> 2] = t; - c[x >> 2] = v; - y = t; - break; - } else { - au(); - } - } - } while (0); - if ((m | 0) == 0) { - n = j; - o = k; - break; - } - t = d + (28 - h) | 0; - l = 1136 + (c[t >> 2] << 2) | 0; - do { - if ((r | 0) == (c[l >> 2] | 0)) { - c[l >> 2] = y; - if ((y | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[t >> 2]); - n = j; - o = k; - break L1325; - } else { - if (m >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - i = m + 16 | 0; - if ((c[i >> 2] | 0) == (r | 0)) { - c[i >> 2] = y; - } else { - c[m + 20 >> 2] = y; - } - if ((y | 0) == 0) { - n = j; - o = k; - break L1325; - } - } - } while (0); - if (y >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - c[y + 24 >> 2] = m; - r = 16 - h | 0; - t = c[d + r >> 2] | 0; - do { - if ((t | 0) != 0) { - if (t >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[y + 16 >> 2] = t; - c[t + 24 >> 2] = y; - break; - } - } - } while (0); - t = c[d + (r + 4) >> 2] | 0; - if ((t | 0) == 0) { - n = j; - o = k; - break; - } - if (t >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[y + 20 >> 2] = t; - c[t + 24 >> 2] = y; - n = j; - o = k; - break; - } - } else { - n = a; - o = b; - } - } while (0); - a = c[212] | 0; - if (e >>> 0 < a >>> 0) { - au(); - } - y = d + (b + 4) | 0; - z = c[y >> 2] | 0; - do { - if ((z & 2 | 0) == 0) { - if ((f | 0) == (c[214] | 0)) { - A = (c[211] | 0) + o | 0; - c[211] = A; - c[214] = n; - c[n + 4 >> 2] = A | 1; - if ((n | 0) != (c[213] | 0)) { - return; - } - c[213] = 0; - c[210] = 0; - return; - } - if ((f | 0) == (c[213] | 0)) { - A = (c[210] | 0) + o | 0; - c[210] = A; - c[213] = n; - c[n + 4 >> 2] = A | 1; - c[n + A >> 2] = A; - return; - } - A = (z & -8) + o | 0; - s = z >>> 3; - L1424 : do { - if (z >>> 0 < 256) { - g = c[d + (b + 8) >> 2] | 0; - t = c[d + (b + 12) >> 2] | 0; - h = 872 + (s << 1 << 2) | 0; - do { - if ((g | 0) != (h | 0)) { - if (g >>> 0 < a >>> 0) { - au(); - } - if ((c[g + 12 >> 2] | 0) == (f | 0)) { - break; - } - au(); - } - } while (0); - if ((t | 0) == (g | 0)) { - c[208] = c[208] & ~(1 << s); - break; - } - do { - if ((t | 0) == (h | 0)) { - B = t + 8 | 0; - } else { - if (t >>> 0 < a >>> 0) { - au(); - } - m = t + 8 | 0; - if ((c[m >> 2] | 0) == (f | 0)) { - B = m; - break; - } - au(); - } - } while (0); - c[g + 12 >> 2] = t; - c[B >> 2] = g; - } else { - h = e; - m = c[d + (b + 24) >> 2] | 0; - l = c[d + (b + 12) >> 2] | 0; - do { - if ((l | 0) == (h | 0)) { - i = d + (b + 20) | 0; - p = c[i >> 2] | 0; - if ((p | 0) == 0) { - q = d + (b + 16) | 0; - v = c[q >> 2] | 0; - if ((v | 0) == 0) { - C = 0; - break; - } else { - D = v; - E = q; - } - } else { - D = p; - E = i; - } - while (1) { - i = D + 20 | 0; - p = c[i >> 2] | 0; - if ((p | 0) != 0) { - D = p; - E = i; - continue; - } - i = D + 16 | 0; - p = c[i >> 2] | 0; - if ((p | 0) == 0) { - break; - } else { - D = p; - E = i; - } - } - if (E >>> 0 < a >>> 0) { - au(); - } else { - c[E >> 2] = 0; - C = D; - break; - } - } else { - i = c[d + (b + 8) >> 2] | 0; - if (i >>> 0 < a >>> 0) { - au(); - } - p = i + 12 | 0; - if ((c[p >> 2] | 0) != (h | 0)) { - au(); - } - q = l + 8 | 0; - if ((c[q >> 2] | 0) == (h | 0)) { - c[p >> 2] = l; - c[q >> 2] = i; - C = l; - break; - } else { - au(); - } - } - } while (0); - if ((m | 0) == 0) { - break; - } - l = d + (b + 28) | 0; - g = 1136 + (c[l >> 2] << 2) | 0; - do { - if ((h | 0) == (c[g >> 2] | 0)) { - c[g >> 2] = C; - if ((C | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[l >> 2]); - break L1424; - } else { - if (m >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - t = m + 16 | 0; - if ((c[t >> 2] | 0) == (h | 0)) { - c[t >> 2] = C; - } else { - c[m + 20 >> 2] = C; - } - if ((C | 0) == 0) { - break L1424; - } - } - } while (0); - if (C >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - c[C + 24 >> 2] = m; - h = c[d + (b + 16) >> 2] | 0; - do { - if ((h | 0) != 0) { - if (h >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[C + 16 >> 2] = h; - c[h + 24 >> 2] = C; - break; - } - } - } while (0); - h = c[d + (b + 20) >> 2] | 0; - if ((h | 0) == 0) { - break; - } - if (h >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[C + 20 >> 2] = h; - c[h + 24 >> 2] = C; - break; - } - } - } while (0); - c[n + 4 >> 2] = A | 1; - c[n + A >> 2] = A; - if ((n | 0) != (c[213] | 0)) { - F = A; - break; - } - c[210] = A; - return; - } else { - c[y >> 2] = z & -2; - c[n + 4 >> 2] = o | 1; - c[n + o >> 2] = o; - F = o; - } - } while (0); - o = F >>> 3; - if (F >>> 0 < 256) { - z = o << 1; - y = 872 + (z << 2) | 0; - C = c[208] | 0; - b = 1 << o; - do { - if ((C & b | 0) == 0) { - c[208] = C | b; - G = y; - H = 872 + (z + 2 << 2) | 0; - } else { - o = 872 + (z + 2 << 2) | 0; - d = c[o >> 2] | 0; - if (d >>> 0 >= (c[212] | 0) >>> 0) { - G = d; - H = o; - break; - } - au(); - } - } while (0); - c[H >> 2] = n; - c[G + 12 >> 2] = n; - c[n + 8 >> 2] = G; - c[n + 12 >> 2] = y; - return; - } - y = n; - G = F >>> 8; - do { - if ((G | 0) == 0) { - I = 0; - } else { - if (F >>> 0 > 16777215) { - I = 31; - break; - } - H = (G + 1048320 | 0) >>> 16 & 8; - z = G << H; - b = (z + 520192 | 0) >>> 16 & 4; - C = z << b; - z = (C + 245760 | 0) >>> 16 & 2; - o = 14 - (b | H | z) + (C << z >>> 15) | 0; - I = F >>> ((o + 7 | 0) >>> 0) & 1 | o << 1; - } - } while (0); - G = 1136 + (I << 2) | 0; - c[n + 28 >> 2] = I; - c[n + 20 >> 2] = 0; - c[n + 16 >> 2] = 0; - o = c[209] | 0; - z = 1 << I; - if ((o & z | 0) == 0) { - c[209] = o | z; - c[G >> 2] = y; - c[n + 24 >> 2] = G; - c[n + 12 >> 2] = n; - c[n + 8 >> 2] = n; - return; - } - if ((I | 0) == 31) { - J = 0; - } else { - J = 25 - (I >>> 1) | 0; - } - I = F << J; - J = c[G >> 2] | 0; - while (1) { - if ((c[J + 4 >> 2] & -8 | 0) == (F | 0)) { - break; - } - K = J + 16 + (I >>> 31 << 2) | 0; - G = c[K >> 2] | 0; - if ((G | 0) == 0) { - L = 1120; - break; - } else { - I = I << 1; - J = G; - } - } - if ((L | 0) == 1120) { - if (K >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - c[K >> 2] = y; - c[n + 24 >> 2] = J; - c[n + 12 >> 2] = n; - c[n + 8 >> 2] = n; - return; - } - K = J + 8 | 0; - L = c[K >> 2] | 0; - I = c[212] | 0; - if (J >>> 0 < I >>> 0) { - au(); - } - if (L >>> 0 < I >>> 0) { - au(); - } - c[L + 12 >> 2] = y; - c[K >> 2] = y; - c[n + 8 >> 2] = L; - c[n + 12 >> 2] = J; - c[n + 24 >> 2] = 0; - return; -} -function ca(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - b = (a | 0) == 0 ? 1 : a; - while (1) { - d = bL(b) | 0; - if ((d | 0) != 0) { - e = 1164; - break; - } - a = (F = c[328] | 0, c[328] = F + 0, F); - if ((a | 0) == 0) { - break; - } - a5[a & 1](); - } - if ((e | 0) == 1164) { - return d | 0; - } - d = aJ(4) | 0; - c[d >> 2] = 560; - as(d | 0, 688, 6); - return 0; -} -function cb(a, b) { - a = a | 0; - b = b | 0; - return ca(a) | 0; -} -function cc(a) { - a = a | 0; - return; -} -function cd(a) { - a = a | 0; - return 360 | 0; -} -function ce(a) { - a = a | 0; - return 448 | 0; -} -function cf(a) { - a = a | 0; - return (F = c[328] | 0, c[328] = a, F) | 0; -} -function cg(a) { - a = a | 0; - c[a >> 2] = 560; - return; -} -function ch(a) { - a = a | 0; - c[a >> 2] = 592; - return; -} -function ci(a) { - a = a | 0; - if ((a | 0) != 0) { - bM(a); - } - return; -} -function cj(a, b) { - a = a | 0; - b = b | 0; - ci(a); - return; -} -function ck(a) { - a = a | 0; - ci(a); - return; -} -function cl(a, b) { - a = a | 0; - b = b | 0; - ck(a); - return; -} -function cm(a) { - a = a | 0; - ci(a); - return; -} -function cn(a) { - a = a | 0; - ci(a); - return; -} -function co(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return cp(a, b, c, 0, 0, 0) | 0; -} -function cp(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0; - j = i; - if ((e | 0) == 0) { - k = -1; - i = j; - return k | 0; - } - l = c[44] | 0; - if ((l | 0) == 0) { - c[196] = 1; - c[44] = 1; - m = 1; - n = 1; - o = 1190; - } else { - p = c[196] | 0; - q = c[74] | 0; - if ((q | 0) == -1 | (p | 0) != 0) { - m = p; - n = l; - o = 1190; - } else { - r = q; - s = p; - t = l; - } - } - if ((o | 0) == 1190) { - l = (aP(344) | 0) != 0 | 0; - c[74] = l; - r = l; - s = m; - t = n; - } - n = a[e] | 0; - if (n << 24 >> 24 == 45) { - u = h | 2; - o = 1194; - } else { - m = (r | 0) != 0 | n << 24 >> 24 == 43 ? h & -2 : h; - if (n << 24 >> 24 == 43) { - u = m; - o = 1194; - } else { - v = e; - w = m; - } - } - if ((o | 0) == 1194) { - v = e + 1 | 0; - w = u; - } - c[198] = 0; - if ((s | 0) == 0) { - x = t; - o = 1198; - } else { - c[50] = -1; - c[48] = -1; - z = t; - A = s; - o = 1197; - } - while (1) { - if ((o | 0) == 1197) { - o = 0; - if ((A | 0) == 0) { - x = z; - o = 1198; - continue; - } else { - B = z; - } - } else if ((o | 0) == 1198) { - o = 0; - s = c[40] | 0; - if ((a[s] | 0) == 0) { - B = x; - } else { - C = s; - D = x; - break; - } - } - c[196] = 0; - if ((B | 0) >= (b | 0)) { - o = 1200; - break; - } - E = d + (B << 2) | 0; - F = c[E >> 2] | 0; - c[40] = F; - if ((a[F] | 0) == 45) { - G = F + 1 | 0; - H = a[G] | 0; - if (H << 24 >> 24 != 0) { - o = 1232; - break; - } - if ((aB(v | 0, 45) | 0) != 0) { - o = 1232; - break; - } - } - c[40] = 824; - if ((w & 2 | 0) != 0) { - o = 1217; - break; - } - if ((w & 1 | 0) == 0) { - k = -1; - o = 1298; - break; - } - s = c[48] | 0; - do { - if ((s | 0) == -1) { - c[48] = B; - I = B; - J = 0; - } else { - t = c[50] | 0; - if ((t | 0) == -1) { - I = B; - J = 0; - break; - } - u = t - s | 0; - e = B - t | 0; - m = (u | 0) % (e | 0) | 0; - if ((m | 0) == 0) { - K = e; - } else { - n = e; - h = m; - while (1) { - m = (n | 0) % (h | 0) | 0; - if ((m | 0) == 0) { - K = h; - break; - } else { - n = h; - h = m; - } - } - } - h = (B - s | 0) / (K | 0) | 0; - do { - if ((K | 0) > 0) { - n = -u | 0; - if ((h | 0) > 0) { - L = 0; - } else { - M = B; - N = t; - O = s; - P = 0; - break; - } - do { - m = L + t | 0; - r = d + (m << 2) | 0; - l = 0; - p = m; - m = c[r >> 2] | 0; - while (1) { - q = ((p | 0) < (t | 0) ? e : n) + p | 0; - Q = d + (q << 2) | 0; - R = c[Q >> 2] | 0; - c[Q >> 2] = m; - c[r >> 2] = R; - Q = l + 1 | 0; - if ((Q | 0) < (h | 0)) { - l = Q; - p = q; - m = R; - } else { - break; - } - } - L = L + 1 | 0; - } while ((L | 0) < (K | 0)); - M = c[44] | 0; - N = c[50] | 0; - O = c[48] | 0; - P = c[196] | 0; - } else { - M = B; - N = t; - O = s; - P = 0; - } - } while (0); - c[48] = M - N + O; - c[50] = -1; - I = M; - J = P; - } - } while (0); - s = I + 1 | 0; - c[44] = s; - z = s; - A = J; - o = 1197; - } - do { - if ((o | 0) == 1298) { - i = j; - return k | 0; - } else if ((o | 0) == 1232) { - J = c[48] | 0; - A = c[50] | 0; - if ((J | 0) != -1 & (A | 0) == -1) { - c[50] = B; - S = a[G] | 0; - T = B; - } else { - S = H; - T = A; - } - if (S << 24 >> 24 == 0) { - C = F; - D = B; - break; - } - c[40] = G; - if ((a[G] | 0) != 45) { - C = G; - D = B; - break; - } - if ((a[F + 2 | 0] | 0) != 0) { - C = G; - D = B; - break; - } - A = B + 1 | 0; - c[44] = A; - c[40] = 824; - if ((T | 0) != -1) { - z = T - J | 0; - I = A - T | 0; - P = (z | 0) % (I | 0) | 0; - if ((P | 0) == 0) { - U = I; - } else { - M = I; - O = P; - while (1) { - P = (M | 0) % (O | 0) | 0; - if ((P | 0) == 0) { - U = O; - break; - } else { - M = O; - O = P; - } - } - } - O = (A - J | 0) / (U | 0) | 0; - do { - if ((U | 0) > 0) { - M = -z | 0; - if ((O | 0) > 0) { - V = 0; - } else { - W = T; - X = J; - Y = A; - break; - } - do { - P = V + T | 0; - N = d + (P << 2) | 0; - K = 0; - L = P; - P = c[N >> 2] | 0; - while (1) { - x = ((L | 0) < (T | 0) ? I : M) + L | 0; - s = d + (x << 2) | 0; - t = c[s >> 2] | 0; - c[s >> 2] = P; - c[N >> 2] = t; - s = K + 1 | 0; - if ((s | 0) < (O | 0)) { - K = s; - L = x; - P = t; - } else { - break; - } - } - V = V + 1 | 0; - } while ((V | 0) < (U | 0)); - W = c[50] | 0; - X = c[48] | 0; - Y = c[44] | 0; - } else { - W = T; - X = J; - Y = A; - } - } while (0); - c[44] = X - W + Y; - } - c[50] = -1; - c[48] = -1; - k = -1; - i = j; - return k | 0; - } else if ((o | 0) == 1200) { - c[40] = 824; - A = c[50] | 0; - J = c[48] | 0; - do { - if ((A | 0) == -1) { - if ((J | 0) == -1) { - break; - } - c[44] = J; - } else { - O = A - J | 0; - I = B - A | 0; - z = (O | 0) % (I | 0) | 0; - if ((z | 0) == 0) { - Z = I; - } else { - M = I; - P = z; - while (1) { - z = (M | 0) % (P | 0) | 0; - if ((z | 0) == 0) { - Z = P; - break; - } else { - M = P; - P = z; - } - } - } - P = (B - J | 0) / (Z | 0) | 0; - do { - if ((Z | 0) > 0) { - M = -O | 0; - if ((P | 0) > 0) { - _ = 0; - } else { - $ = A; - aa = J; - ab = B; - break; - } - do { - z = _ + A | 0; - L = d + (z << 2) | 0; - K = 0; - N = z; - z = c[L >> 2] | 0; - while (1) { - t = ((N | 0) < (A | 0) ? I : M) + N | 0; - x = d + (t << 2) | 0; - s = c[x >> 2] | 0; - c[x >> 2] = z; - c[L >> 2] = s; - x = K + 1 | 0; - if ((x | 0) < (P | 0)) { - K = x; - N = t; - z = s; - } else { - break; - } - } - _ = _ + 1 | 0; - } while ((_ | 0) < (Z | 0)); - $ = c[50] | 0; - aa = c[48] | 0; - ab = c[44] | 0; - } else { - $ = A; - aa = J; - ab = B; - } - } while (0); - c[44] = aa - $ + ab; - } - } while (0); - c[50] = -1; - c[48] = -1; - k = -1; - i = j; - return k | 0; - } else if ((o | 0) == 1217) { - c[44] = B + 1; - c[198] = c[E >> 2]; - k = 1; - i = j; - return k | 0; - } - } while (0); - E = (f | 0) != 0; - L1659 : do { - if (E) { - if ((C | 0) == (c[d + (D << 2) >> 2] | 0)) { - ac = C; - break; - } - B = a[C] | 0; - do { - if (B << 24 >> 24 == 45) { - c[40] = C + 1; - ad = 0; - } else { - if ((w & 4 | 0) == 0) { - ac = C; - break L1659; - } - if (B << 24 >> 24 == 58) { - ad = 0; - break; - } - ad = (aB(v | 0, B << 24 >> 24 | 0) | 0) != 0 | 0; - } - } while (0); - B = cv(d, v, f, g, ad) | 0; - if ((B | 0) == -1) { - ac = c[40] | 0; - break; - } - c[40] = 824; - k = B; - i = j; - return k | 0; - } else { - ac = C; - } - } while (0); - C = ac + 1 | 0; - c[40] = C; - ad = a[ac] | 0; - ac = ad << 24 >> 24; - if ((ad << 24 >> 24 | 0) == 45) { - if ((a[C] | 0) == 0) { - o = 1260; - } - } else if ((ad << 24 >> 24 | 0) == 58) { - o = 1263; - } else { - o = 1260; - } - do { - if ((o | 0) == 1260) { - w = aB(v | 0, ac | 0) | 0; - if ((w | 0) == 0) { - if (ad << 24 >> 24 != 45) { - o = 1263; - break; - } - if ((a[C] | 0) == 0) { - k = -1; - } else { - break; - } - i = j; - return k | 0; - } - D = a[w + 1 | 0] | 0; - if (E & ad << 24 >> 24 == 87 & D << 24 >> 24 == 59) { - do { - if ((a[C] | 0) == 0) { - B = (c[44] | 0) + 1 | 0; - c[44] = B; - if ((B | 0) < (b | 0)) { - c[40] = c[d + (B << 2) >> 2]; - break; - } - c[40] = 824; - do { - if ((c[46] | 0) != 0) { - if ((a[v] | 0) == 58) { - break; - } - cx(48, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); - } - } while (0); - c[42] = ac; - k = (a[v] | 0) == 58 ? 58 : 63; - i = j; - return k | 0; - } - } while (0); - B = cv(d, v, f, g, 0) | 0; - c[40] = 824; - k = B; - i = j; - return k | 0; - } - if (D << 24 >> 24 != 58) { - if ((a[C] | 0) != 0) { - k = ac; - i = j; - return k | 0; - } - c[44] = (c[44] | 0) + 1; - k = ac; - i = j; - return k | 0; - } - c[198] = 0; - do { - if ((a[C] | 0) == 0) { - if ((a[w + 2 | 0] | 0) == 58) { - break; - } - B = (c[44] | 0) + 1 | 0; - c[44] = B; - if ((B | 0) < (b | 0)) { - c[198] = c[d + (B << 2) >> 2]; - break; - } - c[40] = 824; - do { - if ((c[46] | 0) != 0) { - if ((a[v] | 0) == 58) { - break; - } - cx(48, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); - } - } while (0); - c[42] = ac; - k = (a[v] | 0) == 58 ? 58 : 63; - i = j; - return k | 0; - } else { - c[198] = C; - } - } while (0); - c[40] = 824; - c[44] = (c[44] | 0) + 1; - k = ac; - i = j; - return k | 0; - } - } while (0); - do { - if ((o | 0) == 1263) { - if ((a[C] | 0) != 0) { - break; - } - c[44] = (c[44] | 0) + 1; - } - } while (0); - do { - if ((c[46] | 0) != 0) { - if ((a[v] | 0) == 58) { - break; - } - cx(272, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); - } - } while (0); - c[42] = ac; - k = 63; - i = j; - return k | 0; -} -function cq(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - return cp(a, b, c, d, e, 1) | 0; -} -function cr(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - return cp(a, b, c, d, e, 5) | 0; -} -function cs(a) { - a = a | 0; - return ca(a) | 0; -} -function ct(a, b) { - a = a | 0; - b = b | 0; - return cs(a) | 0; -} -function cu() { - var a = 0; - a = aJ(4) | 0; - c[a >> 2] = 560; - as(a | 0, 688, 6); -} -function cv(b, d, e, f, g) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, z = 0; - h = i; - j = c[40] | 0; - k = c[44] | 0; - l = k + 1 | 0; - c[44] = l; - m = aB(j | 0, 61) | 0; - if ((m | 0) == 0) { - n = cM(j | 0) | 0; - o = 0; - } else { - n = m - j | 0; - o = m + 1 | 0; - } - m = c[e >> 2] | 0; - L1739 : do { - if ((m | 0) != 0) { - L1741 : do { - if ((g | 0) != 0 & (n | 0) == 1) { - p = 0; - q = m; - while (1) { - if ((a[j] | 0) == (a[q] | 0)) { - if ((cM(q | 0) | 0) == 1) { - r = p; - break L1741; - } - } - p = p + 1 | 0; - q = c[e + (p << 4) >> 2] | 0; - if ((q | 0) == 0) { - break L1739; - } - } - } else { - q = 0; - p = -1; - s = m; - while (1) { - if ((ap(j | 0, s | 0, n | 0) | 0) == 0) { - if ((cM(s | 0) | 0) == (n | 0)) { - r = q; - break L1741; - } - if ((p | 0) == -1) { - t = q; - } else { - break; - } - } else { - t = p; - } - u = q + 1 | 0; - v = c[e + (u << 4) >> 2] | 0; - if ((v | 0) == 0) { - r = t; - break L1741; - } else { - q = u; - p = t; - s = v; - } - } - do { - if ((c[46] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - cx(304, (y = i, i = i + 16 | 0, c[y >> 2] = n, c[y + 8 >> 2] = j, y) | 0); - } - } while (0); - c[42] = 0; - w = 63; - i = h; - return w | 0; - } - } while (0); - if ((r | 0) == -1) { - break; - } - s = e + (r << 4) + 4 | 0; - p = c[s >> 2] | 0; - q = (o | 0) == 0; - if (!((p | 0) != 0 | q)) { - do { - if ((c[46] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - cx(208, (y = i, i = i + 16 | 0, c[y >> 2] = n, c[y + 8 >> 2] = j, y) | 0); - } - } while (0); - if ((c[e + (r << 4) + 8 >> 2] | 0) == 0) { - x = c[e + (r << 4) + 12 >> 2] | 0; - } else { - x = 0; - } - c[42] = x; - w = (a[d] | 0) == 58 ? 58 : 63; - i = h; - return w | 0; - } - do { - if ((p - 1 | 0) >>> 0 < 2) { - if (!q) { - c[198] = o; - break; - } - if ((p | 0) != 1) { - break; - } - c[44] = k + 2; - c[198] = c[b + (l << 2) >> 2]; - } - } while (0); - if (!((c[s >> 2] | 0) == 1 & (c[198] | 0) == 0)) { - if ((f | 0) != 0) { - c[f >> 2] = r; - } - p = c[e + (r << 4) + 8 >> 2] | 0; - q = c[e + (r << 4) + 12 >> 2] | 0; - if ((p | 0) == 0) { - w = q; - i = h; - return w | 0; - } - c[p >> 2] = q; - w = 0; - i = h; - return w | 0; - } - do { - if ((c[46] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - cx(8, (y = i, i = i + 8 | 0, c[y >> 2] = j, y) | 0); - } - } while (0); - if ((c[e + (r << 4) + 8 >> 2] | 0) == 0) { - z = c[e + (r << 4) + 12 >> 2] | 0; - } else { - z = 0; - } - c[42] = z; - c[44] = (c[44] | 0) - 1; - w = (a[d] | 0) == 58 ? 58 : 63; - i = h; - return w | 0; - } - } while (0); - if ((g | 0) != 0) { - c[44] = k; - w = -1; - i = h; - return w | 0; - } - do { - if ((c[46] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - cx(248, (y = i, i = i + 8 | 0, c[y >> 2] = j, y) | 0); - } - } while (0); - c[42] = 0; - w = 63; - i = h; - return w | 0; -} -function cw(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = i; - i = i + 16 | 0; - e = d | 0; - f = e; - c[f >> 2] = b; - c[f + 4 >> 2] = 0; - cy(a, e | 0); - i = d; - return; -} -function cx(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = i; - i = i + 16 | 0; - e = d | 0; - f = e; - c[f >> 2] = b; - c[f + 4 >> 2] = 0; - cz(a, e | 0); - i = d; - return; -} -function cy(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = i; - e = c[(aX() | 0) >> 2] | 0; - f = c[r >> 2] | 0; - av(c[o >> 2] | 0, 432, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; - if ((a | 0) != 0) { - f = c[o >> 2] | 0; - aQ(f | 0, a | 0, b | 0) | 0; - b = c[o >> 2] | 0; - aE(472, 2, 1, b | 0) | 0; - } - b = c[o >> 2] | 0; - a = at(e | 0) | 0; - av(b | 0, 384, (y = i, i = i + 8 | 0, c[y >> 2] = a, y) | 0) | 0; - i = d; - return; -} -function cz(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0; - d = i; - e = c[r >> 2] | 0; - av(c[o >> 2] | 0, 376, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; - if ((a | 0) != 0) { - e = c[o >> 2] | 0; - aQ(e | 0, a | 0, b | 0) | 0; - } - aC(10, c[o >> 2] | 0) | 0; - i = d; - return; -} -function cA(b, d) { - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0, s = 0, t = 0, u = 0, v = 0.0, w = 0, x = 0, y = 0, z = 0.0, A = 0.0, B = 0, C = 0, D = 0, E = 0.0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0.0, O = 0, P = 0, Q = 0.0, R = 0.0, S = 0.0; - e = b; - while (1) { - f = e + 1 | 0; - if ((aK(a[e] | 0) | 0) == 0) { - break; - } else { - e = f; - } - } - g = a[e] | 0; - if ((g << 24 >> 24 | 0) == 45) { - i = f; - j = 1; - } else if ((g << 24 >> 24 | 0) == 43) { - i = f; - j = 0; - } else { - i = e; - j = 0; - } - e = -1; - f = 0; - g = i; - while (1) { - k = a[g] | 0; - if (((k << 24 >> 24) - 48 | 0) >>> 0 < 10) { - l = e; - } else { - if (k << 24 >> 24 != 46 | (e | 0) > -1) { - break; - } else { - l = f; - } - } - e = l; - f = f + 1 | 0; - g = g + 1 | 0; - } - l = g + (-f | 0) | 0; - i = (e | 0) < 0; - m = ((i ^ 1) << 31 >> 31) + f | 0; - n = (m | 0) > 18; - o = (n ? -18 : -m | 0) + (i ? f : e) | 0; - e = n ? 18 : m; - do { - if ((e | 0) == 0) { - p = b; - q = 0.0; - } else { - if ((e | 0) > 9) { - m = l; - n = e; - f = 0; - while (1) { - i = a[m] | 0; - r = m + 1 | 0; - if (i << 24 >> 24 == 46) { - s = a[r] | 0; - t = m + 2 | 0; - } else { - s = i; - t = r; - } - u = (f * 10 | 0) - 48 + (s << 24 >> 24) | 0; - r = n - 1 | 0; - if ((r | 0) > 9) { - m = t; - n = r; - f = u; - } else { - break; - } - } - v = +(u | 0) * 1.0e9; - w = 9; - x = t; - y = 1393; - } else { - if ((e | 0) > 0) { - v = 0.0; - w = e; - x = l; - y = 1393; - } else { - z = 0.0; - A = 0.0; - } - } - if ((y | 0) == 1393) { - f = x; - n = w; - m = 0; - while (1) { - r = a[f] | 0; - i = f + 1 | 0; - if (r << 24 >> 24 == 46) { - B = a[i] | 0; - C = f + 2 | 0; - } else { - B = r; - C = i; - } - D = (m * 10 | 0) - 48 + (B << 24 >> 24) | 0; - i = n - 1 | 0; - if ((i | 0) > 0) { - f = C; - n = i; - m = D; - } else { - break; - } - } - z = +(D | 0); - A = v; - } - E = A + z; - do { - if ((k << 24 >> 24 | 0) == 69 | (k << 24 >> 24 | 0) == 101) { - m = g + 1 | 0; - n = a[m] | 0; - if ((n << 24 >> 24 | 0) == 43) { - F = g + 2 | 0; - G = 0; - } else if ((n << 24 >> 24 | 0) == 45) { - F = g + 2 | 0; - G = 1; - } else { - F = m; - G = 0; - } - m = a[F] | 0; - if (((m << 24 >> 24) - 48 | 0) >>> 0 < 10) { - H = F; - I = 0; - J = m; - } else { - K = 0; - L = F; - M = G; - break; - } - while (1) { - m = (I * 10 | 0) - 48 + (J << 24 >> 24) | 0; - n = H + 1 | 0; - f = a[n] | 0; - if (((f << 24 >> 24) - 48 | 0) >>> 0 < 10) { - H = n; - I = m; - J = f; - } else { - K = m; - L = n; - M = G; - break; - } - } - } else { - K = 0; - L = g; - M = 0; - } - } while (0); - n = o + ((M | 0) == 0 ? K : -K | 0) | 0; - m = (n | 0) < 0 ? -n | 0 : n; - if ((m | 0) > 511) { - c[(aX() | 0) >> 2] = 34; - N = 1.0; - O = 88; - P = 511; - y = 1410; - } else { - if ((m | 0) == 0) { - Q = 1.0; - } else { - N = 1.0; - O = 88; - P = m; - y = 1410; - } - } - if ((y | 0) == 1410) { - while (1) { - y = 0; - if ((P & 1 | 0) == 0) { - R = N; - } else { - R = N * +h[O >> 3]; - } - m = P >> 1; - if ((m | 0) == 0) { - Q = R; - break; - } else { - N = R; - O = O + 8 | 0; - P = m; - y = 1410; - } - } - } - if ((n | 0) > -1) { - p = L; - q = E * Q; - break; - } else { - p = L; - q = E / Q; - break; - } - } - } while (0); - if ((d | 0) != 0) { - c[d >> 2] = p; - } - if ((j | 0) == 0) { - S = q; - return +S; - } - S = -0.0 - q; - return +S; -} -function cB(a, b) { - a = a | 0; - b = b | 0; - return +(+cA(a, b)); -} -function cC(a, b) { - a = a | 0; - b = b | 0; - return +(+cA(a, b)); -} -function cD(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return +(+cA(a, b)); -} -function cE(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return +(+cA(a, b)); -} -function cF(a) { - a = a | 0; - return +(+cA(a, 0)); -} -function cG(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = i; - i = i + 16 | 0; - f = e | 0; - e = f; - c[e >> 2] = d; - c[e + 4 >> 2] = 0; - cI(a, b, f | 0); -} -function cH(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = i; - i = i + 16 | 0; - f = e | 0; - e = f; - c[e >> 2] = d; - c[e + 4 >> 2] = 0; - cJ(a, b, f | 0); -} -function cI(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = c[(aX() | 0) >> 2] | 0; - f = c[r >> 2] | 0; - av(c[o >> 2] | 0, 336, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; - if ((b | 0) != 0) { - f = c[o >> 2] | 0; - aQ(f | 0, b | 0, d | 0) | 0; - d = c[o >> 2] | 0; - aE(480, 2, 1, d | 0) | 0; - } - d = c[o >> 2] | 0; - b = at(e | 0) | 0; - av(d | 0, 392, (y = i, i = i + 8 | 0, c[y >> 2] = b, y) | 0) | 0; - aH(a | 0); -} -function cJ(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0; - e = c[r >> 2] | 0; - av(c[o >> 2] | 0, 440, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; - if ((b | 0) != 0) { - e = c[o >> 2] | 0; - aQ(e | 0, b | 0, d | 0) | 0; - } - aC(10, c[o >> 2] | 0) | 0; - aH(a | 0); -} -function cK(b, d, e) { - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0; - f = b | 0; - if ((b & 3) == (d & 3)) { - while (b & 3) { - if ((e | 0) == 0) return f | 0; - a[b] = a[d] | 0; - b = b + 1 | 0; - d = d + 1 | 0; - e = e - 1 | 0; - } - while ((e | 0) >= 4) { - c[b >> 2] = c[d >> 2]; - b = b + 4 | 0; - d = d + 4 | 0; - e = e - 4 | 0; - } - } - while ((e | 0) > 0) { - a[b] = a[d] | 0; - b = b + 1 | 0; - d = d + 1 | 0; - e = e - 1 | 0; - } - return f | 0; -} -function cL(b, d, e) { - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0; - f = b + e | 0; - if ((e | 0) >= 20) { - d = d & 255; - e = b & 3; - g = d | d << 8 | d << 16 | d << 24; - h = f & ~3; - if (e) { - e = b + 4 - e | 0; - while ((b | 0) < (e | 0)) { - a[b] = d; - b = b + 1 | 0; - } - } - while ((b | 0) < (h | 0)) { - c[b >> 2] = g; - b = b + 4 | 0; - } - } - while ((b | 0) < (f | 0)) { - a[b] = d; - b = b + 1 | 0; - } -} -function cM(b) { - b = b | 0; - var c = 0; - c = b; - while (a[c] | 0) { - c = c + 1 | 0; - } - return c - b | 0; -} -function cN(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - e = a + c >>> 0; - return (H = b + d + (e >>> 0 < a >>> 0 | 0) >>> 0, e | 0) | 0; -} -function cO(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - e = b - d >>> 0; - e = b - d - (c >>> 0 > a >>> 0 | 0) >>> 0; - return (H = e, a - c >>> 0 | 0) | 0; -} -function cP(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - if ((c | 0) < 32) { - H = b << c | (a & (1 << c) - 1 << 32 - c) >>> 32 - c; - return a << c; - } - H = a << c - 32; - return 0; -} -function cQ(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - if ((c | 0) < 32) { - H = b >>> c; - return a >>> c | (b & (1 << c) - 1) << 32 - c; - } - H = 0; - return b >>> c - 32 | 0; -} -function cR(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - if ((c | 0) < 32) { - H = b >> c; - return a >>> c | (b & (1 << c) - 1) << 32 - c; - } - H = (b | 0) < 0 ? -1 : 0; - return b >> c - 32 | 0; -} -function cS(b) { - b = b | 0; - var c = 0; - c = a[n + (b >>> 24) | 0] | 0; - if ((c | 0) < 8) return c | 0; - c = a[n + (b >> 16 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 8 | 0; - c = a[n + (b >> 8 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 16 | 0; - return (a[n + (b & 255) | 0] | 0) + 24 | 0; -} -function cT(b) { - b = b | 0; - var c = 0; - c = a[m + (b & 255) | 0] | 0; - if ((c | 0) < 8) return c | 0; - c = a[m + (b >> 8 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 8 | 0; - c = a[m + (b >> 16 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 16 | 0; - return (a[m + (b >>> 24) | 0] | 0) + 24 | 0; -} -function cU(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0; - c = a & 65535; - d = b & 65535; - e = ad(d, c) | 0; - f = a >>> 16; - a = (e >>> 16) + (ad(d, f) | 0) | 0; - d = b >>> 16; - b = ad(d, c) | 0; - return (H = (a >>> 16) + (ad(d, f) | 0) + (((a & 65535) + b | 0) >>> 16) | 0, a + b << 16 | e & 65535 | 0) | 0; -} -function cV(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0; - e = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - f = ((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - g = d >> 31 | ((d | 0) < 0 ? -1 : 0) << 1; - h = ((d | 0) < 0 ? -1 : 0) >> 31 | ((d | 0) < 0 ? -1 : 0) << 1; - i = cO(e ^ a, f ^ b, e, f) | 0; - b = H; - a = g ^ e; - e = h ^ f; - f = cO((c_(i, b, cO(g ^ c, h ^ d, g, h) | 0, H, 0) | 0) ^ a, H ^ e, a, e) | 0; - return (H = H, f) | 0; -} -function cW(a, b, d, e) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - f = i; - i = i + 8 | 0; - g = f | 0; - h = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - j = ((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - k = e >> 31 | ((e | 0) < 0 ? -1 : 0) << 1; - l = ((e | 0) < 0 ? -1 : 0) >> 31 | ((e | 0) < 0 ? -1 : 0) << 1; - m = cO(h ^ a, j ^ b, h, j) | 0; - b = H; - a = cO(k ^ d, l ^ e, k, l) | 0; - c_(m, b, a, H, g) | 0; - a = cO(c[g >> 2] ^ h, c[g + 4 >> 2] ^ j, h, j) | 0; - j = H; - i = f; - return (H = j, a) | 0; -} -function cX(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0; - e = a; - a = c; - c = cU(e, a) | 0; - f = H; - return (H = (ad(b, a) | 0) + (ad(d, e) | 0) + f | f & 0, c | 0 | 0) | 0; -} -function cY(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - e = c_(a, b, c, d, 0) | 0; - return (H = H, e) | 0; -} -function cZ(a, b, d, e) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 8 | 0; - g = f | 0; - c_(a, b, d, e, g) | 0; - i = f; - return (H = c[g + 4 >> 2] | 0, c[g >> 2] | 0) | 0; -} -function c_(a, b, d, e, f) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0; - g = a; - h = b; - i = h; - j = d; - k = e; - l = k; - if ((i | 0) == 0) { - m = (f | 0) != 0; - if ((l | 0) == 0) { - if (m) { - c[f >> 2] = (g >>> 0) % (j >>> 0); - c[f + 4 >> 2] = 0; - } - n = 0; - o = (g >>> 0) / (j >>> 0) >>> 0; - return (H = n, o) | 0; - } else { - if (!m) { - n = 0; - o = 0; - return (H = n, o) | 0; - } - c[f >> 2] = a | 0; - c[f + 4 >> 2] = b & 0; - n = 0; - o = 0; - return (H = n, o) | 0; - } - } - m = (l | 0) == 0; - do { - if ((j | 0) == 0) { - if (m) { - if ((f | 0) != 0) { - c[f >> 2] = (i >>> 0) % (j >>> 0); - c[f + 4 >> 2] = 0; - } - n = 0; - o = (i >>> 0) / (j >>> 0) >>> 0; - return (H = n, o) | 0; - } - if ((g | 0) == 0) { - if ((f | 0) != 0) { - c[f >> 2] = 0; - c[f + 4 >> 2] = (i >>> 0) % (l >>> 0); - } - n = 0; - o = (i >>> 0) / (l >>> 0) >>> 0; - return (H = n, o) | 0; - } - p = l - 1 | 0; - if ((p & l | 0) == 0) { - if ((f | 0) != 0) { - c[f >> 2] = a | 0; - c[f + 4 >> 2] = p & i | b & 0; - } - n = 0; - o = i >>> ((cT(l | 0) | 0) >>> 0); - return (H = n, o) | 0; - } - p = (cS(l | 0) | 0) - (cS(i | 0) | 0) | 0; - if (p >>> 0 <= 30) { - q = p + 1 | 0; - r = 31 - p | 0; - s = q; - t = i << r | g >>> (q >>> 0); - u = i >>> (q >>> 0); - v = 0; - w = g << r; - break; - } - if ((f | 0) == 0) { - n = 0; - o = 0; - return (H = n, o) | 0; - } - c[f >> 2] = a | 0; - c[f + 4 >> 2] = h | b & 0; - n = 0; - o = 0; - return (H = n, o) | 0; - } else { - if (!m) { - r = (cS(l | 0) | 0) - (cS(i | 0) | 0) | 0; - if (r >>> 0 <= 31) { - q = r + 1 | 0; - p = 31 - r | 0; - x = r - 31 >> 31; - s = q; - t = g >>> (q >>> 0) & x | i << p; - u = i >>> (q >>> 0) & x; - v = 0; - w = g << p; - break; - } - if ((f | 0) == 0) { - n = 0; - o = 0; - return (H = n, o) | 0; - } - c[f >> 2] = a | 0; - c[f + 4 >> 2] = h | b & 0; - n = 0; - o = 0; - return (H = n, o) | 0; - } - p = j - 1 | 0; - if ((p & j | 0) != 0) { - x = (cS(j | 0) | 0) + 33 - (cS(i | 0) | 0) | 0; - q = 64 - x | 0; - r = 32 - x | 0; - y = r >> 31; - z = x - 32 | 0; - A = z >> 31; - s = x; - t = r - 1 >> 31 & i >>> (z >>> 0) | (i << r | g >>> (x >>> 0)) & A; - u = A & i >>> (x >>> 0); - v = g << q & y; - w = (i << q | g >>> (z >>> 0)) & y | g << r & x - 33 >> 31; - break; - } - if ((f | 0) != 0) { - c[f >> 2] = p & g; - c[f + 4 >> 2] = 0; - } - if ((j | 0) == 1) { - n = h | b & 0; - o = a | 0 | 0; - return (H = n, o) | 0; - } else { - p = cT(j | 0) | 0; - n = i >>> (p >>> 0) | 0; - o = i << 32 - p | g >>> (p >>> 0) | 0; - return (H = n, o) | 0; - } - } - } while (0); - if ((s | 0) == 0) { - B = w; - C = v; - D = u; - E = t; - F = 0; - G = 0; - } else { - g = d | 0 | 0; - d = k | e & 0; - e = cN(g, d, -1, -1) | 0; - k = H; - i = w; - w = v; - v = u; - u = t; - t = s; - s = 0; - while (1) { - I = w >>> 31 | i << 1; - J = s | w << 1; - j = u << 1 | i >>> 31 | 0; - a = u >>> 31 | v << 1 | 0; - cO(e, k, j, a) | 0; - b = H; - h = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - K = h & 1; - L = cO(j, a, h & g, (((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1) & d) | 0; - M = H; - b = t - 1 | 0; - if ((b | 0) == 0) { - break; - } else { - i = I; - w = J; - v = M; - u = L; - t = b; - s = K; - } - } - B = I; - C = J; - D = M; - E = L; - F = 0; - G = K; - } - K = C; - C = 0; - if ((f | 0) != 0) { - c[f >> 2] = E; - c[f + 4 >> 2] = D; - } - n = (K | 0) >>> 31 | (B | C) << 1 | (C << 1 | K >>> 31) & 0 | F; - o = (K << 1 | 0 >>> 31) & -2 | G; - return (H = n, o) | 0; -} -function c$(a, b) { - a = a | 0; - b = b | 0; - a1[a & 15](b | 0); -} -function c0(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - a2[a & 15](b | 0, c | 0); -} -function c1(a, b) { - a = a | 0; - b = b | 0; - return a3[a & 7](b | 0) | 0; -} -function c2(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - a4[a & 15](b | 0, c | 0, d | 0); -} -function c3(a) { - a = a | 0; - a5[a & 1](); -} -function c4(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return a6[a & 1](b | 0, c | 0) | 0; -} -function c5(a) { - a = a | 0; - ae(0); -} -function c6(a, b) { - a = a | 0; - b = b | 0; - ae(1); -} -function c7(a) { - a = a | 0; - ae(2); - return 0; -} -function c8(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - ae(3); -} -function c9() { - ae(4); -} -function da(a, b) { - a = a | 0; - b = b | 0; - ae(5); - return 0; -} -// EMSCRIPTEN_END_FUNCS - var a1 = [ c5, c5, ch, c5, cn, c5, cc, c5, cg, c5, cm, c5, c5, c5, c5, c5 ]; - var a2 = [ c6, c6, cw, c6, cy, c6, cx, c6, cz, c6, c6, c6, c6, c6, c6, c6 ]; - var a3 = [ c7, c7, cd, c7, ce, c7, c7, c7 ]; - var a4 = [ c8, c8, cJ, c8, cI, c8, cG, c8, cH, c8, c8, c8, c8, c8, c8, c8 ]; - var a5 = [ c9, c9 ]; - var a6 = [ da, da ]; - return { - _crypto_scrypt: bu, - _strlen: cM, - _free: bM, - _realloc: bO, - _memset: cL, - _malloc: bL, - _memcpy: cK, - _calloc: bN, - runPostSets: bn, - stackAlloc: a7, - stackSave: a8, - stackRestore: a9, - setThrew: ba, - setTempRet0: bd, - setTempRet1: be, - setTempRet2: bf, - setTempRet3: bg, - setTempRet4: bh, - setTempRet5: bi, - setTempRet6: bj, - setTempRet7: bk, - setTempRet8: bl, - setTempRet9: bm, - dynCall_vi: c$, - dynCall_vii: c0, - dynCall_ii: c1, - dynCall_viii: c2, - dynCall_v: c3, - dynCall_iii: c4 - }; -// EMSCRIPTEN_END_ASM -})({Math:Math, Int8Array:Int8Array, Int16Array:Int16Array, Int32Array:Int32Array, Uint8Array:Uint8Array, Uint16Array:Uint16Array, Uint32Array:Uint32Array, Float32Array:Float32Array, Float64Array:Float64Array}, {abort:wa, assert:w, asmPrintInt:function(a, b) { - s.print("int " + a + "," + b) -}, asmPrintFloat:function(a, b) { - s.print("float " + a + "," + b) -}, min:Xc, invoke_vi:function(a, b) { - try { - s.dynCall_vi(a, b) - }catch(c) { - "number" !== typeof c && "longjmp" !== c && g(c), V.setThrew(1, 0) - } -}, invoke_vii:function(a, b, c) { - try { - s.dynCall_vii(a, b, c) - }catch(d) { - "number" !== typeof d && "longjmp" !== d && g(d), V.setThrew(1, 0) - } -}, invoke_ii:function(a, b) { - try { - return s.dynCall_ii(a, b) - }catch(c) { - "number" !== typeof c && "longjmp" !== c && g(c), V.setThrew(1, 0) - } -}, invoke_viii:function(a, b, c, d) { - try { - s.dynCall_viii(a, b, c, d) - }catch(e) { - "number" !== typeof e && "longjmp" !== e && g(e), V.setThrew(1, 0) - } -}, invoke_v:function(a) { - try { - s.dynCall_v(a) - }catch(b) { - "number" !== typeof b && "longjmp" !== b && g(b), V.setThrew(1, 0) - } -}, invoke_iii:function(a, b, c) { - try { - return s.dynCall_iii(a, b, c) - }catch(d) { - "number" !== typeof d && "longjmp" !== d && g(d), V.setThrew(1, 0) - } -}, _strncmp:function(a, b, c) { - for(var d = 0;d < c;) { - var e = G[a + d | 0], f = G[b + d | 0]; - if(e == f && 0 == e) { - break - } - if(0 == e) { - return-1 - } - if(0 == f) { - return 1 - } - if(e == f) { - d++ - }else { - return e > f ? 1 : -1 - } - } - return 0 -}, _llvm_va_end:aa(), _sysconf:function(a) { - switch(a) { - case 8: - return 4096; - case 54: - ; - case 56: - ; - case 21: - ; - case 61: - ; - case 63: - ; - case 22: - ; - case 67: - ; - case 23: - ; - case 24: - ; - case 25: - ; - case 26: - ; - case 27: - ; - case 69: - ; - case 28: - ; - case 101: - ; - case 70: - ; - case 71: - ; - case 29: - ; - case 30: - ; - case 199: - ; - case 75: - ; - case 76: - ; - case 32: - ; - case 43: - ; - case 44: - ; - case 80: - ; - case 46: - ; - case 47: - ; - case 45: - ; - case 48: - ; - case 49: - ; - case 42: - ; - case 82: - ; - case 33: - ; - case 7: - ; - case 108: - ; - case 109: - ; - case 107: - ; - case 112: - ; - case 119: - ; - case 121: - return 200809; - case 13: - ; - case 104: - ; - case 94: - ; - case 95: - ; - case 34: - ; - case 35: - ; - case 77: - ; - case 81: - ; - case 83: - ; - case 84: - ; - case 85: - ; - case 86: - ; - case 87: - ; - case 88: - ; - case 89: - ; - case 90: - ; - case 91: - ; - case 94: - ; - case 95: - ; - case 110: - ; - case 111: - ; - case 113: - ; - case 114: - ; - case 115: - ; - case 116: - ; - case 117: - ; - case 118: - ; - case 120: - ; - case 40: - ; - case 16: - ; - case 79: - ; - case 19: - return-1; - case 92: - ; - case 93: - ; - case 5: - ; - case 72: - ; - case 6: - ; - case 74: - ; - case 92: - ; - case 93: - ; - case 96: - ; - case 97: - ; - case 98: - ; - case 99: - ; - case 102: - ; - case 103: - ; - case 105: - return 1; - case 38: - ; - case 66: - ; - case 50: - ; - case 51: - ; - case 4: - return 1024; - case 15: - ; - case 64: - ; - case 41: - return 32; - case 55: - ; - case 37: - ; - case 17: - return 2147483647; - case 18: - ; - case 1: - return 47839; - case 59: - ; - case 57: - return 99; - case 68: - ; - case 58: - return 2048; - case 0: - return 2097152; - case 3: - return 65536; - case 14: - return 32768; - case 73: - return 32767; - case 39: - return 16384; - case 60: - return 1E3; - case 106: - return 700; - case 52: - return 256; - case 62: - return 255; - case 2: - return 100; - case 65: - return 64; - case 36: - return 20; - case 100: - return 16; - case 20: - return 6; - case 53: - return 4; - case 10: - return 1 - } - M(N.A); - return-1 -}, ___cxa_throw:rc, _strerror:zc, _abort:function() { - s.abort() -}, _fprintf:mc, _llvm_eh_exception:U, ___cxa_free_exception:sc, _fflush:aa(), ___buildEnvironment:wc, __reallyNegative:jc, _strchr:function(a, b) { - a--; - do { - a++; - var c = A[a]; - if(c == b) { - return a - } - }while(c); - return 0 -}, _fputc:Bc, ___setErrNo:M, _fwrite:hc, _send:fc, _write:gc, _exit:function(a) { - Ac(a) -}, ___cxa_find_matching_catch:function(a, b) { - -1 == a && (a = B[U.m >> 2]); - -1 == b && (b = B[U.m + 4 >> 2]); - var c = Array.prototype.slice.call(arguments, 2); - 0 != b && !pc(b) && 0 == B[B[b >> 2] - 8 >> 2] && (a = B[a >> 2]); - for(var d = 0;d < c.length;d++) { - if(qc(c[d], b, a)) { - return(V.setTempRet0(c[d]), a) | 0 - } - } - return(V.setTempRet0(b), a) | 0 -}, ___cxa_allocate_exception:function(a) { - return Oa(a) -}, _isspace:function(a) { - return 32 == a || 9 <= a && 13 >= a -}, __formatString:kc, ___resumeException:function(a) { - 0 == B[U.m >> 2] && (B[U.m >> 2] = a); - g(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.") -}, _llvm_uadd_with_overflow_i32:function(a, b) { - a >>>= 0; - b >>>= 0; - return(V.setTempRet0(4294967295 < a + b), a + b >>> 0) | 0 -}, ___cxa_does_inherit:qc, _getenv:xc, _vfprintf:function(a, b, c) { - return mc(a, b, B[c >> 2]) -}, ___cxa_begin_catch:function(a) { - oc.ta--; - return a -}, __ZSt18uncaught_exceptionv:oc, _pwrite:function(a, b, c, d) { - a = R[a]; - if(!a) { - return M(N.$), -1 - } - try { - return Ib(a, A, b, c, d) - }catch(e) { - return Zb(e), -1 - } -}, ___cxa_call_unexpected:function(a) { - s.P("Unexpected exception thrown, this is not properly supported - aborting"); - za = l; - g(a) -}, _sbrk:nc, _strerror_r:yc, ___errno_location:function() { - return rb -}, ___gxx_personality_v0:aa(), ___cxa_is_number_type:pc, _time:function(a) { - var b = Math.floor(Date.now() / 1E3); - a && (B[a >> 2] = b); - return b -}, __exit:Ac, ___cxa_end_catch:uc, STACKTOP:u, STACK_MAX:Ta, tempDoublePtr:qb, ABORT:za, cttz_i8:Wc, ctlz_i8:Vc, NaN:NaN, Infinity:Infinity, _stderr:nb, __ZTVN10__cxxabiv120__si_class_type_infoE:ob, __ZTVN10__cxxabiv117__class_type_infoE:pb, ___progname:k}, I); -s._crypto_scrypt = V._crypto_scrypt; -var ic = s._strlen = V._strlen, tc = s._free = V._free; -s._realloc = V._realloc; -var tb = s._memset = V._memset, Oa = s._malloc = V._malloc, sb = s._memcpy = V._memcpy; -s._calloc = V._calloc; -var mb = s.runPostSets = V.runPostSets; -s.dynCall_vi = V.dynCall_vi; -s.dynCall_vii = V.dynCall_vii; -s.dynCall_ii = V.dynCall_ii; -s.dynCall_viii = V.dynCall_viii; -s.dynCall_v = V.dynCall_v; -s.dynCall_iii = V.dynCall_iii; -var qa = function(a) { - return V.stackAlloc(a) -}, ja = function() { - return V.stackSave() -}, ka = function(a) { - V.stackRestore(a) -}, lc; -function X(a, b) { - a != m && ("number" == typeof a ? this.p(a) : b == m && "string" != typeof a ? this.k(a, 256) : this.k(a, b)) -} -function Yc() { - return new X(m) -} -function Zc(a, b) { - var c = $c[a.charCodeAt(b)]; - return c == m ? -1 : c -} -function ad(a) { - var b = Yc(); - b.D(a); - return b -} -function Y(a, b) { - this.h = a | 0; - this.j = b | 0 -} -Y.Ca = {}; -Y.D = function(a) { - if(-128 <= a && 128 > a) { - var b = Y.Ca[a]; - if(b) { - return b - } - } - b = new Y(a | 0, 0 > a ? -1 : 0); - -128 <= a && 128 > a && (Y.Ca[a] = b); - return b -}; -Y.p = function(a) { - return isNaN(a) || !isFinite(a) ? Y.ZERO : a <= -Y.Ea ? Y.MIN_VALUE : a + 1 >= Y.Ea ? Y.MAX_VALUE : 0 > a ? Y.p(-a).i() : new Y(a % Y.B | 0, a / Y.B | 0) -}; -Y.v = function(a, b) { - return new Y(a, b) -}; -Y.k = function(a, b) { - 0 == a.length && g(Error("number format error: empty string")); - var c = b || 10; - (2 > c || 36 < c) && g(Error("radix out of range: " + c)); - if("-" == a.charAt(0)) { - return Y.k(a.substring(1), c).i() - } - 0 <= a.indexOf("-") && g(Error('number format error: interior "-" character: ' + a)); - for(var d = Y.p(Math.pow(c, 8)), e = Y.ZERO, f = 0;f < a.length;f += 8) { - var h = Math.min(8, a.length - f), i = parseInt(a.substring(f, f + h), c); - 8 > h ? (h = Y.p(Math.pow(c, h)), e = e.multiply(h).add(Y.p(i))) : (e = e.multiply(d), e = e.add(Y.p(i))) - } - return e -}; -Y.ea = 65536; -Y.Od = 16777216; -Y.B = Y.ea * Y.ea; -Y.Pd = Y.B / 2; -Y.Qd = Y.B * Y.ea; -Y.eb = Y.B * Y.B; -Y.Ea = Y.eb / 2; -Y.ZERO = Y.D(0); -Y.ONE = Y.D(1); -Y.Da = Y.D(-1); -Y.MAX_VALUE = Y.v(-1, 2147483647); -Y.MIN_VALUE = Y.v(0, -2147483648); -Y.cb = Y.D(16777216); -q = Y.prototype; -q.Z = function() { - return this.j * Y.B + this.ob() -}; -q.toString = function(a) { - a = a || 10; - (2 > a || 36 < a) && g(Error("radix out of range: " + a)); - if(this.G()) { - return"0" - } - if(this.n()) { - if(this.o(Y.MIN_VALUE)) { - var b = Y.p(a), c = this.F(b), b = c.multiply(b).R(this); - return c.toString(a) + b.h.toString(a) - } - return"-" + this.i().toString(a) - } - for(var c = Y.p(Math.pow(a, 6)), b = this, d = "";;) { - var e = b.F(c), f = b.R(e.multiply(c)).h.toString(a), b = e; - if(b.G()) { - return f + d - } - for(;6 > f.length;) { - f = "0" + f - } - d = "" + f + d - } -}; -q.ob = function() { - return 0 <= this.h ? this.h : Y.B + this.h -}; -q.G = function() { - return 0 == this.j && 0 == this.h -}; -q.n = function() { - return 0 > this.j -}; -q.Pa = function() { - return 1 == (this.h & 1) -}; -q.o = function(a) { - return this.j == a.j && this.h == a.h -}; -q.Ra = function() { - return 0 > this.ja(Y.cb) -}; -q.qb = function(a) { - return 0 < this.ja(a) -}; -q.rb = function(a) { - return 0 <= this.ja(a) -}; -q.ja = function(a) { - if(this.o(a)) { - return 0 - } - var b = this.n(), c = a.n(); - return b && !c ? -1 : !b && c ? 1 : this.R(a).n() ? -1 : 1 -}; -q.i = function() { - return this.o(Y.MIN_VALUE) ? Y.MIN_VALUE : this.xb().add(Y.ONE) -}; -q.add = function(a) { - var b = this.j >>> 16, c = this.j & 65535, d = this.h >>> 16, e = a.j >>> 16, f = a.j & 65535, h = a.h >>> 16, i; - i = 0 + ((this.h & 65535) + (a.h & 65535)); - a = 0 + (i >>> 16); - a += d + h; - d = 0 + (a >>> 16); - d += c + f; - c = 0 + (d >>> 16); - c = c + (b + e) & 65535; - return Y.v((a & 65535) << 16 | i & 65535, c << 16 | d & 65535) -}; -q.R = function(a) { - return this.add(a.i()) -}; -q.multiply = function(a) { - if(this.G() || a.G()) { - return Y.ZERO - } - if(this.o(Y.MIN_VALUE)) { - return a.Pa() ? Y.MIN_VALUE : Y.ZERO - } - if(a.o(Y.MIN_VALUE)) { - return this.Pa() ? Y.MIN_VALUE : Y.ZERO - } - if(this.n()) { - return a.n() ? this.i().multiply(a.i()) : this.i().multiply(a).i() - } - if(a.n()) { - return this.multiply(a.i()).i() - } - if(this.Ra() && a.Ra()) { - return Y.p(this.Z() * a.Z()) - } - var b = this.j >>> 16, c = this.j & 65535, d = this.h >>> 16, e = this.h & 65535, f = a.j >>> 16, h = a.j & 65535, i = a.h >>> 16, a = a.h & 65535, j, n, y, v; - v = 0 + e * a; - y = 0 + (v >>> 16); - y += d * a; - n = 0 + (y >>> 16); - y = (y & 65535) + e * i; - n += y >>> 16; - y &= 65535; - n += c * a; - j = 0 + (n >>> 16); - n = (n & 65535) + d * i; - j += n >>> 16; - n &= 65535; - n += e * h; - j += n >>> 16; - n &= 65535; - j = j + (b * a + c * i + d * h + e * f) & 65535; - return Y.v(y << 16 | v & 65535, j << 16 | n) -}; -q.F = function(a) { - a.G() && g(Error("division by zero")); - if(this.G()) { - return Y.ZERO - } - if(this.o(Y.MIN_VALUE)) { - if(a.o(Y.ONE) || a.o(Y.Da)) { - return Y.MIN_VALUE - } - if(a.o(Y.MIN_VALUE)) { - return Y.ONE - } - var b = this.Db().F(a).shiftLeft(1); - if(b.o(Y.ZERO)) { - return a.n() ? Y.ONE : Y.Da - } - var c = this.R(a.multiply(b)); - return b.add(c.F(a)) - } - if(a.o(Y.MIN_VALUE)) { - return Y.ZERO - } - if(this.n()) { - return a.n() ? this.i().F(a.i()) : this.i().F(a).i() - } - if(a.n()) { - return this.F(a.i()).i() - } - for(var d = Y.ZERO, c = this;c.rb(a);) { - for(var b = Math.max(1, Math.floor(c.Z() / a.Z())), e = Math.ceil(Math.log(b) / Math.LN2), e = 48 >= e ? 1 : Math.pow(2, e - 48), f = Y.p(b), h = f.multiply(a);h.n() || h.qb(c);) { - b -= e, f = Y.p(b), h = f.multiply(a) - } - f.G() && (f = Y.ONE); - d = d.add(f); - c = c.R(h) - } - return d -}; -q.xb = function() { - return Y.v(~this.h, ~this.j) -}; -q.shiftLeft = function(a) { - a &= 63; - if(0 == a) { - return this - } - var b = this.h; - return 32 > a ? Y.v(b << a, this.j << a | b >>> 32 - a) : Y.v(0, b << a - 32) -}; -q.Db = function() { - var a; - a = 1; - if(0 == a) { - return this - } - var b = this.j; - return 32 > a ? Y.v(this.h >>> a | b << 32 - a, b >> a) : Y.v(b >> a - 32, 0 <= b ? 0 : -1) -}; -q = X.prototype; -q.ga = function(a, b, c, d) { - for(var e = 0, f = 0;0 <= --d;) { - var h = a * this[e++] + b[c] + f, f = Math.floor(h / 67108864); - b[c++] = h & 67108863 - } - return f -}; -q.f = 26; -q.u = 67108863; -q.K = 67108864; -q.bb = Math.pow(2, 52); -q.Aa = 26; -q.Ba = 0; -var $c = [], bd, Z; -bd = 48; -for(Z = 0;9 >= Z;++Z) { - $c[bd++] = Z -} -bd = 97; -for(Z = 10;36 > Z;++Z) { - $c[bd++] = Z -} -bd = 65; -for(Z = 10;36 > Z;++Z) { - $c[bd++] = Z -} -q = X.prototype; -q.copyTo = function(a) { - for(var b = this.b - 1;0 <= b;--b) { - a[b] = this[b] - } - a.b = this.b; - a.c = this.c -}; -q.D = function(a) { - this.b = 1; - this.c = 0 > a ? -1 : 0; - 0 < a ? this[0] = a : -1 > a ? this[0] = a + DV : this.b = 0 -}; -q.k = function(a, b) { - var c; - if(16 == b) { - c = 4 - }else { - if(8 == b) { - c = 3 - }else { - if(256 == b) { - c = 8 - }else { - if(2 == b) { - c = 1 - }else { - if(32 == b) { - c = 5 - }else { - if(4 == b) { - c = 2 - }else { - this.nb(a, b); - return - } - } - } - } - } - } - this.c = this.b = 0; - for(var d = a.length, e = p, f = 0;0 <= --d;) { - var h = 8 == c ? a[d] & 255 : Zc(a, d); - 0 > h ? "-" == a.charAt(d) && (e = l) : (e = p, 0 == f ? this[this.b++] = h : f + c > this.f ? (this[this.b - 1] |= (h & (1 << this.f - f) - 1) << f, this[this.b++] = h >> this.f - f) : this[this.b - 1] |= h << f, f += c, f >= this.f && (f -= this.f)) - } - 8 == c && 0 != (a[0] & 128) && (this.c = -1, 0 < f && (this[this.b - 1] |= (1 << this.f - f) - 1 << f)); - this.C(); - e && X.ZERO.t(this, this) -}; -q.C = function() { - for(var a = this.c & this.u;0 < this.b && this[this.b - 1] == a;) { - --this.b - } -}; -q.la = function(a, b) { - var c; - for(c = this.b - 1;0 <= c;--c) { - b[c + a] = this[c] - } - for(c = a - 1;0 <= c;--c) { - b[c] = 0 - } - b.b = this.b + a; - b.c = this.c -}; -q.jb = function(a, b) { - for(var c = a;c < this.b;++c) { - b[c - a] = this[c] - } - b.b = Math.max(this.b - a, 0); - b.c = this.c -}; -q.Qa = function(a, b) { - var c = a % this.f, d = this.f - c, e = (1 << d) - 1, f = Math.floor(a / this.f), h = this.c << c & this.u, i; - for(i = this.b - 1;0 <= i;--i) { - b[i + f + 1] = this[i] >> d | h, h = (this[i] & e) << c - } - for(i = f - 1;0 <= i;--i) { - b[i] = 0 - } - b[f] = h; - b.b = this.b + f + 1; - b.c = this.c; - b.C() -}; -q.zb = function(a, b) { - b.c = this.c; - var c = Math.floor(a / this.f); - if(c >= this.b) { - b.b = 0 - }else { - var d = a % this.f, e = this.f - d, f = (1 << d) - 1; - b[0] = this[c] >> d; - for(var h = c + 1;h < this.b;++h) { - b[h - c - 1] |= (this[h] & f) << e, b[h - c] = this[h] >> d - } - 0 < d && (b[this.b - c - 1] |= (this.c & f) << e); - b.b = this.b - c; - b.C() - } -}; -q.t = function(a, b) { - for(var c = 0, d = 0, e = Math.min(a.b, this.b);c < e;) { - d += this[c] - a[c], b[c++] = d & this.u, d >>= this.f - } - if(a.b < this.b) { - for(d -= a.c;c < this.b;) { - d += this[c], b[c++] = d & this.u, d >>= this.f - } - d += this.c - }else { - for(d += this.c;c < a.b;) { - d -= a[c], b[c++] = d & this.u, d >>= this.f - } - d -= a.c - } - b.c = 0 > d ? -1 : 0; - -1 > d ? b[c++] = this.K + d : 0 < d && (b[c++] = d); - b.b = c; - b.C() -}; -q.vb = function(a) { - var b = $.Xa, c = this.abs(), d = b.abs(), e = c.b; - for(a.b = e + d.b;0 <= --e;) { - a[e] = 0 - } - for(e = 0;e < d.b;++e) { - a[e + c.b] = c.ga(d[e], a, e, c.b) - } - a.c = 0; - a.C(); - this.c != b.c && X.ZERO.t(a, a) -}; -q.Ja = function(a, b, c) { - var d = a.abs(); - if(!(0 >= d.b)) { - var e = this.abs(); - if(e.b < d.b) { - b != m && b.D(0), c != m && this.copyTo(c) - }else { - c == m && (c = Yc()); - var f = Yc(), h = this.c, a = a.c, i = d[d.b - 1], j = 1, n; - if(0 != (n = i >>> 16)) { - i = n, j += 16 - } - if(0 != (n = i >> 8)) { - i = n, j += 8 - } - if(0 != (n = i >> 4)) { - i = n, j += 4 - } - if(0 != (n = i >> 2)) { - i = n, j += 2 - } - 0 != i >> 1 && (j += 1); - i = this.f - j; - 0 < i ? (d.Qa(i, f), e.Qa(i, c)) : (d.copyTo(f), e.copyTo(c)); - d = f.b; - e = f[d - 1]; - if(0 != e) { - n = e * (1 << this.Aa) + (1 < d ? f[d - 2] >> this.Ba : 0); - j = this.bb / n; - n = (1 << this.Aa) / n; - var y = 1 << this.Ba, v = c.b, C = v - d, D = b == m ? Yc() : b; - f.la(C, D); - 0 <= c.U(D) && (c[c.b++] = 1, c.t(D, c)); - X.ONE.la(d, D); - for(D.t(f, f);f.b < d;) { - f[f.b++] = 0 - } - for(;0 <= --C;) { - var K = c[--v] == e ? this.u : Math.floor(c[v] * j + (c[v - 1] + y) * n); - if((c[v] += f.ga(K, c, C, d)) < K) { - f.la(C, D); - for(c.t(D, c);c[v] < --K;) { - c.t(D, c) - } - } - } - b != m && (c.jb(d, b), h != a && X.ZERO.t(b, b)); - c.b = d; - c.C(); - 0 < i && c.zb(i, c); - 0 > h && X.ZERO.t(c, c) - } - } - } -}; -q.toString = function(a) { - if(0 > this.c) { - return"-" + this.i().toString(a) - } - if(16 == a) { - a = 4 - }else { - if(8 == a) { - a = 3 - }else { - if(2 == a) { - a = 1 - }else { - if(32 == a) { - a = 5 - }else { - if(4 == a) { - a = 2 - }else { - return this.Fb(a) - } - } - } - } - } - var b = (1 << a) - 1, c, d = p, e = "", f = this.b, h = this.f - f * this.f % a; - if(0 < f--) { - if(h < this.f && 0 < (c = this[f] >> h)) { - d = l, e = "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c) - } - for(;0 <= f;) { - h < a ? (c = (this[f] & (1 << h) - 1) << a - h, c |= this[--f] >> (h += this.f - a)) : (c = this[f] >> (h -= a) & b, 0 >= h && (h += this.f, --f)), 0 < c && (d = l), d && (e += "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c)) - } - } - return d ? e : "0" -}; -q.i = function() { - var a = Yc(); - X.ZERO.t(this, a); - return a -}; -q.abs = function() { - return 0 > this.c ? this.i() : this -}; -q.U = function(a) { - var b = this.c - a.c; - if(0 != b) { - return b - } - var c = this.b, b = c - a.b; - if(0 != b) { - return 0 > this.c ? -b : b - } - for(;0 <= --c;) { - if(0 != (b = this[c] - a[c])) { - return b - } - } - return 0 -}; -X.ZERO = ad(0); -X.ONE = ad(1); -q = X.prototype; -q.nb = function(a, b) { - this.D(0); - b == m && (b = 10); - for(var c = this.S(b), d = Math.pow(b, c), e = p, f = 0, h = 0, i = 0;i < a.length;++i) { - var j = Zc(a, i); - 0 > j ? "-" == a.charAt(i) && 0 == this.ra() && (e = l) : (h = b * h + j, ++f >= c && (this.Ia(d), this.Ha(h), h = f = 0)) - } - 0 < f && (this.Ia(Math.pow(b, f)), this.Ha(h)); - e && X.ZERO.t(this, this) -}; -q.S = function(a) { - return Math.floor(Math.LN2 * this.f / Math.log(a)) -}; -q.ra = function() { - return 0 > this.c ? -1 : 0 >= this.b || 1 == this.b && 0 >= this[0] ? 0 : 1 -}; -q.Ia = function(a) { - this[this.b] = this.ga(a - 1, this, 0, this.b); - ++this.b; - this.C() -}; -q.Ha = function(a) { - var b = 0; - if(0 != a) { - for(;this.b <= b;) { - this[this.b++] = 0 - } - for(this[b] += a;this[b] >= this.K;) { - this[b] -= this.K, ++b >= this.b && (this[this.b++] = 0), ++this[b] - } - } -}; -q.Fb = function(a) { - a == m && (a = 10); - if(0 == this.ra() || 2 > a || 36 < a) { - return"0" - } - var b = this.S(a), b = Math.pow(a, b), c = ad(b), d = Yc(), e = Yc(), f = ""; - for(this.Ja(c, d, e);0 < d.ra();) { - f = (b + e.Oa()).toString(a).substr(1) + f, d.Ja(c, d, e) - } - return e.Oa().toString(a) + f -}; -q.Oa = function() { - if(0 > this.c) { - if(1 == this.b) { - return this[0] - this.K - } - if(0 == this.b) { - return-1 - } - }else { - if(1 == this.b) { - return this[0] - } - if(0 == this.b) { - return 0 - } - } - return(this[1] & (1 << 32 - this.f) - 1) << this.f | this[0] -}; -q.fa = function(a, b) { - for(var c = 0, d = 0, e = Math.min(a.b, this.b);c < e;) { - d += this[c] + a[c], b[c++] = d & this.u, d >>= this.f - } - if(a.b < this.b) { - for(d += a.c;c < this.b;) { - d += this[c], b[c++] = d & this.u, d >>= this.f - } - d += this.c - }else { - for(d += this.c;c < a.b;) { - d += a[c], b[c++] = d & this.u, d >>= this.f - } - d += a.c - } - b.c = 0 > d ? -1 : 0; - 0 < d ? b[c++] = d : -1 > d && (b[c++] = this.K + d); - b.b = c; - b.C() -}; -var $ = {abs:function(a, b) { - var c = new Y(a, b), c = c.n() ? c.i() : c; - B[qb >> 2] = c.h; - B[qb + 4 >> 2] = c.j -}, Ka:function() { - $.kb || ($.kb = l, $.Xa = new X, $.Xa.k("4294967296", 10), $.sa = new X, $.sa.k("18446744073709551616", 10), $.xe = new X, $.ye = new X) -}, me:function(a, b) { - var c = new X; - c.k(b.toString(), 10); - var d = new X; - c.vb(d); - c = new X; - c.k(a.toString(), 10); - var e = new X; - c.fa(d, e); - return e -}, stringify:function(a, b, c) { - a = (new Y(a, b)).toString(); - c && "-" == a[0] && ($.Ka(), c = new X, c.k(a, 10), a = new X, $.sa.fa(c, a), a = a.toString(10)); - return a -}, k:function(a, b, c, d, e) { - $.Ka(); - var f = new X; - f.k(a, b); - a = new X; - a.k(c, 10); - c = new X; - c.k(d, 10); - e && 0 > f.U(X.ZERO) && (d = new X, f.fa($.sa, d), f = d); - d = p; - 0 > f.U(a) ? (f = a, d = l) : 0 < f.U(c) && (f = c, d = l); - f = Y.k(f.toString()); - B[qb >> 2] = f.h; - B[qb + 4 >> 2] = f.j; - d && g("range error") -}}; -lc = $; -var cd, dd; -s.callMain = s.$d = function(a) { - function b() { - for(var a = 0;3 > a;a++) { - d.push(0) - } - } - w(0 == L, "cannot call main when async dependencies remain! (listen on __ATMAIN__)"); - w(0 == Wa.length, "cannot call main when preRun functions remain to be called"); - a = a || []; - ab || (ab = l, Va(Xa)); - var c = a.length + 1, d = [F(J("/bin/this.program"), "i8", Ka)]; - b(); - for(var e = 0;e < c - 1;e += 1) { - d.push(F(J(a[e]), "i8", Ka)), b() - } - d.push(0); - d = F(d, "i32", Ka); - cd = u; - dd = l; - var f; - try { - f = s._main(c, d, 0) - }catch(h) { - if(h && "object" == typeof h && "ExitStatus" == h.type) { - return s.print("Exit Status: " + h.value), h.value - } - "SimulateInfiniteLoop" == h ? s.noExitRuntime = l : g(h) - }finally { - dd = p - } - s.noExitRuntime || ed(f) -}; -function lb(a) { - function b() { - ab || (ab = l, Va(Xa)); - Va(Ya); - gb = l; - s._main && kb && s.callMain(a); - if(s.postRun) { - for("function" == typeof s.postRun && (s.postRun = [s.postRun]);s.postRun.length;) { - cb(s.postRun.shift()) - } - } - Va($a) - } - a = a || s.arguments; - if(0 < L) { - s.P("run() called, but dependencies remain, so not running") - }else { - if(s.preRun) { - for("function" == typeof s.preRun && (s.preRun = [s.preRun]);s.preRun.length;) { - bb(s.preRun.shift()) - } - } - Va(Wa); - 0 < L || (s.setStatus ? (s.setStatus("Running..."), setTimeout(function() { - setTimeout(function() { - s.setStatus("") - }, 1); - za || b() - }, 1)) : b()) - } -} -s.run = s.we = lb; -function ed(a) { - za = l; - u = cd; - Va(Za); - dd && g({type:"ExitStatus", value:a}) -} -s.exit = s.de = ed; -function wa(a) { - a && s.print(a); - za = l; - g("abort() at " + Error().stack) -} -s.abort = s.abort = wa; -if(s.preInit) { - for("function" == typeof s.preInit && (s.preInit = [s.preInit]);0 < s.preInit.length;) { - s.preInit.pop()() - } -} -var kb = l; -s.noInitialRun && (kb = p); -lb(); -var scrypt = (function () { - var exports = {}; - - //--------------------------------------------------------------------------- - // Horrifying UTF-8 and hex codecs - - function encode_utf8(s) { - return encode_latin1(unescape(encodeURIComponent(s))); - } - - function encode_latin1(s) { - var result = new Uint8Array(s.length); - for (var i = 0; i < s.length; i++) { - var c = s.charCodeAt(i); - if ((c & 0xff) !== c) throw {message: "Cannot encode string in Latin1", str: s}; - result[i] = (c & 0xff); - } - return result; - } - - function decode_utf8(bs) { - return decodeURIComponent(escape(decode_latin1(bs))); - } - - function decode_latin1(bs) { - var encoded = []; - for (var i = 0; i < bs.length; i++) { - encoded.push(String.fromCharCode(bs[i])); - } - return encoded.join(''); - } - - function to_hex(bs) { - var encoded = []; - for (var i = 0; i < bs.length; i++) { - encoded.push("0123456789abcdef"[(bs[i] >> 4) & 15]); - encoded.push("0123456789abcdef"[bs[i] & 15]); - } - return encoded.join(''); - } - - //--------------------------------------------------------------------------- - - function injectBytes(bs, leftPadding) { - var p = leftPadding || 0; - var address = scrypt_raw._malloc(bs.length + p); - scrypt_raw.HEAPU8.set(bs, address + p); - for (var i = address; i < address + p; i++) { - scrypt_raw.HEAPU8[i] = 0; - } - return address; - } - - function check_injectBytes(function_name, what, thing, expected_length, leftPadding) { - check_length(function_name, what, thing, expected_length); - return injectBytes(thing, leftPadding); - } - - function extractBytes(address, length) { - var result = new Uint8Array(length); - result.set(scrypt_raw.HEAPU8.subarray(address, address + length)); - return result; - } - - //--------------------------------------------------------------------------- - - function check(function_name, result) { - if (result !== 0) { - throw {message: "scrypt_raw." + function_name + " signalled an error"}; - } - } - - function check_length(function_name, what, thing, expected_length) { - if (thing.length !== expected_length) { - throw {message: "scrypt." + function_name + " expected " + - expected_length + "-byte " + what + " but got length " + thing.length}; - } - } - - function Target(length) { - this.length = length; - this.address = scrypt_raw._malloc(length); - } - - Target.prototype.extractBytes = function (offset) { - var result = extractBytes(this.address + (offset || 0), this.length - (offset || 0)); - scrypt_raw._free(this.address); - this.address = null; - return result; - }; - - function free_all(addresses) { - for (var i = 0; i < addresses.length; i++) { - scrypt_raw._free(addresses[i]); - } - } - - //--------------------------------------------------------------------------- - - function random_bytes(count) { - var bs = new Uint8Array(count); - if(typeof(window.crypto) !== "undefined") { - if(typeof(window.crypto.getRandomValues) !== "undefined") { - window.crypto.getRandomValues(bs); - return bs; - } - } - if(typeof(window.msCrypto) !== "undefined") { - if(typeof(window.msCrypto.getRandomValues) !== "undefined") { - window.msCrypto.getRandomValues(bs); - return bs; - } - } - throw { message: "No suitable random number generator found!"}; - } - - function crypto_scrypt(passwd, salt, n, r, p, buflen) { - var buf = new Target(buflen); - var pa = injectBytes(passwd); - var sa = injectBytes(salt); - check("_crypto_scrypt", - scrypt_raw._crypto_scrypt(pa, passwd.length, - sa, salt.length, - n, 0, // 64 bits; zero upper half - r, - p, - buf.address, buf.length)); - free_all([pa, sa]); - return buf.extractBytes(); - } - - //--------------------------------------------------------------------------- - - exports.encode_utf8 = encode_utf8; - exports.encode_latin1 = encode_latin1; - exports.decode_utf8 = decode_utf8; - exports.decode_latin1 = decode_latin1; - exports.to_hex = to_hex; - - exports.random_bytes = random_bytes; - exports.crypto_scrypt = crypto_scrypt; - - return exports; -})(); - return scrypt; -}); - diff --git a/ucoinj-ui-wicket/src/main/webapp/js/ucoinj.js b/ucoinj-ui-wicket/src/main/webapp/js/ucoinj.js deleted file mode 100644 index 4b56a5ea..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/ucoinj.js +++ /dev/null @@ -1,343 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! - * uCoinj JavaScript Library v2.1.4 - * http://ucoinj.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright 2005, 2014 uCoinj Foundation, Inc. and other contributors - * Released under the MIT license - * http://ucoinj.org/license - * - * Date: 2015-04-28T16:01Z - */ - -(function( global, factory ) { - - if ( typeof module === "object" && typeof module.exports === "object" ) { - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get uCoinj. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var uCoinj = require("ucoinj")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "uCoinj requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Support: Firefox 18+ -// Can't be in strict mode, several libs including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// - -var - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - strundefined = typeof undefined, - version = "1.0", - nacl, - scrypt, - base58, - base64, - - // Define a local copy of uCoinj - uCoinj = function(document) { - // The uCoinj object is actually just the init constructor 'enhanced' - // Need init if uCoinj is called (just allow error to be thrown if not included) - return new uCoinj.fn.init(document); - }; - -uCoinj.fn = uCoinj.prototype = { - // The current version of jQuery being used - ucoinj: version, - constructor: uCoinj, - nacl: null, - scrypt: null, - base58: null, - base64: null, - wallet: { - keypair: null, - uid: null, - pubkey: null - }, - crypto_sign_BYTES: 64, - SEED_LENGTH: 32, // Length of the key - SCRYPT_PARAMS: { - "N":4096, - "r":16, - "p":1 - } -}; - -uCoinj.fn.encode_utf8 = function(arr) { - var i, s = []; - for (i = 0; i < arr.length; i++) s.push(String.fromCharCode(arr[i])); - return decodeURIComponent(escape(s.join(''))); -}; - -uCoinj.fn.decode_utf8 = function(s) { - var i, d = unescape(encodeURIComponent(s)), b = new Uint8Array(d.length); - for (i = 0; i < d.length; i++) b[i] = d.charCodeAt(i); - return b; -}; - -var - // A central reference to the root jQuery(document) - //rootuCoinj, - wallet = uCoinj.fn.wallet, - - get_scrypt = function() { - if (typeof module !== 'undefined' && module.exports) { - // add node.js implementations - require('scrypt-em'); - return scrypt_module_factory(); - } - else if (scrypt_module_factory !== null){ - return scrypt_module_factory(); - } - else { - return setTimetout(get_scrypt, 100); - } - }, - - get_nacl = function() { - if (typeof module !== 'undefined' && module.exports) { - // add node.js implementations - require('nacl_factory'); - return nacl_factory.instantiate(); - } - else if (nacl_factory !== null){ - return nacl_factory.instantiate(); - } - else { - return setTimetout(get_nacl, 100); - } - }, - - get_base58 = function() { - if (typeof module !== 'undefined' && module.exports) { - // add node.js implementations - require('base58'); - return Base58; - } - else if (Base58 !== null){ - return Base58; - } - else { - return setTimetout(get_base58, 100); - } - }, - - get_base64 = function() { - if (typeof module !== 'undefined' && module.exports) { - // add node.js implementations - require('base58'); - return Base64; - } - else if (Base64 !== null){ - return Base64; - } - else { - return setTimetout(get_base64, 100); - } - }, - - // Constructor - init = uCoinj.fn.init = function(document) { - - // load libraries - scrypt = uCoinj.fn.scrypt = get_scrypt(); - nacl = uCoinj.fn.nacl = get_nacl(); - base58 = uCoinj.fn.base58 = get_base58(); - base64 = uCoinj.fn.base64 = get_base64(); - - //var test = uCoinj.fn.test(); - //if (!test) { - // alert('Your navigator is not compatible: cryptographic features failed. Please report a bug.'); - //} - }, - - connect = uCoinj.fn.connect = function(salt, password) { - var seed = uCoinj.fn.scrypt.crypto_scrypt( - uCoinj.fn.nacl.encode_utf8(password), - uCoinj.fn.nacl.encode_utf8(salt), - 4096, 16, 1, 32 // see SCRYPT_PARAMS - ); - uCoinj.fn.wallet.keypair = uCoinj.fn.nacl.crypto_sign_keypair_from_seed(seed); - uCoinj.fn.wallet.pubkey = uCoinj.fn.base58.encode(uCoinj.fn.wallet.keypair.signPk); - }, - - isConnected = uCoinj.fn.isConnected = function() { - return uCoinj.fn.wallet.keypair !== null; - } - - disconnect = uCoinj.fn.disconnect = function() { - return uCoinj.fn.wallet.keypair !== null; - }, - - sign = uCoinj.fn.sign = function (message) { - if (!isConnected()) { - throw new Error('Not connected. Please connect using uCoinj().connect() method.') - } - var m = uCoinj.fn.decode_utf8(message); - var sk = uCoinj.fn.wallet.keypair.signSk; - var signedMsg = uCoinj.fn.nacl.crypto_sign(m, sk); - var sig = new Uint8Array(uCoinj.fn.crypto_sign_BYTES); - for (var i = 0; i < sig.length; i++) sig[i] = signedMsg[i]; - return uCoinj.fn.base64.encode(sig); - }, - - verify = uCoinj.fn.verify = function (message, signature, publicKey) { - if (!isConnected()) { - throw new Error('Not connected. Please connect using uCoinj().connect() method.') - } - - var msg = uCoinj.fn.decode_utf8(message); - var sig = uCoinj.fn.base64.decode(signature); - var pub = uCoinj.fn.base58.decode(publicKey); - var m = new Uint8Array(uCoinj.fn.crypto_sign_BYTES + msg.length); - var sm = new Uint8Array(uCoinj.fn.crypto_sign_BYTES + msg.length); - var i; - for (i = 0; i < uCoinj.fn.crypto_sign_BYTES; i++) sm[i] = sig[i]; - for (i = 0; i < msg.length; i++) sm[i+uCoinj.fn.crypto_sign_BYTES] = msg[i]; - - // Call to verification lib... - var verified = uCoinj.fn.nacl.crypto_sign_open(sm, pub) !== null; - - return verified; - }, - - /** - * Unit test methods: should return true - */ - test = uCoinj.fn.test = function() { - var result = true; - var msg = 'my message to encrypt !'; - var expectedSignature = 'aAxVThibiZGbpJWrFo8MzZe8RDIoJ1gMC1UIr0utDBQilG44PjA/7o+pOoPAOXgDE3sosGeLHTw1Q/RhFBa4CA=='; - var expectedPubKey = 'G2CBgZBPLe6FSFUgpx2Jf1Aqsgta6iib3vmDRA1yLiqU'; - var expectedSecKey = '58LDg8QLmF5pv6Dn9h7X4yFKfMTdP8fdAiWVcyDoTRJu454fwRihCLULH4MW37zncsg4ruoTGJPZneWk22QmG1w4'; - connect('abc', 'def'); - if (!isConnected()) { - console.log('[uCoinj] Test failed: Could not generate key pair.'); - return false; - } - if (wallet.pubkey !== expectedPubKey) { - console.log('[uCoinj] Test failed: Bad public key, expected '+ expectedPubKey +' but get '+wallet.pubkey); - result = false; - } - var secKey = base58.encode(wallet.keypair.signSk); - if (secKey !== expectedSecKey) { - console.log('[uCoinj] Test failed: Bad secret key, expected '+ expectedSecKey +' but get '+secKey); - result = false; - } - - var signature = sign(msg); - if (signature !== expectedSignature) { - console.log('[uCoinj] Test failed: Bad signature, expected '+ expectedSignature +' but get '+signature); - result =false; - } - - var verified = verify(msg, expectedSignature, wallet.pubkey); - if (!verified) { - console.log('[uCoinj] Test failed: signature verification failed, expected to be valid but return invalid'); - result = false; - } - return result; - } -; - - - -// Give the init function the jQuery prototype for later instantiation -init.prototype = uCoinj.fn; - - -// Initialize central reference -//rootjQuery = uCoinj( document ); - - -// Register as a named AMD module, since uCoinj can be concatenated with other -// files that may use define, but not via a proper concatenation script that -// understands anonymous AMD modules. A named AMD is safest and most robust -// way to register. Lowercase ucoinj is used because AMD module names are -// derived from file names, and uCoinj is normally delivered in a lowercase -// file name. Do this after creating the global so that if an AMD module wants -// to call noConflict to hide this version of uCoinj, it will work. - -// Note that for maximum portability, libraries that are not uCoinj should -// declare themselves as anonymous modules, and avoid setting a global if an -// AMD loader is present. uCoinj is a special case. For more information, see -// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon - -if ( typeof define === "function" && define.amd ) { - define( "ucoinj", [], function() { - return uCoinj; - }); -} - - -var - // Map over uCoinj in case of overwrite - _uCoinj = window.uCoinj, - - // Map over the $ in case of overwrite - _uc = window.uc; - -uCoinj.noConflict = function( deep ) { - if ( window._uc === uCoinj ) { - window.uc = _uc; - } - - if ( deep && window.uCoinj === uCoinj ) { - window.uCoinj = _uCoinj; - } - - return uCoinj; -}; - -// Expose uCoinj and $ identifiers, even in AMD -// and CommonJS for browser emulators -if ( typeof noGlobal === strundefined ) { - window.uCoinj = window.uc = uCoinj; -} - - - - -return uCoinj; - -})); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/zepto.min.js b/ucoinj-ui-wicket/src/main/webapp/js/zepto.min.js deleted file mode 100644 index e210d9ae..00000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/zepto.min.js +++ /dev/null @@ -1,23 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/* Zepto v1.1.3 - zepto event ajax form ie - zeptojs.com/license */ -var Zepto=function(){function L(t){return null==t?String(t):j[T.call(t)]||"object"}function Z(t){return"function"==L(t)}function $(t){return null!=t&&t==t.window}function _(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function D(t){return"object"==L(t)}function R(t){return D(t)&&!$(t)&&Object.getPrototypeOf(t)==Object.prototype}function M(t){return"number"==typeof t.length}function k(t){return s.call(t,function(t){return null!=t})}function z(t){return t.length>0?n.fn.concat.apply([],t):t}function F(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function q(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function H(t,e){return"number"!=typeof e||c[F(t)]?e:e+"px"}function I(t){var e,n;return u[t]||(e=a.createElement(t),a.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),u[t]=n),u[t]}function V(t){return"children"in t?o.call(t.children):n.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function U(n,i,r){for(e in i)r&&(R(i[e])||A(i[e]))?(R(i[e])&&!R(n[e])&&(n[e]={}),A(i[e])&&!A(n[e])&&(n[e]=[]),U(n[e],i[e],r)):i[e]!==t&&(n[e]=i[e])}function B(t,e){return null==e?n(t):n(t).filter(e)}function J(t,e,n,i){return Z(e)?e.call(t,n,i):e}function X(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function W(e,n){var i=e.className,r=i&&i.baseVal!==t;return n===t?r?i.baseVal:i:void(r?i.baseVal=n:e.className=n)}function Y(t){var e;try{return t?"true"==t||("false"==t?!1:"null"==t?null:/^0/.test(t)||isNaN(e=Number(t))?/^[\[\{]/.test(t)?n.parseJSON(t):t:e):t}catch(i){return t}}function G(t,e){e(t);for(var n in t.childNodes)G(t.childNodes[n],e)}var t,e,n,i,C,N,r=[],o=r.slice,s=r.filter,a=window.document,u={},f={},c={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,h=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,p=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,d=/^(?:body|html)$/i,m=/([A-Z])/g,g=["val","css","html","text","data","width","height","offset"],v=["after","prepend","before","append"],y=a.createElement("table"),x=a.createElement("tr"),b={tr:a.createElement("tbody"),tbody:y,thead:y,tfoot:y,td:x,th:x,"*":a.createElement("div")},w=/complete|loaded|interactive/,E=/^[\w-]*$/,j={},T=j.toString,S={},O=a.createElement("div"),P={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},A=Array.isArray||function(t){return t instanceof Array};return S.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var i,r=t.parentNode,o=!r;return o&&(r=O).appendChild(t),i=~S.qsa(r,e).indexOf(t),o&&O.removeChild(t),i},C=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},N=function(t){return s.call(t,function(e,n){return t.indexOf(e)==n})},S.fragment=function(e,i,r){var s,u,f;return h.test(e)&&(s=n(a.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(p,"<$1></$2>")),i===t&&(i=l.test(e)&&RegExp.$1),i in b||(i="*"),f=b[i],f.innerHTML=""+e,s=n.each(o.call(f.childNodes),function(){f.removeChild(this)})),R(r)&&(u=n(s),n.each(r,function(t,e){g.indexOf(t)>-1?u[t](e):u.attr(t,e)})),s},S.Z=function(t,e){return t=t||[],t.__proto__=n.fn,t.selector=e||"",t},S.isZ=function(t){return t instanceof S.Z},S.init=function(e,i){var r;if(!e)return S.Z();if("string"==typeof e)if(e=e.trim(),"<"==e[0]&&l.test(e))r=S.fragment(e,RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=S.qsa(a,e)}else{if(Z(e))return n(a).ready(e);if(S.isZ(e))return e;if(A(e))r=k(e);else if(D(e))r=[e],e=null;else if(l.test(e))r=S.fragment(e.trim(),RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=S.qsa(a,e)}}return S.Z(r,e)},n=function(t,e){return S.init(t,e)},n.extend=function(t){var e,n=o.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){U(t,n,e)}),t},S.qsa=function(t,e){var n,i="#"==e[0],r=!i&&"."==e[0],s=i||r?e.slice(1):e,a=E.test(s);return _(t)&&a&&i?(n=t.getElementById(s))?[n]:[]:1!==t.nodeType&&9!==t.nodeType?[]:o.call(a&&!i?r?t.getElementsByClassName(s):t.getElementsByTagName(e):t.querySelectorAll(e))},n.contains=function(t,e){return t!==e&&t.contains(e)},n.type=L,n.isFunction=Z,n.isWindow=$,n.isArray=A,n.isPlainObject=R,n.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},n.inArray=function(t,e,n){return r.indexOf.call(e,t,n)},n.camelCase=C,n.trim=function(t){return null==t?"":String.prototype.trim.call(t)},n.uuid=0,n.support={},n.expr={},n.map=function(t,e){var n,r,o,i=[];if(M(t))for(r=0;r<t.length;r++)n=e(t[r],r),null!=n&&i.push(n);else for(o in t)n=e(t[o],o),null!=n&&i.push(n);return z(i)},n.each=function(t,e){var n,i;if(M(t)){for(n=0;n<t.length;n++)if(e.call(t[n],n,t[n])===!1)return t}else for(i in t)if(e.call(t[i],i,t[i])===!1)return t;return t},n.grep=function(t,e){return s.call(t,e)},window.JSON&&(n.parseJSON=JSON.parse),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){j["[object "+e+"]"]=e.toLowerCase()}),n.fn={forEach:r.forEach,reduce:r.reduce,push:r.push,sort:r.sort,indexOf:r.indexOf,concat:r.concat,map:function(t){return n(n.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return n(o.apply(this,arguments))},ready:function(t){return w.test(a.readyState)&&a.body?t(n):a.addEventListener("DOMContentLoaded",function(){t(n)},!1),this},get:function(e){return e===t?o.call(this):this[e>=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return r.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return Z(t)?this.not(this.not(t)):n(s.call(this,function(e){return S.matches(e,t)}))},add:function(t,e){return n(N(this.concat(n(t,e))))},is:function(t){return this.length>0&&S.matches(this[0],t)},not:function(e){var i=[];if(Z(e)&&e.call!==t)this.each(function(t){e.call(this,t)||i.push(this)});else{var r="string"==typeof e?this.filter(e):M(e)&&Z(e.item)?o.call(e):n(e);this.forEach(function(t){r.indexOf(t)<0&&i.push(t)})}return n(i)},has:function(t){return this.filter(function(){return D(t)?n.contains(this,t):n(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!D(t)?t:n(t)},last:function(){var t=this[this.length-1];return t&&!D(t)?t:n(t)},find:function(t){var e,i=this;return e="object"==typeof t?n(t).filter(function(){var t=this;return r.some.call(i,function(e){return n.contains(e,t)})}):1==this.length?n(S.qsa(this[0],t)):this.map(function(){return S.qsa(this,t)})},closest:function(t,e){var i=this[0],r=!1;for("object"==typeof t&&(r=n(t));i&&!(r?r.indexOf(i)>=0:S.matches(i,t));)i=i!==e&&!_(i)&&i.parentNode;return n(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=n.map(i,function(t){return(t=t.parentNode)&&!_(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return B(e,t)},parent:function(t){return B(N(this.pluck("parentNode")),t)},children:function(t){return B(this.map(function(){return V(this)}),t)},contents:function(){return this.map(function(){return o.call(this.childNodes)})},siblings:function(t){return B(this.map(function(t,e){return s.call(V(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return n.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=I(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=Z(t);if(this[0]&&!e)var i=n(t).get(0),r=i.parentNode||this.length>1;return this.each(function(o){n(this).wrapAll(e?t.call(this,o):r?i.cloneNode(!0):i)})},wrapAll:function(t){if(this[0]){n(this[0]).before(t=n(t));for(var e;(e=t.children()).length;)t=e.first();n(t).append(this)}return this},wrapInner:function(t){var e=Z(t);return this.each(function(i){var r=n(this),o=r.contents(),s=e?t.call(this,i):t;o.length?o.wrapAll(s):r.append(s)})},unwrap:function(){return this.parent().each(function(){n(this).replaceWith(n(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var i=n(this);(e===t?"none"==i.css("display"):e)?i.show():i.hide()})},prev:function(t){return n(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return n(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0===arguments.length?this.length>0?this[0].innerHTML:null:this.each(function(e){var i=this.innerHTML;n(this).empty().append(J(this,t,e,i))})},text:function(e){return 0===arguments.length?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=e===t?"":""+e})},attr:function(n,i){var r;return"string"==typeof n&&i===t?0==this.length||1!==this[0].nodeType?t:"value"==n&&"INPUT"==this[0].nodeName?this.val():!(r=this[0].getAttribute(n))&&n in this[0]?this[0][n]:r:this.each(function(t){if(1===this.nodeType)if(D(n))for(e in n)X(this,e,n[e]);else X(this,n,J(this,i,t,this.getAttribute(n)))})},removeAttr:function(t){return this.each(function(){1===this.nodeType&&X(this,t)})},prop:function(e,n){return e=P[e]||e,n===t?this[0]&&this[0][e]:this.each(function(t){this[e]=J(this,n,t,this[e])})},data:function(e,n){var i=this.attr("data-"+e.replace(m,"-$1").toLowerCase(),n);return null!==i?Y(i):t},val:function(t){return 0===arguments.length?this[0]&&(this[0].multiple?n(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value):this.each(function(e){this.value=J(this,t,e,this.value)})},offset:function(t){if(t)return this.each(function(e){var i=n(this),r=J(this,t,e,i.offset()),o=i.offsetParent().offset(),s={top:r.top-o.top,left:r.left-o.left};"static"==i.css("position")&&(s.position="relative"),i.css(s)});if(0==this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(t,i){if(arguments.length<2){var r=this[0],o=getComputedStyle(r,"");if(!r)return;if("string"==typeof t)return r.style[C(t)]||o.getPropertyValue(t);if(A(t)){var s={};return n.each(A(t)?t:[t],function(t,e){s[e]=r.style[C(e)]||o.getPropertyValue(e)}),s}}var a="";if("string"==L(t))i||0===i?a=F(t)+":"+H(t,i):this.each(function(){this.style.removeProperty(F(t))});else for(e in t)t[e]||0===t[e]?a+=F(e)+":"+H(e,t[e])+";":this.each(function(){this.style.removeProperty(F(e))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(n(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?r.some.call(this,function(t){return this.test(W(t))},q(t)):!1},addClass:function(t){return t?this.each(function(e){i=[];var r=W(this),o=J(this,t,e,r);o.split(/\s+/g).forEach(function(t){n(this).hasClass(t)||i.push(t)},this),i.length&&W(this,r+(r?" ":"")+i.join(" "))}):this},removeClass:function(e){return this.each(function(n){return e===t?W(this,""):(i=W(this),J(this,e,n,i).split(/\s+/g).forEach(function(t){i=i.replace(q(t)," ")}),void W(this,i.trim()))})},toggleClass:function(e,i){return e?this.each(function(r){var o=n(this),s=J(this,e,r,W(this));s.split(/\s+/g).forEach(function(e){(i===t?!o.hasClass(e):i)?o.addClass(e):o.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),i=this.offset(),r=d.test(e[0].nodeName)?{top:0,left:0}:e.offset();return i.top-=parseFloat(n(t).css("margin-top"))||0,i.left-=parseFloat(n(t).css("margin-left"))||0,r.top+=parseFloat(n(e[0]).css("border-top-width"))||0,r.left+=parseFloat(n(e[0]).css("border-left-width"))||0,{top:i.top-r.top,left:i.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||a.body;t&&!d.test(t.nodeName)&&"static"==n(t).css("position");)t=t.offsetParent;return t})}},n.fn.detach=n.fn.remove,["width","height"].forEach(function(e){var i=e.replace(/./,function(t){return t[0].toUpperCase()});n.fn[e]=function(r){var o,s=this[0];return r===t?$(s)?s["inner"+i]:_(s)?s.documentElement["scroll"+i]:(o=this.offset())&&o[e]:this.each(function(t){s=n(this),s.css(e,J(this,r,t,s[e]()))})}}),v.forEach(function(t,e){var i=e%2;n.fn[t]=function(){var t,o,r=n.map(arguments,function(e){return t=L(e),"object"==t||"array"==t||null==e?e:S.fragment(e)}),s=this.length>1;return r.length<1?this:this.each(function(t,a){o=i?a:a.parentNode,a=0==e?a.nextSibling:1==e?a.firstChild:2==e?a:null,r.forEach(function(t){if(s)t=t.cloneNode(!0);else if(!o)return n(t).remove();G(o.insertBefore(t,a),function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},n.fn[i?t+"To":"insert"+(e?"Before":"After")]=function(e){return n(e)[t](this),this}}),S.Z.prototype=n.fn,S.uniq=N,S.deserializeValue=Y,n.zepto=S,n}();window.Zepto=Zepto,void 0===window.$&&(window.$=Zepto),function(t){function l(t){return t._zid||(t._zid=e++)}function h(t,e,n,i){if(e=p(e),e.ns)var r=d(e.ns);return(s[l(t)]||[]).filter(function(t){return!(!t||e.e&&t.e!=e.e||e.ns&&!r.test(t.ns)||n&&l(t.fn)!==l(n)||i&&t.sel!=i)})}function p(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function d(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!u&&t.e in f||!!e}function g(t){return c[t]||u&&f[t]||t}function v(e,i,r,o,a,u,f){var h=l(e),d=s[h]||(s[h]=[]);i.split(/\s/).forEach(function(i){if("ready"==i)return t(document).ready(r);var s=p(i);s.fn=r,s.sel=a,s.e in c&&(r=function(e){var n=e.relatedTarget;return!n||n!==this&&!t.contains(this,n)?s.fn.apply(this,arguments):void 0}),s.del=u;var l=u||r;s.proxy=function(t){if(t=j(t),!t.isImmediatePropagationStopped()){t.data=o;var i=l.apply(e,t._args==n?[t]:[t].concat(t._args));return i===!1&&(t.preventDefault(),t.stopPropagation()),i}},s.i=d.length,d.push(s),"addEventListener"in e&&e.addEventListener(g(s.e),s.proxy,m(s,f))})}function y(t,e,n,i,r){var o=l(t);(e||"").split(/\s/).forEach(function(e){h(t,e,n,i).forEach(function(e){delete s[o][e.i],"removeEventListener"in t&&t.removeEventListener(g(e.e),e.proxy,m(e,r))})})}function j(e,i){return(i||!e.isDefaultPrevented)&&(i||(i=e),t.each(E,function(t,n){var r=i[t];e[t]=function(){return this[n]=x,r&&r.apply(i,arguments)},e[n]=b}),(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?i.returnValue===!1:i.getPreventDefault&&i.getPreventDefault())&&(e.isDefaultPrevented=x)),e}function T(t){var e,i={originalEvent:t};for(e in t)w.test(e)||t[e]===n||(i[e]=t[e]);return j(i,t)}var n,e=1,i=Array.prototype.slice,r=t.isFunction,o=function(t){return"string"==typeof t},s={},a={},u="onfocusin"in window,f={focus:"focusin",blur:"focusout"},c={mouseenter:"mouseover",mouseleave:"mouseout"};a.click=a.mousedown=a.mouseup=a.mousemove="MouseEvents",t.event={add:v,remove:y},t.proxy=function(e,n){if(r(e)){var i=function(){return e.apply(n,arguments)};return i._zid=l(e),i}if(o(n))return t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(t,e,n){return this.on(t,e,n)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var x=function(){return!0},b=function(){return!1},w=/^([A-Z]|returnValue$|layer[XY]$)/,E={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,n){return this.on(e,t,n)},t.fn.undelegate=function(t,e,n){return this.off(e,t,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,s,a,u,f){var c,l,h=this;return e&&!o(e)?(t.each(e,function(t,e){h.on(t,s,a,e,f)}),h):(o(s)||r(u)||u===!1||(u=a,a=s,s=n),(r(a)||a===!1)&&(u=a,a=n),u===!1&&(u=b),h.each(function(n,r){f&&(c=function(t){return y(r,t.type,u),u.apply(this,arguments)}),s&&(l=function(e){var n,o=t(e.target).closest(s,r).get(0);return o&&o!==r?(n=t.extend(T(e),{currentTarget:o,liveFired:r}),(c||u).apply(o,[n].concat(i.call(arguments,1)))):void 0}),v(r,e,u,a,s,l||c)}))},t.fn.off=function(e,i,s){var a=this;return e&&!o(e)?(t.each(e,function(t,e){a.off(t,i,e)}),a):(o(i)||r(s)||s===!1||(s=i,i=n),s===!1&&(s=b),a.each(function(){y(this,e,s,i)}))},t.fn.trigger=function(e,n){return e=o(e)||t.isPlainObject(e)?t.Event(e):j(e),e._args=n,this.each(function(){"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,n){var i,r;return this.each(function(s,a){i=T(o(e)?t.Event(e):e),i._args=n,i.target=a,t.each(h(a,e.type||e),function(t,e){return r=e.proxy(i),i.isImmediatePropagationStopped()?!1:void 0})}),r},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.trigger(e)}}),["focus","blur"].forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.each(function(){try{this[e]()}catch(t){}}),this}}),t.Event=function(t,e){o(t)||(e=t,t=e.type);var n=document.createEvent(a[t]||"Events"),i=!0;if(e)for(var r in e)"bubbles"==r?i=!!e[r]:n[r]=e[r];return n.initEvent(t,i,!0),j(n)}}(Zepto),function(t){function l(e,n,i){var r=t.Event(n);return t(e).trigger(r,i),!r.isDefaultPrevented()}function h(t,e,i,r){return t.global?l(e||n,i,r):void 0}function p(e){e.global&&0===t.active++&&h(e,null,"ajaxStart")}function d(e){e.global&&!--t.active&&h(e,null,"ajaxStop")}function m(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||h(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void h(e,n,"ajaxSend",[t,e])}function g(t,e,n,i){var r=n.context,o="success";n.success.call(r,t,o,e),i&&i.resolveWith(r,[t,o,e]),h(n,r,"ajaxSuccess",[e,n,t]),y(o,e,n)}function v(t,e,n,i,r){var o=i.context;i.error.call(o,n,e,t),r&&r.rejectWith(o,[n,e,t]),h(i,o,"ajaxError",[n,i,t||e]),y(e,n,i)}function y(t,e,n){var i=n.context;n.complete.call(i,e,t),h(n,i,"ajaxComplete",[e,n]),d(n)}function x(){}function b(t){return t&&(t=t.split(";",2)[0]),t&&(t==f?"html":t==u?"json":s.test(t)?"script":a.test(t)&&"xml")||"text"}function w(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function E(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=w(e.url,e.data),e.data=void 0)}function j(e,n,i,r){return t.isFunction(n)&&(r=i,i=n,n=void 0),t.isFunction(i)||(r=i,i=void 0),{url:e,data:n,success:i,dataType:r}}function S(e,n,i,r){var o,s=t.isArray(n),a=t.isPlainObject(n);t.each(n,function(n,u){o=t.type(u),r&&(n=i?r:r+"["+(a||"object"==o||"array"==o?n:"")+"]"),!r&&s?e.add(u.name,u.value):"array"==o||!i&&"object"==o?S(e,u,i,n):e.add(n,u)})}var i,r,e=0,n=window.document,o=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,s=/^(?:text|application)\/javascript/i,a=/^(?:text|application)\/xml/i,u="application/json",f="text/html",c=/^\s*$/;t.active=0,t.ajaxJSONP=function(i,r){if(!("type"in i))return t.ajax(i);var f,h,o=i.jsonpCallback,s=(t.isFunction(o)?o():o)||"jsonp"+ ++e,a=n.createElement("script"),u=window[s],c=function(e){t(a).triggerHandler("error",e||"abort")},l={abort:c};return r&&r.promise(l),t(a).on("load error",function(e,n){clearTimeout(h),t(a).off().remove(),"error"!=e.type&&f?g(f[0],l,i,r):v(null,n||"error",l,i,r),window[s]=u,f&&t.isFunction(u)&&u(f[0]),u=f=void 0}),m(l,i)===!1?(c("abort"),l):(window[s]=function(){f=arguments},a.src=i.url.replace(/\?(.+)=\?/,"?$1="+s),n.head.appendChild(a),i.timeout>0&&(h=setTimeout(function(){c("timeout")},i.timeout)),l)},t.ajaxSettings={type:"GET",beforeSend:x,success:x,error:x,complete:x,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:u,xml:"application/xml, text/xml",html:f,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){var n=t.extend({},e||{}),o=t.Deferred&&t.Deferred();for(i in t.ajaxSettings)void 0===n[i]&&(n[i]=t.ajaxSettings[i]);p(n),n.crossDomain||(n.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(n.url)&&RegExp.$2!=window.location.host),n.url||(n.url=window.location.toString()),E(n),n.cache===!1&&(n.url=w(n.url,"_="+Date.now()));var s=n.dataType,a=/\?.+=\?/.test(n.url);if("jsonp"==s||a)return a||(n.url=w(n.url,n.jsonp?n.jsonp+"=?":n.jsonp===!1?"":"callback=?")),t.ajaxJSONP(n,o);var j,u=n.accepts[s],f={},l=function(t,e){f[t.toLowerCase()]=[t,e]},h=/^([\w-]+:)\/\//.test(n.url)?RegExp.$1:window.location.protocol,d=n.xhr(),y=d.setRequestHeader;if(o&&o.promise(d),n.crossDomain||l("X-Requested-With","XMLHttpRequest"),l("Accept",u||"*/*"),(u=n.mimeType||u)&&(u.indexOf(",")>-1&&(u=u.split(",",2)[0]),d.overrideMimeType&&d.overrideMimeType(u)),(n.contentType||n.contentType!==!1&&n.data&&"GET"!=n.type.toUpperCase())&&l("Content-Type",n.contentType||"application/x-www-form-urlencoded"),n.headers)for(r in n.headers)l(r,n.headers[r]);if(d.setRequestHeader=l,d.onreadystatechange=function(){if(4==d.readyState){d.onreadystatechange=x,clearTimeout(j);var e,i=!1;if(d.status>=200&&d.status<300||304==d.status||0==d.status&&"file:"==h){s=s||b(n.mimeType||d.getResponseHeader("content-type")),e=d.responseText;try{"script"==s?(1,eval)(e):"xml"==s?e=d.responseXML:"json"==s&&(e=c.test(e)?null:t.parseJSON(e))}catch(r){i=r}i?v(i,"parsererror",d,n,o):g(e,d,n,o)}else v(d.statusText||null,d.status?"error":"abort",d,n,o)}},m(d,n)===!1)return d.abort(),v(null,"abort",d,n,o),d;if(n.xhrFields)for(r in n.xhrFields)d[r]=n.xhrFields[r];var T="async"in n?n.async:!0;d.open(n.type,n.url,T,n.username,n.password);for(r in f)y.apply(d,f[r]);return n.timeout>0&&(j=setTimeout(function(){d.onreadystatechange=x,d.abort(),v(null,"timeout",d,n,o)},n.timeout)),d.send(n.data?n.data:null),d},t.get=function(){return t.ajax(j.apply(null,arguments))},t.post=function(){var e=j.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=j.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,i){if(!this.length)return this;var a,r=this,s=e.split(/\s/),u=j(e,n,i),f=u.success;return s.length>1&&(u.url=s[0],a=s[1]),u.success=function(e){r.html(a?t("<div>").html(e.replace(o,"")).find(a):e),f&&f.apply(r,arguments)},t.ajax(u),this};var T=encodeURIComponent;t.param=function(t,e){var n=[];return n.add=function(t,e){this.push(T(t)+"="+T(e))},S(n,t,e),n.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var n,e=[];return t([].slice.call(this.get(0).elements)).each(function(){n=t(this);var i=n.attr("type");"fieldset"!=this.nodeName.toLowerCase()&&!this.disabled&&"submit"!=i&&"reset"!=i&&"button"!=i&&("radio"!=i&&"checkbox"!=i||this.checked)&&e.push({name:n.attr("name"),value:n.val()})}),e},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(e)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(Zepto),function(t){"__proto__"in{}||t.extend(t.zepto,{Z:function(e,n){return e=e||[],t.extend(e,t.fn),e.selector=n||"",e.__Z=!0,e},isZ:function(e){return"array"===t.type(e)&&"__Z"in e}});try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;window.getComputedStyle=function(t){try{return n(t)}catch(e){return null}}}}(Zepto); diff --git a/ucoinj-ui-wicket/src/test/resources/log4j.properties b/ucoinj-ui-wicket/src/test/resources/log4j.properties deleted file mode 100644 index f07ce5b9..00000000 --- a/ucoinj-ui-wicket/src/test/resources/log4j.properties +++ /dev/null @@ -1,29 +0,0 @@ -### -# Global logging configuration -log4j.rootLogger=ERROR, stdout - -# Console output -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p (%c:%L) - [%t] %m%n - -# file logging (compatible with Ifremer/RIC) -log4j.appender.file=org.apache.log4j.DailyRollingFileAppender -log4j.appender.file.file=${ucoinj.log.file} -log4j.appender.file.DatePattern='.'yyyy-MM-dd -log4j.appender.file.layout=org.apache.log4j.PatternLayout -log4j.appender.file.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %5p (%F:%L) %M %m%n - -# uCoinj levels -log4j.logger.io.ucoin.ucoinj=INFO -#log4j.logger.io.ucoin.ucoinj.core=WARN -log4j.logger.io.ucoin.ucoinj.elasticsearch=DEBUG - -log4j.logger.org.nuiton.util=WARN -log4j.logger.org.nuiton.config=WARN -log4j.logger.org.nuiton.converter=WARN -log4j.logger.org.apache.commons.beanutils=WARN -log4j.logger.org.apache.wicket=WARN -log4j.logger.org.elasticsearch=WARN -log4j.logger.org.springframework=WARN -log4j.logger.org.springframework.security=TRACE \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/test/resources/ucoinj-ui-wicket-test.properties b/ucoinj-ui-wicket/src/test/resources/ucoinj-ui-wicket-test.properties deleted file mode 100644 index 395a80c4..00000000 --- a/ucoinj-ui-wicket/src/test/resources/ucoinj-ui-wicket-test.properties +++ /dev/null @@ -1,16 +0,0 @@ -ucoinj.basedir=${user.home}/.ucoinj-web - -ucoinj.node.host=metab.ucoin.fr -ucoinj.node.port=9201 - -ucoinj.elasticsearch.embedded.enable=true -ucoinj.elasticsearch.http.enable=true -#ucoinj.elasticsearch.http.enable=false -ucoinj.elasticsearch.local=true - -ucoinj.elasticsearch.cluster.name=ucoinj-elasticsearch-test -#ucoinj.elasticsearch.cluster.name=data.ucoin.fr - -ucoinj.node.elasticsearch.host=localhost -ucoinj.node.elasticsearch.port=9300 - -- GitLab